@nocobase/plugin-data-source-manager 2.1.0-beta.46 → 2.1.0-beta.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/ai/skills/data-query/SKILLS.md +0 -1
  2. package/dist/client/271.1374702d84646fff.js +10 -0
  3. package/dist/client/{369.6025f2112454fab1.js → 369.342f1e0231dbe482.js} +1 -1
  4. package/dist/client/420.a37695bbfc3bec7a.js +10 -0
  5. package/dist/client/index.js +1 -1
  6. package/dist/client-v2/167.52e683be46f9cfc7.js +10 -0
  7. package/dist/client-v2/426.53e3eaee8d9dbca0.js +10 -0
  8. package/dist/client-v2/907.a0ab273516f45ac3.js +10 -0
  9. package/dist/client-v2/index.js +1 -1
  10. package/dist/client-v2/pages/components/CollectionsPage.d.ts +1 -1
  11. package/dist/client-v2/pages/components/FieldsPage.d.ts +1 -0
  12. package/dist/client-v2/pages/permissions/DataSourcePermissionsTab.d.ts +15 -0
  13. package/dist/client-v2/pages/permissions/PermissionEditors.d.ts +45 -0
  14. package/dist/client-v2/pages/permissions/ScopeSelect.d.ts +21 -0
  15. package/dist/client-v2/pages/permissions/permissionRequests.d.ts +33 -0
  16. package/dist/client-v2/pages/permissions/types.d.ts +55 -0
  17. package/dist/client-v2/plugin.d.ts +9 -0
  18. package/dist/client-v2/registries.d.ts +36 -0
  19. package/dist/client-v2/utils/error.d.ts +11 -0
  20. package/dist/externalVersion.js +12 -12
  21. package/dist/locale/en-US.json +3 -0
  22. package/dist/locale/zh-CN.json +3 -0
  23. package/dist/node_modules/zod/package.json +1 -1
  24. package/dist/server/collections/data-sources-collections.js +1 -0
  25. package/dist/server/collections/data-sources-fields.js +1 -0
  26. package/dist/server/collections/data-sources-roles-resources-actions.js +1 -0
  27. package/dist/server/collections/data-sources-roles-resources-scopes.js +1 -0
  28. package/dist/server/collections/data-sources-roles-resources.js +1 -0
  29. package/dist/server/collections/data-sources-roles.js +1 -0
  30. package/dist/server/collections/data-sources.js +1 -0
  31. package/dist/server/plugin.js +5 -2
  32. package/dist/server/resourcers/data-sources-collections-fields.js +10 -0
  33. package/dist/server/utils.js +5 -2
  34. package/package.json +2 -2
  35. package/dist/client/271.b3c0013cf976adf0.js +0 -10
  36. package/dist/client/420.0c3e3c9888e0ba31.js +0 -10
  37. package/dist/client-v2/167.a04d61a8103d37ed.js +0 -10
  38. package/dist/client-v2/426.8387d793b913b8e0.js +0 -10
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).push([["167"],{442:function(e,t,n){n.r(t),n.d(t,{default:function(){return ts}});var r=n(694),l=n(625),a=n(59),o=n(155),i=n.n(o),u=n(61),c=n(143),s=n(938),d=n(375),m=n(799),f=n(485),p=n(768),v=n(890);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 b(e,t){return null==e?void 0:e.some(function(e){return("string"==typeof e?e:e.interface||e.name)===t})}function h(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?b(a,e.name):(null==r?void 0:r.databaseDialect)==="postgres":"boolean"!=typeof n[e.name]||n[e.name]:u?b(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 a?b(r,e.name):!l.includes(e.name)})}var E=n(428);"u">typeof window&&void 0!==window.document&&window.document.createElement;let w=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[w.Translate.toString(e),w.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}});var C=n(185),F=n.n(C),k=n(773);function I(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 x(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 O(e){return function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){x(a,r,l,o,i,"next",e)}function i(e){x(a,r,l,o,i,"throw",e)}o(void 0)})}}function A(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function T(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){A(e,t,n[t])})}return e}function M(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 D(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 j(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)||K(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 P(e){return function(e){if(Array.isArray(e))return I(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||K(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 K(e,t){if(e){if("string"==typeof e)return I(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 I(e,t)}}function R(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_-]*$/,N="Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.",B=new Set(["Select","CollectionSelect","RemoteSelect"]),z=new Set(["target"]),L="{{fileCollections}}",_=new Set(["sourceKey"]),G=new Set(["targetKey"]),$={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"},U=[{label:"Recommended",colors:["#8BBB11","#52C41A","#13A8A8","#1677FF","#F5222D","#FADB14","#E6F4FF","#fff1f0","#F6FFED","#E6FFFB","#FA8C164D","#FADB144D","#52C41A4D","#1677FF4D","#2F54EB4D","#722ED14D"]}],W=i().createContext(null);function J(e){var t=String(e["data-row-key"]),n=(0,E.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=T(M(T({},e.style),{transform:w.Transform.toString(c),transition:s}),l?{position:"relative",zIndex:1}:null);return i().createElement(W.Provider,{value:{attributes:r,listeners:a,setActivatorNodeRef:o}},i().createElement("tr",M(T({ref:u},e),{style:d})))}function X(e){var t=i().useContext(W);return i().createElement("span",M(T({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 H(e,t){return(0,f.evaluateFieldConfigureExpression)(e,{context:t,values:t,getValue:function(e){return(0,k.get)(t,e)},setValue:function(){}})}function Z(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 Y(e,t){t.forEach(function(t){void 0===(0,k.get)(e,t.name)&&void 0!==t.defaultValue&&(0,k.set)(e,t.name,function(e){if("string"!=typeof e)return(0,k.cloneDeep)(e);var t=e.match(/^\s*\{\{\s*useNewId\((['"])(.*?)\1\)\s*\}\}\s*$/);return t?(0,r.randomId)(t[2]):e}(t.defaultValue))})}function Q(e,t,n,r){return{changedName:r,context:n,values:t,getValue:function(e){return(0,k.get)(t,e)},setValue:function(t,n){(0,k.get)(e.getFieldsValue(!0),t)!==n&&e.setFieldValue(q(t),n)}}}function ee(e,t,n){if(t)return(0,k.cloneDeep)(t);var l=M(T({name:(0,r.randomId)("f_")},(0,k.cloneDeep)((null==e?void 0:e.default)||{})),{interface:null==e?void 0:e.name});return l.reverseField&&(l.reverseField.name=(0,r.randomId)("f_")),l.uiSchema&&(null==e?void 0:e.name)!=="tableoid"&&delete l.uiSchema.title,(null==e?void 0:e.name)==="tableoid"&&((0,k.set)(l,"name","__collection"),(0,k.set)(l,"uiSchema.title",(0,s.Ad)((0,k.get)(l,"uiSchema.title")||'{{t("Table OID")}}',n))),l}function et(e){return"string"==typeof e?e.replace(/[^a-zA-Z0-9_-]/g,""):""}function en(e){return[e.mode,e.dataSourceKey,e.collectionName||"",e.fieldName||"",e.interfaceName||""].join(":")}function er(e){var t=(0,c.kj)(),n=a.Form.useFormInstance(),l=(0,m.useSensors)((0,m.useSensor)(m.PointerSensor,{activationConstraint:{distance:4}})),u=(0,o.useMemo)(function(){return Object.keys($).map(function(e){return{value:e,label:i().createElement(a.Tag,{color:e,style:{marginInlineEnd:0}},t($[e]||$.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 f=c.add,p=c.move,v=c.remove,y=o.map(function(e){return String(e.key)}),g=[{key:"sort",width:48,align:"center",render:function(){return i().createElement(X,{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(P(e.name).concat([l.name,"value"]))),v(l.name)}})}}];return i().createElement("div",{style:{border:"1px solid var(--ant-color-border)",borderRadius:6,overflow:"hidden"}},i().createElement(m.DndContext,{sensors:l,collisionDetection:m.closestCenter,onDragEnd:function(e){var t=e.active,n=e.over;if(n&&t.id!==n.id){var r=y.indexOf(String(t.id)),l=y.indexOf(String(n.id));r<0||l<0||p(r,l)}}},i().createElement(E.SortableContext,{items:y,strategy:E.verticalListSortingStrategy},i().createElement(a.Table,{columns:g,dataSource:o,pagination:!1,rowKey:function(e){return String(e.key)},size:"small",locale:{emptyText:t("No data")},components:{body:{row:J}}}))),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 f({value:(0,r.randomId)(),label:""})}},t("Add option")))})}function el(e,t){if(!e)return null;var n=(null==t?void 0:t.timeOnly)&&"string"==typeof e?"2000-01-01 ".concat(e):e,r=F()(n);return r.isValid()?r:null}function ea(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=D(n,["style"]);return i().createElement(a.InputNumber,T({style:T({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,f=n.dateOnly,v=n.format,y=(n.gmt,n.picker),g=void 0===y?"date":y,b=n.showTime,h=n.timeFormat,S=(n.utc,D(n,["dateFormat","dateOnly","format","gmt","picker","showTime","timeFormat","utc"])),E=v||m||(0,p.getPickerFormat)(g),w=b?"".concat(E," ").concat(void 0===h?"HH:mm:ss":h):E;return i().createElement(a.DatePicker,T({style:{width:"100%"},disabled:r,picker:g,showTime:!f&&b,format:w,value:el(u),onChange:function(e,t){return null==l?void 0:l(t||null)}},S))}if("TimePicker"===t){var C=n.format,F=D(n,["format"]);return i().createElement(a.TimePicker,T({style:{width:"100%"},disabled:r,format:void 0===C?"HH:mm:ss":C,value:el(u,{timeOnly:!0}),onChange:function(e,t){return null==l?void 0:l(t||null)}},F))}return"ColorPicker"===t?i().createElement(a.ColorPicker,T({allowClear:!0,disabled:r,value:u,trigger:"hover",destroyTooltipOnHide:!0,presets:U,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)}})}function eo(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=D(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,M(T({allowClear:t,disabled:r,options:s,showSearch:m,value:f,onChange:c},y),{filterOption:function(e,t){return String((null==t?void 0:t.label)||"").toLowerCase().includes(e.toLowerCase())}}))}function ei(e){var t=(0,c.kj)(),n=e.availableValidationOptions,l=e.excludeValidationOptions,u=e.onChange,m=e.type,p=e.value,v=(0,o.useMemo)(function(){return(null==p?void 0:p.rules)||[]},[null==p?void 0:p.rules]),y=(null==p?void 0:p.type)||m||"string",g=(0,o.useMemo)(function(){var e=f.fieldValidationConfigureRegistry.getGroup(y),t=(null==l?void 0:l.length)?e.filter(function(e){return!l.includes(e.key)}):e;if(null==n?void 0:n.filter(function(e){return"required"!==e}).length){var r=n.map(function(e){return t.find(function(t){return t.key===e})}).filter(Boolean);return r.length?r:t}return t},[n,l,y]),b=new Set(v.map(function(e){return e.name})),h=g.filter(function(e){return!b.has(e.key)}).map(function(e){return{key:e.key,label:(0,s.hd)(e.label,t)}}),S=(0,o.useCallback)(function(e){return g.find(function(t){return t.key===e})},[g]),E=(0,o.useCallback)(function(e,t){null==u||u({type:y,rules:v.map(function(n){return n.key===e?t(n):n})})},[u,v,y]),w=(0,o.useMemo)(function(){return{items:h,onClick:function(e){var t=e.key,n=S(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==u||u({type:y,rules:P(v).concat([{key:(0,r.randomId)("r_"),name:String(t),args:l,paramsType:null==n?void 0:n.paramsType}])})}}},[S,h,u,v,y]),C=(0,o.useCallback)(function(e){var t=v.filter(function(t){return t.key!==e});null==u||u({type:y,rules:t})},[u,v,y]),k=(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){E(e.key,function(e){return M(T({},e),{args:M(T({},e.args||{}),A({},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?F()(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,E]);return i().createElement("div",null,i().createElement(a.Space,{direction:"vertical",style:{width:"100%",marginBottom:12*!!v.length},size:0},v.map(function(e){var n,r=S(e.name);return i().createElement("div",{key:e.key,style:{border:"1px solid var(--ant-color-border)",borderRadius:6,overflow:"hidden"}},i().createElement("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",minHeight:40,padding:"8px 12px"}},i().createElement(a.Space,null,i().createElement(d.DownOutlined,null),i().createElement("span",null,(0,s.hd)((null==r?void 0:r.label)||e.name,t))),i().createElement(a.Button,{"aria-label":t("Delete"),icon:i().createElement(d.DeleteOutlined,null),size:"small",type:"text",onClick:function(){return C(e.key)}})),(null==r?void 0:r.hasValue)&&(null==(n=r.params)?void 0:n.length)?i().createElement("div",{style:{background:"var(--ant-color-fill-tertiary)",borderTop:"1px solid var(--ant-color-border)",padding:12}},r.params.map(function(n){return i().createElement(a.Form.Item,{key:n.key,label:(0,s.hd)(n.label,t),required:!!n.required,style:{marginBottom:0}},k(e,n))})):null)})),i().createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},i().createElement(a.Dropdown,{menu:w,placement:"bottomLeft",disabled:!h.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 eu(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 ec(e){return i().createElement("span",{style:{display:"inline-flex"}},i().createElement("span",null,e.format),i().createElement(eu,{content:F()().format(e.format)}))}function es(e){var t=(0,o.useMemo)(function(){return e.formats||[]},[e.formats]),n=!!e.value&&!t.includes(e.value),r=j((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(eu,{content:l?F()().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(ec,{format:"string"==typeof t.label?t.label:n}))})))}function ed(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 em(e,t){return e.map(function(e){return{value:e.name,label:(0,s.hd)(e.title||e.name,t)}})}function ef(e){var t=(0,c.kj)(),n=e.collection,r=e.collections,l=e.components,u=e.context,d=e.form,m=e.name,p=e.schema,v=q(m),y=null==p?void 0:p["x-component"],g=y?null==l?void 0:l[y]:void 0,b=a.Form.useWatch("target",d),h=a.Form.useWatch("autoCreateReverseField",d),S=a.Form.useWatch("inputable",d),E=a.Form.useWatch(["uiSchema","enum"],d),w=a.Form.useWatch([],d)||d.getFieldsValue(!0),C=(0,o.useRef)(),F=(0,o.useMemo)(function(){return M(T({},u),{inputable:!!S,showReverseFieldConfig:!!h||!!d.getFieldValue(["reverseField","key"])})},[h,u,d,S]),I=(0,f.getCoreFieldConfigureState)(m,w,F),x=(0,o.useMemo)(function(){return JSON.stringify([null==I?void 0:I.hasValue,null==I?void 0:I.value])},[null==I?void 0:I.hasValue,null==I?void 0:I.value]),O=null!=(el=I.disabled)?el:H(null==p?void 0:p["x-disabled"],F),A=!!I.hidden||H(null==p?void 0:p["x-hidden"],F)||(null==p?void 0:p["x-visible"])!==void 0&&!H(null==p?void 0:p["x-visible"],F)||m.startsWith("reverseField.")&&!F.showReverseFieldConfig,P=null==p?void 0:p.title,K=null==p?void 0:p["x-content"],R=(0,s.hd)(P||K||m,t),V=(0,s.hd)(K||P||m,t),N=!!P&&!!K&&P!==K,$=(0,s.hd)(null==p?void 0:p.description,t),U=T({},(null==p?void 0:p["x-component-props"])||{},I.componentProps||{}),W=r.find(function(e){return e.name===n.name}),J=Array.isArray(n.fields)&&n.fields.length?n.fields:(null==W?void 0:W.fields)||[],X=r.find(function(e){return e.name===b}),Y=(null==X?void 0:X.fields)||[];if((0,o.useEffect)(function(){if(!I.hasValue){C.current=void 0;return}C.current===x||(C.current=x,(0,k.get)(d.getFieldsValue(!0),v)!==I.value&&d.setFieldValue(v,I.value))},[I.hasValue,I.value,d,v,x]),A)return null;if("defaultValue"===m){var Q=Z(I.dataSource||(Array.isArray(E)?E:void 0)||(null==p?void 0:p.enum)||U.options,t);return i().createElement(a.Form.Item,{name:v,label:R,tooltip:$,rules:(null==p?void 0:p.required)?[{required:!0}]:void 0},i().createElement(ea,{component:y,componentProps:U,disabled:O,options:Q}))}if(g)return i().createElement(g,{name:m,namePath:v,schema:p,form:d,disabled:O,collection:n,collections:r,context:F,title:R,tooltip:$,componentProps:U,mode:u.createOnly?"create":"edit",fieldInterface:e.fieldInterface});if("Checkbox"===y)return N?i().createElement(a.Form.Item,{name:v,label:R,valuePropName:"checked",tooltip:$,rules:(null==p?void 0:p.required)?[{required:!0}]:void 0},i().createElement(a.Checkbox,{disabled:O},V)):i().createElement(a.Form.Item,{name:v,valuePropName:"checked",tooltip:$},i().createElement(a.Checkbox,{disabled:O},V));if("Space"===y&&(null==p?void 0:p.properties))return i().createElement(a.Form.Item,{label:R,tooltip:$},i().createElement(a.Space,{wrap:!0},Object.entries(p.properties).filter(function(e){var t=j(e,2)[1];return(null==t?void 0:t["x-component"])==="Checkbox"}).map(function(e){var n=j(e,2),r=n[0],l=n[1],o=H(null==l?void 0:l["x-disabled"],F),u=(0,s.hd)((null==l?void 0:l.title)||(null==l?void 0:l["x-content"])||r,t);return i().createElement(a.Form.Item,{key:r,name:q(r),valuePropName:"checked",noStyle:!0},i().createElement(a.Checkbox,{disabled:o},u))})));if("InputNumber"===y)return i().createElement(a.Form.Item,{name:v,label:R,tooltip:$,rules:(null==p?void 0:p.required)?[{required:!0}]:void 0},i().createElement(a.InputNumber,T({style:{width:"100%"},disabled:O},U)));if("ExpiresRadio"===y){var ee=U.defaultValue,et=U.formats,en=U.picker;return i().createElement(a.Form.Item,{name:v,label:R,tooltip:$,rules:(null==p?void 0:p.required)?[{required:!0}]:void 0},i().createElement(es,{defaultValue:ee,disabled:O,formats:et,options:Z(null==p?void 0:p.enum,t),picker:en}))}if("Select"===y||"CollectionSelect"===y||"RemoteSelect"===y||"TargetKey"===y||"SourceKey"===y){var el,eu,ec=G.has(m)?Y.filter(function(e){return e.primaryKey||e.unique}).map(function(e){var n;return{value:e.name,label:(0,s.hd)((null==(n=e.uiSchema)?void 0:n.title)||e.name,t)}}):_.has(m)?J.filter(function(e){return e.primaryKey||e.unique}).map(function(e){var n;return{value:e.name,label:(0,s.hd)((null==(n=e.uiSchema)?void 0:n.title)||e.name,t)}}):z.has(m)&&B.has(y)&&!Array.isArray(null==p?void 0:p.enum)?em(r.filter(function(e){return e.name&&e.name!==n.name}),t):(null==p?void 0:p.enum)==="{{collections}}"?em(r,t):(null==p?void 0:p.enum)===L?em(r.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))}),t):"CollectionSelect"===y||"RemoteSelect"===y?em(r,t):Z(null==p?void 0:p.enum,t),ed=U.filter,ef=U.multiple,ep=D(U,["filter","multiple"]),ev=M(T({},ep),{mode:ef?"multiple":ep.mode}),ey="function"==typeof ed?ec.filter(function(e){return ed(r.find(function(t){return t.name===e.value}))}):ec;return i().createElement(a.Form.Item,{name:v,label:R,tooltip:$,rules:(null==p?void 0:p.required)?[{required:!0}]:void 0},i().createElement(eo,{allowClear:"SourceKey"!==y&&(null==(eu=ep.allowClear)||eu),autoSelectFirstOption:"SourceKey"===y,disabled:O,form:d,namePath:v,options:ey,selectProps:ev,showSearch:"SourceKey"===y||ev.showSearch}))}return"Radio.Group"===y?i().createElement(a.Form.Item,{name:v,label:R,tooltip:$,rules:(null==p?void 0:p.required)?[{required:!0}]:void 0},i().createElement(a.Radio.Group,{disabled:O,options:Z(null==p?void 0:p.enum,t)})):"ArrayTable"===y&&"uiSchema.enum"===m?i().createElement(a.Form.Item,{label:R,tooltip:$},i().createElement(er,{name:v,disabled:O})):"FieldValidation"===y?i().createElement(a.Form.Item,{name:v,label:R,tooltip:$},i().createElement(ei,(null==p?void 0:p["x-component-props"])||{})):"Input.TextArea"===y?i().createElement(a.Form.Item,{name:v,label:R,tooltip:$,rules:(null==p?void 0:p.required)?[{required:!0}]:void 0},i().createElement(a.Input.TextArea,{disabled:O})):"SourceCollection"===y?i().createElement(a.Form.Item,{label:R,tooltip:$},i().createElement(a.Input,{disabled:!0,value:(0,s.Ad)(n.title||n.name,t)})):i().createElement(a.Form.Item,{name:v,label:R,tooltip:$,rules:(null==p?void 0:p.required)?[{required:!0}]:void 0},i().createElement(a.Input,{disabled:O}))}function ep(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,k.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(Q(e.form,t,e.context)))},[e.context,e.form,e.item,r,t]),null}function ev(e){var t,n,r=(0,c.kj)(),l=a.Form.useWatch([],e.form)||e.form.getFieldsValue(!0),o=Q(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,m="string"==typeof d?(0,f.evaluateFieldConfigureExpression)(d,o):d,p=e.item.Component,v=M(T({},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":m});return("string"==typeof u?(0,f.evaluateFieldConfigureExpression)(u,o):u)?i().createElement(ep,{context:e.context,form:e.form,item:e.item}):p?i().createElement(i().Fragment,null,i().createElement(ep,{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:m,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(ep,{context:e.context,form:e.form,item:e.item}),i().createElement(ef,{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 ey(e){for(var t=function(t){return i().createElement(ev,{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 eg(e){var t,n,l,u,d,m,p,g=(0,c.kj)(),b=(0,r.useFlowContext)(),E=a.App.useApp().notification,w=(0,f.useCurrentAppInfo)(),C=b.dataSourceManager.collectionFieldInterfaceManager,F=j(a.Form.useForm(),1)[0],I=j((0,o.useState)(!1),2),x=I[0],A=I[1],D=(0,o.useRef)(),P=(0,o.useRef)(),K=b.dataSourceManager.getDataSource(e.dataSourceKey),q=(null==w||null==(t=w.database)?void 0:t.dialect)||(null==w||null==(l=w.data)||null==(n=l.database)?void 0:n.dialect),B=(0,o.useMemo)(function(){var t,n,r,l;return function(e,t,n,r,l){if("create"!==r)return e;var a,o=n.app.pm.get(v.v),i=null==o||null==(a=o.getCollectionTemplate)?void 0:a.call(o,t.template||"general");return S(h(e,i,t,{databaseDialect:l}),i)}((n=null==K||null==(t=K.options)?void 0:t.type,(null==(l=b.dataSourceManager.collectionFieldInterfaceManager)||null==(r=l.getFieldInterfaces)?void 0:r.call(l,n))||[]),e.collection,b,e.mode,q)},[q,b,null==K||null==(u=K.options)?void 0:u.type,e.collection,e.mode]),_=j((0,o.useState)((null==(d=e.field)?void 0:d.interface)||e.interfaceName||(null==(m=B[0])?void 0:m.name)),2),G=_[0],$=_[1],U=(0,o.useMemo)(function(){return B.find(function(e){return e.name===G})},[B,G]),W=(0,o.useMemo)(function(){var t;return G?null==C||null==(t=C.getFieldInterfaceConfigure)?void 0:t.call(C,G,e.collection):void 0},[C,G,e.collection]),J=(0,o.useMemo)(function(){return U||W?M(T({},U,W),{default:(null==W?void 0:W.default)||(null==U?void 0:U.default),name:(null==W?void 0:W.name)||(null==U?void 0:U.name)}):void 0},[W,U]),X=(0,s.hd)((null==J?void 0:J.title)||G||"-",g),H=(0,s.Ad)((null==J?void 0:J.title)||G||"-",g),Z=(null==W?void 0:W.ConfigureForm)||(null==W?void 0:W.Component),er=(0,o.useMemo)(function(){return(null==W?void 0:W.items)||[]},[null==W?void 0:W.items]),el=j((0,o.useState)([]),2),ea=el[0],eo=el[1],ei=(0,o.useMemo)(function(){return er.some(function(e){var t,n;return z.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})},[er]),eu=(0,o.useMemo)(function(){return er.some(function(e){return"type"===e.name})},[er]),ec=(0,o.useMemo)(function(){var t=ee(J,e.field,g);return!e.field&&(D.current||(D.current=t.name||(0,r.randomId)("f_")),t.name=D.current,Y(t,er),((null==U?void 0:U.isAssociation)||(null==W?void 0:W.isAssociation))&&!(0,k.get)(t,"source")&&(0,k.set)(t,"source",e.collection.name)),t},[null==W?void 0:W.isAssociation,er,null==U?void 0:U.isAssociation,J,e.collection.name,e.field,g]),es=(0,o.useMemo)(function(){var t;return en({mode:e.mode,dataSourceKey:e.dataSourceKey,collectionName:e.collection.name,fieldName:null==(t=e.field)?void 0:t.name,interfaceName:G})},[G,e.collection.name,e.dataSourceKey,null==(p=e.field)?void 0:p.name,e.mode]),em=(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},primaryKeyOnly:!1}},[q,e.dataSourceKey,e.mode]),ef=(0,o.useRef)(),ep=(0,o.useRef)();(0,o.useEffect)(function(){P.current!==es&&(P.current=es,ep.current=(0,k.cloneDeep)(ec),ef.current=(0,k.cloneDeep)(ec),F.resetFields(),F.setFieldsValue(ec))},[F,ec,es]);var ev=a.Form.useWatch([],F)||F.getFieldsValue(!0),eg=(0,o.useMemo)(function(){return JSON.stringify(ev)},[ev]);(0,o.useEffect)(function(){if(ep.current){var e=ep.current;if((0,k.get)(ev,"name")!==(0,k.get)(e,"name")||(0,k.get)(ev,"interface")!==(0,k.get)(e,"interface")||(0,k.get)(ev,"type")!==(0,k.get)(e,"type"))return;ep.current=void 0,ef.current=(0,k.cloneDeep)(ev),(0,f.runCoreFieldConfigureEffects)(Q(F,ev,em));return}var t=ef.current||{};if(!ef.current){ef.current=(0,k.cloneDeep)(ev),(0,f.runCoreFieldConfigureEffects)(Q(F,ev,em));return}var n=["primaryKey","unique","autoIncrement","autoCreateReverseField","defaultToCurrentTime","uiSchema.x-component-props.picker","uiSchema.x-component-props.showTime"].find(function(e){return(0,k.get)(t,e)!==(0,k.get)(ev,e)});ef.current=(0,k.cloneDeep)(ev),(0,f.runCoreFieldConfigureEffects)(Q(F,ev,em,n))},[em,F,ev,eg]),(0,o.useEffect)(function(){if(ei){var t=!1;return O(function(){var n;return R(this,function(r){switch(r.label){case 0:return[4,b.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||eo(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}}},[b.api,ei,e.dataSourceKey]),(0,o.useEffect)(function(){var t;!G&&e.interfaceName?$(e.interfaceName):!G&&(null==(t=B[0])?void 0:t.name)&&$(B[0].name)},[B,G,e.interfaceName]);var eb=(0,o.useCallback)(function(t){var n,l=B.find(function(e){return e.name===t}),a=null==C||null==(n=C.getFieldInterfaceConfigure)?void 0:n.call(C,t,e.collection),o=F.getFieldValue(["uiSchema","title"]),i=ee(M(T({},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,g);Y(i,(null==a?void 0:a.items)||[]),((null==l?void 0:l.isAssociation)||(null==a?void 0:a.isAssociation))&&!(0,k.get)(i,"source")&&(0,k.set)(i,"source",e.collection.name),o&&(0,k.set)(i,"uiSchema.title",o);var u=F.getFieldValue("name");F.isFieldTouched("name")&&u?(0,k.set)(i,"name",u):(D.current||(D.current=i.name||(0,r.randomId)("f_")),(0,k.set)(i,"name",D.current)),P.current=en({mode:e.mode,dataSourceKey:e.dataSourceKey,collectionName:e.collection.name,interfaceName:t}),$(t),F.resetFields(),F.setFieldsValue(i)},[C,B,F,e.collection,e.dataSourceKey,e.mode,g]),eh=(0,o.useCallback)(function(t){var n,r,l={mode:e.mode,fieldInterface:J,collection:e.collection,field:e.field,createOnly:"create"===e.mode,editMainOnly:"edit"===e.mode,disabledJSONB:"edit"===e.mode},a=(null==W?void 0:W.normalizeValues)?W.normalizeValues(t,l):(null==W?void 0:W.normalize)?W.normalize(t,l):t,o=(0,k.cloneDeep)(a);return o.autoCreateReverseField?(0,k.get)(o,"reverseField.uiSchema.title")||(0,k.set)(o,"reverseField.uiSchema.title",(0,k.get)(o,"uiSchema.title")):delete o.reverseField,delete o.autoCreateReverseField,null==U||null==(n=U.initialize)||n.call(U,o),null==W||null==(r=W.initialize)||r.call(W,o,l),o},[W,U,J,e.collection,e.field,e.mode]),eS=(0,o.useCallback)(function(){return O(function(){var t,n,l,a,o,i,u;return R(this,function(c){switch(c.label){case 0:return c.trys.push([0,8,9,10]),l=F.getFieldsValue(!0),"create"===e.mode&&!F.isFieldTouched("name")&&function(e,t){var n=null==e?void 0:e.name;if(!n)return!0;var r=(0,k.get)(e,"uiSchema.title"),l=et(n);return n===r||n===t||!!l&&(l===et(r)||l===et(t))}(l,H)&&(D.current||(D.current=(0,r.randomId)("f_")),F.setFieldValue("name",D.current)),[4,F.validateFields()];case 1:return a=c.sent(),[4,null==W||null==(t=W.validate)?void 0:t.call(W,a,{mode:e.mode,fieldInterface:J,collection:e.collection,field:e.field,createOnly:"create"===e.mode,editMainOnly:"edit"===e.mode,disabledJSONB:"edit"===e.mode})];case 2:if(c.sent(),o=eh(a),A(!0),"create"!==e.mode)return[3,4];return[4,b.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,b.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=b.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:n.reload()];case 7:return c.sent(),e.onSubmitted(),[3,10];case 8:var s,d,m,f;throw Array.isArray(null==(s=u=c.sent())?void 0:s.errorFields)||E.error({message:(d=g("Submit failed"),"string"==typeof(f=(null==(m=(0,k.get)(u,"response.data.errors"))?void 0:m.map(function(e){return e.message}).filter(Boolean).join("\n"))||(0,k.get)(u,"response.data.message")||(0,k.get)(u,"message"))&&f?f:d)}),u;case 9:return A(!1),[7];case 10:return[2]}})})()},[W,b.api,b.dataSourceManager,J,H,F,eh,E,e,g]),eE=(0,s.Ad)((0,k.get)(e.collection,"title")||e.collection.name,g),ew="".concat(eE," - ").concat("create"===e.mode?g("Add field"):g("Edit field")),eC=new Set((e.collection.fields||[]).map(function(e){return e.name}));return i().createElement(f.DrawerFormLayout,{title:ew,onSubmit:eS,submitting:x,submitText:g("Submit"),cancelText:g("Cancel")},i().createElement(a.Form,{form:F,layout:"vertical",initialValues:ec,autoComplete:"off"},i().createElement(ed,{fieldInterface:J,label:g("Field interface"),fallbackTitle:X}),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:g("Field interface"),rules:[{required:!0}]},i().createElement(a.Select,{options:B.map(function(e){return{value:e.name,label:(0,s.hd)(e.title||e.name,g)}}),onChange:eb})),i().createElement(a.Form.Item,{name:["uiSchema","title"],label:g("Field display name"),rules:[{required:!0}]},i().createElement(a.Input,{autoComplete:"off"})),i().createElement(a.Form.Item,{name:"name",label:g("Field name"),rules:[{required:!0},{pattern:"tableoid"===G?/^__collection$/:V,message:g(N)},{validator:function(t,n){return"edit"!==e.mode&&n&&eC.has(n)?Promise.reject(Error(g("Field name already exists"))):Promise.resolve()}}],extra:g(N)},i().createElement(a.Input,{autoComplete:"off",disabled:"edit"===e.mode||"tableoid"===G})),i().createElement(ey,{items:er,collection:e.collection,collections:ea,fieldInterface:J,form:F,context:em}),eu?null:i().createElement(a.Form.Item,{name:"type",hidden:!0,rules:[{required:!0}]},i().createElement(a.Input,null)),Z&&W?i().createElement(Z,{mode:e.mode,fieldInterface:W,collection:e.collection,field:e.field,createOnly:"create"===e.mode,editMainOnly:"edit"===e.mode,disabledJSONB:"edit"===e.mode}):null,i().createElement(a.Form.Item,{name:"description",label:g("Description")},i().createElement(a.Input.TextArea,{autoSize:{minRows:4,maxRows:8}}))))}function eb(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 eh(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 eS(e){return function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){eh(a,r,l,o,i,"next",e)}function i(e){eh(a,r,l,o,i,"throw",e)}o(void 0)})}}function eE(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 ew(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 eC(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)||eF(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 eF(e,t){if(e){if("string"==typeof e)return eb(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 eb(e,t)}}function ek(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 eI={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 ex(e,t){var n,r=e.dataSourceManager.collectionFieldInterfaceManager;return(null==r||null==(n=r.getFieldInterfaces)?void 0:n.call(r,t))||[]}function eO(e,t,n,r){var l,a=n.app.pm.get(v.v);return h(e,null==a||null==(l=a.getCollectionTemplate)?void 0:l.call(a,t.template||"general"),t,{databaseDialect:r})}function eA(e,t){return(null==e?void 0:e.title)||(null==e?void 0:e.label)||t||(null==e?void 0:e.name)}function eT(e){var t,n=null==(t=e.uiSchema)?void 0:t.title;return"string"==typeof n?n:null==n?e.name:String(n)}function eM(e){var t=eC((0,o.useState)(eT(e.record)),2),n=t[0],r=t[1];(0,o.useEffect)(function(){r(eT(e.record))},[e.record]);var l=(0,o.useCallback)(function(){var t=eT(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 eD(e){return"view"===e.template||e.view}function ej(e,t){var n,r=e.app.pm.get(v.v);return null==r||null==(n=r.getCollectionTemplate)?void 0:n.call(r,t.template||"general")}function eP(e){var t=e||{};return t.rawTitle,function(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}(t,["rawTitle"])}function eK(e){return Array.isArray(e)?e.filter(Boolean):"string"==typeof e?e.split(".").filter(Boolean):[]}function eR(e){var t=eK(e);return t.length?t.join("."):null}function eq(e){var t,n=(0,c.kj)(),l=(0,r.useFlowContext)(),u=a.App.useApp().message,d=eC(a.Form.useForm(),1)[0],m=eC((0,o.useState)([]),2),p=m[0],v=m[1],y=eC((0,o.useState)(!1),2),g=y[0],b=y[1],h=eC((0,o.useState)([]),2),S=h[0],E=h[1],w=eC((0,o.useState)(!1),2),C=w[0],F=w[1],k=eC((0,o.useState)(!1),2),I=k[0],x=k[1],O=eC((0,o.useState)([]),2),A=O[0],T=O[1],M=eC((0,o.useState)([]),2),D=M[0],j=M[1],P=l.dataSourceManager.getDataSource("main"),K=(t=e.collection).viewName||t.name,R=(0,o.useMemo)(function(){var e=[];return D.forEach(function(t){var r=null==P?void 0:P.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},[P,D,n]),q=(0,o.useMemo)(function(){return p.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)}}})},[p,n]),V=(0,o.useCallback)(function(t){return eS(function(){var n,r,a,o;return ek(this,function(i){switch(i.label){case 0:F(!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:K,schema:e.collection.schema,fieldTypes:a})];case 2:return E((null==(o=i.sent())||null==(n=o.data)?void 0:n.data)||[]),[3,4];case 3:return F(!1),[7];case 4:return[2]}})})()},[l.api,e.collection.schema,K]);(0,o.useEffect)(function(){var t=!1;return eS(function(){var n,r,a,o;return ek(this,function(i){switch(i.label){case 0:b(!0),i.label=1;case 1:return i.trys.push([1,,4,5]),[4,l.api.resource("dbViews").get({filterByTk:K,schema:e.collection.schema})];case 2:var u,c,s,m,f;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},f=new Map(((m={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=m.inferredFields.map(function(e){var t,n,r,l=f.get(e.name)||e,a=m.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=ew(eE({},eP(o),eP(l.uiSchema||e.uiSchema)),{title:i});return e.source?ew(eE({},e),{interface:e.interface||l.interface,type:e.type||l.type,uiSchema:u}):ew(eE({},e,l),{uiSchema:u})}),o=Array.isArray(r.sources)?r.sources:[],v(a),T(Array.isArray(r.unsupportedFields)?r.unsupportedFields:[]),j(o),d.setFieldsValue({fields:a.map(function(e){return ew(eE({},e),{source:eR(e.source)})}),schema:e.collection.schema,sources:o,viewName:K}),[4,V(a)];case 3:return i.sent(),[3,5];case 4:return t||b(!1),[7];case 5:return[2]}})})(),function(){t=!0}},[l.api,d,V,e.collection.schema,e.currentFields,e.fieldInterfacesByName,K]);var N=(0,o.useCallback)(function(e,t){var n=function(e){if(Array.isArray(e))return eb(e)}(p)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(p)||eF(p)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();n[e]=t,v(n),d.setFieldValue("fields",n.map(function(e){return ew(eE({},e),{source:eR(e.source)})}))},[p,d]),B=(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:R,value:eK(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==P||null==(n=P.getCollectionField(o.join(".")))?void 0:n.options:void 0;N(r,ew(eE({},t),{interface:(null==i?void 0:i.interface)||t.interface,source:o,type:(null==i?void 0:i.type)||t.type,uiSchema:ew(eE({},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 N(n,ew(eE({},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)(eA(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];N(l,ew(eE({},r),{interface:t||null,type:(null==c||null==(n=c.default)?void 0:n.type)||r.type,uiSchema:ew(eE({},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 N(n,ew(eE({},t),{uiSchema:ew(eE({},eP(t.uiSchema)),{title:e.target.value})}))}})}}]},[N,P,e.fieldInterfaceGroups,e.fieldInterfacesByName,R,n]),z=(0,o.useCallback)(function(){return eS(function(){var t,r;return ek(this,function(a){switch(a.label){case 0:return[4,d.validateFields()];case 1:a.sent(),t=d.getFieldsValue(!0),x(!0),a.label=2;case 2:return a.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 a.sent(),[4,null==(r=l.dataSourceManager.getDataSource("main"))?void 0:r.reload()];case 4:return a.sent(),e.onSubmitted(),u.success(n("Sync successfully")),[3,6];case 5:return x(!1),[7];case 6:return[2]}})})()},[l.api,l.dataSourceManager,d,u,e,n]);return i().createElement(f.DrawerFormLayout,{title:n("Sync from database"),submitting:I,submitText:n("Submit"),cancelText:n("Cancel"),onSubmit:z},i().createElement(a.Spin,{spinning:g},i().createElement(a.Form,{form:d,layout:"vertical"},p.length?i().createElement(a.Form.Item,{label:n("Fields")},i().createElement(a.Table,{bordered:!0,columns:B,dataSource:p,pagination:!1,rowKey:"name",scroll:{y:300},size:"middle"})):null,A.length?i().createElement(a.Alert,{showIcon:!0,type:"warning",message:n("Unsupported fields"),description:A.map(function(e){return e.name}).join(", ")}):null,i().createElement(a.Form.Item,{label:n("Preview")},i().createElement(a.Spin,{spinning:C},i().createElement(a.Table,{bordered:!0,columns:q,dataSource:S,pagination:!1,rowKey:function(e,t){return String(null!=t?t:0)},scroll:{x:1e3,y:300},size:"middle"}))))))}function eV(e){var t,n,u,m,p,g,b,h,E,w,C,F,k,I,x,O,A,T,M,D,j,P,K=(0,c.kj)(),R=(0,r.useFlowContext)(),q=(0,f.useCurrentAppInfo)(),V=a.App.useApp(),N=V.message,B=V.modal,z=V.notification,L=eC((0,o.useState)([]),2),_=L[0],G=L[1],$=eC((0,o.useState)(e.collection.titleField),2),U=$[0],W=$[1],J=eC((0,o.useState)(),2),X=J[0],H=J[1],Z=eC((0,o.useState)(),2),Y=Z[0],Q=Z[1],ee=eC((0,o.useState)(!1),2),et=ee[0],en=ee[1],er=(0,l.useRequest)(function(){return eS(function(){return ek(this,function(t){switch(t.label){case 0:return[4,R.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(){W(e.collection.titleField)},[e.collection.titleField]);var el=R.dataSourceManager.getDataSource(e.dataSourceKey),ea=null==(A=R.app.pm.get(v.v))||null==(O=A.getType)?void 0:O.call(A,null==el||null==(x=el.options)?void 0:x.type),eo="main"===e.dataSourceKey,ei=(null==q||null==(h=q.database)?void 0:h.dialect)||(null==q||null==(w=q.data)||null==(E=w.database)?void 0:E.dialect),eu=(0,o.useMemo)(function(){var e,t,n,r,l,a,o;return t=null==el||null==(e=el.options)?void 0:e.type,r=R.dataSourceManager.collectionFieldInterfaceManager,l=ex(R,t),a=eE({},eI,(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 ew(eE({},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)})},[R,null==el||null==(T=el.options)?void 0:T.type]),ec=(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 ew(eE({},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=eu.map(function(e){return ew(eE({},e),{children:eO(e.children,t,R,ei)})}).filter(function(e){return e.children.length}),r=e.collection,o=null==(a=R.app.pm.get(v.v))||null==(l=a.getCollectionTemplate)?void 0:l.call(a,r.template||"general"),n.map(function(e){return ew(eE({},e),{children:S(e.children,o)})}).filter(function(e){return e.children.length})),ea,e.collection)},[eu,ei,R,ea,e.collection]),es=(0,o.useMemo)(function(){var t;return eO(ex(R,null==el||null==(t=el.options)?void 0:t.type),e.collection,R,ei).reduce(function(e,t){return e[t.name]=t,e},{})},[ei,R,null==el||null==(M=el.options)?void 0:M.type,e.collection]),ed=(0,o.useMemo)(function(){var e,t,n,r;return n=(null==(t=R.app.pm.get(v.v))||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},[R]),em=(0,o.useCallback)(function(t,n,r){R.viewer.drawer({width:800,closable:!0,content:function(){return i().createElement(eg,{mode:t,dataSourceKey:e.dataSourceKey,collection:e.collection,interfaceName:r,field:n,onSubmitted:function(){return er.refresh()}})}})},[R.viewer,e.collection,e.dataSourceKey,er]),ef=(0,o.useMemo)(function(){return{style:{maxHeight:"60vh",overflow:"auto"},items:ec.map(function(e){return{type:"group",key:e.key,label:(0,s.hd)(e.label,K),children:e.children.map(function(e){return{key:e.name,label:(0,s.hd)(eA(e),K)}})}}),onClick:function(e){return em("create",void 0,String(e.key))}}},[ec,em,K]),ep=(0,o.useMemo)(function(){return ej(R,e.collection)},[R,e.collection]),ev=null==ep||null==(j=ep.configure)||null==(D=j.syncFields)?void 0:D.Component,ey=(0,o.useCallback)(function(){ev&&R.viewer.drawer({width:900,closable:!0,content:function(){return i().createElement(ev,{collection:e.collection,dataSourceKey:e.dataSourceKey,onSubmitted:function(){er.refresh()}})}})},[ev,R.viewer,e.collection,e.dataSourceKey,er]),eb=(0,o.useCallback)(function(){R.viewer.drawer({width:900,closable:!0,content:function(){return i().createElement(eq,{collection:e.collection,currentFields:er.data||e.collection.fields||[],fieldInterfaceGroups:eu,fieldInterfacesByName:es,onSubmitted:function(){er.refresh()}})}})},[eu,R.viewer,es,e.collection,er]),eh=(0,o.useCallback)(function(t){B.confirm({title:K("Delete record"),content:K("Are you sure you want to delete it?"),onOk:function(){return eS(function(){var n;return ek(this,function(r){switch(r.label){case 0:return[4,Promise.all((Array.isArray(t)?t:[t]).map(function(t){return R.api.request({url:y(e.dataSourceKey,e.collection.name,"destroy",String(t)),method:"post"})}))];case 1:return r.sent(),[4,null==(n=R.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:n.reload()];case 2:return r.sent(),G([]),er.refresh(),[2]}})})()}})},[R.api,R.dataSourceManager,B,e.collection.name,e.dataSourceKey,er,K]),eF=(0,o.useCallback)(function(t,n){return eS(function(){var r,l,a,o,i;return ek(this,function(u){switch(u.label){case 0:return i=(o=(null==(a=n?es[n]:void 0)?void 0:a.default)||{}).uiSchema?ew(eE({},o.uiSchema),{title:o.uiSchema.title||(null==(r=t.uiSchema)?void 0:r.title)}):t.uiSchema,[4,R.api.request({url:y(e.dataSourceKey,e.collection.name,"update",t.name),method:"post",data:ew(eE({},t,o),{name:t.name,interface:n||null,type:o.type||t.type,uiSchema:i})})];case 1:return u.sent(),[4,null==(l=R.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:l.reload()];case 2:return u.sent(),er.refresh(),[2]}})})()},[R.api,R.dataSourceManager,es,e.collection.name,e.dataSourceKey,er]),eK=(0,o.useCallback)(function(t,n){return eS(function(){var r,l,a;return ek(this,function(o){switch(o.label){case 0:if(!(r=n.trim()))throw N.error(K("Field display name is required")),Error("Field display name is required");Q(t.name),o.label=1;case 1:return o.trys.push([1,4,5,6]),[4,R.api.request({url:y(e.dataSourceKey,e.collection.name,"update",t.name),method:"post",data:ew(eE({},t),{uiSchema:ew(eE({},eP(t.uiSchema)),{title:r})})})];case 2:return o.sent(),[4,null==(l=R.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:l.reload()];case 3:return o.sent(),er.refresh(),N.success(K("Saved successfully")),[3,6];case 4:var i,u,c,s;throw a=o.sent(),z.error({message:(i=K("Save failed"),"string"==typeof(s=(Array.isArray(null==(c=null==a||null==(u=a.response)?void 0:u.data)?void 0:c.errors)?c.errors.map(function(e){return e.message}).filter(Boolean).join("\n"):void 0)||(null==c?void 0:c.message)||(null==a?void 0:a.message))&&s?s:i)}),a;case 5:return Q(void 0),[7];case 6:return[2]}})})()},[R.api,R.dataSourceManager,N,z,e.collection.name,e.dataSourceKey,er,K]),eR=(0,o.useCallback)(function(t,n){return eS(function(){var r,l;return ek(this,function(a){switch(a.label){case 0:r=n?t.name:"id",H(t.name),a.label=1;case 1:var o;return a.trys.push([1,,4,5]),[4,R.api.request({url:"main"===(o=e.dataSourceKey)?"collections:update":"dataSources/".concat(o,"/collections:update"),method:"post",params:{filterByTk:e.collection.name},data:{titleField:r}})];case 2:return a.sent(),W(r),[4,null==(l=R.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:l.reload()];case 3:return a.sent(),N.success(K("Saved successfully")),[3,5];case 4:return H(void 0),[7];case 5:return[2]}})})()},[R.api,R.dataSourceManager,N,e.collection.name,e.dataSourceKey,K]),eV=(0,o.useCallback)(function(){return eS(function(){var t;return ek(this,function(n){switch(n.label){case 0:if(ev)return ey(),[2];if(eD(e.collection))return eb(),[2];en(!0),n.label=1;case 1:return n.trys.push([1,,4,5]),[4,R.api.resource("mainDataSource").syncFields({values:{collections:[e.collection.name]}})];case 2:return n.sent(),er.refresh(),[4,null==(t=R.dataSourceManager.getDataSource("main"))?void 0:t.reload()];case 3:return n.sent(),N.success(K("Sync successfully")),[3,5];case 4:return en(!1),[7];case 5:return[2]}})})()},[R.api,R.dataSourceManager,N,ey,eb,e.collection,er,ev,K]),eN=(t=e.dataSourceKey,n=e.collection,u=R,eD(n)?"main"===t:!!((b=null==(g=ej((m={collection:n,ctx:u,dataSourceKey:t}).ctx,m.collection))||null==(p=g.configure)?void 0:p.syncFields)&&("function"==typeof b.visible?b.visible({collection:m.collection,dataSourceKey:m.dataSourceKey}):!1!==b.visible))||"db2cm"!==n.from&&"main"===t),eB=!!(null==ea?void 0:ea.disableConfigureFields),ez=eo&&!eB,eL=!(null==(I=null==(k=(C={collection:e.collection,ctx:R,dataSourceType:null==el||null==(P=el.options)?void 0:P.type,fieldInterfaceGroups:ec}).ctx.app.pm.get(v.v))||null==(F=k.getType)?void 0:F.call(k,C.dataSourceType))?void 0:I.disableConfigureFields)&&!(null==I?void 0:I.disableAddFields)&&"sql"!==C.collection.template&&C.fieldInterfaceGroups.length>0;(0,o.useEffect)(function(){ez||G([])},[ez]);var e_=(0,o.useMemo)(function(){var t=[{title:K("Field display name"),width:240,render:function(e){return eB?(0,s.hd)(eT(e),K):i().createElement(eM,{loading:Y===e.name,record:e,onSave:eK})}},{title:K("Field name"),dataIndex:"name"},{title:K("Field type"),dataIndex:"type",render:function(e){return i().createElement(a.Tag,null,e)}},{title:K("Field interface"),dataIndex:"interface",width:180,render:function(t,n){var r,l,o,u,c,d,m=t?es[t]:void 0,f=eu.map(function(e){return ew(eE({},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(eB||t&&!m||("boolean"==typeof(d=null==(o=(r={collection:e.collection,currentFieldInterface:m,dataSourceType:ea,presetFieldInterfaces:ed}).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)(eA(m,t),K)||t);var p=f.map(function(e){return{label:(0,s.hd)(e.label,K),options:e.children.map(function(e){return{value:e.name,label:(0,s.hd)(eA(e),K)}})}}).filter(function(e){return e.options.length});return i().createElement(a.Select,{allowClear:!0,value:t||void 0,style:{width:"100%"},popupMatchSelectWidth:!1,options:p,onChange:function(e){return eF(n,e)}})}},{title:K("Title field"),dataIndex:"titleField",width:120,render:function(e,t){return(0,f.isTitleField)(R.dataSourceManager,t)?i().createElement(a.Tooltip,{title:K("Default title for each record"),placement:"right"},i().createElement(a.Switch,{"aria-label":"switch-title-field-".concat(t.name),size:"small",disabled:eB,loading:t.name===X,checked:t.name===(U||"id"),onChange:function(e){return eR(t,e)}})):null}},{title:K("Description"),dataIndex:"description",ellipsis:!0}];return eB||t.push({title:K("Actions"),width:160,render:function(e,t){return i().createElement(a.Space,null,i().createElement("a",{onClick:function(){return em("edit",t)}},K("Edit")),ez?i().createElement("a",{onClick:function(){return eh(t.name)}},K("Delete")):null)}}),t},[eu,eB,ez,R.dataSourceManager,ea,es,eh,eK,eF,eR,em,ed,e.collection,K,Y,U,X]);return i().createElement(i().Fragment,null,i().createElement("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginBottom:16}},i().createElement(a.Space,null,ez?i().createElement(a.Button,{icon:i().createElement(d.DeleteOutlined,null),disabled:!_.length,onClick:function(){return eh(_)}},K("Delete")):null,eN?i().createElement(a.Button,{icon:i().createElement(d.SyncOutlined,null),loading:et,onClick:eV},K("Sync from database")):null,eL?i().createElement(a.Dropdown,{menu:ef,placement:"bottomRight",trigger:["hover"]},i().createElement(a.Button,{type:"primary",icon:i().createElement(d.PlusOutlined,null)},K("Add field")," ",i().createElement(d.DownOutlined,null))):null)),i().createElement(f.Table,{rowKey:"name",loading:er.loading,dataSource:er.data||[],columns:e_,pagination:!1,rowSelection:ez?{selectedRowKeys:_,onChange:G}:void 0}))}function eN(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 eB(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 ez(e){return function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){eB(a,r,l,o,i,"next",e)}function i(e){eB(a,r,l,o,i,"throw",e)}o(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 e_(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 eG(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)||eU(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function e$(e){return function(e){if(Array.isArray(e))return eN(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||eU(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 eU(e,t){if(e){if("string"==typeof e)return eN(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 eN(e,t)}}function eW(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 eJ=["default","red","orange","yellow","green","cyan","blue","purple"],eX={default:"Default",red:"Red",orange:"Orange",yellow:"Yellow",green:"Green",cyan:"Cyan",blue:"Blue",purple:"Purple"};function eH(e){var t=(0,m.useDraggable)({id:String(e.item.id),data:e.item}),n=t.attributes,r=t.listeners,l=t.setNodeRef;return i().createElement("div",eL({ref:l},r,n),e.children)}function eZ(e){var t=(0,m.useDroppable)({id:String(e.item.id),data:e.item}),n=t.isOver,r=t.setNodeRef;return i().createElement("div",{ref:r,style:n?{color:"green"}:void 0},e.children)}function eY(e){var t=(0,c.kj)();return i().createElement(a.Space,{size:6},i().createElement(a.Badge,{color:"default"===e.item.color?void 0:e.item.color}),(0,s.hd)(e.item.name||e.item.id,t),i().createElement(a.Dropdown,{menu:{items:[{key:"edit",label:t("Edit category")},{key:"delete",label:t("Delete category")}],onClick:function(t){var n=t.key;(t.domEvent.stopPropagation(),"edit"===n)?e.onEdit(e.item):e.onDelete(e.item)}},trigger:["click"]},i().createElement(a.Button,{"aria-label":t("Edit category"),icon:i().createElement(d.MenuOutlined,null),size:"small",type:"text",onClick:function(e){return e.stopPropagation()}})))}function eQ(e){return i().createElement(eZ,{item:e.item},i().createElement(eH,{item:e.item},i().createElement(eY,{item:e.item,onDelete:e.onDelete,onEdit:e.onEdit})))}function e0(e){var t=e.children,n=e.onSort,r=eG((0,o.useState)(),2),l=r[0],a=r[1],u=(0,m.useSensors)((0,m.useSensor)(m.MouseSensor,{activationConstraint:{distance:10}})),c=(0,o.useCallback)(function(e){a(e.active.data.current)},[]),s=(0,o.useCallback)(function(e){return ez(function(){var t,r,l,o;return eW(this,function(i){switch(i.label){case 0:if(t=e.active,r=e.over,a(void 0),!r||r.id===t.id||(l=t.data.current,o=r.data.current,!l||!o))return[2];return[4,n(l,o)];case 1:return i.sent(),[2]}})})()},[n]);return i().createElement(m.DndContext,{sensors:u,onDragStart:c,onDragEnd:s},t,i().createElement(m.DragOverlay,{dropAnimation:null},l?i().createElement("span",{style:{whiteSpace:"nowrap"}},i().createElement(eY,{item:l,onDelete:function(){},onEdit:function(){}})):null))}function e1(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 e2=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)}})},e4=function(e){var t=e.value,n=e.onChange,l=(0,c.kj)(),o=(0,r.useFlowContext)().app.pm.get(v.v).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 e3(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 e6(){return{hidden:{$isFalsy:!0}}}function e5(e){var t,n=Array.isArray(t=e.filterTargetKey)?t.filter(Boolean).map(String):t?[String(t)]:void 0;if(null==n?void 0:n.length)return n;if(Array.isArray(e.fields)){var r=e.fields.filter(function(e){return(null==e?void 0:e.primaryKey)&&(null==e?void 0:e.name)}).map(function(e){return String(e.name)});return 1===r.length?r:void 0}}var e8=(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:e1(t),RenderValue:e2},{name:"name",title:t("Collection name"),operators:e1(t),RenderValue:e2},{name:"template",title:t("Collection template"),operators:[{value:"$eq",label:t("is")},{value:"$ne",label:t("is not")}],RenderValue:e4},{name:"description",title:t("Description"),operators:e1(t),RenderValue:e2}]},[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:e2,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"}),e7=(0,r.observer)(function(e){var t=e.value,n=e.onSubmit,r=e.onReset,l=(0,c.kj)(),u=eG((0,o.useState)(!1),2),s=u[0],m=u[1],p=(0,o.useMemo)(function(){return{model:{translate:function(e){return l(e)},dispatchEvent:function(e){"submit"===e&&(n(),m(!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:m,trigger:"click",placement:"bottomLeft",content:i().createElement("div",{style:{minWidth:560}},i().createElement(f.FilterContent,{value:t,ctx:p,FilterItem:e8}))},i().createElement(a.Button,{icon:i().createElement(d.FilterOutlined,null),type:v?"primary":"default"},y))},{displayName:"CollectionFilterPopover"});function e9(e){return e.name||e.value.name}function te(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 tt(e,t){var n;return!!(null==e||null==(n=e.capabilities)?void 0:n[t])}var tn=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},tr=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,eL({autoSize:{minRows:3,maxRows:8}},f))),"Select"===e.component&&(p=i().createElement(a.Select,eL({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},tl=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 ta(e){var t,n=e.activeCategoryKey,u=e.categories,d=e.onSubmitted,m=e.template,p=(0,c.kj)(),y=(0,r.useFlowContext)(),g=y.app.pm.get(v.v),b=eG(a.Form.useForm(),1)[0],h=(0,o.useMemo)(function(){return g.getCollectionPresetFields()},[g]),S=eG((0,o.useState)(!1),2),E=S[0],w=S[1],C="sql"===m.name,F="view"===m.name,k=eG((0,o.useState)(function(){return C||F?[]:h.filter(function(e){return!1!==e.defaultSelected}).map(function(e){return e9(e)})}),2),I=k[0],x=k[1],O=(0,l.useRequest)(function(){return ez(function(){return eW(this,function(e){switch(e.label){case 0:return[4,y.api.request({url:"dataSources/main/collections:list",params:{paginate:!1,sort:["sort"],filter:JSON.stringify(e6())}})];case 1:return[2,e3(e.sent())]}})})()}),A=(0,o.useMemo)(function(){return(O.data||[]).filter(function(e){return e.name}).map(function(e){return{value:e.name,label:(0,s.hd)(e.title||e.name,p)}})},[O.data,p]),T=(0,o.useMemo)(function(){return e_(eL({},te(m)),{template:m.name,name:(0,r.randomId)("t_"),category:"all"===n?[]:[n]})},[n,m]),M=(0,o.useMemo)(function(){var e;return new Set((null==(e=m.presetFields)?void 0:e.disabledIncludes)||m.presetFieldsDisabledIncludes||[])},[m]),D=(0,o.useMemo)(function(){var e;return e=y.dataSourceManager.collectionFieldInterfaceManager,h.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:e9(t),field:(0,s.sZ)(i,o),interfaceLabel:(0,s.sZ)(u,null==a?void 0:a.title),description:t.description}})},[h,y.dataSourceManager.collectionFieldInterfaceManager]),j=(0,o.useMemo)(function(){return[{title:p("Field"),dataIndex:"field",render:function(e){return(0,s.hd)(e,p)}},{title:p("Interface"),dataIndex:"interfaceLabel",render:function(e){return i().createElement(a.Tag,null,(0,s.hd)(e,p))}},{title:p("Description"),dataIndex:"description",render:function(e){return(0,s.hd)(e,p)}}]},[p]),P=(null==(t=m.configure)?void 0:t.Form)||m.ConfigureForm,K=i().createElement(a.Form.Item,{name:"category",label:p("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,p)}}),allowClear:!0})),R=i().createElement(a.Form.Item,{name:"description",label:p("Description")},i().createElement(a.Input.TextArea,{autoSize:{minRows:3,maxRows:8}})),q=(0,o.useCallback)(function(){return ez(function(){var e,t;return eW(this,function(n){switch(n.label){case 0:return[4,b.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,m=e.template,p=te(m),v=Array.isArray(p.fields)?p.fields:[],y=(0,f.normalizeCollectionTemplateFields)(Array.isArray(c.fields)?c.fields:[],u,{collectionInfo:e_(eL({},p,c),{template:m.name})}),g=(0,f.normalizeCollectionTemplateFields)(e$(v).concat(e$("function"==typeof(n=null==(t=m.collection)?void 0:t.fields)?n():n||[])),u,{collectionInfo:e_(eL({},p,c),{template:m.name})}),b=e_(eL({autoGenId:!1,view:!1},p,c),{template:m.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:e$(g).concat(e$((l=new Set(d.map(String)),s.filter(function(e){return l.has(e9(e))}).map(function(e){return structuredClone(e.value)}))),e$(y))}),h=null==(o=m.configure)||null==(a=o.transformSubmitValues)?void 0:a.call(o,b);return h||(null==(i=m.beforeSubmit)||i.call(m,b),b)}({template:m,formValues:n.sent(),selectedPresetFields:I,presetFields:h,fieldInterfaceManager:y.dataSourceManager.collectionFieldInterfaceManager}),w(!0),n.label=2;case 2:return n.trys.push([2,,4,5]),[4,y.api.resource("collections").create({values:e})];case 3:return n.sent(),d(),null==(t=y.dataSourceManager.getDataSource("main"))||t.reload(),[3,5];case 4:return w(!1),[7];case 5:return[2]}})})()},[h,y.api,y.dataSourceManager,b,d,I,m]);return i().createElement(f.DrawerFormLayout,{title:p("Create collection"),submitting:E,submitText:p("Submit"),cancelText:p("Cancel"),onSubmit:q},i().createElement(a.Form,{form:b,layout:"vertical",initialValues:T},i().createElement(tn,{template:m}),i().createElement(a.Form.Item,{name:"template",hidden:!0},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"title",label:p("Collection display name"),rules:[{required:!0}]},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"name",label:p("Collection name"),rules:[{required:!0},{pattern:/^[A-Za-z][A-Za-z0-9_]*$/,message:p("Support letters, numbers and underscores, must start with an letter.")}],extra:p("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")},i().createElement(a.Input,null)),C?i().createElement(i().Fragment,null,P?i().createElement(P,{mode:"create",template:m,form:b}):null,i().createElement(tr,{mode:"create",template:m,form:b}),tt(m,"recordUniqueKey")?i().createElement(tl,{form:b}):null,K,R):F?i().createElement(i().Fragment,null,P?i().createElement(P,{mode:"create",template:m,form:b}):null,i().createElement(tr,{mode:"create",template:m,form:b}),tt(m,"recordUniqueKey")?i().createElement(tl,{form:b}):null,K,R,i().createElement(a.Form.Item,{name:"simplePaginate",valuePropName:"checked",extra:p("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,p("Use simple pagination mode")))):i().createElement(i().Fragment,null,i().createElement(a.Form.Item,{name:"inherits",label:p("Inherits")},i().createElement(a.Select,{mode:"multiple",options:A,loading:O.loading,allowClear:!0})),K,R,i().createElement(a.Form.Item,{name:"simplePaginate",valuePropName:"checked",extra:p("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,p("Use simple pagination mode"))),P?i().createElement(P,{mode:"create",template:m,form:b}):null,i().createElement(tr,{mode:"create",template:m,form:b}),tt(m,"recordUniqueKey")?i().createElement(tl,{form:b}):null,i().createElement(a.Form.Item,{label:p("Preset fields")},i().createElement(f.Table,{size:"small",rowKey:"name",bordered:!0,pagination:!1,dataSource:D,columns:j,rowSelection:{type:"checkbox",selectedRowKeys:I,getCheckboxProps:function(e){var t,n;return{disabled:(null!=(t=null==(n=m.presetFields)?void 0:n.disabled)?t:m.presetFieldsDisabled)||M.has(e.name)}},onChange:function(e){return x(e)}}})))))}function to(e){var t,n=e.categories,u=e.collection,d=e.dataSourceKey,m=e.onSubmitted,p=(0,c.kj)(),g=(0,r.useFlowContext)(),b=g.app.pm.get(v.v),h=eG(a.Form.useForm(),1)[0],S=eG((0,o.useState)(!1),2),E=S[0],w=S[1],C="main"===d,F=(0,o.useMemo)(function(){return b.getCollectionTemplate(u.template||"general")},[u.template,b]),k=(0,l.useRequest)(function(){return ez(function(){return eW(this,function(e){switch(e.label){case 0:return[4,g.api.request({url:"dataSources/".concat(d,"/collections:list"),params:{paginate:!1,sort:["sort"],filter:JSON.stringify(e6())}})];case 1:return[2,e3(e.sent())]}})})()}),I=(0,l.useRequest)(function(){return ez(function(){return eW(this,function(e){switch(e.label){case 0:return[4,g.api.request({url:y(d,u.name,"list"),params:{}})];case 1:return[2,e3(e.sent())]}})})()}),x=(0,o.useMemo)(function(){return(k.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,p)}})},[u.name,k.data,p]),O=(0,o.useMemo)(function(){var e=Array.isArray(u.fields)&&u.fields.length?u.fields:I.data||[],t=e5(u)||[],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,p)}});return t.forEach(function(e){n.some(function(t){return t.value===e})||n.push({value:e,label:e})}),n},[u,I.data,p]),A=(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,simplePaginate:u.simplePaginate,filterTargetKey:e5(u),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]),T=(0,o.useCallback)(function(){return ez(function(){var e,t,n,r;return eW(this,function(l){switch(l.label){case 0:return[4,h.validateFields()];case 1:n=eL({},l.sent()),"sql"===u.template?(n.name=u.name,n.key=u.key):delete n.name,C||(delete n.category,delete n.inherits),n=(null==F||null==(t=F.configure)||null==(e=t.transformSubmitValues)?void 0:e.call(t,n))||n,w(!0),l.label=2;case 2:if(l.trys.push([2,,7,8]),!C)return[3,4];return[4,g.api.resource("sql"===u.template?"sqlCollection":"collections").update({filterByTk:u.name,values:n})];case 3:return l.sent(),[3,6];case 4:return[4,g.api.request({url:"dataSources/".concat(d,"/collections:update"),method:"post",params:{filterByTk:u.name},data:n})];case 5:l.sent(),l.label=6;case 6:return m(),null==(r=g.dataSourceManager.getDataSource(d))||r.reload(),[3,8];case 7:return w(!1),[7];case 8:return[2]}})})()},[u.key,u.name,u.template,g.api,g.dataSourceManager,d,h,C,m,F]);if(!C)return i().createElement(f.DrawerFormLayout,{title:p("Edit collection"),submitting:E,submitText:p("Submit"),cancelText:p("Cancel"),onSubmit:T},i().createElement(a.Form,{form:h,layout:"vertical",initialValues:A},i().createElement(a.Form.Item,{name:"title",label:p("Collection display name"),rules:[{required:!0}]},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"name",label:p("Collection name"),extra:p("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")},i().createElement(a.Input,{disabled:!0})),i().createElement(a.Form.Item,{name:"description",label:p("Description")},i().createElement(a.Input.TextArea,{autoSize:{minRows:3,maxRows:8}})),i().createElement(a.Form.Item,{name:"simplePaginate",valuePropName:"checked",extra:p("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,p("Use simple pagination mode"))),i().createElement(a.Form.Item,{name:"filterTargetKey",label:p("Record unique key"),extra: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.")},i().createElement(a.Select,{mode:"multiple",options:O,loading:I.loading,allowClear:!0}))));var M=(null==F||null==(t=F.configure)?void 0:t.Form)||(null==F?void 0:F.ConfigureForm);return i().createElement(f.DrawerFormLayout,{title:p("Edit collection"),submitting:E,submitText:p("Submit"),cancelText:p("Cancel"),onSubmit:T},i().createElement(a.Form,{form:h,layout:"vertical",initialValues:A},i().createElement(tn,{template:F}),i().createElement(a.Form.Item,{name:"title",label:p("Collection display name"),rules:[{required:!0}]},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"name",label:p("Collection name"),extra:p("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")},i().createElement(a.Input,{disabled:!0})),C?i().createElement(i().Fragment,null,i().createElement(a.Form.Item,{name:"inherits",label:p("Inherits")},i().createElement(a.Select,{mode:"multiple",options:x,loading:k.loading,allowClear:!0})),i().createElement(a.Form.Item,{name:"category",label:p("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,p)}}),allowClear:!0}))):null,i().createElement(a.Form.Item,{name:"description",label:p("Description")},i().createElement(a.Input.TextArea,{autoSize:{minRows:3,maxRows:8}})),i().createElement(a.Form.Item,{name:"simplePaginate",valuePropName:"checked",extra:p("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,p("Use simple pagination mode"))),tt(F,"recordUniqueKey")?i().createElement(a.Form.Item,{name:"filterTargetKey",label:p("Record unique key"),extra: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.")},i().createElement(a.Select,{mode:"multiple",options:O,loading:I.loading,allowClear:!0})):null,F&&M?i().createElement(M,{mode:"edit",template:F,form:h}):null,F?i().createElement(tr,{mode:"edit",template:F,form:h}):null))}var ti=function(e){var t,n,u,m=(0,c.kj)(),y=(0,r.useFlowContext)(),g=a.App.useApp(),b=g.message,h=g.modal,S=y.app.pm.get(v.v),E=eG(a.Form.useForm(),1)[0],w=(0,o.useRef)((0,r.observable)({logic:"$and",items:[]})),C=eG((0,o.useState)(1),2),F=C[0],k=C[1],I=eG((0,o.useState)(f.DEFAULT_PAGE_SIZE),2),x=I[0],O=I[1],A=eG((0,o.useState)("all"),2),T=A[0],M=A[1],D=eG((0,o.useState)(!1),2),j=D[0],P=D[1],K=eG((0,o.useState)(!1),2),R=K[0],q=K[1],V=eG((0,o.useState)(),2),N=V[0],B=V[1],z=eG((0,o.useState)([]),2),L=z[0],_=z[1],G=eG((0,o.useState)(),2),$=G[0],U=G[1],W=eG((0,o.useState)(!1),2),J=W[0],X=W[1],H=eG((0,o.useState)(!1),2),Z=H[0],Y=H[1],Q=eG((0,o.useState)([]),2),ee=Q[0],et=Q[1],en=eG((0,o.useState)([]),2),er=en[0],el=en[1],ea=eG((0,o.useState)([]),2),eo=ea[0],ei=ea[1],eu=eG((0,o.useState)(""),2),ec=eu[0],es=eu[1],ed=eG((0,o.useState)(!1),2),em=ed[0],ef=ed[1],ep="main"===e.dataSourceKey,ev=y.dataSourceManager.getDataSource(e.dataSourceKey),ey=S.getType(null==ev||null==(t=ev.options)?void 0:t.type),eg=null==ey?void 0:ey.AddCollection,eb=null==ey?void 0:ey.EditCollection,eh=null==ey?void 0:ey.DeleteCollection,eS=!!(null==ey?void 0:ey.disableConfigureFields),eE=!eS,ew=!!(!ep&&!eS&&eb),eC=!!(!ep&&!eS&&(null==ey?void 0:ey.allowCollectionCreate)&&eg),eF=!!(!ep&&!eS&&(null==ey?void 0:ey.allowCollectionDeletion)&&eh),ek=(0,o.useMemo)(function(){return S.getCollectionTemplates()},[S]),eI=(0,l.useRequest)(function(){return ez(function(){return eW(this,function(e){switch(e.label){case 0:if(!ep)return[2,[]];return[4,y.api.request({url:"collectionCategories:list",params:{paginate:!1,sort:["sort"]}})];case 1:return[2,e3(e.sent())]}})})()},{refreshDeps:[ep]}),ex=(0,l.useRequest)(function(){return ez(function(){var t;return eW(this,function(n){var r,l,a,o,i,u,c,s,d;switch(n.label){case 0:return r={activeCategoryKey:T,filterPayload:$,isMainDataSource:ep},l=[e6()],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,y.api.request({url:ep?"collections:list":"dataSources/".concat(e.dataSourceKey,"/collections:list"),params:{page:F,pageSize:x,sort:["sort"],filter:JSON.stringify(t),appends:ep?["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:[T,$,ep,e.dataSourceKey,F,x]}),eO=(0,o.useMemo)(function(){return eI.data||[]},[eI.data]);(0,o.useEffect)(function(){ep&&("all"===T||eO.some(function(e){return String(e.id)===T}))||M("all")},[T,eO,ep]);var eA=(0,o.useCallback)(function(t){y.viewer.drawer({title:i().createElement("span",null,(0,s.hd)(t.title||t.name,m)," - ",m("Configure fields")),width:"80%",closable:!0,content:function(){return i().createElement(eV,{dataSourceKey:e.dataSourceKey,collection:t})}})},[y.viewer,e.dataSourceKey,m]),eT=(0,o.useCallback)(function(e){M(e),k(1)},[]),eM=(0,o.useCallback)(function(){B(void 0),E.setFieldsValue({color:"default"}),P(!0)},[E]),eD=(0,o.useCallback)(function(e){B(e),E.setFieldsValue({name:e.name,color:e.color||"default"}),P(!0)},[E]),ej=(0,o.useCallback)(function(){return ez(function(){var e;return eW(this,function(t){switch(t.label){case 0:return[4,E.validateFields()];case 1:e=t.sent(),q(!0),t.label=2;case 2:if(t.trys.push([2,,7,8]),!N)return[3,4];return[4,y.api.resource("collectionCategories").update({filter:{id:N.id},values:e})];case 3:return t.sent(),[3,6];case 4:return[4,y.api.resource("collectionCategories").create({values:e})];case 5:t.sent(),t.label=6;case 6:return P(!1),B(void 0),E.resetFields(),eI.refresh(),ex.refresh(),[3,8];case 7:return q(!1),[7];case 8:return[2]}})})()},[E,eI,y.api,N,ex]),eP=(0,o.useCallback)(function(e){h.confirm({title:m("Delete category"),content:m("Are you sure you want to delete it?"),onOk:function(){return ez(function(){return eW(this,function(t){switch(t.label){case 0:return[4,y.api.resource("collectionCategories").destroy({filter:{id:e.id}})];case 1:return t.sent(),String(e.id)===T&&M("all"),eI.refresh(),ex.refresh(),[2]}})})()}})},[T,eI,y.api,h,ex,m]),eK=(0,o.useCallback)(function(e,t){return ez(function(){return eW(this,function(n){switch(n.label){case 0:return[4,y.api.resource("collectionCategories").move({sourceId:e.id,targetId:t.id})];case 1:return n.sent(),eI.refresh(),ex.refresh(),[2]}})})()},[eI,y.api,ex]),eR=(0,o.useCallback)(function(e){y.viewer.drawer({width:"50%",closable:!0,content:function(){return i().createElement(ta,{template:e,categories:eO,activeCategoryKey:T,onSubmitted:function(){_([]),ex.refresh()}})}})},[T,eO,y.viewer,ex]),eq=(0,o.useCallback)(function(t){y.viewer.drawer({width:"50%",closable:!0,content:function(){return i().createElement(to,{dataSourceKey:e.dataSourceKey,collection:t,categories:eO,onSubmitted:function(){_([]),ex.refresh()}})}})},[eO,y.viewer,e.dataSourceKey,ex]),eN=(0,o.useCallback)(function(e){var t=Array.isArray(e)?e:[e];if(t.length){var n=!1;h.confirm({closable:!0,icon:i().createElement(d.ExclamationCircleFilled,{style:{color:"#faad14"}}),okText:m("Ok"),cancelText:m("Cancel"),title:m("Delete collection"),width:520,content:i().createElement("div",null,i().createElement("div",null,m("Are you sure you want to delete it?")),i().createElement(a.Checkbox,{style:{marginTop:8},onChange:function(e){return n=e.target.checked}},m("Automatically drop objects that depend on the collection (such as views), and in turn all objects that depend on those objects"))),onOk:function(){return ez(function(){var e;return eW(this,function(r){switch(r.label){case 0:return[4,y.api.resource("collections").destroy({filterByTk:t,cascade:n})];case 1:return r.sent(),_([]),ex.refresh(),null==(e=y.dataSourceManager.getDataSource("main"))||e.reload(),[2]}})})()}})}},[y.api,y.dataSourceManager,h,ex,m]),eB=(0,o.useCallback)(function(e,t){return ez(function(){var n;return eW(this,function(r){switch(r.label){case 0:if(!ep)return[2];return[4,y.api.resource("collections").move({sourceId:e.name,targetId:t.name})];case 1:return r.sent(),b.success(m("Saved successfully")),ex.refresh(),null==(n=y.dataSourceManager.getDataSource("main"))||n.reload(),[2]}})})()},[y.api,y.dataSourceManager,ep,b,ex,m]),eL=(0,o.useCallback)(function(){return ez(function(){var t,n,r,l,a,o,i;return eW(this,function(u){switch(u.label){case 0:if(ep)return ex.refresh(),[2];ef(!0),u.label=1;case 1:return u.trys.push([1,4,5,6]),a=(null==ev?void 0:ev.status)||"loaded",[4,y.api.request({url:"dataSources:refresh?filterByTk=".concat(encodeURIComponent(e.dataSourceKey),"&clientStatus=").concat(encodeURIComponent(a)),method:"post"})];case 2:return"reloading"===(i=(null==(o=u.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(m("Data source synchronization in progress")):"loaded"===i&&(b.success(m("Data source synchronization successful")),ex.refresh()),[4,null==(l=y.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:l.reload()];case 3:return u.sent(),[3,6];case 4:return u.sent(),b.error(m("Data source synchronization failed")),[3,6];case 5:return ef(!1),[7];case 6:return[2]}})})()},[y.api,y.dataSourceManager,null==ev?void 0:ev.status,ep,b,e.dataSourceKey,ex,m]),e_=(0,o.useCallback)(function(){h.confirm({title:m("Sync field changes from database"),content:m("Field synchronization confirmation prompt"),onOk:function(){return ez(function(){var e;return eW(this,function(t){switch(t.label){case 0:return[4,y.api.resource("mainDataSource").syncFields()];case 1:return t.sent(),ex.refresh(),null==(e=y.dataSourceManager.getDataSource("main"))||e.reload(),b.success(m("Sync successfully")),[2]}})})()}})},[y.api,y.dataSourceManager,b,h,ex,m]),eU=(0,o.useCallback)(function(){X(!1),el([]),ei([]),es("")},[]),eH=(0,o.useCallback)(function(){return ez(function(){var e,t,n;return eW(this,function(r){switch(r.label){case 0:X(!0),Y(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,y.api.resource("dataSources").readTables({values:{dataSourceKey:"main"}})];case 2:return et((Array.isArray(n=null==(t=r.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}})),el([]),ei([]),[3,5];case 3:return r.sent(),b.error(m("Failed to load tables")),[3,5];case 4:return Y(!1),[7];case 5:return[2]}})})()},[y.api,b,m]),eZ=(0,o.useCallback)(function(){er.length?h.confirm({title:m("Confirm load tables"),content:m("Are you sure you want to load {{count}} table(s)?").replace("{{count}}",String(er.length)),onOk:function(){return ez(function(){var e;return eW(this,function(t){switch(t.label){case 0:Y(!0),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,y.api.resource("dataSources").loadTables({values:{dataSourceKey:"main",tables:er}})];case 2:return t.sent(),b.success(m("Tables loaded successfully")),eU(),ex.refresh(),null==(e=y.dataSourceManager.getDataSource("main"))||e.reload(),[3,5];case 3:return t.sent(),b.error(m("Failed to load tables")),[3,5];case 4:return Y(!1),[7];case 5:return[2]}})})()}}):b.warning(m("Please select at least one table"))},[y.api,y.dataSourceManager,b,h,ex,eU,er,m]),eY=(0,o.useCallback)(function(){U((0,p.transformFilter)(w.current)),k(1)},[]),e1=(0,o.useCallback)(function(){w.current.logic="$and",w.current.items.splice(0,w.current.items.length),U(void 0),k(1)},[]),e2=(0,o.useMemo)(function(){if(!ec)return ee;var e=ec.toLowerCase();return ee.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))})},[ee,ec]),e4=(0,o.useMemo)(function(){return[{key:"all",label:m("All collections"),closable:!1}].concat(e$(eO.map(function(e){return{key:String(e.id),label:i().createElement(eQ,{item:e,onDelete:eP,onEdit:eD}),closable:!1}})))},[eO,eP,eD,m]),e5=(0,o.useMemo)(function(){var t=[{title:m("Collection display name"),render:function(e){return(0,s.hd)(e.title||e.name,m)}},{title:m("Collection name"),dataIndex:"name",ellipsis:!0},{title:m("Collection template"),dataIndex:"template",render:function(e){var t,n;return i().createElement(a.Tag,null,(t=e||"general",(n=S.getCollectionTemplate(t))?(0,s.hd)(n.title,m):t))}}];return ep&&"all"===T&&t.push({title:m("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,m))})):null}}),t.push({title:m("Description"),dataIndex:"description",ellipsis:!0},{title:m("Actions"),width:ep||eE||ew||eF?260:140,render:function(t,n){return i().createElement(a.Space,{size:16},i().createElement("a",{onClick:function(){return eA(n)}},m("Configure fields")),ep?i().createElement(i().Fragment,null,i().createElement("a",{onClick:function(){return eq(n)}},m("Edit")),i().createElement("a",{onClick:function(){return eN(n.name)}},m("Delete"))):i().createElement(i().Fragment,null,ew&&eb?i().createElement(eb,{dataSourceKey:e.dataSourceKey,record:n,onSubmitted:function(){_([]),ex.refresh()}}):eE?i().createElement("a",{onClick:function(){return eq(n)}},m("Edit")):null,eF&&eh?i().createElement(eh,{dataSourceKey:e.dataSourceKey,record:n,onSubmitted:function(){_([]),ex.refresh()}}):null))}}),t},[eb,eh,T,ew,eE,eF,eN,ep,eq,eA,S,e.dataSourceKey,ex,m]);return i().createElement(a.Card,{title:(0,s.hd)(e.title,m),variant:"borderless"},ep?i().createElement(e0,{onSort:eK},i().createElement(a.Tabs,{activeKey:T,type:"editable-card",items:e4,onChange:eT,onEdit:function(e,t){"add"===t&&eM()}})):null,i().createElement(a.Flex,{justify:"space-between",align:"center",style:{marginBottom:16}},i().createElement(e7,{value:w.current,onSubmit:eY,onReset:e1}),i().createElement(a.Space,null,i().createElement(a.Button,{icon:i().createElement(d.ReloadOutlined,null),loading:em,onClick:eL},m("Refresh")),ep?i().createElement(i().Fragment,null,i().createElement(a.Button,{icon:i().createElement(d.DeleteOutlined,null),disabled:!L.length,onClick:function(){return eN(L)}},m("Delete")),i().createElement(a.Dropdown,{placement:"bottomLeft",menu:{items:[{key:"load-tables",icon:i().createElement(d.ImportOutlined,null),label:m("Load tables from database")},{key:"sync-fields",icon:i().createElement(d.ReloadOutlined,null),label:m("Sync field changes from database")}],onClick:function(e){var t=e.key;"load-tables"===t&&eH(),"sync-fields"===t&&e_()}}},i().createElement(a.Button,{icon:i().createElement(d.SyncOutlined,null)},m("Sync from database")," ",i().createElement(d.DownOutlined,null))),i().createElement(a.Dropdown,{menu:{items:ek.flatMap(function(e){var t={key:e.name,label:(0,s.hd)(e.title,m)};return e.divider?[{type:"divider"},t]:[t]}),onClick:function(e){var t=e.key,n=ek.find(function(e){return e.name===t});n&&eR(n)}}},i().createElement(a.Button,{type:"primary",icon:i().createElement(d.PlusOutlined,null)},m("Create collection")," ",i().createElement(d.DownOutlined,null)))):i().createElement(i().Fragment,null,eF&&eh?i().createElement(eh,{dataSourceKey:e.dataSourceKey,selectedRowKeys:L,isBulk:!0,onSubmitted:function(){_([]),ex.refresh()}},m("Delete")):null,eC&&eg?i().createElement(eg,{dataSourceKey:e.dataSourceKey,onSubmitted:function(){_([]),ex.refresh()}}):null))),i().createElement(f.Table,{rowKey:"name",isDraggable:ep,onSortEnd:ep?eB:void 0,loading:ex.loading,dataSource:(null==(n=ex.data)?void 0:n.records)||[],columns:e5,rowSelection:ep||eF?{selectedRowKeys:L,onChange:function(e){return _(e)}}:void 0,pagination:{current:F,pageSize:x,total:null==(u=ex.data)?void 0:u.total,onChange:function(e,t){if(t!==x){O(t),k(1);return}k(e)}}}),i().createElement(a.Modal,{title:N?m("Edit category"):m("Add category"),open:j,confirmLoading:R,okText:m("Submit"),cancelText:m("Cancel"),onOk:ej,onCancel:function(){P(!1),B(void 0),E.resetFields()}},i().createElement(a.Form,{form:E,layout:"vertical",initialValues:{color:"default"}},i().createElement(a.Form.Item,{name:"name",label:m("Category name"),rules:[{required:!0}]},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"color",label:m("Color")},i().createElement(a.Select,{options:eJ.map(function(e){return{value:e,label:i().createElement(a.Tag,{color:"default"===e?void 0:e},m(eX[e]))}})})))),i().createElement(a.Drawer,{title:m("Load tables from database"),placement:"right",width:800,open:J,onClose:eU,footer:i().createElement(a.Flex,{justify:"flex-end",gap:8},i().createElement(a.Button,{onClick:eU},m("Cancel")),i().createElement(a.Button,{type:"primary",loading:Z,disabled:!er.length,onClick:eZ},m("Submit")))},i().createElement(a.Spin,{spinning:Z},i().createElement(a.Transfer,{dataSource:e2,titles:[m("Available tables"),m("Selected tables")],targetKeys:er,selectedKeys:eo,onChange:function(e){return el(e.map(String))},onSelectChange:function(e,t){return ei(e$(e).concat(e$(t)).map(String))},onSearch:function(e,t){return es(t)},render:function(e){return e.title},showSearch:!0,style:{height:"calc(100vh - 160px)"},listStyle:{width:350,height:"calc(100vh - 220px)"},locale:{itemUnit:m("item"),itemsUnit:m("items"),searchPlaceholder:m("Search collections...")}}))))};function tu(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 tc(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 ts(){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 tu(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 tu(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){tc(a,r,l,o,i,"next",e)}function i(e){tc(a,r,l,o,i,"throw",e)}o(void 0)})})()}),g=(0,o.useMemo)(function(){return y.data||[]},[y.data]),b=(0,o.useMemo)(function(){return g.find(function(e){return e.key===v})},[v,g]),h=(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=b?h(b):d;return i().createElement(ti,{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==b?void 0:b.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:h(e)}}),onChange:p}),v?i().createElement(ti,{dataSourceKey:v}):null)}}}]);
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).push([["426"],{649:function(e,t,n){n.r(t),n.d(t,{default:function(){return I}});var r=n(375),a=n(485),l=n(694),o=n(625),u=n(59),i=n(155),c=n.n(i),s=n(143),d=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 m(e,t,n,r,a,l,o){try{var u=e[l](o),i=u.value}catch(e){n(e);return}u.done?t(i):Promise.resolve(i).then(r,a)}function p(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){m(l,r,a,o,u,"next",e)}function u(e){m(l,r,a,o,u,"throw",e)}o(void 0)})}}function y(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 b(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,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,u=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){u=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(u)throw r}}return l}}(e,t)||function(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)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(o,"next",{value:i(0)}),u(o,"throw",{value:i(1)}),u(o,"return",{value:i(2)}),"function"==typeof Symbol&&u(o,Symbol.iterator,{value:function(){return this}}),o;function i(u){return function(i){var c=[u,i];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){l.label=c[1];break}if(6===c[0]&&l.label<a[1]){l.label=a[1],a=c;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(c);break}a[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function h(e){if("string"==typeof e)return e;var t,n,r,a,l,o,u,i,c,s,d=null==e||null==(t=e.response)?void 0:t.data;return(null==e||null==(a=e.errorFields)||null==(r=a[0])||null==(n=r.errors)?void 0:n[0])||(null==d||null==(o=d.errors)||null==(l=o[0])?void 0:l.message)||(null==d||null==(i=d.messages)||null==(u=i[0])?void 0:u.message)||(null==d||null==(c=d.messages)?void 0:c[0])||(null==d||null==(s=d.error)?void 0:s.message)||(null==d?void 0:d.message)||(null==e?void 0:e.message)}function w(e){var t=(0,s.kj)(),n=(0,l.useFlowContext)(),r=(0,l.useFlowView)(),o=u.App.useApp(),f=o.message,m=o.notification,w=v(u.Form.useForm(),1)[0],S=v((0,i.useState)(!1),2),E=S[0],k=S[1],C=v((0,i.useState)(!1),2),O=C[0],A=C[1],j=(0,i.useMemo)(function(){return n.api.resource("dataSources")},[n.api]),_=(0,i.useMemo)(function(){return"create"===e.mode?b(y({},e.type.defaultValues),{type:e.type.name,key:(0,l.randomId)("d_")}):e.initialValues||{}},[e.initialValues,e.mode,e.type]),I=e.type.SettingsForm;(0,i.useEffect)(function(){w.setFieldsValue(_)},[w,_]);var x=(0,i.useCallback)(function(e){return p(function(){var t;return g(this,function(n){switch(n.label){case 0:return[4,j.readTables({values:{dataSourceKey:e}})];case 1:return[2,null==(t=n.sent())?void 0:t.data]}})})()},[j]),P=(0,i.useCallback)(function(t){var n,r,a,l=t.collections||[],o=y({},t.options||{});"string"==typeof o.port&&/^\d+$/.test(o.port.trim())&&(o.port=Number(o.port.trim())),(null==(n=o.ssl)?void 0:n.sslMode)==="disable"&&(o.ssl={sslMode:"disable"});var u=b(y({},t),{options:o,collections:l.filter(function(e){return"string"==typeof e||e.selected}).map(function(e){return"string"==typeof e?e:e.name})});return(null==(r=(a=e.type).normalizeValues)?void 0:r.call(a,u))||u},[e.type]),M=(0,i.useCallback)(function(){return p(function(){var e,n,r;return g(this,function(a){switch(a.label){case 0:A(!0),a.label=1;case 1:return a.trys.push([1,4,5,6]),[4,w.validateFields()];case 2:return e=a.sent(),[4,j.testConnection({values:P(e)})];case 3:var l,o,i,c,s,d,p,y;if(n=(null==(y=null==(l=a.sent())?void 0:l.data)||null==(i=y.errors)||null==(o=i[0])?void 0:o.message)||(null==y||null==(s=y.messages)||null==(c=s[0])?void 0:c.message)||(null==y||null==(d=y.messages)?void 0:d[0])||(null==y||null==(p=y.error)?void 0:p.message)||(null==y?void 0:y.message))throw Error(n);return f.success(t("Connection successful")),[3,6];case 4:return r=h(a.sent())||t("Connection failed"),(m||u.notification).error({message:t("Test Connection"),description:r}),[3,6];case 5:return A(!1),[7];case 6:return[2]}})})()},[w,f,P,m,j,t]),D=(0,i.useCallback)(function(){return p(function(){var n,a,l,o,i;return g(this,function(c){switch(c.label){case 0:return[4,w.validateFields()];case 1:n=P.apply(void 0,[c.sent()]),k(!0),c.label=2;case 2:if(c.trys.push([2,9,10,11]),"create"!==e.mode)return[3,4];return[4,j.create({values:n})];case 3:return l=c.sent(),[3,6];case 4:return[4,j.update({filterByTk:null==(o=e.initialValues)?void 0:o.key,values:n})];case 5:l=c.sent(),c.label=6;case 6:return[4,e.onSubmitted((null==l||null==(a=l.data)?void 0:a.data)||n)];case 7:return c.sent(),[4,r.close()];case 8:return c.sent(),[3,11];case 9:return i=h(c.sent())||t("Submit failed"),(m||u.notification).error({message:t("Submit failed"),description:i}),[3,11];case 10:return k(!1),[7];case 11:return[2]}})})()},[w,P,m,e,j,t,r]),T=(0,d.Ad)(e.type.label||e.type.name,t),F="".concat("create"===e.mode?t("Add new"):t("Edit")," - ").concat(T);return c().createElement(a.DrawerFormLayout,{title:F,onSubmit:D,submitting:E,submitText:t("Submit"),cancelText:t("Cancel"),footer:c().createElement(u.Space,null,e.type.disableTestConnection?null:c().createElement(u.Button,{loading:O,onClick:M},t("Test Connection")),c().createElement(u.Button,{onClick:function(){return r.close()}},t("Cancel")),c().createElement(u.Button,{type:"primary",loading:E,onClick:D},t("Submit")))},c().createElement(u.Form,{form:w,layout:"vertical",initialValues:_},c().createElement(u.Form.Item,{name:"type",hidden:!0},c().createElement(u.Input,null)),c().createElement(u.Form.Item,{name:"key",label:t("Data source name"),rules:[{required:!0,message:t("Data source name")},{pattern:/^[A-Za-z][A-Za-z0-9_]*$/,message:t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")}],extra:t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")},c().createElement(u.Input,{disabled:"edit"===e.mode})),c().createElement(u.Form.Item,{name:"displayName",label:t("Data source display name"),rules:[{required:!0,message:t("Data source display name")}]},c().createElement(u.Input,null)),I?c().createElement(I,{mode:e.mode,type:e.type,initialValues:_,loadCollections:x}):null))}var S=n(890),E=n(448);function k(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 C(e,t,n,r,a,l,o){try{var u=e[l](o),i=u.value}catch(e){n(e);return}u.done?t(i):Promise.resolve(i).then(r,a)}function O(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){C(l,r,a,o,u,"next",e)}function u(e){C(l,r,a,o,u,"throw",e)}o(void 0)})}}function A(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,u=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){u=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(u)throw r}}return l}}(e,t)||j(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(e,t){if(e){if("string"==typeof e)return k(e,t);var 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 k(e,t)}}function _(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(o,"next",{value:i(0)}),u(o,"throw",{value:i(1)}),u(o,"return",{value:i(2)}),"function"==typeof Symbol&&u(o,Symbol.iterator,{value:function(){return this}}),o;function i(u){return function(i){var c=[u,i];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&c[0]?r.return:c[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,c[1])).done)return a;switch(r=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,r=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){l=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){l.label=c[1];break}if(6===c[0]&&l.label<a[1]){l.label=a[1],a=c;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(c);break}a[2]&&l.ops.pop(),l.trys.pop();continue}c=t.call(e,l)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function I(){var e,t,n=(0,s.kj)(),f=(0,l.useFlowContext)(),m=u.App.useApp().modal,p=f.app.pm.get(S.v),y=(0,i.useMemo)(function(){return f.api.resource("dataSources")},[f.api]),b=(0,i.useMemo)(function(){var e;return function(e){if(Array.isArray(e))return k(e)}(e=p.types.values())||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||j(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()},[p]),v=A((0,i.useState)(1),2),g=v[0],h=v[1],C=A((0,i.useState)(a.DEFAULT_PAGE_SIZE),2),I=C[0],x=C[1],P=A((0,i.useState)([]),2),M=P[0],D=P[1],T=(0,o.useRequest)(function(){return O(function(){var e;return _(this,function(t){switch(t.label){case 0:return[4,y.list({page:g,pageSize:I,appends:[]})];case 1:var n,r,a,l,o;return e={records:l=Array.isArray(a=null==(r=null==(n=t.sent())?void 0:n.data)?void 0:r.data)?a:Array.isArray(null==a?void 0:a.data)?a.data:[],total:(o=(null==r?void 0:r.meta)||(null==a?void 0:a.meta)||{}).count||o.total||l.length},(0,E.b)(f.dataSourceManager,e.records),[2,e]}})})()},{refreshDeps:[g,I]}),F=(0,i.useMemo)(function(){var e;return(null==(e=T.data)?void 0:e.records)||[]},[null==(e=T.data)?void 0:e.records]),V=(0,i.useCallback)(function(e,t,n){var r=p.getType(t);r&&f.viewer.drawer({width:650,closable:!0,content:function(){return c().createElement(w,{mode:e,type:r,initialValues:n,onSubmitted:function(e){e&&(0,E.b)(f.dataSourceManager,[e]),T.refresh()}})}})},[f.dataSourceManager,f.viewer,p,T]),R=(0,i.useCallback)(function(e){var t=f.app.pluginSettingsManager.getRoutePath("".concat(s.Ji,".:name/collections")).replace(":name",encodeURIComponent(e.key));f.router.navigate(t)},[f.app.pluginSettingsManager,f.router]),B=(0,i.useCallback)(function(){return O(function(){return _(this,function(e){switch(e.label){case 0:return[4,Promise.all(F.filter(function(e){return"loaded"!==e.status}).map(function(e){return e.key}).map(function(e){var t;return null==(t=f.dataSourceManager.getDataSource(e))?void 0:t.reload()}))];case 1:return e.sent(),T.refresh(),[2]}})})()},[f.dataSourceManager,F,T]),z=(0,i.useCallback)(function(e){var t=Array.isArray(e)?e:[e];m.confirm({title:n("Delete"),content:n("Are you sure you want to delete it?"),onOk:function(){return O(function(){return _(this,function(n){switch(n.label){case 0:return[4,y.destroy({filterByTk:e})];case 1:return n.sent(),(0,E.h)(f.dataSourceManager,t),D([]),T.refresh(),[2]}})})()}})},[f.dataSourceManager,m,T,y,n]),N=(0,i.useMemo)(function(){return[{title:n("Data source name"),dataIndex:"key",ellipsis:!0},{title:n("Data source display name"),dataIndex:"displayName",ellipsis:!0,render:function(e){return(0,d.hd)(e,n)}},{title:n("Type"),dataIndex:"type",render:function(e){var t;return"main"===e?n("Main"):(0,d.hd)((null==(t=p.getType(e))?void 0:t.label)||e||"-",n)}},{title:n("Status"),dataIndex:"status",render:function(e){var t;return t=({loading:{color:"orange",label:n("Loading")},"loading-failed":{color:"red",label:n("Failed")},loaded:{color:"green",label:n("Loaded")},reloading:{color:"orange",label:n("Reloading")}})[e||""]||{color:"default",label:e||"-"},c().createElement(u.Tag,{color:t.color},t.label)}},{title:n("Enabled"),dataIndex:"enabled",render:function(e){return c().createElement(u.Switch,{checked:e,disabled:!0,size:"small"})}},{title:n("Actions"),width:260,render:function(e,t){return c().createElement(u.Space,{size:12,wrap:!0},c().createElement("a",{onClick:function(){return R(t)}},n("Configure")),"main"!==t.key?c().createElement("a",{onClick:function(){return V("edit",t.type||"",t)}},n("Edit")):null,"main"!==t.key?c().createElement("a",{onClick:function(){return z(t.key)}},n("Delete")):null)}}]},[z,R,V,p,n]),L=(0,i.useMemo)(function(){return b.length?b.map(function(e){return{key:e.name||"",label:(0,d.hd)(e.label||e.name,n)}}):[{key:"__empty__",label:c().createElement(u.Empty,{image:u.Empty.PRESENTED_IMAGE_SIMPLE,description:c().createElement("span",null,n("No external data source plugin installed"),c().createElement("br",null),c().createElement("a",{target:"_blank",rel:"noreferrer",href:"zh-CN"===f.api.auth.locale?"https://docs-cn.nocobase.com/handbook/data-source-manager":"https://docs.nocobase.com/handbook/data-source-manager"},n("View documentation")))})}]},[f.api.auth.locale,b,n]);return c().createElement(u.Card,{variant:"borderless"},c().createElement("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginBottom:16}},c().createElement(u.Space,null,c().createElement(u.Button,{icon:c().createElement(r.ReloadOutlined,null),onClick:B},n("Refresh")),c().createElement(u.Button,{icon:c().createElement(r.DeleteOutlined,null),disabled:!M.length,onClick:function(){return z(M)}},n("Delete")),c().createElement(u.Dropdown,{menu:{items:L,onClick:function(e){var t=e.key;"__empty__"!==t&&V("create",t)}}},c().createElement(u.Button,{type:"primary",icon:c().createElement(r.PlusOutlined,null)},n("Add new")," ",c().createElement(r.DownOutlined,null))))),c().createElement(a.Table,{rowKey:"key",loading:T.loading,dataSource:F,columns:N,rowSelection:{selectedRowKeys:M,getCheckboxProps:function(e){return{disabled:"main"===e.key}},onChange:D},pagination:{current:g,pageSize:I,total:null==(t=T.data)?void 0:t.total,onChange:function(e,t){if(t!==I){x(t),h(1);return}h(e)}}}))}}}]);