@nocobase/plugin-data-source-manager 2.1.0-beta.42 → 2.1.0-beta.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).push([["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.h)(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.A)((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.h)(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.h)(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.h)(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.h)((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.h)(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.h)((null==n?void 0:n.title)||t,l))),(null==n?void 0:n.description)?i().createElement("div",{style:d.description},(0,s.h)(n.description,l)):null)}function em(e,t){return e.map(function(e){return{value:e.name,label:(0,s.h)(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.h)(P||K||m,t),V=(0,s.h)(K||P||m,t),N=!!P&&!!K&&P!==K,$=(0,s.h)(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.h)((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.h)((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.h)((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.A)(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.h)(e.item.title,r),tooltip:(0,s.h)(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.h)((null==J?void 0:J.title)||G||"-",g),H=(0,s.A)((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.A)((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.h)(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.h)((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.h)(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.h)((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.h)(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.h)(e.label,n),options:e.options.map(function(e){return{value:e.value,label:(0,s.h)(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.h)(e.label,K),children:e.children.map(function(e){return{key:e.name,label:(0,s.h)(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.h)(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.h)(eA(m,t),K)||t);var p=f.map(function(e){return{label:(0,s.h)(e.label,K),options:e.children.map(function(e){return{value:e.name,label:(0,s.h)(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.h)(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.h)(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.h)(t.title,n))),t.description?i().createElement("div",{style:l.description},(0,s.h)(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.h)(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.h)(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.h)((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.h)(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=t.value.interface?null==e||null==(n=e.getFieldInterface)?void 0:n.call(e,t.value.interface):void 0;return{name:e9(t),field:t.field||(null==(r=t.value.uiSchema)?void 0:r.title)||t.value.name,interfaceLabel:t.interfaceLabel||(null==l?void 0:l.title)||t.value.interface||t.value.type,description:t.description}})},[h,y.dataSourceManager.collectionFieldInterfaceManager]),j=(0,o.useMemo)(function(){return[{title:p("Field"),dataIndex:"field",render:function(e){return(0,s.h)(e,p)}},{title:p("Interface"),dataIndex:"interfaceLabel",render:function(e){return i().createElement(a.Tag,null,(0,s.h)(e,p))}},{title:p("Description"),dataIndex:"description",render:function(e){return(0,s.h)(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.h)(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.h)(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.h)((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.h)(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.h)(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.h)(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.h)(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.h)(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.h)(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.h)(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.h)(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)}}}]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ "use strict";(self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).push([["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.A)(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.h)(e,n)}},{title:n("Type"),dataIndex:"type",render:function(e){var t;return"main"===e?n("Main"):(0,d.h)((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.h)(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)}}}))}}}]);
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react-router-dom"),require("@ant-design/icons"),require("@dnd-kit/core"),require("@nocobase/flow-engine"),require("ahooks"),require("@nocobase/client-v2"),require("@dnd-kit/sortable"),require("dayjs"),require("react"),require("antd"),require("@nocobase/utils/client"),require("lodash")):"function"==typeof define&&define.amd?define("@nocobase/plugin-data-source-manager/client-v2",["react-router-dom","@ant-design/icons","@dnd-kit/core","@nocobase/flow-engine","ahooks","@nocobase/client-v2","@dnd-kit/sortable","dayjs","react","antd","@nocobase/utils/client","lodash"],t):"object"==typeof exports?exports["@nocobase/plugin-data-source-manager/client-v2"]=t(require("react-router-dom"),require("@ant-design/icons"),require("@dnd-kit/core"),require("@nocobase/flow-engine"),require("ahooks"),require("@nocobase/client-v2"),require("@dnd-kit/sortable"),require("dayjs"),require("react"),require("antd"),require("@nocobase/utils/client"),require("lodash")):e["@nocobase/plugin-data-source-manager/client-v2"]=t(e["react-router-dom"],e["@ant-design/icons"],e["@dnd-kit/core"],e["@nocobase/flow-engine"],e.ahooks,e["@nocobase/client-v2"],e["@dnd-kit/sortable"],e.dayjs,e.react,e.antd,e["@nocobase/utils/client"],e.lodash)}(self,function(e,t,n,r,o,a,i,l,u,c,s,f){return function(){"use strict";var d,m,p,y,v,h={978:function(e,t,n){n.d(t,{FL:function(){return T},J6:function(){return q},eA:function(){return _},fT:function(){return D},gt:function(){return P},hK:function(){return C},k_:function(){return V},uT:function(){return M}});var r=n(375),o=n(694),a=n(625),i=n(59),l=n(185),u=n.n(l),c=n(773),s=n(155),f=n.n(s),d=n(938);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function p(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function y(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){p(a,r,o,i,l,"next",e)}function l(e){p(a,r,o,i,l,"throw",e)}i(void 0)})}}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){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 h(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function b(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],i=!0,l=!1;try{for(o=o.call(e);!(i=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){l=!0,r=e}finally{try{i||null==o.return||o.return()}finally{if(l)throw r}}return a}}(e,t)||S(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e){return function(e){if(Array.isArray(e))return m(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||S(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){if(e){if("string"==typeof e)return m(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 m(e,t)}}function w(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var O=new Set(["hasOne","hasMany","belongsToMany","belongsTo"]),F="__sqlPreview";function A(e){return!!e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&!Array.isArray(e)}function j(e){return!!A(e)&&(Array.isArray(e.data)||A(e.fields)||Array.isArray(e.sources)||"string"==typeof e.error)}function C(e){var t=[e,(0,c.get)(e,"data"),(0,c.get)(e,"data.data"),(0,c.get)(e,"data.data.data")].find(j);return t?{data:Array.isArray(t.data)?t.data:[],error:"string"==typeof t.error?t.error:void 0,fields:A(t.fields)?t.fields:{},sources:Array.isArray(t.sources)?t.sources.filter(Boolean):[]}:{data:[],fields:{},sources:[]}}function E(e){return Array.isArray(e)?e.filter(Boolean).join(".")||null:e||null}function k(e){return(null==e?void 0:e.options)||e||{}}function P(e){var t,n=e.currentFields,r=e.manager,o=e.preview,a=new Map,i=(null==o?void 0:o.fields)||{},l=(null==o||null==(t=o.data)?void 0:t[0])||{};return Object.keys(l).length?Object.entries(l).forEach(function(e){var t,n,o=b(e,2),l=o[0],c=o[1],s=i[l],f=(null==s?void 0:s.interface)||("id"===l.toLowerCase()?"id":"number"==typeof c?Number.isInteger(c)?"integer":"number":"boolean"==typeof c?"checkbox":"string"==typeof c&&u()(c).isValid()?"datetime":"input"),d=(null==r||null==(n=r.getFieldInterface)||null==(t=n.call(r,f))?void 0:t.default)||{},m=(null==s?void 0:s.uiSchema)||d.uiSchema||{};a.set(l,{name:l,interface:f,type:(null==s?void 0:s.type)||d.type,source:null==s?void 0:s.source,uiSchema:v({title:l},m)})}):Object.entries(i).forEach(function(e){var t=b(e,2),n=t[0],r=t[1];a.set(n,h(v({name:n,type:"string"},r),{uiSchema:v({title:n},r.uiSchema||{})}))}),(void 0===n?[]:n).forEach(function(e){(null==e?void 0:e.name)&&a.has(e.name)&&a.set(e.name,e)}),Array.from(a.values())}function I(){var e=(0,o.useFlowContext)();return(0,a.useRequest)(function(){return y(function(){return w(this,function(t){switch(t.label){case 0:return[4,e.api.request({url:"dataSources/main/collections:list",params:{paginate:!1,sort:["sort"],filter:{"hidden.$isFalsy":!0},appends:["fields"]}})];case 1:return[2,function(e){var t=(0,c.get)(e,"data.data");if(Array.isArray(t))return t;var n=(0,c.get)(t,"data");return Array.isArray(n)?n:[]}(t.sent())]}})})()})}function x(e){var t=e.editing,n=e.loading,o=e.onChange,a=e.onConfirm,l=e.onEdit,u=e.onExecute,c=e.onValueChange,s=e.t,d=e.value;return f().createElement("div",null,f().createElement(i.Input.TextArea,{disabled:!t,value:d,onChange:function(e){null==c||c(e.target.value),null==o||o(e.target.value)}}),f().createElement(i.Button.Group,null,f().createElement(i.Button,{ghost:!0,icon:f().createElement(r.EditOutlined,null),loading:n&&t,size:"small",type:"primary",onClick:t?a:l},s(t?"Confirm":"Edit")),f().createElement(i.Button,{ghost:!0,icon:f().createElement(r.RightSquareOutlined,null),loading:n,size:"small",type:"primary",onClick:u},s("Execute"))))}function T(e){var t=(0,o.useFlowContext)(),n=t.t,r=b((0,s.useState)(function(){return!!e.form.getFieldValue("sql")}),2),l=r[0],u=r[1],d=b((0,s.useState)(function(){return!e.form.getFieldValue("sql")}),2),m=d[0],p=d[1],v=i.Form.useWatch("sql",e.form),h=t.dataSourceManager.collectionFieldInterfaceManager,S=(0,s.useRef)(!1),O=(0,a.useRequest)(function(e){return y(function(){return w(this,function(n){switch(n.label){case 0:return[4,t.api.resource("sqlCollection").execute({values:{sql:e}})];case 1:return[2,C(n.sent())]}})})()},{manual:!0}),A=(0,s.useCallback)(function(t){var n=C(t),r=e.form.getFieldValue("sources")||[],o=e.form.getFieldValue("fields")||[],a=P({currentFields:Array.isArray(o)?o:[],manager:h,preview:n});e.form.setFieldValue("sources",Array.from(new Set(g(Array.isArray(r)?r:[]).concat(g(n.sources||[]))))),e.form.setFieldValue(F,n),e.form.setFieldValue("fields",a)},[h,e.form]),j=(0,s.useCallback)(function(t){var r=(0,c.get)(t,"response.data.errors"),o=(null==r?void 0:r.map(function(e){return e.message}).filter(Boolean).join("\n"))||(0,c.get)(t,"message");e.form.setFieldValue(F,{error:o||n("SQL error")}),u(!1),p(!0)},[e.form,n]),E=(0,s.useCallback)(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return y(function(){var n;return w(this,function(r){switch(r.label){case 0:if(!(n=e.form.getFieldValue("sql")||v))return[2];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,O.runAsync(n)];case 2:return A(r.sent()),t.confirm&&(u(!0),p(!1)),[3,4];case 3:return j(r.sent()),[3,4];case 4:return[2]}})})()},[j,A,e.form,O,v]),k=(0,s.useCallback)(function(){return y(function(){return w(this,function(t){switch(t.label){case 0:if(!e.form.getFieldValue("sql")&&!v)return[2];return[4,E({confirm:!0})];case 1:return t.sent(),[2]}})})()},[e.form,E,v]),I=(0,s.useCallback)(function(){return y(function(){return w(this,function(e){switch(e.label){case 0:return[4,E()];case 1:return e.sent(),[2]}})})()},[E]);return(0,s.useEffect)(function(){!S.current&&"edit"===e.mode&&(e.form.getFieldValue("sql")||v)&&(S.current=!0,y(function(){return w(this,function(e){switch(e.label){case 0:return[4,E({confirm:!0})];case 1:return e.sent(),[2]}})})())},[e.form,e.mode,E,v]),f().createElement(i.Form.Item,{name:"sql",label:n("SQL"),rules:[{required:!0},{validator:function(){return l&&!m?Promise.resolve():Promise.reject(Error(n("Please confirm the SQL statement first")))}}]},f().createElement(x,{editing:m,loading:O.loading,t:n,onValueChange:function(){u(!1),p(!0)},onConfirm:k,onEdit:function(){return p(!0)},onExecute:I}))}function M(e){var t=(0,o.useFlowContext)().t,n=I(),r=i.Form.useWatch("sources",e.form),a=(0,s.useMemo)(function(){return Array.isArray(r)?r:[]},[r]),l=(0,s.useMemo)(function(){var e,r=(e=n.data||[],e.filter(function(e){return e.name}).map(function(e){return{value:e.name,label:(0,d.h)(e.title||e.name,t)}})),o=a.filter(function(e){return!r.some(function(t){return t.value===e})}).map(function(e){return{value:e,label:e}});return g(r).concat(g(o))},[n.data,a,t]);return f().createElement(i.Form.Item,{name:"sources",label:t("Source collections")},f().createElement(i.Select,{mode:"multiple",options:l,loading:n.loading,allowClear:!0}))}function q(e){var t=(0,o.useFlowContext)(),n=t.t,r=I(),a=t.dataSourceManager.collectionFieldInterfaceManager,l=t.dataSourceManager.getDataSource("main"),u=i.Form.useWatch(F,{form:e.form,preserve:!0}),c=(0,s.useMemo)(function(){return C(u)},[u]),m=i.Form.useWatch("sources",e.form),p=i.Form.useWatch("fields",e.form),y=(0,s.useMemo)(function(){return Array.isArray(m)?m:[]},[m]),S=(0,s.useMemo)(function(){return Array.isArray(p)?p:[]},[p]),w=(0,s.useMemo)(function(){var e,t,n,r,o;return n=(null==a||null==(e=a.getFieldInterfaceGroups)?void 0:e.call(a))||{},r=(null==a||null==(t=a.getFieldInterfaces)?void 0:t.call(a))||[],o=new Map,r.filter(function(e){return e.name&&"relation"!==e.group}).forEach(function(e){var t,n=String(e.group||"other"),r=o.get(n)||[];r.push({value:String(e.name),label:e.title||String(e.name),availableTypes:e.availableTypes,defaultType:null==(t=e.default)?void 0:t.type}),o.set(n,r)}),Array.from(o.entries()).sort(function(e,t){var r,o,a,i,l=b(e,1)[0],u=b(t,1)[0];return(null!=(r=null==(a=n[l])?void 0:a.order)?r:0)-(null!=(o=null==(i=n[u])?void 0:i.order)?o:0)}).map(function(e){var t,r=b(e,2),o=r[0],a=r[1];return{label:(null==(t=n[o])?void 0:t.label)||o,options:a}})},[a]),A=(0,s.useMemo)(function(){var e,t,o,a,i;return t=(e={collections:r.data||[],dataSource:l,sources:y,t:n}).collections,o=e.dataSource,a=e.sources,i=e.t,a.map(function(e){return t.find(function(t){return t.name===e})}).filter(Boolean).map(function(e){var t,n=e.name?null==o||null==(t=o.getCollection)?void 0:t.call(o,e.name):void 0,r="function"==typeof(null==n?void 0:n.getFields)?n.getFields():e.fields||[];return{value:e.name,label:(0,d.h)(e.title||(null==n?void 0:n.title)||e.name,i),children:r.map(k).filter(function(e){return e.name&&!O.has(String(e.type))}).map(function(e){var t,n;return{value:e.name,label:(0,d.h)((null==(t=(n=k(e)).uiSchema)?void 0:t.title)||n.title||n.name,i)}})}})},[r.data,l,y,n]),j=(0,s.useRef)();(0,s.useEffect)(function(){if(u&&j.current!==u){j.current=u;var t=P({currentFields:S,manager:a,preview:c});t.length&&e.form.setFieldValue("fields",t)}},[S,a,c,e.form,u]);var x=(0,s.useCallback)(function(t,n){var r=g(S);r.splice(t,1,h(v({},n),{source:E(n.source)})),e.form.setFieldValue("fields",r)},[S,e.form]);if(r.loading)return f().createElement(i.Spin,null);if(null==c?void 0:c.error)return f().createElement(f().Fragment,null,f().createElement(i.Form.Item,{name:"fields",hidden:!0,rules:[{required:!0}]},f().createElement(i.Input,null)),f().createElement(i.Form.Item,{label:n("Fields"),required:!0},f().createElement(i.Alert,{showIcon:!0,message:"".concat(n("SQL error: ")).concat(c.error),type:"error"})));if(!c&&!(null==S?void 0:S.length)||!(null==S?void 0:S.length))return f().createElement(f().Fragment,null,f().createElement(i.Form.Item,{name:"fields",hidden:!0,rules:[{required:!0}]},f().createElement(i.Input,null)),f().createElement(i.Form.Item,{label:n("Fields"),required:!0},f().createElement(i.Alert,{showIcon:!0,message:n("Please use a valid SELECT or WITH AS statement")})));var T=[{title:n("Field name"),dataIndex:"name",width:130},{title:n("Field source"),dataIndex:"source",width:220,render:function(e,t,o){return f().createElement(i.Cascader,{allowClear:!0,options:A,placeholder:n("Select field source"),value:"string"==typeof e?e.split("."):e,onChange:function(e){var n=function(e,t,n){if(null==t?void 0:t.length){var r,o,a=b(t,2),i=a[0],l=a[1],u=null==n||null==(r=n.getCollection)?void 0:r.call(n,i);return("function"==typeof(null==u?void 0:u.getFields)?u.getFields().map(k):(null==(o=e.find(function(e){return e.name===i}))?void 0:o.fields)||[]).find(function(e){return e.name===l})}}(r.data||[],e,l);x(o,h(v({},t),{source:e,interface:(null==n?void 0:n.interface)||t.interface,type:(null==n?void 0:n.type)||t.type,uiSchema:(null==n?void 0:n.uiSchema)||t.uiSchema}))}})}},{title:n("Field interface"),dataIndex:"interface",width:180,render:function(e,t,r){if(t.source){var o,l,u=null==a||null==(l=a.getFieldInterface)?void 0:l.call(a,e);return f().createElement(i.Tag,null,(0,d.h)((null==u?void 0:u.title)||e,n))}return f().createElement(i.Select,{allowClear:!0,popupMatchSelectWidth:!1,style:{width:"100%"},options:(o=t.type,w.map(function(e){return{label:e.label,options:e.options.filter(function(e){var t;return!o||(null==(t=e.availableTypes)?void 0:t.includes(o))||e.defaultType===o})}}).filter(function(e){return e.options.length})).map(function(e){return{label:(0,d.h)(e.label,n),options:e.options.map(function(e){return{value:e.value,label:(0,d.h)(e.label,n)}})}}),value:e||"input",onChange:function(e){var n,o,i,l,u,c,s=null==a||null==(n=a.getFieldInterface)?void 0:n.call(a,e);x(r,h(v({},t),{interface:e||null,type:(null==s||null==(o=s.default)?void 0:o.type)||t.type,uiSchema:h(v({},(null==s||null==(i=s.default)?void 0:i.uiSchema)||{}),{title:(null==s||null==(u=s.default)||null==(l=u.uiSchema)?void 0:l.title)||(null==(c=t.uiSchema)?void 0:c.title)})}))}})}},{title:n("Field display name"),dataIndex:["uiSchema","title"],width:180,render:function(e,t,n){var r;return f().createElement(i.Input,{value:(null==(r=t.uiSchema)?void 0:r.title)||t.name,onChange:function(e){x(n,h(v({},t),{uiSchema:h(v({},t.uiSchema||{}),{title:e.target.value})}))}})}}];return f().createElement(i.Form.Item,{label:n("Fields"),required:!0},f().createElement(i.Form.Item,{name:"fields",hidden:!0,rules:[{required:!0}]},f().createElement(i.Input,null)),f().createElement(i.Table,{bordered:!0,columns:T,dataSource:S,pagination:!1,rowKey:"name",scroll:{y:300},size:"small"}))}function _(e){var t=(0,o.useFlowContext)().t,n=i.Form.useWatch(F,{form:e.form,preserve:!0}),r=(0,s.useMemo)(function(){return C(n)},[n]),a=i.Form.useWatch("fields",e.form),l=(0,s.useMemo)(function(){return Array.isArray(a)?a:[]},[a]),u=(0,s.useMemo)(function(){return l.reduce(function(e,t){if(null==t?void 0:t.name){var n;e[t.name]=(null==(n=t.uiSchema)?void 0:n.title)||t.name}return e},{})},[l]),c=(0,s.useMemo)(function(){var e,t=l.map(function(e){return null==e?void 0:e.name}).filter(function(e){return!!e});return t.length?t:Object.keys((null==r||null==(e=r.data)?void 0:e[0])||{})},[l,null==r?void 0:r.data]),m=(0,s.useMemo)(function(){return c.map(function(e){return{title:(0,d.h)(u[e]||e,t),dataIndex:e,key:e}})},[c,t,u]),p=(0,s.useMemo)(function(){return((null==r?void 0:r.data)||[]).map(function(e,n){return h(v({},Object.entries(e).reduce(function(e,n){var r=b(n,2),o=r[0],a=r[1];return e[o]="string"==typeof a?(0,d.h)(a,t):a,e},{})),{key:n})})},[null==r?void 0:r.data,t]);return f().createElement(i.Form.Item,{label:t("Preview")},f().createElement(i.Table,{bordered:!0,columns:m,dataSource:p,pagination:!1,rowKey:"key",scroll:{x:Math.max(150*m.length,300),y:300}}))}function V(e){var t=v({},e);return delete t[F],Array.isArray(t.fields)&&(t.fields=t.fields.map(function(e){return h(v({},e),{source:E(e.source)})})),t}function D(){return F}},890:function(e,t,n){n.d(t,{A:function(){return er},v:function(){return en}});var r=n(485),o=n(155),a=n.n(o),i=n(143),l=n(978),u=n(694),c=n(625),s=n(59),f=n(773),d=n(938);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function p(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function y(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){p(a,r,o,i,l,"next",e)}function l(e){p(a,r,o,i,l,"throw",e)}i(void 0)})}}function v(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){v(e,t,n[t])})}return e}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 g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],i=!0,l=!1;try{for(o=o.call(e);!(i=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){l=!0,r=e}finally{try{i||null==o.return||o.return()}finally{if(l)throw r}}return a}}(e,t)||w(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e){return function(e){if(Array.isArray(e))return m(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||w(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e,t){if(e){if("string"==typeof e)return m(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 m(e,t)}}function O(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var F=new Set(["hasOne","hasMany","belongsToMany"]),A="__viewUnsupportedFields";function j(e){var t=(0,f.get)(e,"data.data");return Array.isArray(t)?t:Array.isArray((0,f.get)(t,"data"))?(0,f.get)(t,"data"):[]}function C(e){var t=e||{};return t.rawTitle,function(e,t){if(null==e)return{};var n,r,o,a={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}if(a=function(e,t){if(null==e)return{};var n,r,o={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}(t,["rawTitle"])}function E(e){return Array.isArray(e)?e.filter(Boolean):"string"==typeof e?e.split(".").filter(Boolean):[]}function k(e){var t=E(e);return t.length?t.join("."):null}function P(e){return(null==e?void 0:e.options)||e||{}}function I(){var e=(0,u.useFlowContext)();return(0,c.useRequest)(function(){return y(function(){return O(this,function(t){switch(t.label){case 0:return[4,e.api.request({url:"dataSources/main/collections:list",params:{paginate:!1,sort:["sort"],filter:{"hidden.$isFalsy":!0},appends:["fields"]}})];case 1:return[2,j(t.sent())]}})})()})}function x(e){var t=(0,u.useFlowContext)(),n=(0,i.kj)(),r=t.dataSourceManager.collectionFieldInterfaceManager,l=(0,o.useRef)(),m=g((0,o.useState)(!1),2),p=m[0],S=m[1],w=s.Form.useWatch("databaseView",e.form),F=s.Form.useWatch("schema",e.form),E=s.Form.useWatch("viewName",e.form),P=(0,o.useMemo)(function(){return w||(E?F?"".concat(F,"@").concat(E):E:void 0)},[w,F,E]),I=(0,o.useMemo)(function(){var e;return((null==r||null==(e=r.getFieldInterfaces)?void 0:e.call(r))||[]).reduce(function(e,t){return t.name&&(e[t.name]=t),e},{})},[r]),x=(0,c.useRequest)(function(){return y(function(){return O(this,function(e){switch(e.label){case 0:return[4,t.api.resource("dbViews").list()];case 1:return[2,j(e.sent())]}})})()}),T=(0,o.useMemo)(function(){var e=(x.data||[]).map(function(e){return{value:e.schema?"".concat(e.schema,"@").concat(e.name):e.name,label:e.schema?"".concat(e.schema,".").concat((0,d.h)(e.name,n)):(0,d.h)(e.name,n)}});return P&&!e.some(function(e){return e.value===P})&&e.unshift({value:P,label:F?"".concat(F,".").concat((0,d.h)(E||P,n)):(0,d.h)(E||P,n)}),e},[P,n,x.data,F,E]),M=(0,o.useCallback)(function(n,r){return y(function(){var o,a,i,l;return O(this,function(u){switch(u.label){case 0:S(!0),u.label=1;case 1:return u.trys.push([1,,3,4]),[4,t.api.resource("dbViews").get({filterByTk:n,schema:r||void 0})];case 2:var c,s,d,m,p;return c=u.sent(),o={fields:(s=(0,f.get)(c,"data.data")||(0,f.get)(c,"data")||c||{}).fields,sources:s.sources,unsupportedFields:s.unsupportedFields},p=new Map(((m={currentFields:Array.isArray(a=e.form.getFieldValue("fields")||[])?a:[],fieldInterfacesByName:I,inferredFields:(d=o.fields)?(Array.isArray(d)?d:Object.values(d)).filter(Boolean):[]}).currentFields||[]).map(function(e){return[e.name,e]})),i=m.inferredFields.map(function(e){var t,n,r,o=p.get(e.name)||e,a=m.fieldInterfacesByName[o.interface||e.interface||""],i=(null==a||null==(t=a.default)?void 0:t.uiSchema)||{},l=(null==(n=o.uiSchema)?void 0:n.title)||o.title||(null==(r=e.uiSchema)?void 0:r.title)||e.name,u=b(h({},C(i),C(o.uiSchema||e.uiSchema)),{title:l});return e.source?b(h({},e),{interface:e.interface||o.interface,type:e.type||o.type,uiSchema:u}):b(h({},e,o),{uiSchema:u})}),l=Array.isArray(o.sources)?o.sources:[],e.form.setFieldsValue(v({fields:i.map(function(e){return b(h({},e),{source:k(e.source)})}),sources:l},A,Array.isArray(o.unsupportedFields)?o.unsupportedFields:[])),[3,4];case 3:return S(!1),[7];case 4:return[2]}})})()},[t.api,I,e.form]),q=(0,o.useCallback)(function(t){var n=function(e){if(!e)return{schema:null,viewName:null};var t=g(e.includes("@")?e.split("@"):[null,e],2);return{schema:t[0]||null,viewName:t[1]||e}}(t),r=n.schema,o=n.viewName;if(e.form.setFieldsValue(v({databaseView:t,schema:r,viewName:o,fields:[],sources:[]},A,[])),o){var a=e.form.getFieldValue("name");(!e.form.isFieldTouched("name")||a===l.current||/^t_[A-Za-z0-9]+$/.test(a))&&(l.current=o,e.form.setFieldValue("name",o)),M(o,r)}},[M,e.form]);return(0,o.useEffect)(function(){!w&&P&&e.form.setFieldValue("databaseView",P)},[P,e.form,w]),a().createElement(s.Spin,{spinning:p},a().createElement(s.Form.Item,{name:"databaseView",label:n("Connect to database view"),rules:[{required:!0,message:n("Please select a database view")}]},a().createElement(s.Select,{allowClear:!0,loading:x.loading,options:T,showSearch:!0,optionFilterProp:"label",disabled:"edit"===e.mode,onChange:q})),a().createElement(s.Form.Item,{name:"schema",hidden:!0},a().createElement(s.Input,null)),a().createElement(s.Form.Item,{name:"viewName",hidden:!0,rules:[{required:!0}]},a().createElement(s.Input,null)))}function T(e){var t=(0,i.kj)(),n=I(),r=s.Form.useWatch("sources",e.form),l=(0,o.useMemo)(function(){return Array.isArray(r)?r:[]},[r]),u=(0,o.useMemo)(function(){var e,r=(e=n.data||[],e.filter(function(e){return e.name}).map(function(e){return{value:e.name,label:(0,d.h)(e.title||e.name,t)}})),o=l.filter(function(e){return!r.some(function(t){return t.value===e})}).map(function(e){return{value:e,label:e}});return S(r).concat(S(o))},[n.data,l,t]);return a().createElement(s.Form.Item,{name:"sources",label:t("Source collections")},a().createElement(s.Select,{mode:"multiple",options:u,loading:n.loading,disabled:!0,allowClear:!0}))}function M(e){var t=(0,u.useFlowContext)(),n=(0,i.kj)(),r=I(),l=t.dataSourceManager.collectionFieldInterfaceManager,c=t.dataSourceManager.getDataSource("main"),f=s.Form.useWatch("fields",e.form),m=s.Form.useWatch("sources",e.form),p=s.Form.useWatch(A,{form:e.form,preserve:!0}),y=(0,o.useMemo)(function(){return Array.isArray(f)?f:[]},[f]),v=(0,o.useMemo)(function(){return Array.isArray(m)?m:[]},[m]),w=(0,o.useMemo)(function(){var e,t,n,r,o;return n=(null==l||null==(e=l.getFieldInterfaceGroups)?void 0:e.call(l))||{},r=(null==l||null==(t=l.getFieldInterfaces)?void 0:t.call(l))||[],o=new Map,r.filter(function(e){return e.name&&!["relation","systemInfo"].includes(String(e.group))}).forEach(function(e){var t=String(e.group||"other"),n=o.get(t)||[];n.push({value:String(e.name),label:e.title||String(e.name),availableTypes:e.availableTypes}),o.set(t,n)}),Array.from(o.entries()).sort(function(e,t){var r,o,a,i,l=g(e,1)[0],u=g(t,1)[0];return(null!=(r=null==(a=n[l])?void 0:a.order)?r:0)-(null!=(o=null==(i=n[u])?void 0:i.order)?o:0)}).map(function(e){var t,r=g(e,2),o=r[0],a=r[1];return{label:(null==(t=n[o])?void 0:t.label)||o,options:a}})},[l]),O=(0,o.useMemo)(function(){return v.map(function(e){return(r.data||[]).find(function(t){return t.name===e})}).filter(Boolean).map(function(e){var t,r=null==c||null==(t=c.getCollection)?void 0:t.call(c,e.name),o="function"==typeof(null==r?void 0:r.getFields)?r.getFields():e.fields||[];return{value:e.name,label:(0,d.h)(e.title||(null==r?void 0:r.title)||e.name,n),children:o.map(P).filter(function(e){return e.name&&!F.has(String(e.type))}).map(function(e){var t,r;return{value:e.name,label:(0,d.h)((null==(t=(r=P(e)).uiSchema)?void 0:t.title)||r.title||r.name,n)}})}})},[r.data,c,v,n]),j=(0,o.useCallback)(function(t,n){var r=S(y);r.splice(t,1,b(h({},n),{source:k(n.source)})),e.form.setFieldValue("fields",r)},[y,e.form]),x=[{title:n("Field name"),dataIndex:"name",width:130},{title:n("Field source"),dataIndex:"source",width:220,render:function(e,t,o){return a().createElement(s.Cascader,{allowClear:!0,options:O,placeholder:n("Select field source"),value:E(e),onChange:function(e){var n,a,i,l=(e||[]).map(String),u=(r.data||[]).find(function(e){return e.name===l[0]}),s=l[0]?null==c||null==(n=c.getCollection)?void 0:n.call(c,l[0]):void 0,f=("function"==typeof(null==s?void 0:s.getFields)?s.getFields().map(P):(null==u?void 0:u.fields)||[]).find(function(e){return e.name===l[1]});j(o,b(h({},t),{source:l,interface:(null==f?void 0:f.interface)||t.interface,type:(null==f?void 0:f.type)||t.type,uiSchema:b(h({},t.uiSchema,null==f?void 0:f.uiSchema),{title:(null==f||null==(a=f.uiSchema)?void 0:a.title)||(null==(i=t.uiSchema)?void 0:i.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)?a().createElement(s.Select,{value:e,style:{width:"100%"},popupMatchSelectWidth:!1,options:t.possibleTypes.map(function(e){return{label:e,value:e}}),onChange:function(e){return j(n,b(h({},t),{type:e}))}}):a().createElement(s.Tag,null,e)}},{title:n("Field interface"),dataIndex:"interface",width:180,render:function(e,t,r){if(t.source){var o,i=null==l||null==(o=l.getFieldInterface)?void 0:o.call(l,e);return a().createElement(s.Tag,null,(0,d.h)((null==i?void 0:i.title)||e,n))}return a().createElement(s.Select,{allowClear:!0,popupMatchSelectWidth:!1,style:{width:"100%"},options:w.map(function(e){return{label:(0,d.h)(e.label,n),options:e.options.filter(function(e){var n;return!t.type||(null==(n=e.availableTypes)?void 0:n.includes(t.type))}).map(function(e){return{value:e.value,label:(0,d.h)(e.label,n)}})}}),value:e||void 0,onChange:function(e){var n,o,a,i,u,c,s=null==l||null==(n=l.getFieldInterface)?void 0:n.call(l,e);j(r,b(h({},t),{interface:e||null,type:(null==s||null==(o=s.default)?void 0:o.type)||t.type,uiSchema:b(h({},null==s||null==(a=s.default)?void 0:a.uiSchema),{title:(null==s||null==(u=s.default)||null==(i=u.uiSchema)?void 0:i.title)||(null==(c=t.uiSchema)?void 0:c.title)||t.name})}))}})}},{title:n("Field display name"),dataIndex:["uiSchema","title"],width:180,render:function(e,t,n){var r;return a().createElement(s.Input,{value:(null==(r=t.uiSchema)?void 0:r.title)||t.name,onChange:function(e){j(n,b(h({},t),{uiSchema:b(h({},C(t.uiSchema)),{title:e.target.value})}))}})}}];return r.loading?a().createElement(s.Spin,null):a().createElement(a().Fragment,null,a().createElement(s.Form.Item,{name:"fields",hidden:!0,rules:[{required:!0}]},a().createElement(s.Input,null)),y.length?a().createElement(s.Form.Item,{label:n("Fields"),required:!0,extra:n("Fields can only be used correctly if they are defined with an interface.")},a().createElement(s.Table,{bordered:!0,columns:x,dataSource:y,pagination:!1,rowKey:"name",scroll:{y:300}})):a().createElement(s.Form.Item,{label:n("Fields"),required:!0},a().createElement(s.Alert,{showIcon:!0,message:n("Please select a database view")})),(null==p?void 0:p.length)?a().createElement(s.Alert,{showIcon:!0,type:"warning",message:n("Unsupported fields"),description:p.map(function(e){return e.name}).join(", "),style:{marginBottom:24}}):null)}function q(e){var t=(0,u.useFlowContext)(),n=(0,i.kj)(),r=s.Form.useWatch("viewName",e.form),l=s.Form.useWatch("schema",e.form),c=s.Form.useWatch("fields",e.form),f=(0,o.useMemo)(function(){return Array.isArray(c)?c:[]},[c]),m=g((0,o.useState)(!1),2),p=m[0],v=m[1],h=g((0,o.useState)([]),2),b=h[0],S=h[1],w=(0,o.useMemo)(function(){var e=["lineString","point","circle","polygon"];return JSON.stringify(f.reduce(function(t,n){return n.type&&e.includes(n.type)&&(t[n.name]=n.type),t},{}))},[f]),F=(0,o.useMemo)(function(){return f.filter(function(e){return e.source||e.interface}).map(function(e){var t;return{title:(0,d.h)((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)}}})},[f,n]);return(0,o.useEffect)(function(){if(!r||!f.length)return void S([]);var e=!1;return y(function(){var n;return O(this,function(o){switch(o.label){case 0:v(!0),o.label=1;case 1:return o.trys.push([1,,3,4]),[4,t.api.resource("dbViews").query({filterByTk:r,schema:l||void 0,fieldTypes:JSON.parse(w)})];case 2:return n=o.sent(),e||S(j(n)),[3,4];case 3:return e||v(!1),[7];case 4:return[2]}})})(),function(){e=!0}},[t.api,w,f.length,l,r]),a().createElement(s.Form.Item,{label:n("Preview")},a().createElement(s.Spin,{spinning:p},a().createElement(s.Table,{bordered:!0,columns:F,dataSource:b,pagination:!1,rowKey:function(e,t){return String(null!=t?t:0)},scroll:{x:1e3,y:300}})))}function _(e){var t=h({},e);return delete t[A],Array.isArray(t.fields)&&(t.fields=t.fields.map(function(e){return b(h({},e),{source:k(e.source)})})),t}var V=n(448);function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function B(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function N(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){B(a,r,o,i,l,"next",e)}function l(e){B(a,r,o,i,l,"throw",e)}i(void 0)})}}function R(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function K(e,t,n){return(K=Z()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&Q(o,n.prototype),o}).apply(null,arguments)}function W(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function L(e,t,n){return t&&W(e.prototype,t),n&&W(e,n),e}function U(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $(e){return($=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function G(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){U(e,t,n[t])})}return e}function J(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 Q(e,t){return(Q=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function z(e){return function(e){if(Array.isArray(e))return D(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e){if(e){if("string"==typeof e)return D(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return D(e,void 0)}}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e){var t="function"==typeof Map?new Map:void 0;return(H=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return K(e,arguments,$(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),Q(n,e)})(e)}function Z(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Z=function(){return!!e})()}function X(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var Y=function(){function e(){R(this,e),U(this,"templates",new Map)}return L(e,[{key:"register",value:function(e,t){var n="string"==typeof e?J(G({},t),{name:(null==t?void 0:t.name)||e}):e;(null==n?void 0:n.name)&&this.templates.set(n.name,J(G({},n),{name:n.name}))}},{key:"get",value:function(e){return e?this.templates.get(e):void 0}},{key:"getAll",value:function(){return z(this.templates.values()).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})}}]),e}(),ee=function(){function e(){R(this,e),U(this,"fields",new Map)}return L(e,[{key:"register",value:function(e){var t,n=e.name||(null==(t=e.value)?void 0:t.name);n&&this.fields.set(n,J(G({},e),{name:n}))}},{key:"remove",value:function(e){this.fields.delete(e)}},{key:"getAll",value:function(){return z(this.fields.values()).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})}}]),e}(),et=function(){function e(){R(this,e),U(this,"managerActions",[])}return L(e,[{key:"registerManagerAction",value:function(e){var t=e.order,n=e.component;this.managerActions.push({order:null!=t?t:0,component:n})}},{key:"getManagerActions",value:function(){return z(this.managerActions).sort(function(e,t){return e.order-t.order})}}]),e}(),en=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function t(){var e,n,r;return R(this,t),n=t,r=arguments,n=$(n),U(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,Z()?Reflect.construct(n,r||[],$(this).constructor):n.apply(this,r)),"types",new Map),U(e,"extensionManager",new et),U(e,"collectionTemplateRegistry",new Y),U(e,"collectionPresetFieldRegistry",new ee),e}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Q(t,e),L(t,[{key:"load",value:function(){return N(function(){var e;return X(this,function(t){return e=this,this.registerBuiltInCollectionPresetFields(),this.registerBuiltInCollectionTemplates(),this.dataSourceManager.registerLoader("*",function(){return N(function(){var e,t,n;return X(this,function(r){switch(r.label){case 0:return[4,this.app.apiClient.request({resource:"dataSources",action:"listEnabled",params:{paginate:!1,appends:["collections"]}})];case 1:return n=(null==(t=r.sent())||null==(e=t.data)?void 0:e.data)||[],(0,V.b)(this.dataSourceManager,n),[2,{dataSources:n}]}})}).call(e)}),this.pluginSettingsManager.addMenuItem({key:i.CU,title:this.t("Data sources"),icon:"ClusterOutlined",isPinned:!0,sort:100,showTabs:!1,aclSnippet:"pm.data-source-manager*"}),this.pluginSettingsManager.addPageTabItem({menuKey:i.CU,key:"index",title:this.t("Data sources"),componentLoader:function(){return n.e("426").then(n.bind(n,649))},sort:1,aclSnippet:"pm.data-source-manager"}),this.pluginSettingsManager.addPageTabItem({menuKey:i.CU,key:"collections",title:this.t("Collections"),componentLoader:function(){return n.e("167").then(n.bind(n,442))},sort:2,aclSnippet:"pm.data-source-manager"}),this.pluginSettingsManager.addPageTabItem({menuKey:i.CU,key:"collections/:dataSourceKey",title:this.t("Collections"),componentLoader:function(){return n.e("167").then(n.bind(n,442))},hidden:!0,sort:3,aclSnippet:"pm.data-source-manager"}),[2]})}).call(this)}},{key:"registerType",value:function(e,t){this.types.set(e,J(G({},t),{name:t.name||e}))}},{key:"getType",value:function(e){return e?this.types.get(e):void 0}},{key:"registerFieldInterfaceConfigure",value:function(e){var t,n;null==(n=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=n.registerFieldInterfaceConfigure)||t.call(n,e)}},{key:"registerCollectionTemplate",value:function(e,t){this.collectionTemplateRegistry.register(e,t)}},{key:"registerCollectionPresetField",value:function(e){this.collectionPresetFieldRegistry.register(e)}},{key:"addCollectionPresetField",value:function(e){this.registerCollectionPresetField(e)}},{key:"removeCollectionPresetField",value:function(e){this.collectionPresetFieldRegistry.remove(e)}},{key:"getCollectionPresetFields",value:function(){return this.collectionPresetFieldRegistry.getAll()}},{key:"getCollectionTemplate",value:function(e){return this.collectionTemplateRegistry.get(e)}},{key:"getCollectionTemplates",value:function(){return this.collectionTemplateRegistry.getAll()}},{key:"registerBuiltInCollectionPresetFields",value:function(){this.registerCollectionPresetField({order:100,description:'{{t("Primary key, distributed uniqueness, time-ordering") }}',value:{name:"id",type:"snowflakeId",autoIncrement:!1,primaryKey:!0,allowNull:!1,uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-component-props":{stringMode:!0,separator:"0.00",step:"1"},"x-validator":"integer"},interface:"snowflakeId"}}),this.registerCollectionPresetField({order:200,description:'{{t("Store the creation time of each record")}}',value:{name:"createdAt",interface:"createdAt",type:"date",field:"createdAt",uiSchema:{type:"datetime",title:'{{t("Created at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:300,description:'{{t("Store the creation user of each record") }}',value:{name:"createdBy",interface:"createdBy",type:"belongsTo",target:"users",foreignKey:"createdById",uiSchema:{type:"object",title:'{{t("Created by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:400,description:'{{t("Store the last update time of each record")}}',value:{type:"date",field:"updatedAt",name:"updatedAt",interface:"updatedAt",uiSchema:{type:"datetime",title:'{{t("Last updated at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:500,description:'{{t("Store the last update user of each record")}}',value:{type:"belongsTo",target:"users",foreignKey:"updatedById",name:"updatedBy",interface:"updatedBy",uiSchema:{type:"object",title:'{{t("Last updated by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}}})}},{key:"registerBuiltInCollectionTemplates",value:function(){this.registerCollectionTemplate({name:"general",title:'{{t("General collection")}}',order:10,color:"blue",collection:{options:{template:"general"},fields:[]}}),this.registerCollectionTemplate({name:"tree",title:'{{t("Tree collection")}}',order:30,color:"blue",collection:{options:{template:"tree",tree:"adjacencyList"},fields:[{interface:"integer",name:"parentId",type:"bigInt",title:'{{t("Parent ID")}}',isForeignKey:!0,uiSchema:{"x-read-pretty":!0}},{interface:"m2o",type:"belongsTo",name:"parent",title:'{{t("Parent")}}',foreignKey:"parentId",treeParent:!0,onDelete:"CASCADE",componentProps:{multiple:!1,fieldNames:{label:"id",value:"id"}}},{interface:"o2m",type:"hasMany",name:"children",title:'{{t("Children")}}',foreignKey:"parentId",treeChildren:!0,onDelete:"CASCADE",componentProps:{multiple:!0,fieldNames:{label:"id",value:"id"}}}]},presetFields:{disabledIncludes:["id"]},configure:{transformSubmitValues:function(e){if(Array.isArray(e.fields)){e.fields=e.fields.map(function(t){return!t.target&&["belongsToMany","belongsTo","hasMany","hasOne"].includes(t.type)?J(G({},t),{target:e.name}):t});var t=e.fields.find(function(e){return e.primaryKey}),n=e.fields.find(function(e){return"parentId"===e.name&&e.isForeignKey});if(t&&n){var r,o=null==(r=n.uiSchema)?void 0:r.title;n.interface=t.interface,n.type=t.type,n.uiSchema=structuredClone(t.uiSchema||{}),n.uiSchema.title=o,n.autoFill=!1}}}}}),this.registerCollectionTemplate({name:"sql",title:'{{t("SQL collection")}}',order:40,color:"yellow",divider:!0,collection:{options:{template:"sql"},fields:[]},capabilities:{recordUniqueKey:!0},configure:{items:[{name:"sql",Component:l.FL,required:!0},{name:"sources",Component:l.uT},{name:"fields",Component:l.J6,required:!0},{name:"preview",Component:l.eA}],transformSubmitValues:l.k_}}),this.registerCollectionTemplate({name:"view",title:'{{t("Connect to database view")}}',order:50,color:"yellow",divider:!0,collection:{options:{template:"view",view:!0},fields:[]},capabilities:{recordUniqueKey:!0,simplePaginate:!0},presetFields:{disabled:!0},fieldInterfaces:{create:{include:["m2o"]}},configure:{items:[{name:"databaseView",Component:x,required:!0},{name:"sources",Component:T},{name:"fields",Component:M,required:!0,hidden:function(e){return"edit"===e.mode}},{name:"preview",Component:q,hidden:function(e){return"edit"===e.mode}},{name:"writableView",label:'{{t("Allow add new, update and delete actions")}}',component:"Checkbox"}],transformSubmitValues:_}})}}]),t}(H(r.Plugin)),er=en},143:function(e,t,n){n.d(t,{CU:function(){return o},kj:function(){return a}});var r=n(694),o=JSON.parse('{"UU":"@nocobase/plugin-data-source-manager"}').UU;function a(){var e=(0,r.useFlowEngine)();return function(t){return e.context.t(t,{ns:[o,"client"]})}}},448:function(e,t,n){n.d(t,{b:function(){return o},h:function(){return a}});var r=n(694);function o(e,t){e&&t.forEach(function(t){var n,o,a,i,l=(n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},t),o=o={key:t.key,use:"main"===t.key?void 0:r.DataSource},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(o)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(o,e))}),n);e.getDataSource(t.key)?null==(a=e.getDataSource(t.key))||a.patchOptions(l):e.addDataSource(l),Array.isArray(t.collections)&&(null==(i=e.getDataSource(t.key))||i.setCollections(t.collections,{clearFields:!0}))})}function a(e,t){e&&t.forEach(function(t){"main"!==String(t)&&e.removeDataSource(String(t))})}},938:function(e,t,n){n.d(t,{A:function(){return i},h:function(){return a}});var r=/^\s*\{\{\s*t\s*\(\s*(['"])(.*?)\1(?:\s*,[\s\S]*?)?\)\s*\}\}\s*$/,o=/\{\{\s*t\s*\(\s*(['"])(.*?)\1(?:\s*,[\s\S]*?)?\)\s*\}\}/g;function a(e,t){if("string"!=typeof e)return e;var n=e.match(r);return(null==n?void 0:n[2])?t(n[2]):e.replace(o,function(e,n,r){return t(r)})}function i(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"-",r=a(e,t);return null==r||""===r?n:"string"==typeof r||"number"==typeof r||"boolean"==typeof r?String(r):n}},375:function(e){e.exports=t},799:function(e){e.exports=n},428:function(e){e.exports=i},485:function(e){e.exports=a},694:function(e){e.exports=r},768:function(e){e.exports=s},625:function(e){e.exports=o},59:function(e){e.exports=c},185:function(e){e.exports=l},773:function(e){e.exports=f},155:function(e){e.exports=u},61:function(t){t.exports=e}},b={};function g(e){var t=b[e];if(void 0!==t)return t.exports;var n=b[e]={exports:{}};return h[e](n,n.exports,g),n.exports}g.m=h,g.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return g.d(t,{a:t}),t},g.d=function(e,t){for(var n in t)g.o(t,n)&&!g.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},g.f={},g.e=function(e){return Promise.all(Object.keys(g.f).reduce(function(t,n){return g.f[n](e,t),t},[]))},g.u=function(e){return""+e+"."+({167:"c72713810e2d0526",426:"3cd9f994a3145829"})[e]+".js"},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},S={},g.l=function(e,t,n,r){if(S[e])return void S[e].push(t);if(void 0!==n)for(var o,a,i=document.getElementsByTagName("script"),l=0;l<i.length;l++){var u=i[l];if(u.getAttribute("src")==e||u.getAttribute("data-rspack")=="@nocobase/plugin-data-source-manager/client-v2:"+n){o=u;break}}o||(a=!0,(o=document.createElement("script")).timeout=120,g.nc&&o.setAttribute("nonce",g.nc),o.setAttribute("data-rspack","@nocobase/plugin-data-source-manager/client-v2:"+n),o.src=e),S[e]=[t];var c=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=S[e];if(delete S[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(c.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=c.bind(null,o.onerror),o.onload=c.bind(null,o.onload),a&&document.head.appendChild(o)},g.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},g.g.importScripts&&(w=g.g.location+"");var S,w,O=g.g.document;if(!w&&O&&(O.currentScript&&"SCRIPT"===O.currentScript.tagName.toUpperCase()&&(w=O.currentScript.src),!w)){var F=O.getElementsByTagName("script");if(F.length)for(var A=F.length-1;A>-1&&(!w||!/^http(s?):/.test(w));)w=F[A--].src}if(!w)throw Error("Automatic publicPath is not supported in this browser");g.p=w.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),d={889:0},g.f.j=function(e,t){var n=g.o(d,e)?d[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=d[e]=[t,r]});t.push(n[2]=r);var o=g.p+g.u(e),a=Error();g.l(o,function(t){if(g.o(d,e)&&(0!==(n=d[e])&&(d[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;a.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",a.name="ChunkLoadError",a.type=r,a.request=o,n[1](a)}},"chunk-"+e,e)}},m=function(e,t){var n,r,o=t[0],a=t[1],i=t[2],l=0;if(o.some(function(e){return 0!==d[e]})){for(n in a)g.o(a,n)&&(g.m[n]=a[n]);i&&i(g)}for(e&&e(t);l<o.length;l++)r=o[l],g.o(d,r)&&d[r]&&d[r][0](),d[r]=0},(p=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).forEach(m.bind(null,0)),p.push=m.bind(null,p.push.bind(p));var j={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/@nocobase/plugin-data-source-manager/dist/client-v2/")}if(!e){if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var r=window.location.pathname||"/",o=r.indexOf("/v2/");e=o>=0?r.slice(0,o+1):"/"}e&&(e=e.replace(/\/v2\/?$/,"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-data-source-manager/dist/client-v2/"}g.p=e}(),g.r(j),g.d(j,{PluginDataSourceManagerClientV2:function(){return y.v},compileLegacyTemplate:function(){return v.h},compileLegacyTemplateText:function(){return v.A},default:function(){return y.A}}),y=g(890),v=g(938),j}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("ahooks"),require("@nocobase/client-v2"),require("react-router-dom"),require("@dnd-kit/sortable"),require("dayjs"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("@dnd-kit/core"),require("@nocobase/utils/client"),require("lodash")):"function"==typeof define&&define.amd?define("@nocobase/plugin-data-source-manager/client-v2",["ahooks","@nocobase/client-v2","react-router-dom","@dnd-kit/sortable","dayjs","react","antd","@ant-design/icons","@nocobase/flow-engine","@dnd-kit/core","@nocobase/utils/client","lodash"],t):"object"==typeof exports?exports["@nocobase/plugin-data-source-manager/client-v2"]=t(require("ahooks"),require("@nocobase/client-v2"),require("react-router-dom"),require("@dnd-kit/sortable"),require("dayjs"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("@dnd-kit/core"),require("@nocobase/utils/client"),require("lodash")):e["@nocobase/plugin-data-source-manager/client-v2"]=t(e.ahooks,e["@nocobase/client-v2"],e["react-router-dom"],e["@dnd-kit/sortable"],e.dayjs,e.react,e.antd,e["@ant-design/icons"],e["@nocobase/flow-engine"],e["@dnd-kit/core"],e["@nocobase/utils/client"],e.lodash)}(self,function(e,t,n,r,o,i,a,l,u,c,s,f){return function(){"use strict";var d,p,m,y,b,h={890:function(e,t,n){n.d(t,{A:function(){return en},v:function(){return et}});var r=n(485),o=n(155),i=n.n(o),a=n(143),l=n(694),u=n(625),c=n(59),s=n(773),f=n(938);function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function p(e,t,n,r,o,i,a){try{var l=e[i](a),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function m(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){p(i,r,o,a,l,"next",e)}function l(e){p(i,r,o,a,l,"throw",e)}a(void 0)})}}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){y(e,t,n[t])})}return e}function h(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],a=!0,l=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){l=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(l)throw r}}return i}}(e,t)||w(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||w(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}}function S(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:u(0)}),l(a,"throw",{value:u(1)}),l(a,"return",{value:u(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var O=new Set(["hasOne","hasMany","belongsToMany"]),j="__viewUnsupportedFields";function k(e){var t=(0,s.get)(e,"data.data");return Array.isArray(t)?t:Array.isArray((0,s.get)(t,"data"))?(0,s.get)(t,"data"):[]}function F(e){var t=e||{};return t.rawTitle,function(e,t){if(null==e)return{};var n,r,o,i={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}if(i=function(e,t){if(null==e)return{};var n,r,o={},i=Object.getOwnPropertyNames(e);for(r=0;r<i.length;r++)n=i[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}(t,["rawTitle"])}function P(e){return Array.isArray(e)?e.filter(Boolean):"string"==typeof e?e.split(".").filter(Boolean):[]}function A(e){var t=P(e);return t.length?t.join("."):null}function x(e){return(null==e?void 0:e.options)||e||{}}function C(){var e=(0,l.useFlowContext)();return(0,u.useRequest)(function(){return m(function(){return S(this,function(t){switch(t.label){case 0:return[4,e.api.request({url:"dataSources/main/collections:list",params:{paginate:!1,sort:["sort"],filter:{"hidden.$isFalsy":!0},appends:["fields"]}})];case 1:return[2,k(t.sent())]}})})()})}function I(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=t.dataSourceManager.collectionFieldInterfaceManager,d=(0,o.useRef)(),p=v((0,o.useState)(!1),2),g=p[0],w=p[1],O=c.Form.useWatch("databaseView",e.form),P=c.Form.useWatch("schema",e.form),x=c.Form.useWatch("viewName",e.form),C=(0,o.useMemo)(function(){return O||(x?P?"".concat(P,"@").concat(x):x:void 0)},[O,P,x]),I=(0,o.useMemo)(function(){var e;return((null==r||null==(e=r.getFieldInterfaces)?void 0:e.call(r))||[]).reduce(function(e,t){return t.name&&(e[t.name]=t),e},{})},[r]),E=(0,u.useRequest)(function(){return m(function(){return S(this,function(e){switch(e.label){case 0:return[4,t.api.resource("dbViews").list()];case 1:return[2,k(e.sent())]}})})()}),T=(0,o.useMemo)(function(){var e=(E.data||[]).map(function(e){return{value:e.schema?"".concat(e.schema,"@").concat(e.name):e.name,label:e.schema?"".concat(e.schema,".").concat((0,f.h)(e.name,n)):(0,f.h)(e.name,n)}});return C&&!e.some(function(e){return e.value===C})&&e.unshift({value:C,label:P?"".concat(P,".").concat((0,f.h)(x||C,n)):(0,f.h)(x||C,n)}),e},[C,n,E.data,P,x]),M=(0,o.useCallback)(function(n,r){return m(function(){var o,i,a,l;return S(this,function(u){switch(u.label){case 0:w(!0),u.label=1;case 1:return u.trys.push([1,,3,4]),[4,t.api.resource("dbViews").get({filterByTk:n,schema:r||void 0})];case 2:var c,f,d,p,m;return c=u.sent(),o={fields:(f=(0,s.get)(c,"data.data")||(0,s.get)(c,"data")||c||{}).fields,sources:f.sources,unsupportedFields:f.unsupportedFields},m=new Map(((p={currentFields:Array.isArray(i=e.form.getFieldValue("fields")||[])?i:[],fieldInterfacesByName:I,inferredFields:(d=o.fields)?(Array.isArray(d)?d:Object.values(d)).filter(Boolean):[]}).currentFields||[]).map(function(e){return[e.name,e]})),a=p.inferredFields.map(function(e){var t,n,r,o=m.get(e.name)||e,i=p.fieldInterfacesByName[o.interface||e.interface||""],a=(null==i||null==(t=i.default)?void 0:t.uiSchema)||{},l=(null==(n=o.uiSchema)?void 0:n.title)||o.title||(null==(r=e.uiSchema)?void 0:r.title)||e.name,u=h(b({},F(a),F(o.uiSchema||e.uiSchema)),{title:l});return e.source?h(b({},e),{interface:e.interface||o.interface,type:e.type||o.type,uiSchema:u}):h(b({},e,o),{uiSchema:u})}),l=Array.isArray(o.sources)?o.sources:[],e.form.setFieldsValue(y({fields:a.map(function(e){return h(b({},e),{source:A(e.source)})}),sources:l},j,Array.isArray(o.unsupportedFields)?o.unsupportedFields:[])),[3,4];case 3:return w(!1),[7];case 4:return[2]}})})()},[t.api,I,e.form]),_=(0,o.useCallback)(function(t){var n=function(e){if(!e)return{schema:null,viewName:null};var t=v(e.includes("@")?e.split("@"):[null,e],2);return{schema:t[0]||null,viewName:t[1]||e}}(t),r=n.schema,o=n.viewName;if(e.form.setFieldsValue(y({databaseView:t,schema:r,viewName:o,fields:[],sources:[]},j,[])),o){var i=e.form.getFieldValue("name");(!e.form.isFieldTouched("name")||i===d.current||/^t_[A-Za-z0-9]+$/.test(i))&&(d.current=o,e.form.setFieldValue("name",o)),M(o,r)}},[M,e.form]);return(0,o.useEffect)(function(){!O&&C&&e.form.setFieldValue("databaseView",C)},[C,e.form,O]),i().createElement(c.Spin,{spinning:g},i().createElement(c.Form.Item,{name:"databaseView",label:n("Connect to database view"),rules:[{required:!0,message:n("Please select a database view")}]},i().createElement(c.Select,{allowClear:!0,loading:E.loading,options:T,showSearch:!0,optionFilterProp:"label",disabled:"edit"===e.mode,onChange:_})),i().createElement(c.Form.Item,{name:"schema",hidden:!0},i().createElement(c.Input,null)),i().createElement(c.Form.Item,{name:"viewName",hidden:!0,rules:[{required:!0}]},i().createElement(c.Input,null)))}function E(e){var t=(0,a.kj)(),n=C(),r=c.Form.useWatch("sources",e.form),l=(0,o.useMemo)(function(){return Array.isArray(r)?r:[]},[r]),u=(0,o.useMemo)(function(){var e,r=(e=n.data||[],e.filter(function(e){return e.name}).map(function(e){return{value:e.name,label:(0,f.h)(e.title||e.name,t)}})),o=l.filter(function(e){return!r.some(function(t){return t.value===e})}).map(function(e){return{value:e,label:e}});return g(r).concat(g(o))},[n.data,l,t]);return i().createElement(c.Form.Item,{name:"sources",label:t("Source collections")},i().createElement(c.Select,{mode:"multiple",options:u,loading:n.loading,disabled:!0,allowClear:!0}))}function T(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=C(),u=t.dataSourceManager.collectionFieldInterfaceManager,s=t.dataSourceManager.getDataSource("main"),d=c.Form.useWatch("fields",e.form),p=c.Form.useWatch("sources",e.form),m=c.Form.useWatch(j,{form:e.form,preserve:!0}),y=(0,o.useMemo)(function(){return Array.isArray(d)?d:[]},[d]),w=(0,o.useMemo)(function(){return Array.isArray(p)?p:[]},[p]),S=(0,o.useMemo)(function(){var e,t,n,r,o;return n=(null==u||null==(e=u.getFieldInterfaceGroups)?void 0:e.call(u))||{},r=(null==u||null==(t=u.getFieldInterfaces)?void 0:t.call(u))||[],o=new Map,r.filter(function(e){return e.name&&!["relation","systemInfo"].includes(String(e.group))}).forEach(function(e){var t=String(e.group||"other"),n=o.get(t)||[];n.push({value:String(e.name),label:e.title||String(e.name),availableTypes:e.availableTypes}),o.set(t,n)}),Array.from(o.entries()).sort(function(e,t){var r,o,i,a,l=v(e,1)[0],u=v(t,1)[0];return(null!=(r=null==(i=n[l])?void 0:i.order)?r:0)-(null!=(o=null==(a=n[u])?void 0:a.order)?o:0)}).map(function(e){var t,r=v(e,2),o=r[0],i=r[1];return{label:(null==(t=n[o])?void 0:t.label)||o,options:i}})},[u]),k=(0,o.useMemo)(function(){return w.map(function(e){return(r.data||[]).find(function(t){return t.name===e})}).filter(Boolean).map(function(e){var t,r=null==s||null==(t=s.getCollection)?void 0:t.call(s,e.name),o="function"==typeof(null==r?void 0:r.getFields)?r.getFields():e.fields||[];return{value:e.name,label:(0,f.h)(e.title||(null==r?void 0:r.title)||e.name,n),children:o.map(x).filter(function(e){return e.name&&!O.has(String(e.type))}).map(function(e){var t,r;return{value:e.name,label:(0,f.h)((null==(t=(r=x(e)).uiSchema)?void 0:t.title)||r.title||r.name,n)}})}})},[r.data,s,w,n]),I=(0,o.useCallback)(function(t,n){var r=g(y);r.splice(t,1,h(b({},n),{source:A(n.source)})),e.form.setFieldValue("fields",r)},[y,e.form]),E=[{title:n("Field name"),dataIndex:"name",width:130},{title:n("Field source"),dataIndex:"source",width:220,render:function(e,t,o){return i().createElement(c.Cascader,{allowClear:!0,options:k,placeholder:n("Select field source"),value:P(e),onChange:function(e){var n,i,a,l=(e||[]).map(String),u=(r.data||[]).find(function(e){return e.name===l[0]}),c=l[0]?null==s||null==(n=s.getCollection)?void 0:n.call(s,l[0]):void 0,f=("function"==typeof(null==c?void 0:c.getFields)?c.getFields().map(x):(null==u?void 0:u.fields)||[]).find(function(e){return e.name===l[1]});I(o,h(b({},t),{source:l,interface:(null==f?void 0:f.interface)||t.interface,type:(null==f?void 0:f.type)||t.type,uiSchema:h(b({},t.uiSchema,null==f?void 0:f.uiSchema),{title:(null==f||null==(i=f.uiSchema)?void 0:i.title)||(null==(a=t.uiSchema)?void 0:a.title)||t.name})}))}})}},{title:n("Field type"),dataIndex:"type",width:140,render:function(e,t,n){var r;return!t.source&&(null==(r=t.possibleTypes)?void 0:r.length)?i().createElement(c.Select,{value:e,style:{width:"100%"},popupMatchSelectWidth:!1,options:t.possibleTypes.map(function(e){return{label:e,value:e}}),onChange:function(e){return I(n,h(b({},t),{type:e}))}}):i().createElement(c.Tag,null,e)}},{title:n("Field interface"),dataIndex:"interface",width:180,render:function(e,t,r){if(t.source){var o,a=null==u||null==(o=u.getFieldInterface)?void 0:o.call(u,e);return i().createElement(c.Tag,null,(0,f.h)((null==a?void 0:a.title)||e,n))}return i().createElement(c.Select,{allowClear:!0,popupMatchSelectWidth:!1,style:{width:"100%"},options:S.map(function(e){return{label:(0,f.h)(e.label,n),options:e.options.filter(function(e){var n;return!t.type||(null==(n=e.availableTypes)?void 0:n.includes(t.type))}).map(function(e){return{value:e.value,label:(0,f.h)(e.label,n)}})}}),value:e||void 0,onChange:function(e){var n,o,i,a,l,c,s=null==u||null==(n=u.getFieldInterface)?void 0:n.call(u,e);I(r,h(b({},t),{interface:e||null,type:(null==s||null==(o=s.default)?void 0:o.type)||t.type,uiSchema:h(b({},null==s||null==(i=s.default)?void 0:i.uiSchema),{title:(null==s||null==(l=s.default)||null==(a=l.uiSchema)?void 0:a.title)||(null==(c=t.uiSchema)?void 0:c.title)||t.name})}))}})}},{title:n("Field display name"),dataIndex:["uiSchema","title"],width:180,render:function(e,t,n){var r;return i().createElement(c.Input,{value:(null==(r=t.uiSchema)?void 0:r.title)||t.name,onChange:function(e){I(n,h(b({},t),{uiSchema:h(b({},F(t.uiSchema)),{title:e.target.value})}))}})}}];return r.loading?i().createElement(c.Spin,null):i().createElement(i().Fragment,null,i().createElement(c.Form.Item,{name:"fields",hidden:!0,rules:[{required:!0}]},i().createElement(c.Input,null)),y.length?i().createElement(c.Form.Item,{label:n("Fields"),required:!0,extra:n("Fields can only be used correctly if they are defined with an interface.")},i().createElement(c.Table,{bordered:!0,columns:E,dataSource:y,pagination:!1,rowKey:"name",scroll:{y:300}})):i().createElement(c.Form.Item,{label:n("Fields"),required:!0},i().createElement(c.Alert,{showIcon:!0,message:n("Please select a database view")})),(null==m?void 0:m.length)?i().createElement(c.Alert,{showIcon:!0,type:"warning",message:n("Unsupported fields"),description:m.map(function(e){return e.name}).join(", "),style:{marginBottom:24}}):null)}function M(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=c.Form.useWatch("viewName",e.form),u=c.Form.useWatch("schema",e.form),s=c.Form.useWatch("fields",e.form),d=(0,o.useMemo)(function(){return Array.isArray(s)?s:[]},[s]),p=v((0,o.useState)(!1),2),y=p[0],b=p[1],h=v((0,o.useState)([]),2),g=h[0],w=h[1],O=(0,o.useMemo)(function(){var e=["lineString","point","circle","polygon"];return JSON.stringify(d.reduce(function(t,n){return n.type&&e.includes(n.type)&&(t[n.name]=n.type),t},{}))},[d]),j=(0,o.useMemo)(function(){return d.filter(function(e){return e.source||e.interface}).map(function(e){var t;return{title:(0,f.h)((null==(t=e.uiSchema)?void 0:t.title)||e.name,n),dataIndex:e.name,key:e.name,width:200,ellipsis:!0,render:function(e){return null==e?null:(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"?JSON.stringify(e):String(e)}}})},[d,n]);return(0,o.useEffect)(function(){if(!r||!d.length)return void w([]);var e=!1;return m(function(){var n;return S(this,function(o){switch(o.label){case 0:b(!0),o.label=1;case 1:return o.trys.push([1,,3,4]),[4,t.api.resource("dbViews").query({filterByTk:r,schema:u||void 0,fieldTypes:JSON.parse(O)})];case 2:return n=o.sent(),e||w(k(n)),[3,4];case 3:return e||b(!1),[7];case 4:return[2]}})})(),function(){e=!0}},[t.api,O,d.length,u,r]),i().createElement(c.Form.Item,{label:n("Preview")},i().createElement(c.Spin,{spinning:y},i().createElement(c.Table,{bordered:!0,columns:j,dataSource:g,pagination:!1,rowKey:function(e,t){return String(null!=t?t:0)},scroll:{x:1e3,y:300}})))}function _(e){var t=b({},e);return delete t[j],Array.isArray(t.fields)&&(t.fields=t.fields.map(function(e){return h(b({},e),{source:A(e.source)})})),t}var q=n(448);function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function B(e,t,n,r,o,i,a){try{var l=e[i](a),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function N(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){B(i,r,o,a,l,"next",e)}function l(e){B(i,r,o,a,l,"throw",e)}a(void 0)})}}function R(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function V(e,t,n){return(V=H()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&G(o,n.prototype),o}).apply(null,arguments)}function W(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function $(e,t,n){return t&&W(e.prototype,t),n&&W(e,n),e}function K(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function U(e){return(U=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function L(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){K(e,t,n[t])})}return e}function J(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function G(e,t){return(G=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function z(e){return function(e){if(Array.isArray(e))return D(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e){if(e){if("string"==typeof e)return D(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return D(e,void 0)}}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Z(e){var t="function"==typeof Map?new Map:void 0;return(Z=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return V(e,arguments,U(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),G(n,e)})(e)}function H(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(H=function(){return!!e})()}function Q(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:u(0)}),l(a,"throw",{value:u(1)}),l(a,"return",{value:u(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var X=function(){function e(){R(this,e),K(this,"templates",new Map)}return $(e,[{key:"register",value:function(e,t){var n="string"==typeof e?J(L({},t),{name:(null==t?void 0:t.name)||e}):e;(null==n?void 0:n.name)&&this.templates.set(n.name,J(L({},n),{name:n.name}))}},{key:"get",value:function(e){return e?this.templates.get(e):void 0}},{key:"getAll",value:function(){return z(this.templates.values()).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})}}]),e}(),Y=function(){function e(){R(this,e),K(this,"fields",new Map)}return $(e,[{key:"register",value:function(e){var t,n=e.name||(null==(t=e.value)?void 0:t.name);n&&this.fields.set(n,J(L({},e),{name:n}))}},{key:"remove",value:function(e){this.fields.delete(e)}},{key:"getAll",value:function(){return z(this.fields.values()).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})}}]),e}(),ee=function(){function e(){R(this,e),K(this,"managerActions",[])}return $(e,[{key:"registerManagerAction",value:function(e){var t=e.order,n=e.component;this.managerActions.push({order:null!=t?t:0,component:n})}},{key:"getManagerActions",value:function(){return z(this.managerActions).sort(function(e,t){return e.order-t.order})}}]),e}(),et=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function t(){var e,n,r;return R(this,t),n=t,r=arguments,n=U(n),K(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,H()?Reflect.construct(n,r||[],U(this).constructor):n.apply(this,r)),"types",new Map),K(e,"extensionManager",new ee),K(e,"collectionTemplateRegistry",new X),K(e,"collectionPresetFieldRegistry",new Y),e}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&G(t,e),$(t,[{key:"load",value:function(){return N(function(){var e;return Q(this,function(t){return e=this,this.registerBuiltInCollectionPresetFields(),this.registerBuiltInCollectionTemplates(),this.dataSourceManager.registerLoader("*",function(){return N(function(){var e,t,n;return Q(this,function(r){switch(r.label){case 0:return[4,this.app.apiClient.request({resource:"dataSources",action:"listEnabled",params:{paginate:!1,appends:["collections"]}})];case 1:return n=(null==(t=r.sent())||null==(e=t.data)?void 0:e.data)||[],(0,q.b)(this.dataSourceManager,n),[2,{dataSources:n}]}})}).call(e)}),this.pluginSettingsManager.addMenuItem({key:a.Ji,title:this.t("Data sources"),icon:"ClusterOutlined",isPinned:!0,sort:100,showTabs:!1,aclSnippet:"pm.data-source-manager*"}),this.pluginSettingsManager.addPageTabItem({menuKey:a.Ji,key:"list",title:this.t("Data sources"),componentLoader:function(){return n.e("426").then(n.bind(n,649))},sort:1,aclSnippet:"pm.data-source-manager"}),this.pluginSettingsManager.addPageTabItem({menuKey:a.Ji,key:":name/collections",title:this.t("Collections"),componentLoader:function(){return n.e("167").then(n.bind(n,442))},hidden:!0,sort:2,aclSnippet:"pm.data-source-manager"}),[2]})}).call(this)}},{key:"registerType",value:function(e,t){this.types.set(e,J(L({},t),{name:t.name||e}))}},{key:"getType",value:function(e){return e?this.types.get(e):void 0}},{key:"registerFieldInterfaceConfigure",value:function(e){var t,n;null==(n=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=n.registerFieldInterfaceConfigure)||t.call(n,e)}},{key:"registerCollectionTemplate",value:function(e,t){this.collectionTemplateRegistry.register(e,t)}},{key:"registerCollectionPresetField",value:function(e){this.collectionPresetFieldRegistry.register(e)}},{key:"addCollectionPresetField",value:function(e){this.registerCollectionPresetField(e)}},{key:"removeCollectionPresetField",value:function(e){this.collectionPresetFieldRegistry.remove(e)}},{key:"getCollectionPresetFields",value:function(){return this.collectionPresetFieldRegistry.getAll()}},{key:"getCollectionTemplate",value:function(e){return this.collectionTemplateRegistry.get(e)}},{key:"getCollectionTemplates",value:function(){return this.collectionTemplateRegistry.getAll()}},{key:"registerBuiltInCollectionPresetFields",value:function(){this.registerCollectionPresetField({order:100,description:'{{t("Primary key, distributed uniqueness, time-ordering") }}',value:{name:"id",type:"snowflakeId",autoIncrement:!1,primaryKey:!0,allowNull:!1,uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-component-props":{stringMode:!0,separator:"0.00",step:"1"},"x-validator":"integer"},interface:"snowflakeId"}}),this.registerCollectionPresetField({order:200,description:'{{t("Store the creation time of each record")}}',value:{name:"createdAt",interface:"createdAt",type:"date",field:"createdAt",uiSchema:{type:"datetime",title:'{{t("Created at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:300,description:'{{t("Store the creation user of each record") }}',value:{name:"createdBy",interface:"createdBy",type:"belongsTo",target:"users",foreignKey:"createdById",uiSchema:{type:"object",title:'{{t("Created by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:400,description:'{{t("Store the last update time of each record")}}',value:{type:"date",field:"updatedAt",name:"updatedAt",interface:"updatedAt",uiSchema:{type:"datetime",title:'{{t("Last updated at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:500,description:'{{t("Store the last update user of each record")}}',value:{type:"belongsTo",target:"users",foreignKey:"updatedById",name:"updatedBy",interface:"updatedBy",uiSchema:{type:"object",title:'{{t("Last updated by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}}})}},{key:"registerBuiltInCollectionTemplates",value:function(){this.registerCollectionTemplate({name:"general",title:'{{t("General collection")}}',order:10,color:"blue",collection:{options:{template:"general"},fields:[]}}),this.registerCollectionTemplate({name:"view",title:'{{t("Connect to database view")}}',order:50,color:"yellow",divider:!0,collection:{options:{template:"view",view:!0},fields:[]},capabilities:{recordUniqueKey:!0,simplePaginate:!0},presetFields:{disabled:!0},fieldInterfaces:{create:{include:["m2o"]}},configure:{items:[{name:"databaseView",Component:I,required:!0},{name:"sources",Component:E},{name:"fields",Component:T,required:!0,hidden:function(e){return"edit"===e.mode}},{name:"preview",Component:M,hidden:function(e){return"edit"===e.mode}},{name:"writableView",label:'{{t("Allow add new, update and delete actions")}}',component:"Checkbox"}],transformSubmitValues:_}})}}]),t}(Z(r.Plugin)),en=et},143:function(e,t,n){n.d(t,{Ji:function(){return i},kj:function(){return a}});var r=n(694),o=JSON.parse('{"UU":"@nocobase/plugin-data-source-manager"}').UU,i="data-source-manager";function a(){var e=(0,r.useFlowEngine)();return function(t){return e.context.t(t,{ns:[o,"client"]})}}},448:function(e,t,n){n.d(t,{b:function(){return o},h:function(){return i}});var r=n(694);function o(e,t){e&&t.forEach(function(t){var n,o,i,a,l=(n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},t),o=o={key:t.key,use:"main"===t.key?void 0:r.DataSource},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(o)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(o,e))}),n);e.getDataSource(t.key)?null==(i=e.getDataSource(t.key))||i.patchOptions(l):e.addDataSource(l),Array.isArray(t.collections)&&(null==(a=e.getDataSource(t.key))||a.setCollections(t.collections,{clearFields:!0}))})}function i(e,t){e&&t.forEach(function(t){"main"!==String(t)&&e.removeDataSource(String(t))})}},938:function(e,t,n){n.d(t,{A:function(){return a},h:function(){return i}});var r=/^\s*\{\{\s*t\s*\(\s*(['"])(.*?)\1(?:\s*,[\s\S]*?)?\)\s*\}\}\s*$/,o=/\{\{\s*t\s*\(\s*(['"])(.*?)\1(?:\s*,[\s\S]*?)?\)\s*\}\}/g;function i(e,t){if("string"!=typeof e)return e;var n=e.match(r);return(null==n?void 0:n[2])?t(n[2]):e.replace(o,function(e,n,r){return t(r)})}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"-",r=i(e,t);return null==r||""===r?n:"string"==typeof r||"number"==typeof r||"boolean"==typeof r?String(r):n}},375:function(e){e.exports=l},799:function(e){e.exports=c},428:function(e){e.exports=r},485:function(e){e.exports=t},694:function(e){e.exports=u},768:function(e){e.exports=s},625:function(t){t.exports=e},59:function(e){e.exports=a},185:function(e){e.exports=o},773:function(e){e.exports=f},155:function(e){e.exports=i},61:function(e){e.exports=n}},v={};function g(e){var t=v[e];if(void 0!==t)return t.exports;var n=v[e]={exports:{}};return h[e](n,n.exports,g),n.exports}g.m=h,g.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return g.d(t,{a:t}),t},g.d=function(e,t){for(var n in t)g.o(t,n)&&!g.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},g.f={},g.e=function(e){return Promise.all(Object.keys(g.f).reduce(function(t,n){return g.f[n](e,t),t},[]))},g.u=function(e){return""+e+"."+({167:"6ab06b72d2505913",426:"33617eb1d6d668b5"})[e]+".js"},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},w={},g.l=function(e,t,n,r){if(w[e])return void w[e].push(t);if(void 0!==n)for(var o,i,a=document.getElementsByTagName("script"),l=0;l<a.length;l++){var u=a[l];if(u.getAttribute("src")==e||u.getAttribute("data-rspack")=="@nocobase/plugin-data-source-manager/client-v2:"+n){o=u;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,g.nc&&o.setAttribute("nonce",g.nc),o.setAttribute("data-rspack","@nocobase/plugin-data-source-manager/client-v2:"+n),o.src=e),w[e]=[t];var c=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=w[e];if(delete w[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(c.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=c.bind(null,o.onerror),o.onload=c.bind(null,o.onload),i&&document.head.appendChild(o)},g.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},g.g.importScripts&&(S=g.g.location+"");var w,S,O=g.g.document;if(!S&&O&&(O.currentScript&&"SCRIPT"===O.currentScript.tagName.toUpperCase()&&(S=O.currentScript.src),!S)){var j=O.getElementsByTagName("script");if(j.length)for(var k=j.length-1;k>-1&&(!S||!/^http(s?):/.test(S));)S=j[k--].src}if(!S)throw Error("Automatic publicPath is not supported in this browser");g.p=S.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),d={889:0},g.f.j=function(e,t){var n=g.o(d,e)?d[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=d[e]=[t,r]});t.push(n[2]=r);var o=g.p+g.u(e),i=Error();g.l(o,function(t){if(g.o(d,e)&&(0!==(n=d[e])&&(d[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,n[1](i)}},"chunk-"+e,e)}},p=function(e,t){var n,r,o=t[0],i=t[1],a=t[2],l=0;if(o.some(function(e){return 0!==d[e]})){for(n in i)g.o(i,n)&&(g.m[n]=i[n]);a&&a(g)}for(e&&e(t);l<o.length;l++)r=o[l],g.o(d,r)&&d[r]&&d[r][0](),d[r]=0},(m=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).forEach(p.bind(null,0)),m.push=p.bind(null,m.push.bind(m));var F={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/@nocobase/plugin-data-source-manager/dist/client-v2/")}if(!e){if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var r=window.location.pathname||"/",o=r.indexOf("/v2/");e=o>=0?r.slice(0,o+1):"/"}e&&(e=e.replace(/\/v2\/?$/,"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-data-source-manager/dist/client-v2/"}g.p=e}(),g.r(F),g.d(F,{PluginDataSourceManagerClientV2:function(){return y.v},compileLegacyTemplate:function(){return b.h},compileLegacyTemplateText:function(){return b.A},default:function(){return y.A}}),y=g(890),b=g(938),F}()});
@@ -7,5 +7,6 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  export declare const NAMESPACE: string;
10
+ export declare const DATA_SOURCE_MANAGER_SETTINGS_KEY = "data-source-manager";
10
11
  export declare function tExpr(key: string): string;
11
12
  export declare function useT(): (key: string) => string;
@@ -15,12 +15,45 @@ export interface DataSourceSettingsFormProps {
15
15
  initialValues?: Record<string, any>;
16
16
  loadCollections: (key: string) => Promise<any>;
17
17
  }
18
+ export interface DataSourceCollectionActionProps {
19
+ dataSourceKey: string;
20
+ record?: Record<string, any>;
21
+ selectedRowKeys?: React.Key[];
22
+ onSubmitted?: () => void;
23
+ children?: React.ReactNode;
24
+ isBulk?: boolean;
25
+ }
26
+ export interface DataSourceFieldInterfaceFilterOptions {
27
+ groups?: string[];
28
+ include?: string[];
29
+ exclude?: string[];
30
+ }
31
+ export interface DataSourceFieldInterfaceReadOnlyContext {
32
+ collection: Record<string, unknown>;
33
+ field: Record<string, unknown>;
34
+ fieldInterface?: {
35
+ name?: string;
36
+ group?: string;
37
+ isAssociation?: boolean;
38
+ };
39
+ }
18
40
  export interface DataSourceTypeOptions {
19
41
  name?: string;
20
42
  label?: React.ReactNode;
21
43
  defaultValues?: Record<string, any>;
44
+ createFieldInterfaces?: DataSourceFieldInterfaceFilterOptions | ((context: {
45
+ collection: Record<string, any>;
46
+ }) => DataSourceFieldInterfaceFilterOptions | undefined);
22
47
  disableAddFields?: boolean;
48
+ disableConfigureFields?: boolean;
23
49
  disableTestConnection?: boolean;
50
+ AddCollection?: ComponentType<DataSourceCollectionActionProps>;
51
+ EditCollection?: ComponentType<DataSourceCollectionActionProps>;
52
+ DeleteCollection?: ComponentType<DataSourceCollectionActionProps>;
53
+ allowCollectionCreate?: boolean;
54
+ allowCollectionDeletion?: boolean;
55
+ isFieldInterfaceReadOnly?: (context: DataSourceFieldInterfaceReadOnlyContext) => boolean | undefined;
56
+ normalizeValues?: (values: Record<string, any>) => Record<string, any>;
24
57
  SettingsForm?: ComponentType<DataSourceSettingsFormProps>;
25
58
  }
26
59
  export interface CollectionPresetFieldOptions {
@@ -46,6 +79,18 @@ export interface CollectionTemplateFormProps {
46
79
  export interface CollectionTemplateConfigureItemProps extends CollectionTemplateFormProps {
47
80
  item: CollectionTemplateConfigureItem;
48
81
  }
82
+ export interface CollectionTemplateSyncFieldsProps {
83
+ collection: Record<string, any>;
84
+ dataSourceKey: string;
85
+ onSubmitted: () => void;
86
+ }
87
+ export interface CollectionTemplateSyncFieldsOptions {
88
+ Component?: ComponentType<CollectionTemplateSyncFieldsProps>;
89
+ visible?: boolean | ((props: {
90
+ collection: Record<string, any>;
91
+ dataSourceKey: string;
92
+ }) => boolean);
93
+ }
49
94
  export interface CollectionTemplateConfigureItem {
50
95
  name?: string;
51
96
  label?: React.ReactNode;
@@ -77,6 +122,7 @@ export interface CollectionTemplateOptions {
77
122
  configure?: {
78
123
  items?: CollectionTemplateConfigureItem[];
79
124
  Form?: ComponentType<CollectionTemplateFormProps>;
125
+ syncFields?: CollectionTemplateSyncFieldsOptions;
80
126
  transformSubmitValues?: (values: Record<string, any>) => Record<string, any> | void;
81
127
  };
82
128
  fieldInterfaces?: {
@@ -8,18 +8,18 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/client": "2.1.0-beta.42",
11
+ "@nocobase/client": "2.1.0-beta.44",
12
12
  "react": "18.2.0",
13
- "@nocobase/plugin-acl": "2.1.0-beta.42",
14
- "@nocobase/utils": "2.1.0-beta.42",
15
- "@nocobase/flow-engine": "2.1.0-beta.42",
16
- "@nocobase/client-v2": "2.1.0-beta.42",
17
- "@nocobase/ai": "2.1.0-beta.42",
18
- "@nocobase/server": "2.1.0-beta.42",
19
- "@nocobase/data-source-manager": "2.1.0-beta.42",
13
+ "@nocobase/plugin-acl": "2.1.0-beta.44",
14
+ "@nocobase/utils": "2.1.0-beta.44",
15
+ "@nocobase/flow-engine": "2.1.0-beta.44",
16
+ "@nocobase/client-v2": "2.1.0-beta.44",
17
+ "@nocobase/ai": "2.1.0-beta.44",
18
+ "@nocobase/server": "2.1.0-beta.44",
19
+ "@nocobase/data-source-manager": "2.1.0-beta.44",
20
20
  "lodash": "4.18.1",
21
- "@nocobase/acl": "2.1.0-beta.42",
22
- "@nocobase/database": "2.1.0-beta.42",
21
+ "@nocobase/acl": "2.1.0-beta.44",
22
+ "@nocobase/database": "2.1.0-beta.44",
23
23
  "@ant-design/icons": "5.6.1",
24
24
  "antd": "5.24.2",
25
25
  "react-router-dom": "6.30.1",
@@ -28,9 +28,9 @@ module.exports = {
28
28
  "react-i18next": "11.18.6",
29
29
  "@emotion/css": "11.13.0",
30
30
  "ahooks": "3.7.8",
31
- "@nocobase/actions": "2.1.0-beta.42",
31
+ "@nocobase/actions": "2.1.0-beta.44",
32
32
  "sequelize": "6.35.2",
33
- "@nocobase/test": "2.1.0-beta.42",
33
+ "@nocobase/test": "2.1.0-beta.44",
34
34
  "@formily/antd-v5": "1.2.3",
35
35
  "@formily/core": "2.3.7",
36
36
  "@formily/reactive": "2.3.7",
@@ -24,6 +24,7 @@
24
24
  "Category name": "Category name",
25
25
  "Color": "Color",
26
26
  "Collection category": "Collection category",
27
+ "Configure": "Configure",
27
28
  "Configure fields": "Configure fields",
28
29
  "Collections": "Collections",
29
30
  "Comparison": "Comparison",
@@ -44,6 +45,7 @@
44
45
  "Data source display name": "Data source display name",
45
46
  "Data source manager": "Data source manager",
46
47
  "Data source name": "Data source name",
48
+ "Data source synchronization failed": "Data source synchronization failed",
47
49
  "Data source synchronization in progress": "Data source synchronization in progress",
48
50
  "Data source synchronization successful": "Data source synchronization successful",
49
51
  "Data sources": "Data sources",
@@ -24,6 +24,7 @@
24
24
  "Category name": "分类名称",
25
25
  "Color": "颜色",
26
26
  "Collection category": "数据表类别",
27
+ "Configure": "配置",
27
28
  "Configure fields": "配置字段",
28
29
  "Collections": "数据表",
29
30
  "Comparison": "比较",
@@ -44,6 +45,7 @@
44
45
  "Data source display name": "数据源名称",
45
46
  "Data source manager": "数据源管理",
46
47
  "Data source name": "数据源标识",
48
+ "Data source synchronization failed": "数据源同步失败",
47
49
  "Data source synchronization in progress": "数据源同步中",
48
50
  "Data source synchronization successful": "数据源同步成功",
49
51
  "Data sources": "数据源",
@@ -1 +1 @@
1
- {"name":"zod","version":"4.3.5","type":"module","license":"MIT","author":"Colin McDonnell <zod@colinhacks.com>","description":"TypeScript-first schema declaration and validation library with static type inference","homepage":"https://zod.dev","llms":"https://zod.dev/llms.txt","llmsFull":"https://zod.dev/llms-full.txt","mcpServer":"https://mcp.inkeep.com/zod/mcp","funding":"https://github.com/sponsors/colinhacks","sideEffects":false,"files":["src","**/*.js","**/*.mjs","**/*.cjs","**/*.d.ts","**/*.d.mts","**/*.d.cts","**/package.json"],"keywords":["typescript","schema","validation","type","inference"],"main":"./index.cjs","types":"./index.d.cts","module":"./index.js","zshy":{"exports":{"./package.json":"./package.json",".":"./src/index.ts","./mini":"./src/mini/index.ts","./locales":"./src/locales/index.ts","./v3":"./src/v3/index.ts","./v4":"./src/v4/index.ts","./v4-mini":"./src/v4-mini/index.ts","./v4/mini":"./src/v4/mini/index.ts","./v4/core":"./src/v4/core/index.ts","./v4/locales":"./src/v4/locales/index.ts","./v4/locales/*":"./src/v4/locales/*"},"conditions":{"@zod/source":"src"}},"exports":{"./package.json":"./package.json",".":{"@zod/source":"./src/index.ts","types":"./index.d.cts","import":"./index.js","require":"./index.cjs"},"./mini":{"@zod/source":"./src/mini/index.ts","types":"./mini/index.d.cts","import":"./mini/index.js","require":"./mini/index.cjs"},"./locales":{"@zod/source":"./src/locales/index.ts","types":"./locales/index.d.cts","import":"./locales/index.js","require":"./locales/index.cjs"},"./v3":{"@zod/source":"./src/v3/index.ts","types":"./v3/index.d.cts","import":"./v3/index.js","require":"./v3/index.cjs"},"./v4":{"@zod/source":"./src/v4/index.ts","types":"./v4/index.d.cts","import":"./v4/index.js","require":"./v4/index.cjs"},"./v4-mini":{"@zod/source":"./src/v4-mini/index.ts","types":"./v4-mini/index.d.cts","import":"./v4-mini/index.js","require":"./v4-mini/index.cjs"},"./v4/mini":{"@zod/source":"./src/v4/mini/index.ts","types":"./v4/mini/index.d.cts","import":"./v4/mini/index.js","require":"./v4/mini/index.cjs"},"./v4/core":{"@zod/source":"./src/v4/core/index.ts","types":"./v4/core/index.d.cts","import":"./v4/core/index.js","require":"./v4/core/index.cjs"},"./v4/locales":{"@zod/source":"./src/v4/locales/index.ts","types":"./v4/locales/index.d.cts","import":"./v4/locales/index.js","require":"./v4/locales/index.cjs"},"./v4/locales/*":{"@zod/source":"./src/v4/locales/*","types":"./v4/locales/*","import":"./v4/locales/*","require":"./v4/locales/*"}},"repository":{"type":"git","url":"git+https://github.com/colinhacks/zod.git"},"bugs":{"url":"https://github.com/colinhacks/zod/issues"},"support":{"backing":{"npm-funding":true}},"scripts":{"clean":"git clean -xdf . -e node_modules","build":"zshy --project tsconfig.build.json","postbuild":"tsx ../../scripts/write-stub-package-jsons.ts && pnpm biome check --write .","test:watch":"pnpm vitest","test":"pnpm vitest run","prepublishOnly":"tsx ../../scripts/check-versions.ts"},"_lastModified":"2026-06-01T01:05:20.052Z"}
1
+ {"name":"zod","version":"4.3.5","type":"module","license":"MIT","author":"Colin McDonnell <zod@colinhacks.com>","description":"TypeScript-first schema declaration and validation library with static type inference","homepage":"https://zod.dev","llms":"https://zod.dev/llms.txt","llmsFull":"https://zod.dev/llms-full.txt","mcpServer":"https://mcp.inkeep.com/zod/mcp","funding":"https://github.com/sponsors/colinhacks","sideEffects":false,"files":["src","**/*.js","**/*.mjs","**/*.cjs","**/*.d.ts","**/*.d.mts","**/*.d.cts","**/package.json"],"keywords":["typescript","schema","validation","type","inference"],"main":"./index.cjs","types":"./index.d.cts","module":"./index.js","zshy":{"exports":{"./package.json":"./package.json",".":"./src/index.ts","./mini":"./src/mini/index.ts","./locales":"./src/locales/index.ts","./v3":"./src/v3/index.ts","./v4":"./src/v4/index.ts","./v4-mini":"./src/v4-mini/index.ts","./v4/mini":"./src/v4/mini/index.ts","./v4/core":"./src/v4/core/index.ts","./v4/locales":"./src/v4/locales/index.ts","./v4/locales/*":"./src/v4/locales/*"},"conditions":{"@zod/source":"src"}},"exports":{"./package.json":"./package.json",".":{"@zod/source":"./src/index.ts","types":"./index.d.cts","import":"./index.js","require":"./index.cjs"},"./mini":{"@zod/source":"./src/mini/index.ts","types":"./mini/index.d.cts","import":"./mini/index.js","require":"./mini/index.cjs"},"./locales":{"@zod/source":"./src/locales/index.ts","types":"./locales/index.d.cts","import":"./locales/index.js","require":"./locales/index.cjs"},"./v3":{"@zod/source":"./src/v3/index.ts","types":"./v3/index.d.cts","import":"./v3/index.js","require":"./v3/index.cjs"},"./v4":{"@zod/source":"./src/v4/index.ts","types":"./v4/index.d.cts","import":"./v4/index.js","require":"./v4/index.cjs"},"./v4-mini":{"@zod/source":"./src/v4-mini/index.ts","types":"./v4-mini/index.d.cts","import":"./v4-mini/index.js","require":"./v4-mini/index.cjs"},"./v4/mini":{"@zod/source":"./src/v4/mini/index.ts","types":"./v4/mini/index.d.cts","import":"./v4/mini/index.js","require":"./v4/mini/index.cjs"},"./v4/core":{"@zod/source":"./src/v4/core/index.ts","types":"./v4/core/index.d.cts","import":"./v4/core/index.js","require":"./v4/core/index.cjs"},"./v4/locales":{"@zod/source":"./src/v4/locales/index.ts","types":"./v4/locales/index.d.cts","import":"./v4/locales/index.js","require":"./v4/locales/index.cjs"},"./v4/locales/*":{"@zod/source":"./src/v4/locales/*","types":"./v4/locales/*","import":"./v4/locales/*","require":"./v4/locales/*"}},"repository":{"type":"git","url":"git+https://github.com/colinhacks/zod.git"},"bugs":{"url":"https://github.com/colinhacks/zod/issues"},"support":{"backing":{"npm-funding":true}},"scripts":{"clean":"git clean -xdf . -e node_modules","build":"zshy --project tsconfig.build.json","postbuild":"tsx ../../scripts/write-stub-package-jsons.ts && pnpm biome check --write .","test:watch":"pnpm vitest","test":"pnpm vitest run","prepublishOnly":"tsx ../../scripts/check-versions.ts"},"_lastModified":"2026-06-03T13:56:39.654Z"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-data-source-manager",
3
- "version": "2.1.0-beta.42",
3
+ "version": "2.1.0-beta.44",
4
4
  "main": "dist/server/index.js",
5
5
  "displayName": "Data source manager",
6
6
  "displayName.ru-RU": "Менеджер управления источниками данных",
@@ -22,6 +22,6 @@
22
22
  "keywords": [
23
23
  "Data model tools"
24
24
  ],
25
- "gitHead": "619b4d06c934bf3266ba7f388438db018217c87d",
25
+ "gitHead": "540d4897b1696cc24c0754521b0b766978b4933c",
26
26
  "license": "Apache-2.0"
27
27
  }
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).push([["167"],{442:function(e,t,n){n.r(t),n.d(t,{default:function(){return tp}});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 b(e){return(null==e?void 0:e.fieldInterfaces)||(null==e?void 0:e.availableFieldInterfaces)}function g(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=b(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?g(a,e.name):(null==r?void 0:r.databaseDialect)==="postgres":"boolean"!=typeof n[e.name]||n[e.name]:u?g(a,e.name):!i.includes(e.name)})}function S(e,t){var n=(b(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?g(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),k=n.n(C),F=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)||R(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function 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)||R(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(e,t){if(e){if("string"==typeof e)return 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 V(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 K=/^[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,F.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.h)(null!=(n=e.label)?n:e.value,t)}:{value:e,label:String(e)}}):[]}function Y(e,t){t.forEach(function(t){void 0===(0,F.get)(e,t.name)&&void 0!==t.defaultValue&&(0,F.set)(e,t.name,function(e){if("string"!=typeof e)return(0,F.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,F.get)(t,e)},setValue:function(t,n){(0,F.get)(e.getFieldsValue(!0),t)!==n&&e.setFieldValue(q(t),n)}}}function ee(e,t,n){if(t)return(0,F.cloneDeep)(t);var l=M(T({name:(0,r.randomId)("f_")},(0,F.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,F.set)(l,"name","__collection"),(0,F.set)(l,"uiSchema.title",(0,s.A)((0,F.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)}),b=[{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:b,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=k()(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),b=void 0===y?"date":y,g=n.showTime,h=n.timeFormat,S=(n.utc,D(n,["dateFormat","dateOnly","format","gmt","picker","showTime","timeFormat","utc"])),E=v||m||(0,p.getPickerFormat)(b),w=g?"".concat(E," ").concat(void 0===h?"HH:mm:ss":h):E;return i().createElement(a.DatePicker,T({style:{width:"100%"},disabled:r,picker:b,showTime:!f&&g,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,k=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)}},k))}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",b=(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]),g=new Set(v.map(function(e){return e.name})),h=b.filter(function(e){return!g.has(e.key)}).map(function(e){return{key:e.key,label:(0,s.h)(e.label,t)}}),S=(0,o.useCallback)(function(e){return b.find(function(t){return t.key===e})},[b]),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]),F=(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.h)(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.h)(e.label,t),value:e.value}}),onChange:u}):"inputNumber"===n.componentType?i().createElement(a.InputNumber,{style:{width:"100%"},value:o,onChange:u}):"datePicker"===n.componentType?i().createElement(a.DatePicker,{style:{width:"100%"},value:o?k()(o):null,onChange:function(e){return u(null==e?void 0:e.toISOString())}}):i().createElement(a.Input,{value:o,onChange:function(e){return u(e.target.value)}})},[t,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.h)((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.h)(n.label,t),required:!!n.required,style:{marginBottom:0}},F(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:k()().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?k()().format(l):null}));if(e.picker&&"date"!==e.picker)return null;var n=String(t.value);return i().createElement(a.Radio,{key:n,value:t.value,"aria-label":n,style:{display:"flex",margin:"5px 0"}},i().isValidElement(t.label)?t.label:i().createElement(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.h)((null==n?void 0:n.title)||t,l))),(null==n?void 0:n.description)?i().createElement("div",{style:d.description},(0,s.h)(n.description,l)):null)}function em(e,t){return e.map(function(e){return{value:e.name,label:(0,s.h)(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"],b=y?null==l?void 0:l[y]:void 0,g=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)(),k=(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,k),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"],k),A=!!I.hidden||H(null==p?void 0:p["x-hidden"],k)||(null==p?void 0:p["x-visible"])!==void 0&&!H(null==p?void 0:p["x-visible"],k)||m.startsWith("reverseField.")&&!k.showReverseFieldConfig,P=null==p?void 0:p.title,R=null==p?void 0:p["x-content"],V=(0,s.h)(P||R||m,t),K=(0,s.h)(R||P||m,t),N=!!P&&!!R&&P!==R,$=(0,s.h)(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===g}),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,F.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:V,tooltip:$,rules:(null==p?void 0:p.required)?[{required:!0}]:void 0},i().createElement(ea,{component:y,componentProps:U,disabled:O,options:Q}))}if(b)return i().createElement(b,{name:m,namePath:v,schema:p,form:d,disabled:O,collection:n,collections:r,context:k,title:V,tooltip:$,componentProps:U,mode:u.createOnly?"create":"edit",fieldInterface:e.fieldInterface});if("Checkbox"===y)return N?i().createElement(a.Form.Item,{name:v,label:V,valuePropName:"checked",tooltip:$,rules:(null==p?void 0:p.required)?[{required:!0}]:void 0},i().createElement(a.Checkbox,{disabled:O},K)):i().createElement(a.Form.Item,{name:v,valuePropName:"checked",tooltip:$},i().createElement(a.Checkbox,{disabled:O},K));if("Space"===y&&(null==p?void 0:p.properties))return i().createElement(a.Form.Item,{label:V,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"],k),u=(0,s.h)((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:V,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:V,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.h)((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.h)((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:V,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:V,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:V,tooltip:$},i().createElement(er,{name:v,disabled:O})):"FieldValidation"===y?i().createElement(a.Form.Item,{name:v,label:V,tooltip:$},i().createElement(ei,(null==p?void 0:p["x-component-props"])||{})):"Input.TextArea"===y?i().createElement(a.Form.Item,{name:v,label:V,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:V,tooltip:$},i().createElement(a.Input,{disabled:!0,value:(0,s.A)(n.title||n.name,t)})):i().createElement(a.Form.Item,{name:v,label:V,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,F.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.h)(e.item.title,r),tooltip:(0,s.h)(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 eb(e){var t,n,l,u,d,m,p,b=(0,c.kj)(),g=(0,r.useFlowContext)(),E=a.App.useApp().notification,w=(0,f.useCurrentAppInfo)(),C=g.dataSourceManager.collectionFieldInterfaceManager,k=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)(),R=g.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==R||null==(t=R.options)?void 0:t.type,(null==(l=g.dataSourceManager.collectionFieldInterfaceManager)||null==(r=l.getFieldInterfaces)?void 0:r.call(l,n))||[]),e.collection,g,e.mode,q)},[q,g,null==R||null==(u=R.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.h)((null==J?void 0:J.title)||G||"-",b),H=(0,s.A)((null==J?void 0:J.title)||G||"-",b),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,b);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,F.get)(t,"source")&&(0,F.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,b]),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,F.cloneDeep)(ec),ef.current=(0,F.cloneDeep)(ec),k.resetFields(),k.setFieldsValue(ec))},[k,ec,es]);var ev=a.Form.useWatch([],k)||k.getFieldsValue(!0),eb=(0,o.useMemo)(function(){return JSON.stringify(ev)},[ev]);(0,o.useEffect)(function(){if(ep.current){var e=ep.current;if((0,F.get)(ev,"name")!==(0,F.get)(e,"name")||(0,F.get)(ev,"interface")!==(0,F.get)(e,"interface")||(0,F.get)(ev,"type")!==(0,F.get)(e,"type"))return;ep.current=void 0,ef.current=(0,F.cloneDeep)(ev),(0,f.runCoreFieldConfigureEffects)(Q(k,ev,em));return}var t=ef.current||{};if(!ef.current){ef.current=(0,F.cloneDeep)(ev),(0,f.runCoreFieldConfigureEffects)(Q(k,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,F.get)(t,e)!==(0,F.get)(ev,e)});ef.current=(0,F.cloneDeep)(ev),(0,f.runCoreFieldConfigureEffects)(Q(k,ev,em,n))},[em,k,ev,eb]),(0,o.useEffect)(function(){if(ei){var t=!1;return O(function(){var n;return V(this,function(r){switch(r.label){case 0:return[4,g.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}}},[g.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 eg=(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=k.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,b);Y(i,(null==a?void 0:a.items)||[]),((null==l?void 0:l.isAssociation)||(null==a?void 0:a.isAssociation))&&!(0,F.get)(i,"source")&&(0,F.set)(i,"source",e.collection.name),o&&(0,F.set)(i,"uiSchema.title",o);var u=k.getFieldValue("name");k.isFieldTouched("name")&&u?(0,F.set)(i,"name",u):(D.current||(D.current=i.name||(0,r.randomId)("f_")),(0,F.set)(i,"name",D.current)),P.current=en({mode:e.mode,dataSourceKey:e.dataSourceKey,collectionName:e.collection.name,interfaceName:t}),$(t),k.resetFields(),k.setFieldsValue(i)},[C,B,k,e.collection,e.dataSourceKey,e.mode,b]),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,F.cloneDeep)(a);return o.autoCreateReverseField?(0,F.get)(o,"reverseField.uiSchema.title")||(0,F.set)(o,"reverseField.uiSchema.title",(0,F.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 V(this,function(c){switch(c.label){case 0:return c.trys.push([0,8,9,10]),l=k.getFieldsValue(!0),"create"===e.mode&&!k.isFieldTouched("name")&&function(e,t){var n=null==e?void 0:e.name;if(!n)return!0;var r=(0,F.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_")),k.setFieldValue("name",D.current)),[4,k.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,g.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,g.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=g.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=b("Submit failed"),"string"==typeof(f=(null==(m=(0,F.get)(u,"response.data.errors"))?void 0:m.map(function(e){return e.message}).filter(Boolean).join("\n"))||(0,F.get)(u,"response.data.message")||(0,F.get)(u,"message"))&&f?f:d)}),u;case 9:return A(!1),[7];case 10:return[2]}})})()},[W,g.api,g.dataSourceManager,J,H,k,eh,E,e,b]),eE=(0,s.A)((0,F.get)(e.collection,"title")||e.collection.name,b),ew="".concat(eE," - ").concat("create"===e.mode?b("Add field"):b("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:b("Submit"),cancelText:b("Cancel")},i().createElement(a.Form,{form:k,layout:"vertical",initialValues:ec,autoComplete:"off"},i().createElement(ed,{fieldInterface:J,label:b("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:b("Field interface"),rules:[{required:!0}]},i().createElement(a.Select,{options:B.map(function(e){return{value:e.name,label:(0,s.h)(e.title||e.name,b)}}),onChange:eg})),i().createElement(a.Form.Item,{name:["uiSchema","title"],label:b("Field display name"),rules:[{required:!0}]},i().createElement(a.Input,{autoComplete:"off"})),i().createElement(a.Form.Item,{name:"name",label:b("Field name"),rules:[{required:!0},{pattern:"tableoid"===G?/^__collection$/:K,message:b(N)},{validator:function(t,n){return"edit"!==e.mode&&n&&eC.has(n)?Promise.reject(Error(b("Field name already exists"))):Promise.resolve()}}],extra:b(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:k,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:b("Description")},i().createElement(a.Input.TextArea,{autoSize:{minRows:4,maxRows:8}}))))}var eg=n(978);function eh(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 eS(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 eE(e){return function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){eS(a,r,l,o,i,"next",e)}function i(e){eS(a,r,l,o,i,"throw",e)}o(void 0)})}}function ew(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function eC(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){ew(e,t,n[t])})}return e}function ek(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function eF(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,l=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var a=[],o=!0,i=!1;try{for(l=l.call(e);!(o=(n=l.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw r}}return a}}(e,t)||ex(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 eI(e){return function(e){if(Array.isArray(e))return eh(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ex(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 ex(e,t){if(e){if("string"==typeof e)return eh(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 eh(e,t)}}function eO(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 eA={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}},eT=new Set(["obo","oho","o2m","m2o","m2m","o2o"]),eM=new Set(["snowflakeId","createdAt","createdBy","updatedAt","updatedBy"]);function eD(e,t){var n,r=e.dataSourceManager.collectionFieldInterfaceManager;return(null==r||null==(n=r.getFieldInterfaces)?void 0:n.call(r,t))||[]}function ej(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 eP(e,t){return(null==e?void 0:e.title)||(null==e?void 0:e.label)||t||(null==e?void 0:e.name)}function eR(e){return"sql"===e.template}function eV(e){return"view"===e.template||e.view}function eq(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 eN(e){var t=eK(e);return t.length?t.join("."):null}function eB(e){var t,n=(0,c.kj)(),l=(0,r.useFlowContext)(),u=a.App.useApp().message,d=eF(a.Form.useForm(),1)[0],m=eF((0,o.useState)([]),2),p=m[0],v=m[1],y=eF((0,o.useState)(!1),2),b=y[0],g=y[1],h=eF((0,o.useState)([]),2),S=h[0],E=h[1],w=eF((0,o.useState)(!1),2),C=w[0],k=w[1],F=eF((0,o.useState)(!1),2),I=F[0],x=F[1],O=eF((0,o.useState)([]),2),A=O[0],T=O[1],M=eF((0,o.useState)([]),2),D=M[0],j=M[1],P=l.dataSourceManager.getDataSource("main"),R=(t=e.collection).viewName||t.name,V=(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.h)((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.h)(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.h)((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]),K=(0,o.useCallback)(function(t){return eE(function(){var n,r,a,o;return eO(this,function(i){switch(i.label){case 0:k(!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:R,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 k(!1),[7];case 4:return[2]}})})()},[l.api,e.collection.schema,R]);(0,o.useEffect)(function(){var t=!1;return eE(function(){var n,r,a,o;return eO(this,function(i){switch(i.label){case 0:g(!0),i.label=1;case 1:return i.trys.push([1,,4,5]),[4,l.api.resource("dbViews").get({filterByTk:R,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=ek(eC({},eq(o),eq(l.uiSchema||e.uiSchema)),{title:i});return e.source?ek(eC({},e),{interface:e.interface||l.interface,type:e.type||l.type,uiSchema:u}):ek(eC({},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 ek(eC({},e),{source:eN(e.source)})}),schema:e.collection.schema,sources:o,viewName:R}),[4,K(a)];case 3:return i.sent(),[3,5];case 4:return t||g(!1),[7];case 5:return[2]}})})(),function(){t=!0}},[l.api,d,K,e.collection.schema,e.currentFields,e.fieldInterfacesByName,R]);var N=(0,o.useCallback)(function(e,t){var n=eI(p);n[e]=t,v(n),d.setFieldValue("fields",n.map(function(e){return ek(eC({},e),{source:eN(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:V,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,ek(eC({},t),{interface:(null==i?void 0:i.interface)||t.interface,source:o,type:(null==i?void 0:i.type)||t.type,uiSchema:ek(eC({},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,ek(eC({},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.h)(eP(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.h)(e.label,n),options:e.options.map(function(e){return{value:e.value,label:(0,s.h)(e.label,n)}})}}),onChange:function(t){var n,a,o,i,u,c=e.fieldInterfacesByName[t];N(l,ek(eC({},r),{interface:t||null,type:(null==c||null==(n=c.default)?void 0:n.type)||r.type,uiSchema:ek(eC({},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,ek(eC({},t),{uiSchema:ek(eC({},eq(t.uiSchema)),{title:e.target.value})}))}})}}]},[N,P,e.fieldInterfaceGroups,e.fieldInterfacesByName,V,n]),z=(0,o.useCallback)(function(){return eE(function(){var t,r;return eO(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:b},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 ez(e){var t=(0,c.kj)(),n=(0,r.useFlowContext)(),l=a.App.useApp().message,u=eF(a.Form.useForm(),1)[0],s=eF((0,o.useState)(!1),2),d=s[0],m=s[1],p=(0,eg.fT)();(0,o.useEffect)(function(){u.setFieldsValue(e.collection)},[u,e.collection]),(0,o.useEffect)(function(){var r=!1;return eE(function(){var l,a,o,i,c,s;return eO(this,function(d){switch(d.label){case 0:if(!(l=e.collection.sql))return[2];d.label=1;case 1:return d.trys.push([1,3,,4]),[4,n.api.resource("sqlCollection").execute({values:{sql:l}})];case 2:if(a=d.sent(),r)return[2];return o=(0,eg.hK)(a),i=e.collection.sources||[],c=e.collection.fields||[],u.setFieldsValue(ew({sources:Array.from(new Set(eI(Array.isArray(i)?i:[]).concat(eI(Array.isArray(o.sources)?o.sources:[])))),fields:(0,eg.gt)({currentFields:Array.isArray(c)?c:[],manager:n.dataSourceManager.collectionFieldInterfaceManager,preview:o})},p,o)),[3,4];case 3:var m,f,v,y;return s=d.sent(),r||u.setFieldValue(p,{error:(m=t("SQL error"),(null==s||null==(y=s.response)||null==(v=y.data)||null==(f=v.errors)?void 0:f.map(function(e){return e.message}).filter(Boolean).join("\n"))||(null==s?void 0:s.message)||m)}),[3,4];case 4:return[2]}})})(),function(){r=!0}},[n.api,n.dataSourceManager.collectionFieldInterfaceManager,u,p,e.collection,t]);var v=(0,o.useCallback)(function(){return eE(function(){var r,a;return eO(this,function(o){switch(o.label){case 0:return[4,u.validateFields()];case 1:r=o.sent(),m(!0),o.label=2;case 2:return o.trys.push([2,,5,6]),[4,n.api.resource("sqlCollection").setFields({filterByTk:e.collection.name,values:{fields:r.fields,sources:r.sources}})];case 3:return o.sent(),[4,null==(a=n.dataSourceManager.getDataSource("main"))?void 0:a.reload()];case 4:return o.sent(),e.onSubmitted(),l.success(t("Sync successfully")),[3,6];case 5:return m(!1),[7];case 6:return[2]}})})()},[n.api,n.dataSourceManager,u,l,e,t]);return i().createElement(f.DrawerFormLayout,{title:t("Sync from database"),submitting:d,submitText:t("Submit"),cancelText:t("Cancel"),onSubmit:v},i().createElement(a.Form,{form:u,layout:"vertical",initialValues:e.collection},i().createElement(eg.uT,{form:u,mode:"edit",template:{title:"",name:"sql"},item:{}}),i().createElement(eg.J6,{form:u,mode:"edit",template:{title:"",name:"sql"},item:{}}),i().createElement(eg.eA,{form:u,mode:"edit",template:{title:"",name:"sql"},item:{}})))}function eL(e){var t,n,u,m,p,b,g,h,E,w,C,k,F=(0,c.kj)(),I=(0,r.useFlowContext)(),x=(0,f.useCurrentAppInfo)(),O=a.App.useApp(),A=O.message,T=O.modal,M=eF((0,o.useState)([]),2),D=M[0],j=M[1],P=eF((0,o.useState)(e.collection.titleField),2),R=P[0],V=P[1],q=eF((0,o.useState)(),2),K=q[0],N=q[1],B=eF((0,o.useState)(!1),2),z=B[0],L=B[1],_=(0,l.useRequest)(function(){return eE(function(){return eO(this,function(t){switch(t.label){case 0:return[4,I.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(){V(e.collection.titleField)},[e.collection.titleField]);var G=I.dataSourceManager.getDataSource(e.dataSourceKey),$=(null==x||null==(t=x.database)?void 0:t.dialect)||(null==x||null==(u=x.data)||null==(n=u.database)?void 0:n.dialect),U=(0,o.useMemo)(function(){var e,t,n,r,l,a,o;return t=null==G||null==(e=G.options)?void 0:e.type,r=I.dataSourceManager.collectionFieldInterfaceManager,l=eD(I,t),a=eC({},eA,(null==r||null==(n=r.getFieldInterfaceGroups)?void 0:n.call(r))||{}),o=l.reduce(function(e,t){if(t.hidden)return e;var n=t.group||"basic";return e[n]=e[n]||[],e[n].push(t),e},{}),Object.keys(a).map(function(e){return ek(eC({},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)})},[I,null==G||null==(w=G.options)?void 0:w.type]),W=(0,o.useMemo)(function(){var t,n,r,l,a,o;return t=e.collection,n=U.map(function(e){return ek(eC({},e),{children:ej(e.children,t,I,$)})}).filter(function(e){return e.children.length}),r=e.collection,o=null==(a=I.app.pm.get(v.v))||null==(l=a.getCollectionTemplate)?void 0:l.call(a,r.template||"general"),n.map(function(e){return ek(eC({},e),{children:S(e.children,o)})}).filter(function(e){return e.children.length})},[U,$,I,e.collection]),J=(0,o.useMemo)(function(){var t;return ej(eD(I,null==G||null==(t=G.options)?void 0:t.type),e.collection,I,$).reduce(function(e,t){return e[t.name]=t,e},{})},[$,I,null==G||null==(C=G.options)?void 0:C.type,e.collection]),X=(0,o.useCallback)(function(t,n,r){I.viewer.drawer({width:800,closable:!0,content:function(){return i().createElement(eb,{mode:t,dataSourceKey:e.dataSourceKey,collection:e.collection,interfaceName:r,field:n,onSubmitted:function(){return _.refresh()}})}})},[I.viewer,e.collection,e.dataSourceKey,_]),H=(0,o.useMemo)(function(){return{style:{maxHeight:"60vh",overflow:"auto"},items:W.map(function(e){return{type:"group",key:e.key,label:(0,s.h)(e.label,F),children:e.children.map(function(e){return{key:e.name,label:(0,s.h)(eP(e),F)}})}}),onClick:function(e){return X("create",void 0,String(e.key))}}},[W,X,F]),Z=(0,o.useCallback)(function(){I.viewer.drawer({width:900,closable:!0,content:function(){return i().createElement(ez,{collection:e.collection,onSubmitted:function(){_.refresh()}})}})},[I.viewer,e.collection,_]),Y=(0,o.useCallback)(function(){I.viewer.drawer({width:900,closable:!0,content:function(){return i().createElement(eB,{collection:e.collection,currentFields:_.data||e.collection.fields||[],fieldInterfaceGroups:U,fieldInterfacesByName:J,onSubmitted:function(){_.refresh()}})}})},[U,I.viewer,J,e.collection,_]),Q=(0,o.useCallback)(function(t){T.confirm({title:F("Delete record"),content:F("Are you sure you want to delete it?"),onOk:function(){return eE(function(){var n;return eO(this,function(r){switch(r.label){case 0:return[4,Promise.all((Array.isArray(t)?t:[t]).map(function(t){return I.api.request({url:y(e.dataSourceKey,e.collection.name,"destroy",String(t)),method:"post"})}))];case 1:return r.sent(),[4,null==(n=I.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:n.reload()];case 2:return r.sent(),j([]),_.refresh(),[2]}})})()}})},[I.api,I.dataSourceManager,T,e.collection.name,e.dataSourceKey,_,F]),ee=(0,o.useCallback)(function(t,n){return eE(function(){var r,l,a,o,i;return eO(this,function(u){switch(u.label){case 0:return i=(o=(null==(a=n?J[n]:void 0)?void 0:a.default)||{}).uiSchema?ek(eC({},o.uiSchema),{title:o.uiSchema.title||(null==(r=t.uiSchema)?void 0:r.title)}):t.uiSchema,[4,I.api.request({url:y(e.dataSourceKey,e.collection.name,"update",t.name),method:"post",data:ek(eC({},t,o),{name:t.name,interface:n||null,type:o.type||t.type,uiSchema:i})})];case 1:return u.sent(),[4,null==(l=I.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:l.reload()];case 2:return u.sent(),_.refresh(),[2]}})})()},[I.api,I.dataSourceManager,J,e.collection.name,e.dataSourceKey,_]),et=(0,o.useCallback)(function(t,n){return eE(function(){var r,l;return eO(this,function(a){switch(a.label){case 0:r=n?t.name:"id",N(t.name),a.label=1;case 1:var o;return a.trys.push([1,,4,5]),[4,I.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(),V(r),[4,null==(l=I.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:l.reload()];case 3:return a.sent(),A.success(F("Saved successfully")),[3,5];case 4:return N(void 0),[7];case 5:return[2]}})})()},[I.api,I.dataSourceManager,A,e.collection.name,e.dataSourceKey,F]),en=(0,o.useCallback)(function(){return eE(function(){var t;return eO(this,function(n){switch(n.label){case 0:if(eR(e.collection))return Z(),[2];if(eV(e.collection))return Y(),[2];L(!0),n.label=1;case 1:return n.trys.push([1,,4,5]),[4,I.api.resource("mainDataSource").syncFields({values:{collections:[e.collection.name]}})];case 2:return n.sent(),_.refresh(),[4,null==(t=I.dataSourceManager.getDataSource("main"))?void 0:t.reload()];case 3:return n.sent(),A.success(F("Sync successfully")),[3,5];case 4:return L(!1),[7];case 5:return[2]}})})()},[I.api,I.dataSourceManager,A,Z,Y,e.collection,_,F]),er=(m=e.dataSourceKey,!!eR(p=e.collection)||(eV(p)?"main"===m:"db2cm"!==p.from&&"main"===m)),el=!(null==(E=null==(h=(b={collection:e.collection,ctx:I,dataSourceType:null==G||null==(k=G.options)?void 0:k.type,fieldInterfaceGroups:W}).ctx.app.pm.get(v.v))||null==(g=h.getType)?void 0:g.call(h,b.dataSourceType))?void 0:E.disableAddFields)&&"sql"!==b.collection.template&&b.fieldInterfaceGroups.length>0,ea=(0,o.useMemo)(function(){return[{title:F("Field display name"),render:function(e){var t;return(0,s.h)((null==(t=e.uiSchema)?void 0:t.title)||e.name,F)}},{title:F("Field name"),dataIndex:"name"},{title:F("Field type"),dataIndex:"type",render:function(e){return i().createElement(a.Tag,null,e)}},{title:F("Field interface"),dataIndex:"interface",width:180,render:function(e,t){var n=e?J[e]:void 0,r=U.map(function(e){return ek(eC({},e),{children:e.children.filter(function(e){var n,r;return e.name===t.interface||(null==(n=e.availableTypes)?void 0:n.includes(t.type))||(null==(r=e.default)?void 0:r.type)===t.type})})}).filter(function(e){return"sort"===t.type?"advanced"===e.key&&e.children.length:e.children.length});if(e&&!n||t.source||eT.has(t.interface)||eM.has(t.interface)||(null==n?void 0:n.isAssociation)||(null==n?void 0:n.group)==="systemInfo"||!r.length)return i().createElement(a.Tag,null,(0,s.h)(eP(n,e),F)||e);var l=r.map(function(e){return{label:(0,s.h)(e.label,F),options:e.children.map(function(e){return{value:e.name,label:(0,s.h)(eP(e),F)}})}}).filter(function(e){return e.options.length});return i().createElement(a.Select,{allowClear:!0,value:e||void 0,style:{width:"100%"},popupMatchSelectWidth:!1,options:l,onChange:function(e){return ee(t,e)}})}},{title:F("Title field"),dataIndex:"titleField",width:120,render:function(e,t){return(0,f.isTitleField)(I.dataSourceManager,t)?i().createElement(a.Tooltip,{title:F("Default title for each record"),placement:"right"},i().createElement(a.Switch,{"aria-label":"switch-title-field-".concat(t.name),size:"small",loading:t.name===K,checked:t.name===(R||"id"),onChange:function(e){return et(t,e)}})):null}},{title:F("Description"),dataIndex:"description",ellipsis:!0},{title:F("Actions"),width:160,render:function(e,t){return i().createElement(a.Space,null,i().createElement("a",{onClick:function(){return X("edit",t)}},F("Edit")),i().createElement("a",{onClick:function(){return Q(t.name)}},F("Delete")))}}]},[U,I.dataSourceManager,J,Q,ee,et,X,F,R,K]);return i().createElement(i().Fragment,null,i().createElement("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginBottom:16}},i().createElement(a.Space,null,i().createElement(a.Button,{icon:i().createElement(d.DeleteOutlined,null),disabled:!D.length,onClick:function(){return Q(D)}},F("Delete")),er?i().createElement(a.Button,{icon:i().createElement(d.SyncOutlined,null),loading:z,onClick:en},F("Sync from database")):null,el?i().createElement(a.Dropdown,{menu:H,placement:"bottomRight",trigger:["hover"]},i().createElement(a.Button,{type:"primary",icon:i().createElement(d.PlusOutlined,null)},F("Add field")," ",i().createElement(d.DownOutlined,null))):null)),i().createElement(f.Table,{rowKey:"name",loading:_.loading,dataSource:_.data||[],columns:ea,pagination:!1,rowSelection:{selectedRowKeys:D,onChange:j}}))}function e_(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 eG(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 e$(e){return function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){eG(a,r,l,o,i,"next",e)}function i(e){eG(a,r,l,o,i,"throw",e)}o(void 0)})}}function eU(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 eJ(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)||eH(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 eX(e){return function(e){if(Array.isArray(e))return e_(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||eH(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 eH(e,t){if(e){if("string"==typeof e)return e_(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 e_(e,t)}}function eZ(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 eY=["default","red","orange","yellow","green","cyan","blue","purple"],eQ={default:"Default",red:"Red",orange:"Orange",yellow:"Yellow",green:"Green",cyan:"Cyan",blue:"Blue",purple:"Purple"};function e0(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",eU({ref:l},r,n),e.children)}function e1(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 e2(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.h)(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 e4(e){return i().createElement(e1,{item:e.item},i().createElement(e0,{item:e.item},i().createElement(e2,{item:e.item,onDelete:e.onDelete,onEdit:e.onEdit})))}function e3(e){var t=e.children,n=e.onSort,r=eJ((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 e$(function(){var t,r,l,o;return eZ(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(e2,{item:l,onDelete:function(){},onEdit:function(){}})):null))}function e5(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 e6=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)}})},e8=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.h)(e.title,l)}}),onChange:function(e){return n(e)},allowClear:!0})};function e7(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 e9(){return{hidden:{$isFalsy:!0}}}function te(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 tt=(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:e5(t),RenderValue:e6},{name:"name",title:t("Collection name"),operators:e5(t),RenderValue:e6},{name:"template",title:t("Collection template"),operators:[{value:"$eq",label:t("is")},{value:"$ne",label:t("is not")}],RenderValue:e8},{name:"description",title:t("Description"),operators:e5(t),RenderValue:e6}]},[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:e6,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"}),tn=(0,r.observer)(function(e){var t=e.value,n=e.onSubmit,r=e.onReset,l=(0,c.kj)(),u=eJ((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:tt}))},i().createElement(a.Button,{icon:i().createElement(d.FilterOutlined,null),type:v?"primary":"default"},y))},{displayName:"CollectionFilterPopover"});function tr(e){return e.name||e.value.name}function tl(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 ta(e,t){var n;return!!(null==e||null==(n=e.capabilities)?void 0:n[t])}var to=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.h)(t.title,n))),t.description?i().createElement("div",{style:l.description},(0,s.h)(t.description,n)):null):null},ti=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.h)(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,eU({autoSize:{minRows:3,maxRows:8}},f))),"Select"===e.component&&(p=i().createElement(a.Select,eU({options:(e.options||[]).map(function(e){return{value:e.value,label:(0,s.h)(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},tu=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.h)((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 tc(e){var t,n=e.activeCategoryKey,u=e.categories,d=e.onSubmitted,m=e.template,p=(0,c.kj)(),y=(0,r.useFlowContext)(),b=y.app.pm.get(v.v),g=eJ(a.Form.useForm(),1)[0],h=(0,o.useMemo)(function(){return b.getCollectionPresetFields()},[b]),S=eJ((0,o.useState)(!1),2),E=S[0],w=S[1],C="sql"===m.name,k="view"===m.name,F=eJ((0,o.useState)(function(){return C||k?[]:h.filter(function(e){return!1!==e.defaultSelected}).map(function(e){return tr(e)})}),2),I=F[0],x=F[1],O=(0,l.useRequest)(function(){return e$(function(){return eZ(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(e9())}})];case 1:return[2,e7(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.h)(e.title||e.name,p)}})},[O.data,p]),T=(0,o.useMemo)(function(){return eW(eU({},tl(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=t.value.interface?null==e||null==(n=e.getFieldInterface)?void 0:n.call(e,t.value.interface):void 0;return{name:tr(t),field:t.field||(null==(r=t.value.uiSchema)?void 0:r.title)||t.value.name,interfaceLabel:t.interfaceLabel||(null==l?void 0:l.title)||t.value.interface||t.value.type,description:t.description}})},[h,y.dataSourceManager.collectionFieldInterfaceManager]),j=(0,o.useMemo)(function(){return[{title:p("Field"),dataIndex:"field",render:function(e){return(0,s.h)(e,p)}},{title:p("Interface"),dataIndex:"interfaceLabel",render:function(e){return i().createElement(a.Tag,null,(0,s.h)(e,p))}},{title:p("Description"),dataIndex:"description",render:function(e){return(0,s.h)(e,p)}}]},[p]),P=(null==(t=m.configure)?void 0:t.Form)||m.ConfigureForm,R=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.h)(e.name||e.id,p)}}),allowClear:!0})),V=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 e$(function(){var e,t;return eZ(this,function(n){switch(n.label){case 0:return[4,g.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=tl(m),v=Array.isArray(p.fields)?p.fields:[],y=(0,f.normalizeCollectionTemplateFields)(Array.isArray(c.fields)?c.fields:[],u,{collectionInfo:eW(eU({},p,c),{template:m.name})}),b=(0,f.normalizeCollectionTemplateFields)(eX(v).concat(eX("function"==typeof(n=null==(t=m.collection)?void 0:t.fields)?n():n||[])),u,{collectionInfo:eW(eU({},p,c),{template:m.name})}),g=eW(eU({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:eX(b).concat(eX((l=new Set(d.map(String)),s.filter(function(e){return l.has(tr(e))}).map(function(e){return structuredClone(e.value)}))),eX(y))}),h=null==(o=m.configure)||null==(a=o.transformSubmitValues)?void 0:a.call(o,g);return h||(null==(i=m.beforeSubmit)||i.call(m,g),g)}({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,g,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:g,layout:"vertical",initialValues:T},i().createElement(to,{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:g}):null,i().createElement(ti,{mode:"create",template:m,form:g}),ta(m,"recordUniqueKey")?i().createElement(tu,{form:g}):null,R,V):k?i().createElement(i().Fragment,null,P?i().createElement(P,{mode:"create",template:m,form:g}):null,i().createElement(ti,{mode:"create",template:m,form:g}),ta(m,"recordUniqueKey")?i().createElement(tu,{form:g}):null,R,V,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})),R,V,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:g}):null,i().createElement(ti,{mode:"create",template:m,form:g}),ta(m,"recordUniqueKey")?i().createElement(tu,{form:g}):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 ts(e){var t,n=e.categories,u=e.collection,d=e.onSubmitted,m=(0,c.kj)(),p=(0,r.useFlowContext)(),b=p.app.pm.get(v.v),g=eJ(a.Form.useForm(),1)[0],h=eJ((0,o.useState)(!1),2),S=h[0],E=h[1],w=(0,o.useMemo)(function(){return b.getCollectionTemplate(u.template||"general")},[u.template,b]),C=(0,l.useRequest)(function(){return e$(function(){return eZ(this,function(e){switch(e.label){case 0:return[4,p.api.request({url:"dataSources/main/collections:list",params:{paginate:!1,sort:["sort"],filter:JSON.stringify(e9())}})];case 1:return[2,e7(e.sent())]}})})()}),k=(0,l.useRequest)(function(){return e$(function(){return eZ(this,function(e){switch(e.label){case 0:return[4,p.api.request({url:y("main",u.name,"list"),params:{}})];case 1:return[2,e7(e.sent())]}})})()}),F=(0,o.useMemo)(function(){return(C.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.h)(e.title||e.name,m)}})},[u.name,C.data,m]),I=(0,o.useMemo)(function(){var e=Array.isArray(u.fields)&&u.fields.length?u.fields:k.data||[],t=te(u)||[],n=e.filter(function(e){return!!e.name}).map(function(e){var t;return{value:e.name,label:(0,s.h)((null==(t=e.uiSchema)?void 0:t.title)||e.name,m)}});return t.forEach(function(e){n.some(function(t){return t.value===e})||n.push({value:e,label:e})}),n},[u,k.data,m]),x=(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:te(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]),O=(0,o.useCallback)(function(){return e$(function(){var e,t,n,r;return eZ(this,function(l){switch(l.label){case 0:return[4,g.validateFields()];case 1:n=eU({},l.sent()),"sql"===u.template?(n.name=u.name,n.key=u.key):delete n.name,n=(null==w||null==(t=w.configure)||null==(e=t.transformSubmitValues)?void 0:e.call(t,n))||n,E(!0),l.label=2;case 2:return l.trys.push([2,,4,5]),[4,p.api.resource("sql"===u.template?"sqlCollection":"collections").update({filterByTk:u.name,values:n})];case 3:return l.sent(),d(),null==(r=p.dataSourceManager.getDataSource("main"))||r.reload(),[3,5];case 4:return E(!1),[7];case 5:return[2]}})})()},[u.key,u.name,u.template,p.api,p.dataSourceManager,g,d,w]),A=(null==w||null==(t=w.configure)?void 0:t.Form)||(null==w?void 0:w.ConfigureForm);return i().createElement(f.DrawerFormLayout,{title:m("Edit collection"),submitting:S,submitText:m("Submit"),cancelText:m("Cancel"),onSubmit:O},i().createElement(a.Form,{form:g,layout:"vertical",initialValues:x},i().createElement(to,{template:w}),i().createElement(a.Form.Item,{name:"title",label:m("Collection display name"),rules:[{required:!0}]},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"name",label:m("Collection name"),extra:m("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:"inherits",label:m("Inherits")},i().createElement(a.Select,{mode:"multiple",options:F,loading:C.loading,allowClear:!0})),i().createElement(a.Form.Item,{name:"category",label:m("Categories")},i().createElement(a.Select,{mode:"multiple",options:n.map(function(e){return{value:String(e.id),label:(0,s.h)(e.name||e.id,m)}}),allowClear:!0})),i().createElement(a.Form.Item,{name:"description",label:m("Description")},i().createElement(a.Input.TextArea,{autoSize:{minRows:3,maxRows:8}})),i().createElement(a.Form.Item,{name:"simplePaginate",valuePropName:"checked",extra:m("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,m("Use simple pagination mode"))),ta(w,"recordUniqueKey")?i().createElement(a.Form.Item,{name:"filterTargetKey",label:m("Record unique key"),extra:m("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:I,loading:k.loading,allowClear:!0})):null,w&&A?i().createElement(A,{mode:"edit",template:w,form:g}):null,w?i().createElement(ti,{mode:"edit",template:w,form:g}):null))}var td=function(e){var t,n,u=(0,c.kj)(),m=(0,r.useFlowContext)(),y=a.App.useApp(),b=y.message,g=y.modal,h=m.app.pm.get(v.v),S=eJ(a.Form.useForm(),1)[0],E=(0,o.useRef)((0,r.observable)({logic:"$and",items:[]})),w=eJ((0,o.useState)(1),2),C=w[0],k=w[1],F=eJ((0,o.useState)(f.DEFAULT_PAGE_SIZE),2),I=F[0],x=F[1],O=eJ((0,o.useState)("all"),2),A=O[0],T=O[1],M=eJ((0,o.useState)(!1),2),D=M[0],j=M[1],P=eJ((0,o.useState)(!1),2),R=P[0],V=P[1],q=eJ((0,o.useState)(),2),K=q[0],N=q[1],B=eJ((0,o.useState)([]),2),z=B[0],L=B[1],_=eJ((0,o.useState)(),2),G=_[0],$=_[1],U=eJ((0,o.useState)(!1),2),W=U[0],J=U[1],X=eJ((0,o.useState)(!1),2),H=X[0],Z=X[1],Y=eJ((0,o.useState)([]),2),Q=Y[0],ee=Y[1],et=eJ((0,o.useState)([]),2),en=et[0],er=et[1],el=eJ((0,o.useState)([]),2),ea=el[0],eo=el[1],ei=eJ((0,o.useState)(""),2),eu=ei[0],ec=ei[1],es="main"===e.dataSourceKey,ed=(0,o.useMemo)(function(){return h.getCollectionTemplates()},[h]),em=(0,l.useRequest)(function(){return e$(function(){return eZ(this,function(e){switch(e.label){case 0:if(!es)return[2,[]];return[4,m.api.request({url:"collectionCategories:list",params:{paginate:!1,sort:["sort"]}})];case 1:return[2,e7(e.sent())]}})})()},{refreshDeps:[es]}),ef=(0,l.useRequest)(function(){return e$(function(){var t;return eZ(this,function(n){var r,l,a,o,i,u,c,s,d;switch(n.label){case 0:return r={activeCategoryKey:A,filterPayload:G,isMainDataSource:es},l=[e9()],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,m.api.request({url:es?"collections:list":"dataSources/".concat(e.dataSourceKey,"/collections:list"),params:{page:C,pageSize:I,sort:["sort"],filter:JSON.stringify(t),appends:es?["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:[A,G,es,e.dataSourceKey,C,I]}),ep=(0,o.useMemo)(function(){return em.data||[]},[em.data]);(0,o.useEffect)(function(){es&&("all"===A||ep.some(function(e){return String(e.id)===A}))||T("all")},[A,ep,es]);var ev=(0,o.useCallback)(function(t){m.viewer.drawer({title:i().createElement("span",null,(0,s.h)(t.title||t.name,u)," - ",u("Configure fields")),width:"80%",closable:!0,content:function(){return i().createElement(eL,{dataSourceKey:e.dataSourceKey,collection:t})}})},[m.viewer,e.dataSourceKey,u]),ey=(0,o.useCallback)(function(e){T(e),k(1)},[]),eb=(0,o.useCallback)(function(){N(void 0),S.setFieldsValue({color:"default"}),j(!0)},[S]),eg=(0,o.useCallback)(function(e){N(e),S.setFieldsValue({name:e.name,color:e.color||"default"}),j(!0)},[S]),eh=(0,o.useCallback)(function(){return e$(function(){var e;return eZ(this,function(t){switch(t.label){case 0:return[4,S.validateFields()];case 1:e=t.sent(),V(!0),t.label=2;case 2:if(t.trys.push([2,,7,8]),!K)return[3,4];return[4,m.api.resource("collectionCategories").update({filter:{id:K.id},values:e})];case 3:return t.sent(),[3,6];case 4:return[4,m.api.resource("collectionCategories").create({values:e})];case 5:t.sent(),t.label=6;case 6:return j(!1),N(void 0),S.resetFields(),em.refresh(),ef.refresh(),[3,8];case 7:return V(!1),[7];case 8:return[2]}})})()},[S,em,m.api,K,ef]),eS=(0,o.useCallback)(function(e){g.confirm({title:u("Delete category"),content:u("Are you sure you want to delete it?"),onOk:function(){return e$(function(){return eZ(this,function(t){switch(t.label){case 0:return[4,m.api.resource("collectionCategories").destroy({filter:{id:e.id}})];case 1:return t.sent(),String(e.id)===A&&T("all"),em.refresh(),ef.refresh(),[2]}})})()}})},[A,em,m.api,g,ef,u]),eE=(0,o.useCallback)(function(e,t){return e$(function(){return eZ(this,function(n){switch(n.label){case 0:return[4,m.api.resource("collectionCategories").move({sourceId:e.id,targetId:t.id})];case 1:return n.sent(),em.refresh(),ef.refresh(),[2]}})})()},[em,m.api,ef]),ew=(0,o.useCallback)(function(e){m.viewer.drawer({width:"50%",closable:!0,content:function(){return i().createElement(tc,{template:e,categories:ep,activeCategoryKey:A,onSubmitted:function(){L([]),ef.refresh()}})}})},[A,ep,m.viewer,ef]),eC=(0,o.useCallback)(function(e){m.viewer.drawer({width:"50%",closable:!0,content:function(){return i().createElement(ts,{collection:e,categories:ep,onSubmitted:function(){L([]),ef.refresh()}})}})},[ep,m.viewer,ef]),ek=(0,o.useCallback)(function(e){var t=Array.isArray(e)?e:[e];if(t.length){var n=!1;g.confirm({closable:!0,icon:i().createElement(d.ExclamationCircleFilled,{style:{color:"#faad14"}}),okText:u("Ok"),cancelText:u("Cancel"),title:u("Delete collection"),width:520,content:i().createElement("div",null,i().createElement("div",null,u("Are you sure you want to delete it?")),i().createElement(a.Checkbox,{style:{marginTop:8},onChange:function(e){return n=e.target.checked}},u("Automatically drop objects that depend on the collection (such as views), and in turn all objects that depend on those objects"))),onOk:function(){return e$(function(){var e;return eZ(this,function(r){switch(r.label){case 0:return[4,m.api.resource("collections").destroy({filterByTk:t,cascade:n})];case 1:return r.sent(),L([]),ef.refresh(),null==(e=m.dataSourceManager.getDataSource("main"))||e.reload(),[2]}})})()}})}},[m.api,m.dataSourceManager,g,ef,u]),eF=(0,o.useCallback)(function(e,t){return e$(function(){var n;return eZ(this,function(r){switch(r.label){case 0:if(!es)return[2];return[4,m.api.resource("collections").move({sourceId:e.name,targetId:t.name})];case 1:return r.sent(),b.success(u("Saved successfully")),ef.refresh(),null==(n=m.dataSourceManager.getDataSource("main"))||n.reload(),[2]}})})()},[m.api,m.dataSourceManager,es,b,ef,u]),eI=(0,o.useCallback)(function(){g.confirm({title:u("Sync field changes from database"),content:u("Field synchronization confirmation prompt"),onOk:function(){return e$(function(){var e;return eZ(this,function(t){switch(t.label){case 0:return[4,m.api.resource("mainDataSource").syncFields()];case 1:return t.sent(),ef.refresh(),null==(e=m.dataSourceManager.getDataSource("main"))||e.reload(),b.success(u("Sync successfully")),[2]}})})()}})},[m.api,m.dataSourceManager,b,g,ef,u]),ex=(0,o.useCallback)(function(){J(!1),er([]),eo([]),ec("")},[]),eO=(0,o.useCallback)(function(){return e$(function(){var e,t,n;return eZ(this,function(r){switch(r.label){case 0:J(!0),Z(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,m.api.resource("dataSources").readTables({values:{dataSourceKey:"main"}})];case 2:return ee((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}})),er([]),eo([]),[3,5];case 3:return r.sent(),b.error(u("Failed to load tables")),[3,5];case 4:return Z(!1),[7];case 5:return[2]}})})()},[m.api,b,u]),eA=(0,o.useCallback)(function(){en.length?g.confirm({title:u("Confirm load tables"),content:u("Are you sure you want to load {{count}} table(s)?").replace("{{count}}",String(en.length)),onOk:function(){return e$(function(){var e;return eZ(this,function(t){switch(t.label){case 0:Z(!0),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,m.api.resource("dataSources").loadTables({values:{dataSourceKey:"main",tables:en}})];case 2:return t.sent(),b.success(u("Tables loaded successfully")),ex(),ef.refresh(),null==(e=m.dataSourceManager.getDataSource("main"))||e.reload(),[3,5];case 3:return t.sent(),b.error(u("Failed to load tables")),[3,5];case 4:return Z(!1),[7];case 5:return[2]}})})()}}):b.warning(u("Please select at least one table"))},[m.api,m.dataSourceManager,b,g,ef,ex,en,u]),eT=(0,o.useCallback)(function(){$((0,p.transformFilter)(E.current)),k(1)},[]),eM=(0,o.useCallback)(function(){E.current.logic="$and",E.current.items.splice(0,E.current.items.length),$(void 0),k(1)},[]),eD=(0,o.useMemo)(function(){if(!eu)return Q;var e=eu.toLowerCase();return Q.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))})},[Q,eu]),ej=(0,o.useMemo)(function(){return[{key:"all",label:u("All collections"),closable:!1}].concat(eX(ep.map(function(e){return{key:String(e.id),label:i().createElement(e4,{item:e,onDelete:eS,onEdit:eg}),closable:!1}})))},[ep,eS,eg,u]),eP=(0,o.useMemo)(function(){var e=[{title:u("Collection display name"),render:function(e){return(0,s.h)(e.title||e.name,u)}},{title:u("Collection name"),dataIndex:"name",ellipsis:!0},{title:u("Collection template"),dataIndex:"template",render:function(e){var t,n;return i().createElement(a.Tag,null,(t=e||"general",(n=h.getCollectionTemplate(t))?(0,s.h)(n.title,u):t))}}];return es&&"all"===A&&e.push({title:u("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.h)(e.name||e.id,u))})):null}}),e.push({title:u("Description"),dataIndex:"description",ellipsis:!0},{title:u("Actions"),width:es?220:140,render:function(e,t){return i().createElement(a.Space,null,i().createElement("a",{onClick:function(){return ev(t)}},u("Configure fields")),es?i().createElement(i().Fragment,null,i().createElement("a",{onClick:function(){return eC(t)}},u("Edit")),i().createElement("a",{onClick:function(){return ek(t.name)}},u("Delete"))):null)}}),e},[A,ek,es,eC,ev,h,u]);return i().createElement(a.Card,{title:(0,s.h)(e.title,u),variant:"borderless"},es?i().createElement(e3,{onSort:eE},i().createElement(a.Tabs,{activeKey:A,type:"editable-card",items:ej,onChange:ey,onEdit:function(e,t){"add"===t&&eb()}})):null,i().createElement(a.Flex,{justify:"space-between",align:"center",style:{marginBottom:16}},i().createElement(tn,{value:E.current,onSubmit:eT,onReset:eM}),i().createElement(a.Space,null,i().createElement(a.Button,{icon:i().createElement(d.ReloadOutlined,null),onClick:function(){return ef.refresh()}},u("Refresh")),es?i().createElement(i().Fragment,null,i().createElement(a.Button,{icon:i().createElement(d.DeleteOutlined,null),disabled:!z.length,onClick:function(){return ek(z)}},u("Delete")),i().createElement(a.Dropdown,{placement:"bottomLeft",menu:{items:[{key:"load-tables",icon:i().createElement(d.ImportOutlined,null),label:u("Load tables from database")},{key:"sync-fields",icon:i().createElement(d.ReloadOutlined,null),label:u("Sync field changes from database")}],onClick:function(e){var t=e.key;"load-tables"===t&&eO(),"sync-fields"===t&&eI()}}},i().createElement(a.Button,{icon:i().createElement(d.SyncOutlined,null)},u("Sync from database")," ",i().createElement(d.DownOutlined,null))),i().createElement(a.Dropdown,{menu:{items:ed.flatMap(function(e){var t={key:e.name,label:(0,s.h)(e.title,u)};return e.divider?[{type:"divider"},t]:[t]}),onClick:function(e){var t=e.key,n=ed.find(function(e){return e.name===t});n&&ew(n)}}},i().createElement(a.Button,{type:"primary",icon:i().createElement(d.PlusOutlined,null)},u("Create collection")," ",i().createElement(d.DownOutlined,null)))):null)),i().createElement(f.Table,{rowKey:"name",isDraggable:es,onSortEnd:es?eF:void 0,loading:ef.loading,dataSource:(null==(t=ef.data)?void 0:t.records)||[],columns:eP,rowSelection:es?{selectedRowKeys:z,onChange:function(e){return L(e)}}:void 0,pagination:{current:C,pageSize:I,total:null==(n=ef.data)?void 0:n.total,onChange:function(e,t){if(t!==I){x(t),k(1);return}k(e)}}}),i().createElement(a.Modal,{title:K?u("Edit category"):u("Add category"),open:D,confirmLoading:R,okText:u("Submit"),cancelText:u("Cancel"),onOk:eh,onCancel:function(){j(!1),N(void 0),S.resetFields()}},i().createElement(a.Form,{form:S,layout:"vertical",initialValues:{color:"default"}},i().createElement(a.Form.Item,{name:"name",label:u("Category name"),rules:[{required:!0}]},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"color",label:u("Color")},i().createElement(a.Select,{options:eY.map(function(e){return{value:e,label:i().createElement(a.Tag,{color:"default"===e?void 0:e},u(eQ[e]))}})})))),i().createElement(a.Drawer,{title:u("Load tables from database"),placement:"right",width:800,open:W,onClose:ex,footer:i().createElement(a.Flex,{justify:"flex-end",gap:8},i().createElement(a.Button,{onClick:ex},u("Cancel")),i().createElement(a.Button,{type:"primary",loading:H,disabled:!en.length,onClick:eA},u("Submit")))},i().createElement(a.Spin,{spinning:H},i().createElement(a.Transfer,{dataSource:eD,titles:[u("Available tables"),u("Selected tables")],targetKeys:en,selectedKeys:ea,onChange:function(e){return er(e.map(String))},onSelectChange:function(e,t){return eo(eX(e).concat(eX(t)).map(String))},onSearch:function(e,t){return ec(t)},render:function(e){return e.title},showSearch:!0,style:{height:"calc(100vh - 160px)"},listStyle:{width:350,height:"calc(100vh - 220px)"},locale:{itemUnit:u("item"),itemsUnit:u("items"),searchPlaceholder:u("Search collections...")}}))))};function tm(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 tf(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 tp(){var e=(0,c.kj)(),t=(0,r.useFlowContext)(),n=function(e){if(e)try{return decodeURIComponent(e)}catch(t){return e}}((0,u.useParams)().dataSourceKey),d=function(e){if(Array.isArray(e))return e}(E=(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}}(E)||function(e){if(e){if("string"==typeof e)return tm(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 tm(e,2)}}(E)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),m=d[0],f=d[1],p=n||m,v=(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){tf(a,r,l,o,i,"next",e)}function i(e){tf(a,r,l,o,i,"throw",e)}o(void 0)})})()}),y=(0,o.useMemo)(function(){return v.data||[]},[v.data]),b=(0,o.useMemo)(function(){return y.find(function(e){return e.key===p})},[p,y]),g=(0,o.useCallback)(function(t){return"main"===t.key?e("Main"):(0,s.h)(t.displayName||t.key,e)},[e]),h=(0,o.useMemo)(function(){return t.app.pluginSettingsManager.getRoutePath("".concat(c.CU,".index"))},[t.app.pluginSettingsManager]),S=(0,o.useCallback)(function(){t.router.navigate(h)},[t.router,h]);if((0,o.useEffect)(function(){!n&&y.length&&(y.some(function(e){return e.key===p})||f(y[0].key))},[p,y,n]),v.loading)return i().createElement(a.Spin,null);if(n){var E,w,C,k=b?g(b):n;return i().createElement(td,{dataSourceKey:n,title:i().createElement(a.Breadcrumb,{items:[{title:i().createElement("a",{onClick:S},e("Data sources"))},{title:i().createElement(a.Space,{size:8},i().createElement("span",null,k),(w=null==b?void 0:b.status,(C=({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")}})[w||""])?i().createElement(a.Tag,{color:C.color},C.label):null))}]})})}return i().createElement(a.Space,{direction:"vertical",size:16,style:{width:"100%"}},i().createElement(a.Select,{style:{width:320},value:p,options:y.map(function(e){return{value:e.key,label:g(e)}}),onChange:f}),p?i().createElement(td,{dataSourceKey:p}):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),o=n(694),l=n(625),u=n(59),i=n(155),c=n.n(i),s=n(143),f=n(938);function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function p(e,t,n,r,a,o,l){try{var u=e[o](l),i=u.value}catch(e){n(e);return}u.done?t(i):Promise.resolve(i).then(r,a)}function m(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function l(e){p(o,r,a,l,u,"next",e)}function u(e){p(o,r,a,l,u,"throw",e)}l(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 o=[],l=!0,u=!1;try{for(a=a.call(e);!(l=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);l=!0);}catch(e){u=!0,r=e}finally{try{l||null==a.return||a.return()}finally{if(u)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:i(0)}),u(l,"throw",{value:i(1)}),u(l,"return",{value:i(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function i(u){return function(i){var c=[u,i];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(o=0)),o;)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 o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],r=0}finally{n=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function g(e){var t=(0,s.kj)(),n=(0,o.useFlowContext)(),r=(0,o.useFlowView)(),l=u.App.useApp().message,d=v(u.Form.useForm(),1)[0],p=v((0,i.useState)(!1),2),g=p[0],w=p[1],S=v((0,i.useState)(!1),2),E=S[0],k=S[1],C=(0,i.useMemo)(function(){return n.api.resource("dataSources")},[n.api]),O=(0,i.useMemo)(function(){return"create"===e.mode?b(y({},e.type.defaultValues),{type:e.type.name,key:(0,o.randomId)("d_")}):e.initialValues||{}},[e.initialValues,e.mode,e.type]),A=e.type.SettingsForm;(0,i.useEffect)(function(){d.setFieldsValue(O)},[d,O]);var j=(0,i.useCallback)(function(e){return m(function(){var t;return h(this,function(n){switch(n.label){case 0:return[4,C.readTables({values:{dataSourceKey:e}})];case 1:return[2,null==(t=n.sent())?void 0:t.data]}})})()},[C]),I=(0,i.useCallback)(function(e){var t=e.collections||[];return b(y({},e),{collections:t.filter(function(e){return"string"==typeof e||e.selected}).map(function(e){return"string"==typeof e?e:e.name})})},[]),_=(0,i.useCallback)(function(){return m(function(){var e;return h(this,function(n){switch(n.label){case 0:return[4,d.validateFields()];case 1:e=n.sent(),k(!0),n.label=2;case 2:return n.trys.push([2,,4,5]),[4,C.testConnection({values:I(e)})];case 3:return n.sent(),l.success(t("Connection successful")),[3,5];case 4:return k(!1),[7];case 5:return[2]}})})()},[d,l,I,C,t]),P=(0,i.useCallback)(function(){return m(function(){var t,n,r,a;return h(this,function(o){switch(o.label){case 0:return[4,d.validateFields()];case 1:t=I.apply(void 0,[o.sent()]),w(!0),o.label=2;case 2:if(o.trys.push([2,,7,8]),"create"!==e.mode)return[3,4];return[4,C.create({values:t})];case 3:return r=o.sent(),[3,6];case 4:return[4,C.update({filterByTk:null==(a=e.initialValues)?void 0:a.key,values:t})];case 5:r=o.sent(),o.label=6;case 6:return e.onSubmitted((null==r||null==(n=r.data)?void 0:n.data)||t),[3,8];case 7:return w(!1),[7];case 8:return[2]}})})()},[d,I,e,C]),x=(0,f.A)(e.type.label||e.type.name,t),D="".concat("create"===e.mode?t("Add new"):t("Edit")," - ").concat(x);return c().createElement(a.DrawerFormLayout,{title:D,onSubmit:P,submitting:g,submitText:t("Submit"),cancelText:t("Cancel"),footer:c().createElement(u.Space,null,e.type.disableTestConnection?null:c().createElement(u.Button,{loading:E,onClick:_},t("Test Connection")),c().createElement(u.Button,{onClick:function(){return r.close()}},t("Cancel")),c().createElement(u.Button,{type:"primary",loading:g,onClick:P},t("Submit")))},c().createElement(u.Form,{form:d,layout:"vertical",initialValues:O},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")}]},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)),A?c().createElement(A,{mode:e.mode,type:e.type,initialValues:O,loadCollections:j}):null))}var w=n(890),S=n(448);function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function k(e,t,n,r,a,o,l){try{var u=e[o](l),i=u.value}catch(e){n(e);return}u.done?t(i):Promise.resolve(i).then(r,a)}function C(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function l(e){k(o,r,a,l,u,"next",e)}function u(e){k(o,r,a,l,u,"throw",e)}l(void 0)})}}function O(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,u=!1;try{for(a=a.call(e);!(l=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);l=!0);}catch(e){u=!0,r=e}finally{try{l||null==a.return||a.return()}finally{if(u)throw r}}return o}}(e,t)||A(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 A(e,t){if(e){if("string"==typeof e)return E(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 E(e,t)}}function j(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:i(0)}),u(l,"throw",{value:i(1)}),u(l,"return",{value:i(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function i(u){return function(i){var c=[u,i];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(o=0)),o;)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 o.label++,{value:c[1],done:!1};case 5:o.label++,r=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],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)(),d=(0,o.useFlowContext)(),p=u.App.useApp().modal,m=d.app.pm.get(w.v),y=(0,i.useMemo)(function(){return d.api.resource("dataSources")},[d.api]),b=(0,i.useMemo)(function(){var e;return function(e){if(Array.isArray(e))return E(e)}(e=m.types.values())||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||A(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()},[m]),v=O((0,i.useState)(1),2),h=v[0],k=v[1],I=O((0,i.useState)(a.DEFAULT_PAGE_SIZE),2),_=I[0],P=I[1],x=O((0,i.useState)([]),2),D=x[0],M=x[1],T=(0,l.useRequest)(function(){return C(function(){var e;return j(this,function(t){switch(t.label){case 0:return[4,y.list({page:h,pageSize:_,appends:[]})];case 1:var n,r,a,o,l;return e={records:o=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:(l=(null==r?void 0:r.meta)||(null==a?void 0:a.meta)||{}).count||l.total||o.length},(0,S.b)(d.dataSourceManager,e.records),[2,e]}})})()},{refreshDeps:[h,_]}),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=m.getType(t);r&&d.viewer.drawer({width:650,closable:!0,content:function(){return c().createElement(g,{mode:e,type:r,initialValues:n,onSubmitted:function(e){e&&(0,S.b)(d.dataSourceManager,[e]),T.refresh()}})}})},[d.dataSourceManager,d.viewer,m,T]),B=(0,i.useCallback)(function(e){var t=d.app.pluginSettingsManager.getRoutePath("".concat(s.CU,".collections/:dataSourceKey")).replace(":dataSourceKey",encodeURIComponent(e.key));d.router.navigate(t)},[d.app.pluginSettingsManager,d.router]),R=(0,i.useCallback)(function(){return C(function(){return j(this,function(e){switch(e.label){case 0:return[4,Promise.all(F.filter(function(e){return"loaded"!==e.status}).map(function(e){return e.key}).map(function(e){var t;return null==(t=d.dataSourceManager.getDataSource(e))?void 0:t.reload()}))];case 1:return e.sent(),T.refresh(),[2]}})})()},[d.dataSourceManager,F,T]),K=(0,i.useCallback)(function(e){var t=Array.isArray(e)?e:[e];p.confirm({title:n("Delete"),content:n("Are you sure you want to delete it?"),onOk:function(){return C(function(){return j(this,function(n){switch(n.label){case 0:return[4,y.destroy({filterByTk:e})];case 1:return n.sent(),(0,S.h)(d.dataSourceManager,t),M([]),T.refresh(),[2]}})})()}})},[d.dataSourceManager,p,T,y,n]),L=(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,f.h)(e,n)}},{title:n("Type"),dataIndex:"type",render:function(e){var t;return"main"===e?n("Main"):(0,f.h)((null==(t=m.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})}},{title:n("Actions"),width:220,render:function(e,t){return c().createElement(u.Space,null,c().createElement("a",{onClick:function(){return B(t)}},n("View")),"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 K(t.key)}},n("Delete")):null)}}]},[K,B,V,m,n]),N=(0,i.useMemo)(function(){return b.length?b.map(function(e){return{key:e.name||"",label:(0,f.h)(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"===d.api.auth.locale?"https://docs-cn.nocobase.com/handbook/data-source-manager":"https://docs.nocobase.com/handbook/data-source-manager"},n("View documentation")))})}]},[d.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:R},n("Refresh")),c().createElement(u.Button,{icon:c().createElement(r.DeleteOutlined,null),disabled:!D.length,onClick:function(){return K(D)}},n("Delete")),c().createElement(u.Dropdown,{menu:{items:N,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:L,rowSelection:{selectedRowKeys:D,getCheckboxProps:function(e){return{disabled:"main"===e.key}},onChange:M},pagination:{current:h,pageSize:_,total:null==(t=T.data)?void 0:t.total,onChange:function(e,t){if(t!==_){P(t),k(1);return}k(e)}}}))}}}]);
@@ -1,62 +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
- import React from 'react';
10
- import type { CollectionTemplateConfigureItemProps } from '../../plugin';
11
- export type SqlPreviewField = {
12
- collection?: string;
13
- interface?: string;
14
- source?: string | string[];
15
- type?: string;
16
- uiSchema?: Record<string, unknown>;
17
- };
18
- export type SqlPreviewResult = {
19
- data?: Array<Record<string, unknown>>;
20
- error?: string;
21
- fields?: Record<string, SqlPreviewField>;
22
- sources?: string[];
23
- };
24
- export type SqlFieldRecord = {
25
- interface?: string;
26
- name: string;
27
- source?: string | string[] | null;
28
- type?: string;
29
- uiSchema?: Record<string, unknown>;
30
- };
31
- type FieldInterfaceRecord = {
32
- default?: {
33
- type?: string;
34
- uiSchema?: Record<string, unknown>;
35
- };
36
- name?: string;
37
- title?: React.ReactNode;
38
- availableTypes?: string[];
39
- };
40
- type FieldInterfaceManager = {
41
- getFieldInterface?: (name?: string) => FieldInterfaceRecord | undefined;
42
- getFieldInterfaceGroups?: () => Record<string, {
43
- label?: React.ReactNode;
44
- order?: number;
45
- }>;
46
- getFieldInterfaces?: () => Array<Record<string, unknown>>;
47
- };
48
- export declare function normalizeSqlPreviewResult(value: unknown): SqlPreviewResult;
49
- export declare function buildSqlFieldsFromPreview(options: {
50
- currentFields?: SqlFieldRecord[];
51
- manager?: FieldInterfaceManager;
52
- preview?: SqlPreviewResult;
53
- }): SqlFieldRecord[];
54
- export declare function SqlStatementConfigureItem(props: CollectionTemplateConfigureItemProps): React.JSX.Element;
55
- export declare function SqlSourceCollectionsConfigureItem(props: CollectionTemplateConfigureItemProps): React.JSX.Element;
56
- export declare function SqlFieldsConfigureItem(props: CollectionTemplateConfigureItemProps): React.JSX.Element;
57
- export declare function SqlPreviewConfigureItem(props: CollectionTemplateConfigureItemProps): React.JSX.Element;
58
- export declare function normalizeSqlCollectionSubmitValues(values: Record<string, unknown>): {
59
- [x: string]: unknown;
60
- };
61
- export declare function getSqlPreviewInternalName(): string;
62
- export {};