@nocobase/client 1.9.44 → 1.9.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.mjs +12 -16
- package/lib/index.js +5 -5
- package/package.json +5 -5
package/es/index.mjs
CHANGED
|
@@ -8858,7 +8858,7 @@ function addAppVersion(e, t) {
|
|
|
8858
8858
|
addAppVersion((o = e.properties) == null ? void 0 : o[n], t);
|
|
8859
8859
|
}), e;
|
|
8860
8860
|
}
|
|
8861
|
-
const name = "@nocobase/client", version = "1.9.
|
|
8861
|
+
const name = "@nocobase/client", version = "1.9.46", license = "AGPL-3.0", main = "lib/index.js", module = "es/index.mjs", types = "es/index.d.ts", dependencies = {
|
|
8862
8862
|
"@ahooksjs/use-url-state": "3.5.1",
|
|
8863
8863
|
"@ant-design/cssinjs": "^1.11.1",
|
|
8864
8864
|
"@ant-design/icons": "^5.6.1",
|
|
@@ -8879,9 +8879,9 @@ const name = "@nocobase/client", version = "1.9.44", license = "AGPL-3.0", main
|
|
|
8879
8879
|
"@formily/reactive-react": "^2.2.27",
|
|
8880
8880
|
"@formily/shared": "^2.2.27",
|
|
8881
8881
|
"@formily/validator": "^2.2.27",
|
|
8882
|
-
"@nocobase/evaluators": "1.9.
|
|
8883
|
-
"@nocobase/sdk": "1.9.
|
|
8884
|
-
"@nocobase/utils": "1.9.
|
|
8882
|
+
"@nocobase/evaluators": "1.9.46",
|
|
8883
|
+
"@nocobase/sdk": "1.9.46",
|
|
8884
|
+
"@nocobase/utils": "1.9.46",
|
|
8885
8885
|
ahooks: "^3.7.2",
|
|
8886
8886
|
antd: "5.24.2",
|
|
8887
8887
|
"antd-mobile": "^5.41.1",
|
|
@@ -18031,6 +18031,7 @@ const useStyles$g = genStyleHook("nb-schema-toolbar", (e) => {
|
|
|
18031
18031
|
border: "2px solid var(--colorBorderSettingsHover)",
|
|
18032
18032
|
background: "var(--colorBgSettingsHover)",
|
|
18033
18033
|
pointerEvents: "none",
|
|
18034
|
+
transitionDelay: "0.1s",
|
|
18034
18035
|
"&.nb-in-template": {
|
|
18035
18036
|
background: "var(--colorTemplateBgSettingsHover)"
|
|
18036
18037
|
},
|
|
@@ -21781,20 +21782,15 @@ const SchemaSettingsProvider = (e) => {
|
|
|
21781
21782
|
);
|
|
21782
21783
|
return /* @__PURE__ */ jsx(SchemaSettingsContext.Provider, { value: i, children: t });
|
|
21783
21784
|
}, InternalSchemaSettingsDropdown = React.memo((e) => {
|
|
21784
|
-
const
|
|
21785
|
+
const g = e, { title: t, dn: n } = g, o = W(g, ["title", "dn"]), [r, a] = useState(!1), { Component: i, getMenuItems: l } = useMenuItem(), c = useNiceDropdownMaxHeight([r]), [u, d] = useState(!1), p = useContext(SchemaToolbarVisibleContext);
|
|
21785
21786
|
useEffect(() => {
|
|
21786
21787
|
p && d(!1);
|
|
21787
21788
|
}, [p]);
|
|
21788
|
-
const m = (
|
|
21789
|
-
(
|
|
21790
|
-
a(
|
|
21789
|
+
const m = (f, C) => {
|
|
21790
|
+
(C.source === "trigger" || f) && startTransition(() => {
|
|
21791
|
+
a(f);
|
|
21791
21792
|
});
|
|
21792
|
-
}, h = () =>
|
|
21793
|
-
d(!0), a(!0);
|
|
21794
|
-
};
|
|
21795
|
-
if (!u)
|
|
21796
|
-
return /* @__PURE__ */ jsx("div", { onMouseEnter: h, "data-testid": e["data-testid"], children: typeof t == "string" ? /* @__PURE__ */ jsx("span", { children: t }) : t });
|
|
21797
|
-
const g = l(() => e.children);
|
|
21793
|
+
}, h = l(() => e.children);
|
|
21798
21794
|
return /* @__PURE__ */ jsxs(SchemaSettingsProvider, P(x({ visible: r, setVisible: a, dn: n }, o), { children: [
|
|
21799
21795
|
/* @__PURE__ */ jsx(i, {}),
|
|
21800
21796
|
/* @__PURE__ */ jsx(
|
|
@@ -21809,7 +21805,7 @@ const SchemaSettingsProvider = (e) => {
|
|
|
21809
21805
|
}
|
|
21810
21806
|
`,
|
|
21811
21807
|
menu: {
|
|
21812
|
-
items:
|
|
21808
|
+
items: h,
|
|
21813
21809
|
"data-testid": "schema-settings-menu",
|
|
21814
21810
|
style: { maxHeight: c, overflowY: "auto" }
|
|
21815
21811
|
},
|
|
@@ -22779,7 +22775,7 @@ const HeightMode = {
|
|
|
22779
22775
|
{ label: t("Sub-form(Popover)"), value: "PopoverNester" }
|
|
22780
22776
|
];
|
|
22781
22777
|
}
|
|
22782
|
-
}, [t, p == null ? void 0 : p.interface, m]) || []).filter(Boolean);
|
|
22778
|
+
}, [t, p == null ? void 0 : p.interface, m, c, u]) || []).filter(Boolean);
|
|
22783
22779
|
}, jsonCss = css`
|
|
22784
22780
|
font-size: 80%;
|
|
22785
22781
|
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
package/lib/index.js
CHANGED
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
width: 100%;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
`,items:l},n))})},SchemaInitializerSubMenu=e=>{var t;const o=e,{children:r,items:i,title:n,name:a,onOpenChange:l,icon:c}=o,u=W(o,["children","items","title","name","onOpenChange","icon"]),d=useCompile(),m=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(m==null?void 0:m.name)||(0,import_shared.uid)(),[a,m]),h=(t=i||r)==null?void 0:t.filter(f=>f.useVisible?f.useVisible():!0),g=useSchemaInitializerMenuItems(h,a),_=(0,import_react2.useMemo)(()=>[P(x({},u),{key:p,label:d(n),icon:typeof c=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:c}):c,children:g})],[g,d,c,p,u,n]);return(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{onOpenChange:l,items:_})},SchemaInitializerSubMenuInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSubMenu,x({},e))},useAriaAttributeOfMenuItem=()=>{const{isInMenu:e}=useSchemaInitializerSubMenuContext();return{attribute:(0,import_react2.useMemo)(()=>e?{}:{role:"menuitem"},[e])}},{Paragraph:Paragraph$1,Text:Text$2}=import_antd.Typography,ErrorFallbackModal=e=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_jsx_runtime.jsx)(Paragraph$1,{style:{display:"flex",marginBottom:0},copyable:{text:e.error.message},children:(0,import_jsx_runtime.jsxs)(Text$2,{type:"danger",style:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",display:"inline-block",maxWidth:"200px"},children:["Error: ",e.error.message]})});return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("div",{onMouseOver:()=>o(!0),children:e.children||r}),(0,import_jsx_runtime.jsx)(import_antd.Modal,{zIndex:1e4,open:t,footer:null,onCancel:()=>o(!1),width:"60%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})]})},{Paragraph,Text:Text$1,Link}=import_antd.Typography,useDownloadLogs=(e,t={})=>{const o=useLocationNoUpdate(),[r,i]=import_react2.default.useState(!1),n=useAPIClient();return{loading:r,download:()=>q(void 0,null,function*(){i(!0);try{const a=yield n.request({url:"logger:collect",method:"post",responseType:"blob",data:x({error:{message:e.message,stack:e.stack},location:o},t)}),l=window.URL.createObjectURL(new Blob([a.data],{type:"application/gzip"})),c=document.createElement("a");c.setAttribute("href",l),c.setAttribute("download","logs.tar.gz"),c.click(),c.remove()}catch(a){console.log(a)}i(!1)})}},ErrorFallback=({error:e})=>{const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{loading:r,download:i}=useDownloadLogs(e,{schema:t}),n=(0,import_jsx_runtime.jsxs)(import_react_i18next.Trans,{children:["This is likely a NocoBase internals bug. Please open an issue at ",(0,import_jsx_runtime.jsx)(Link,{href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:"here"})]});return(0,import_jsx_runtime.jsx)("div",{style:{backgroundColor:"white"},children:(0,import_jsx_runtime.jsx)(import_antd.Result,{style:{maxWidth:"60vw",margin:"auto"},status:"error",title:o("Render Failed"),subTitle:n,extra:[(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"primary",href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:o("Feedback")},"feedback"),(0,import_jsx_runtime.jsx)(import_antd.Button,{loading:r,onClick:i,children:o("Download logs")},"log")],children:(0,import_jsx_runtime.jsx)(Paragraph,{copyable:{text:e.stack},children:(0,import_jsx_runtime.jsx)(Text$1,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:e.stack})})})})};ErrorFallback.Modal=ErrorFallbackModal;const AppNotFound=()=>{const e=(0,import_react_router_dom.useNavigate)(),{t}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(import_antd.Result,{status:"404",title:"404",subTitle:t("Sorry, the page you visited does not exist."),extra:(0,import_jsx_runtime.jsx)(import_antd.Button,{onClick:()=>e("/",{replace:!0}),type:"primary",children:"Back Home"})})};class Plugin{constructor(t,o){this.options=t,this.app=o,this.options=t,this.app=o}get pluginManager(){return this.app.pluginManager}get pm(){return this.app.pm}get router(){return this.app.router}get pluginSettingsManager(){return this.app.pluginSettingsManager}get schemaInitializerManager(){return this.app.schemaInitializerManager}get schemaSettingsManager(){return this.app.schemaSettingsManager}get dataSourceManager(){return this.app.dataSourceManager}afterAdd(){return q(this,null,function*(){})}beforeLoad(){return q(this,null,function*(){})}load(){return q(this,null,function*(){})}t(t,o={}){var r;return this.app.i18n.t(t,x({ns:(r=this.options)==null?void 0:r.packageName},o))}}const titleWrapperStyle={display:"flex",alignItems:"center",gap:4},withTooltipComponent=e=>t=>{const{tooltip:o}=t;return o?(0,import_jsx_runtime.jsxs)("div",{style:titleWrapperStyle,children:[(0,import_jsx_runtime.jsx)(e,x({},t)),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:o,children:(0,import_jsx_runtime.jsx)(import_icons.QuestionCircleOutlined,{style:{zIndex:1}})})]}):(0,import_jsx_runtime.jsx)(e,x({},t))},{evaluate}=import_client3.evaluators.get("formula.js"),useEvaluatedExpression=e=>{const t=useVariables$1(),o=useLocalVariables$1(),[r,i]=(0,import_react2.useState)();return(0,import_react2.useEffect)(()=>{q(void 0,null,function*(){if(e==null||e===""){i(void 0);return}const{exp:n,scope:a}=yield replaceVariables(e,{variables:t,localVariables:o});try{const l=evaluate(n,x({now:()=>new Date().toString()},a));i(l)}catch(l){console.error(l)}})},[t.parseVariable,e,o]),r};class SchemaInitializer{constructor(t){k(this,"options"),k(this,"name"),this.options=Object.assign({items:[]},t),this.name=t.name}get items(){return this.options.items}add(t,o){const r=t.split("."),i=r[r.length-1],n=P(x({},o),{name:i}),a=(u,d)=>{const m=this.items.findIndex(p=>p.name===u);m===-1?this.items.push(d):this.items[m]=d};if(r.length===1){a(i,n);return}const l=r.slice(0,-1).join("."),c=this.get(l);if(c){c.children||(c.children=[]);const u=t.replace(`${c.name}.`,""),d=c.children.findIndex(m=>m.name===u);d===-1?c.children.push(n):c.children[d]=n}else a(i,n)}get(t){var o;if(!t)return;const r=t.split(".");let i={children:this.items};for(let n=0;n<r.length;n++){const a=r[n],l=(o=i.children)==null?void 0:o.find(c=>c.name===a);if(l&&(i=l),n===r.length-1)return l}}remove(t){const o=t.split(".");if(o.length===1){const i=this.items.findIndex(n=>n.name===o[0]);i!==-1&&this.items.splice(i,1);return}const r=this.get(o.slice(0,-1).join("."));if(r&&r.children){const i=o[o.length-1],n=r.children.findIndex(a=>a.name===i);n!==-1&&r.children.splice(n,1)}}}var NocoBaseDesktopRouteType=(e=>(e.group="group",e.page="page",e.link="link",e.tabs="tabs",e))(NocoBaseDesktopRouteType||{});const useStyles$h=genStyleHook("nb-menu-item",e=>{const{componentCls:t}=e;return{[t]:{paddingLeft:`${e.padding}px !important`,paddingRight:`${e.padding}px !important`}}}),useAttach=e=>{const t=(0,import_react2.useRef)(null);return(0,import_react2.useEffect)(()=>(t.current&&e!==t.current&&t.current.onUnmount(),t.current=e,e.onMount(),()=>{e.onUnmount()}),[e]),e},compileCache={},hasVariable=e=>/{{.*?}}/g.test(e),useCompile=({noCache:e}={noCache:!1})=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext);return(r,i)=>{let n=!1,a;if(typeof r=="string"&&r.startsWith("{{")&&(n=!0,a=r),r&&typeof r=="object"&&!(0,import_react2.isValidElement)(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(Array.isArray(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(n){const l=x(x(x({},t.scope),o),i);if(!a)return import_react.Schema.compile(r,l);try{return e?import_react.Schema.compile(r,l):(compileCache[a]=compileCache[a]||import_react.Schema.compile(r,l),compileCache[a])}catch(c){return console.log("useCompile error",r,c),import_react.Schema.compile(r,l)}}return r}},useComponent=(e,t)=>{const{components:o}=(0,import_react2.useContext)(import_react.SchemaOptionsContext);return e?typeof e!="string"?e:(0,import_lodash.get)(o,e)||t:t},LAZY_COMPONENT_KEY=Symbol("LAZY_COMPONENT_KEY");function lazy(e,...t){if(t.length===0){const o=(0,import_react2.lazy)(()=>e().then(i=>{const n=i.default;return r[LAZY_COMPONENT_KEY]=n,{default:n}})),r=i=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(o,x({},i))});return r}return t.reduce((o,r)=>{const i=(0,import_react2.lazy)(()=>e().then(n=>{const a=(0,import_lodash.get)(n,r);return o[r][LAZY_COMPONENT_KEY]=a,{default:a}}));return o[r]=n=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(i,x({},n))}),o},{})}function useLazy(e,t){const o=typeof t=="function"?t:i=>i[t],r=(0,import_react_imported_component.loadableResource)(e);if(!r.payload)throw new Promise((i,n)=>{r.loadIfNeeded(),r.resolution.then(i).catch(n)});return o(r.payload)}function addAppVersion(e,t){if(e)return e["x-app-version"]||(e["x-app-version"]=t),Object.keys(e.properties||{}).forEach(o=>{var r;addAppVersion((r=e.properties)==null?void 0:r[o],t)}),e}const name="@nocobase/client",version="1.9.44",license="AGPL-3.0",main="lib/index.js",module$1="es/index.mjs",types="es/index.d.ts",dependencies={"@ahooksjs/use-url-state":"3.5.1","@ant-design/cssinjs":"^1.11.1","@ant-design/icons":"^5.6.1","@ant-design/pro-layout":"^7.22.1","@antv/g2plot":"^2.4.18","@budibase/handlebars-helpers":"0.14.0","@ctrl/tinycolor":"^3.6.0","@dnd-kit/core":"^6.0.0","@dnd-kit/sortable":"^7.0.0","@emotion/css":"^11.7.1","@formily/antd-v5":"1.2.3","@formily/core":"^2.2.27","@formily/grid":"^2.2.27","@formily/json-schema":"^2.2.27","@formily/path":"^2.2.27","@formily/react":"^2.2.27","@formily/reactive":"^2.2.27","@formily/reactive-react":"^2.2.27","@formily/shared":"^2.2.27","@formily/validator":"^2.2.27","@nocobase/evaluators":"1.9.44","@nocobase/sdk":"1.9.44","@nocobase/utils":"1.9.44",ahooks:"^3.7.2",antd:"5.24.2","antd-mobile":"^5.41.1","antd-mobile-icons":"^0.3.0","antd-style":"3.7.1",axios:"^1.7.0","bignumber.js":"^9.1.2",classnames:"^2.3.1",cronstrue:"^2.11.0","file-saver":"^2.0.5",filesize:"9.0.11",flat:"^5.0.2","html5-qrcode":"^2.3.8",i18next:"^22.4.9","i18next-http-backend":"^2.1.1",ignore:"^5.2.0",json5:"^2.2.3",lodash:"4.17.21","lru-cache":"6.0.0","markdown-it":"14.1.0","markdown-it-highlightjs":"3.3.1",mathjs:"^15.1.0",mermaid:"9.4.3",mime:"^4.0.4","mime-match":"^1.0.2","react-beautiful-dnd":"^13.1.0","react-device-detect":"2.2.3","react-drag-listview":"^0.1.9","react-error-boundary":"^4.0.10","react-helmet":"^6.1.0","react-hotkeys-hook":"^3.4.7","react-i18next":"^11.15.1","react-iframe":"~1.8.5","react-image-lightbox":"^5.1.4","react-intersection-observer":"9.14.0","react-js-cron":"^3.1.0","react-quill":"^2.0.0","react-router-dom":"^6.11.2","react-to-print":"^2.14.7","sanitize-html":"2.13.0","use-deep-compare-effect":"^1.8.1"},peerDependencies={react:">=18.0.0","react-dom":">=18.0.0","react-is":">=18.0.0"},devDependencies={"@testing-library/react":"^14.0.0","@types/markdown-it":"14.1.1","@types/markdown-it-highlightjs":"3.3.1","@types/react-big-calendar":"^1.6.4","axios-mock-adapter":"^1.20.0",dumi:"2.2.14","dumi-theme-nocobase":"^0.2.28"},clientPkg={name,version,license,main,module:module$1,types,dependencies,peerDependencies,devDependencies};function createDesignable(e){return new Designable(e)}const generateUid=e=>{e&&(e["x-uid"]||(e["x-uid"]=(0,import_shared.uid)()),Object.keys(e.properties||{}).forEach(t=>{generateUid(e.properties[t])}))},defaultWrap=e=>e,matchSchema=(e,t)=>{if(!(!e||!t)){for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&t[o]!==(e==null?void 0:e[o]))return!1;return!0}},splitWrapSchema=(e,t)=>{if(e["x-uid"]&&e["x-uid"]===t["x-uid"])return[null,e.toJSON()];const o=e.toJSON(),r=P(x({},o),{properties:{}});let i=null;const n=(a,l)=>{Object.keys(a||{}).forEach(c=>{const u=a[c];if(u["x-uid"]===t["x-uid"]){i=a[c];return}else l.properties[c]=P(x({},u),{properties:{}}),n(u==null?void 0:u.properties,l.properties[c])})};return n(o.properties,r),[r,i]},translate=e=>e;class Designable{constructor(t){k(this,"current"),k(this,"options"),k(this,"appVersion"),k(this,"events",{}),this.options=t,this.current=t.current,this.appVersion=t.appVersion}get model(){return this.options.model}get query(){return this.options.query}loadAPIClientEvents(){const{api:t,t:o=translate}=this.options;if(!t)return;const r=i=>{if(!i)return[];const n=Object.values(i.properties).length,a=[];return i.mapProperties(l=>{l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].width=100/n,l["x-uid"]&&a.push({"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]})}),i["x-uid"]&&a.length?a:[]};this.on("insertAdjacent",i=>q(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:d,removed:m}){var p;let h=[];if((d==null?void 0:d["x-component"])==="Grid.Col"&&(h=h.concat(r(d.parent))),(m==null?void 0:m["x-component"])==="Grid.Col"&&(h=h.concat(r(m.parent))),this.refresh(),!a["x-uid"])return;const g=yield t.request({url:`/uiSchemas:insertAdjacent/${a["x-uid"]}?position=${l}`,method:"post",data:{schema:addAppVersion(c,this.appVersion),wrap:u}});h.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:h})),m!=null&&m["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${m["x-uid"]}`,method:"post"})),n==null||n((p=g==null?void 0:g.data)==null?void 0:p.data),import_antd.message.success(o("Saved successfully"),.2)})),this.on("patch",i=>q(this,[i],function*({schema:n}){this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:patch",method:"post",data:x({},n)}),import_antd.message.success(o("Saved successfully"),.2))})),this.on("initializeActionContext",i=>q(this,[i],function*({schema:n}){n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:initializeActionContext",method:"post",data:x({},n)}))})),this.on("batchPatch",i=>q(this,[i],function*({schemas:n}){this.refresh(),yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:n}),import_antd.message.success(o("Saved successfully"),.2)})),this.on("remove",i=>q(this,[i],function*({removed:n}){let a=[];(n==null?void 0:n["x-component"])==="Grid.Col"&&(a=r(n.parent)),this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${n["x-uid"]}`,method:"post"}),a.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:a})),import_antd.message.success(o("Saved successfully"),.2))}))}prepareProperty(t){t.type||(t.type="void"),t.name||(t.name=(0,import_shared.uid)()),this.current["x-uid"]&&generateUid(t)}on(t,o){this.events[t]||(this.events[t]=[]),this.events[t].push(o)}emit(t,...o){return q(this,null,function*(){if(!this.events[t])return;const[r,...i]=o;return Promise.all(this.events[t].map(n=>n.bind(this)(x({current:this.current},r),...i)))})}parentsIn(t){if(!t||!import_react.Schema.isSchemaInstance(t))return!1;let o=this.current;for(;o!=null&&o.parent;){if(o.parent===t)return!0;o=o.parent}return!1}refresh(t){const{refresh:o}=this.options;return o==null?void 0:o(t)}deepMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly"},r={"x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(i=>{o[i]?(this.current[i]=t[i],this.updateModel(o[i],t[i])):r[i]?Object.keys(t[i]).forEach(n=>{(0,import_set.default)(this.current,[i,n],t[i][n]),this.updateModel([r[i],n],t[i][n])}):this.current[i]=t[i]}),this.emit("patch",{schema:t})}getSchemaAttribute(t,o){return(0,import_get.default)(this.current,t,o)}shallowMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly","x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(r=>{this.current[r]=t[r],o[r]&&this.updateModel(o[r],t[r])}),this.emit("patch",{schema:t})}updateModel(t,o){const r=i=>{(0,import_set.default)(i,t,o)};this.model&&r(this.model),this.query&&this.query.take(r)}insertAdjacent(t,o,r={}){switch(t){case"beforeBegin":return this.insertBeforeBegin(o,r);case"afterBegin":return this.insertAfterBegin(o,r);case"beforeEnd":return this.insertBeforeEnd(o,r);case"afterEnd":return this.insertAfterEnd(o,r)}}recursiveRemoveIfNoChildren(t,o){if(!t)return;let r=t,i;const n=o==null?void 0:o.breakRemoveOn;for(;r;){if(typeof n=="function"){if(n(r))break}else if(matchSchema(r,n))break;if(Object.keys(r.properties||{}).length>0)break;r.parent&&(i=r.parent.removeProperty(r.name)),r=r.parent}return i}remove(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return this.emit("remove",{removed:a})}removeWithoutEmit(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return a}insertBeforeBeginOrAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current)||!import_react.Schema.isSchemaInstance(t)||this.current.parent!==t.parent)return;let r=0,i=0;return this.current.parent.mapProperties((n,a,l)=>{this.current.name===a&&(i=l),t.name===a&&(r=l)}),r>i?this.insertBeforeBegin(t,o):this.insertAfterEnd(t,o)}insertBeforeBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=!1,u=0,d=0;this.current.parent.mapProperties((_,f)=>{f===this.current.name&&(d=u,c=!0,++u),_["x-index"]=u,++u,c&&(l[f]=_,this.current.parent.removeProperty(f))}),this.prepareProperty(t);const m=i(t),p=this.current.parent.addProperty(m.name||(0,import_shared.uid)(),m);p["x-index"]=d,p.parent=this.current.parent,this.current.parent.setProperties(l);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"beforeBegin",schema:g,wrapped:m,wrap:h},r))}insertAfterBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=1;this.current.mapProperties((h,g)=>{h["x-index"]=c,++c,l[g]=h}),this.current.properties={},this.prepareProperty(t);const u=i(t),d=this.current.addProperty(u.name||(0,import_shared.uid)(),u);d["x-index"]=0,d.parent=this.current,this.current.setProperties(l);const[m,p]=splitWrapSchema(d,t);this.emit("insertAdjacent",x({position:"afterBegin",schema:p,wrap:m,wrapped:u},r))}insertBeforeEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;delete t["x-index"];const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const l=i(t),c=this.current.addProperty(l.name||(0,import_shared.uid)(),l);c.parent=this.current;const[u,d]=splitWrapSchema(c,t);return this.emit("insertAdjacent",x({position:"beforeEnd",schema:d,wrap:u,wrapped:l},r))}insertAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o==null?void 0:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;let l=0,c=0,u=!1;const d={};if(this.current.parent.mapProperties((_,f)=>{_["x-index"]=l,f===this.current.name&&(++l,c=l,u=!0),++l,u&&f!==this.current.name&&(d[f]=_,this.current.parent.removeProperty(f))}),import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n})),t.parent=null}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const m=i(t),p=this.current.parent.addProperty(m.name||(0,import_shared.uid)(),m);p.parent=this.current.parent,p["x-index"]=c,this.current.parent.setProperties(d);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:g,wrap:h,wrapped:m},r))}}function useFindComponent(){const e=(0,import_react2.useContext)(import_react.SchemaOptionsContext),t=(0,import_react2.useMemo)(()=>(e==null?void 0:e.components)||{},[e]);return o=>{if(!o)return null;if(typeof o!="string")return o;const r=(0,import_get.default)(t,o);return r||console.error(`[nocobase]: Component "${o}" not found`),r}}function useDesignable(){const{designable:e,setDesignable:t,refresh:o,reset:r}=(0,import_react2.useContext)(SchemaComponentContext),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useMemo)(()=>(i==null?void 0:i.components)||{},[i]),a=(0,import_react2.useMemo)(()=>()=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{}),[]),l=(0,import_ahooks.useUpdate)(),c=useRefreshFieldSchema(),u=useRefreshComponent(),d=(0,import_react2.useCallback)(v=>{o==null||o(),l(),c==null||c(v),u==null||u()},[o,l,c,u]),m=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),h=useAPIClient(),{t:g}=(0,import_react_i18next.useTranslation)(),_=(0,import_react2.useMemo)(()=>createDesignable({t:g,api:h,refresh:d,current:p,model:m,appVersion:clientPkg.version}),[g,h,d,p,m]);(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]);const{isMobileLayout:f}=useMobileLayout();return{dn:_,designable:f?!1:e,reset:r,refresh:d,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(v=>{var C;if(!v)return null;if(typeof v!="string")return v;const b=(0,import_get.default)(n,v);return(C=b==null?void 0:b[LAZY_COMPONENT_KEY])!=null?C:b},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((v,C)=>{const b=S=>{Object.keys(S).forEach(y=>{const F=S[y];y==="title"&&(m.title=F,p.title=F),y==="x-decorator-props"&&(m.decoratorProps||(m.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(F).forEach(j=>{m.decoratorProps[j]=F[j],p["x-decorator-props"][j]=F[j]})),y==="x-component-props"&&(m.componentProps||(m.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(F).forEach(j=>{m.componentProps[j]=F[j],p["x-component-props"][j]=F[j]}))})};if(typeof v=="string"){const S={};return(0,import_set.default)(S,v,C),b(S)}b(v),d()},[_]),shallowMerge:(0,import_react2.useCallback)(v=>{_.shallowMerge(v)},[_]),deepMerge:(0,import_react2.useCallback)(v=>{_.deepMerge(v)},[_]),remove:(0,import_react2.useCallback)((v,C)=>{_.remove(v,C)},[_]),insertAdjacent:(0,import_react2.useCallback)((v,C,b)=>{_.insertAdjacent(v,C,b)},[_]),insertBeforeBegin:(0,import_react2.useCallback)(v=>{_.insertBeforeBegin(v)},[_]),insertAfterBegin:(0,import_react2.useCallback)(v=>{_.insertAfterBegin(v)},[_]),insertBeforeEnd:(0,import_react2.useCallback)(v=>{_.insertBeforeEnd(v)},[_]),insertAfterEnd:(0,import_react2.useCallback)(v=>{_.insertAfterEnd(v)},[_])}}const DefaultSchemaToolbar=()=>null;DefaultSchemaToolbar.isNullComponent=!0;const useDesigner=()=>{const{designable:e}=useDesignable(),t=(0,import_react.useFieldSchema)(),o=(0,import_react2.useMemo)(()=>t["x-designer"]||t["x-toolbar"]?t["x-designer"]||t["x-toolbar"]:t["x-settings"]?SchemaToolbar:DefaultSchemaToolbar,[t]),r=useComponent(o);return e&&r||DefaultSchemaToolbar},useFieldProps$1=e=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),r=(0,import_react2.useRef)();return r.current=o,e.toFieldProps(P(x({},t),{get scope(){return x(x({},t.scope),r.current)}}))};function useSchemaComponentContext(){return(0,import_react2.useContext)(SchemaComponentContext)}const useFieldComponentOptions=()=>{var e;const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(),r=(0,import_react.useFieldSchema)(),{getField:i}=useCollection_deprecated(),n=i(r.name)||t(r["x-collection-field"]),{t:a}=(0,import_react_i18next.useTranslation)(),{label:l}=((e=r["x-component-props"])==null?void 0:e.fieldNames)||{};return(0,import_react2.useMemo)(()=>{if(!n||!(n!=null&&n.interface)||!["o2o","oho","obo","o2m","linkTo","m2o","m2m"].includes(n.interface))return;const c=o(n.target);if((c==null?void 0:c.template)==="file")return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];switch(n.interface){case"o2m":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subtable"),value:"TableField"},{label:a("Select"),value:"AssociationSelect"}];case"m2o":case"m2m":case"linkTo":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];default:return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subform"),value:"FormField"},{label:a("Select"),value:"AssociationSelect"}]}},[a,n==null?void 0:n.interface,l])},useFieldTitle=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useCollection(),i=useCollectionManager(),n=(r==null?void 0:r.getField(o.name))||(i==null?void 0:i.getCollectionField(o["x-collection-field"])),a=useCompile();(0,import_react2.useEffect)(()=>{var l;t!=null&&t.title||(t.title=a((l=n==null?void 0:n.uiSchema)==null?void 0:l.title))},[(e=n==null?void 0:n.uiSchema)==null?void 0:e.title])},useDef$4=()=>({}),useProps=(e={})=>{const t=e,{useProps:o=useDef$4}=t,r=W(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$4);const n=i();return x(x({},r),n)};function useParsedFilter({filterOption:e,onFilterChange:t}){const{parseFilter:o,findVariable:r}=useParseDataScopeFilter(),[i,n]=(0,import_react2.useState)({}),[a,l]=(0,import_react2.useState)(!!e);return(0,import_react2.useEffect)(()=>{if(!e)return;const c=()=>q(this,null,function*(){l(!0);const d=yield o(e);l(!1),n(d),t==null||t(d)});c();const u=import_lodash.default.debounce(c,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:d}){return d.startsWith("$")&&d!=="$and"&&d!=="$or"},transformValue(d){if(!isVariable$1(d))return d;const m=getVariableName(d),p=r(m);let h=null;const g=getPath(d).split(".");return g.forEach((_,f)=>{const v=g.slice(0,f+1).join("."),C=(0,import_client.getValuesByPath)({[m]:(p==null?void 0:p.ctx)||{}},v);import_lodash.default.isEmpty(C)||(h=C)}),h}}),u,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),o,r]),{filter:i,parseVariableLoading:a}}const useParentRecordCommon=e=>{const t=useCollectionRecordData();if(e)return t},useTableBlockDecoratorProps=e=>{var t;const{params:o,parseVariableLoading:r}=useTableBlockParams(e),i=useParentRecordCommon(e.association),n=(t=useDataSourceManager().getDataSource(e.dataSource))==null?void 0:t.collectionManager.getCollection(e.collection);return{params:o,parentRecord:i,parseVariableLoading:r,rowKey:(n==null?void 0:n.filterTargetKey)||"id"}};function useTableBlockParams(e){var t;const o=(0,import_react.useFieldSchema)(),{filter:r,parseVariableLoading:i}=useParsedFilter({filterOption:(t=e.params)==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>{const n=e.params||{},{dragSortBy:a}=(o==null?void 0:o["x-decorator-props"])||{};return e.dragSort&&a&&(n.sort=a),P(x({},n),{filter:r})},[o,r,e.dragSort,e.params]),parseVariableLoading:i}}const key="__isNewRecord__",isNewRecord=e=>(0,import_reactive.untracked)(()=>!!(e!=null&&e[key])),markRecordAsNew=e=>{if(!(0,import_lodash.isObject)(e))throw new Error("markRecordAsNew: record must be an object");return e[key]=!0,e},useDefaultLoading=()=>{var e;return!!((e=useDataBlockRequest())!=null&&e.loading)},withSkeletonComponent=(e,t)=>{const{useLoading:o=useDefaultLoading,displayName:r,SkeletonComponent:i=import_antd.Skeleton}=t||{},n=import_react2.default.memo(a=>{const l=o(),c=(0,import_react2.useRef)(!1),u=(0,import_react2.useDeferredValue)(l);return!c.current&&u?(0,import_jsx_runtime.jsx)(i,{}):(c.current=!0,(0,import_jsx_runtime.jsx)(e,x({},a)))});return n.displayName=r||`${e.displayName}(withSkeletonComponent)`||`${e.name}(withSkeletonComponent)`,n},getActionValue=(e,t)=>{const o=r=>(r==null?void 0:r.mode)==="constant"?r.value:null;switch(!0){case[ActionType.Color,ActionType.BackgroundColor,ActionType.TextAlign,ActionType.FontSize,ActionType.FontWeight,ActionType.FontStyle].includes(e):return o(t);default:return null}},getSatisfiedActions=(e,t)=>q(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>q(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:a.condition,variables:r,localVariables:i,conditionType:a.conditionType},n))?a:null})))).filter(Boolean).map(a=>a.actions).flat()}),getSatisfiedValues=(e,t)=>q(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedActions({rules:o,variables:r,localVariables:i},n)).map(a=>P(x({},a),{value:getActionValue(a.operator,a.value)}))}),getSatisfiedValueMap=(e,t)=>q(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedValues({rules:o,variables:r,localVariables:i},n)).reduce((a,l)=>P(x({},a),{[l.operator]:l.value}),{})});function useSatisfiedActionValues({formValues:e,category:t="default",rules:o,schema:r,form:i}){const[n,a]=(0,import_react2.useState)({}),l=(0,import_react.useFieldSchema)(),c=useVariables$1(),u=useLocalVariables$1({currentForm:{values:e}}),d=r??l,m=o??(d[LinkageRuleDataKeyMap[t]]||(d==null?void 0:d.parent[LinkageRuleDataKeyMap[t]])),p=useApp(),h=(0,import_react2.useCallback)(()=>{m&&e&&getSatisfiedValueMap({rules:m,variables:c,localVariables:u},p.jsonLogic).then(g=>{(0,import_lodash.isEmpty)(g)?a({}):a(g)}).catch(g=>{throw new Error(g.message)})},[c,u,m,e]);return(0,import_react2.useEffect)(()=>{if(h(),i){const g=(0,import_shared.uid)();return i.addEffects(g,()=>{(0,import_core.onFormValuesChange)(()=>{h()})}),()=>{i.removeEffects(g)}}},[i,h,e]),{valueMap:n}}const GetStyleRules=import_react2.default.memo(({record:e,schema:t,onStyleChange:o})=>{const{valueMap:r}=useSatisfiedActionValues({formValues:e,category:"style",schema:t});return(0,import_react2.useEffect)(()=>{o(r)},[o,r]),null});GetStyleRules.displayName="GetStyleRules";const opacityStyle={opacity:.5},containerStyle={position:"relative"},spinStyle={display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",left:0,right:0,height:"100%",maxHeight:400,zIndex:1e3},displayNone$3={display:"none"},HighPerformanceSpin=import_react2.default.memo(e=>(0,import_jsx_runtime.jsxs)("div",{style:containerStyle,children:[(0,import_jsx_runtime.jsx)(import_antd.Spin,P(x({},import_lodash.default.omit(e,"children")),{style:e.spinning?spinStyle:displayNone$3})),(0,import_jsx_runtime.jsx)("div",{style:e.spinning?opacityStyle:null,children:e.children})]}));var FilterBlockType=(e=>(e[e.FORM=0]="FORM",e[e.TABLE=1]="TABLE",e[e.TREE=2]="TREE",e[e.COLLAPSE=3]="COLLAPSE",e))(FilterBlockType||{});const mergeFilter=(e,t="$and")=>{const o=e.filter(r=>{if(r&&typeof r=="object"&&!Array.isArray(r))return Object.values(r).filter(i=>i!==void 0).length});return o.length===0?{}:o.length===1?o[0]:{[t]:o}},getSupportFieldsByAssociation=(e,t)=>{var o;return(o=t.associatedFields)==null?void 0:o.filter(r=>e==null?void 0:e.some(i=>i===r.target))},getSupportFieldsByForeignKey=(e,t)=>{var o;return(o=t.foreignKeyFields)==null?void 0:o.filter(r=>e.fields.some(i=>i.type!=="belongsTo"&&i.foreignKey===r.name&&i.target===r.collectionName))},useSupportedBlocks=e=>{const{getDataBlocks:t}=useFilterBlock(),o=(0,import_react.useFieldSchema)(),r=useCollection(),{getAllCollectionsInheritChain:i}=useAllCollectionsInheritChainGetter();if(e===0||e===3)return t().filter(n=>isSameCollection(n.collection,r));if(e===1||e===2)return t().filter(n=>{var a,l;return o["x-uid"]!==n.uid&&(isSameCollection(n.collection,r)||((a=getSupportFieldsByAssociation(i(r.name,r.dataSource),n))==null?void 0:a.length)||((l=getSupportFieldsByForeignKey(r,n))==null?void 0:l.length))})},transformToFilter=(e,t,o,r)=>(e=(0,import_client.flatten)(e,{breakOn({value:i,path:n}){if(["$match","$notMatch","$anyOf","$noneOf","$childIn","$childNotIn","$dateBetween","$in","$notIn"].includes(t[n]))return!0;const a=o(`${r}.${n}`);if(["datetime","datetimeNoTz","date","unixTimestamp","createdAt","updatedAt"].includes(a==null?void 0:a.interface))return!0;if(a!=null&&a.target){if(Array.isArray(i))return!0;const l=a.targetKey||"id";if(i&&i[l]!=null)return!0}return!1}}),{$and:Object.keys(e).map(i=>{let n=import_lodash.default.get(e,i);const a=o(`${r}.${i}`);return a!=null&&a.target&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(a.type)&&(n=(0,import_client.getValuesByPath)(n,a.targetKey||"id"),i=`${i}.${a.targetKey||"id"}`,(a==null?void 0:a.interface)==="chinaRegion"&&(n=import_lodash.default.last(n))),!n&&n!==0&&n!==!1?null:{[i]:{[t[i]||"$eq"]:n}}}).filter(Boolean)}),useAssociatedFields=()=>{var e;return((e=useCollection())==null?void 0:e.fields.filter(t=>isAssocField(t)))||[]},isAssocField=e=>["o2o","oho","obo","m2o","createdBy","updatedBy","o2m","m2m","linkTo","chinaRegion","mbm"].includes(e==null?void 0:e.interface),isSameCollection=(e,t)=>e.name===t.name&&e.dataSource===t.dataSource,useFilterAPI=()=>{const e=(0,import_react.useFieldSchema)(),{getDataBlocks:t}=useFilterBlock(),{targets:o,uid:r}=findFilterTargets(e),i=t(),[n,a]=(0,import_react2.useState)(()=>o&&o.some(u=>i.some(d=>d.uid===u.uid))),l=Object.keys(o||{});(0,import_react2.useEffect)(()=>{a(o&&o.some(u=>i.some(d=>d.uid===u.uid)))},[l.length,o,i]);const c=(0,import_react2.useCallback)((u,d="id",m="$eq")=>{const p=i.find(h=>h.uid===e.parent["x-uid"]);i.forEach(h=>{var g,_,f,v;let C=d;const b=o.find(j=>j.uid===h.uid);if(!b)return;import_lodash.default.isFunction(u)&&(u=u(b,h,getSourceKey$1(p,b.field))),import_lodash.default.isFunction(d)&&(C=d(b,h)),import_lodash.default.isFunction(m)&&(m=m(b));const S=((g=h.service.params)==null?void 0:g[0])||{},y=((f=(_=h.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};if(u!=null)y[r]={$and:[{[C]:{[m]:u}}]};else if((v=h.clearSelection)==null||v.call(h),delete y[r],h.dataLoadingMode==="manual")return h.clearData();const F=mergeFilter([...Object.values(y).map(j=>removeNullCondition(j)),h.defaultFilter]);h.doFilter(P(x({},S),{page:1,filter:F}),{filters:y})})},[i,o,r,e]);return{isConnected:n,doFilter:c}},isInFilterFormBlock=e=>{for(;e;){if(e["x-filter-targets"])return e["x-decorator"]==="FilterFormBlockProvider";e=e.parent}return!1};function getSourceKey$1(e,t){var o,r,i;const n=(o=e==null?void 0:e.associatedFields)==null?void 0:o.find(a=>a.foreignKey===t);return(n==null?void 0:n.sourceKey)||((i=(r=t==null?void 0:t.split)==null?void 0:r.call(t,"."))==null?void 0:i[1])}const AssociationFieldContext=(0,import_react2.createContext)({});AssociationFieldContext.displayName="AssociationFieldContext";const useInsertSchema$1=e=>{const t=(0,import_react.useFieldSchema)(),{insertAfterBegin:o}=useDesignable(),{isMobileLayout:r}=useMobileLayout();return(0,import_react2.useCallback)(i=>{r||t.reduceProperties((n,a)=>a["x-component"]==="AssociationField."+e?a:n,null)||o((0,import_cloneDeep.default)(i))},[e,t,o,r])};function useAssociationFieldContext(){return(0,import_react2.useContext)(AssociationFieldContext)}function useServiceOptions$1(e){var t,o,r,i,n,a,l,c,u,d;const{action:m="list",service:p,useOriginalFilter:h}=e,g=(0,import_react.useFieldSchema)(),_=(0,import_react.useField)(),{getField:f}=useCollection_deprecated(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),C=useRecord(),{isNew:b}=useCollectionRecord()||{},S=((0,import_lodash.isString)((r=(o=(t=g==null?void 0:g["x-component-props"])==null?void 0:t.service)==null?void 0:o.params)==null?void 0:r.filter)?(a=(n=(i=_.componentProps)==null?void 0:i.service)==null?void 0:n.params)==null?void 0:a.filter:(u=(c=(l=g==null?void 0:g["x-component-props"])==null?void 0:l.service)==null?void 0:c.params)==null?void 0:u.filter)||((d=p==null?void 0:p.params)==null?void 0:d.filter),{filter:y}=useParsedFilter({filterOption:S,onFilterChange:()=>{b&&_.reset()}}),F=(0,import_react2.useMemo)(()=>f(g.name)||v(g==null?void 0:g["x-collection-field"]),[g]),j=C==null?void 0:C[F==null?void 0:F.sourceKey],A=(0,import_react2.useMemo)(()=>{const D=["oho","o2m"].includes(F==null?void 0:F.interface);return mergeFilter([mergeFilter([D&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$is:null}}:null,y]),D&&j!==void 0&&j!==null&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$eq:j}}:null],"$or")},[F==null?void 0:F.interface,F==null?void 0:F.foreignKey,g,y,j,h]);return(0,import_react2.useMemo)(()=>P(x({resource:F==null?void 0:F.target,action:m},p),{params:P(x({},p==null?void 0:p.params),{filter:A})}),[F==null?void 0:F.target,m,A,p])}const useFieldNames$1=(e={})=>{var t,o,r,i,n;const a=(0,import_react.useFieldSchema)(),l=((i=(r=(o=(t=a["x-component-props"])==null?void 0:t.field)==null?void 0:o.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.fieldNames)||((n=a["x-component-props"])==null?void 0:n.fieldNames)||e.fieldNames;return x({label:"label",value:"value"},l)},SubFormContext=(0,import_react2.createContext)(null);SubFormContext.displayName="SubFormContext";const SubFormProvider=e=>{const t=(0,import_react2.useContext)(SubFormContext),{value:o,collection:r,fieldSchema:i,parent:n,skip:a}=e.value,l=(0,import_react2.useMemo)(()=>import_lodash.default.omitBy({value:o,collection:r,fieldSchema:i,skip:a,parent:n||(t!=null&&t.skip?t.parent:t)},import_lodash.default.isUndefined),[o,r,i,a,n,t]);return(0,import_jsx_runtime.jsx)(SubFormContext.Provider,{value:l,children:e.children})},useSubFormValue=()=>{const{value:e,collection:t,fieldSchema:o,parent:r}=(0,import_react2.useContext)(SubFormContext)||{};return{formValue:e,collection:t,fieldSchema:o,parent:r}},TableUidContext=(0,import_react2.createContext)(null),useColumnSettings=e=>{const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react2.useContext)(TableUidContext),r=`nocobase_table_column_settings_${o}`,i=(0,import_react2.useCallback)(()=>{try{const l=localStorage.getItem(r);return l?JSON.parse(l):null}catch(l){return console.warn("Failed to parse table column settings from localStorage:",l),null}},[r]),n=(0,import_react2.useCallback)(l=>{try{const c=JSON.stringify(l);localStorage.setItem(r,c);const u=new CustomEvent("nocobase-table-settings-changed",{detail:{key:r,tableId:o,settings:l}});window.dispatchEvent(u)}catch(c){console.warn("Failed to save table column settings to localStorage:",c),import_antd.message.error(t("Failed to save table settings"))}},[r,o,t]),a=(0,import_react2.useCallback)(()=>{try{localStorage.removeItem(r);const l=new CustomEvent("nocobase-table-settings-changed",{detail:{key:r,tableId:o,settings:null}});window.dispatchEvent(l)}catch(l){console.warn("Failed to clear table column settings from localStorage:",l),import_antd.message.error(t("Failed to clear table settings"))}},[r,o,t]);return{getSettings:i,saveSettings:n,clearSettings:a}},useTableColumnIntegration=(e,t=!0)=>{const o=(0,import_react2.useContext)(TableUidContext),{getSettings:r}=useColumnSettings(),[i,n]=(0,import_react2.useState)(0);(0,import_react2.useEffect)(()=>{const l=c=>{const{key:u,tableId:d}=c.detail;(u.includes(o)||d===o)&&n(m=>m+1)};return window.addEventListener("nocobase-table-settings-changed",l),()=>{window.removeEventListener("nocobase-table-settings-changed",l)}},[o]);const a=(0,import_react2.useMemo)(()=>r(),[r,i]);return{columns:(0,import_react2.useMemo)(()=>{if(!t||!a||a.length===0)return e;const l=new Map;a.forEach(p=>{l.set(p.key,p)});const c=e.map(p=>{const h=l.get(p.key);if(h){const g=p.columnHidden||!h.visible,_=h.width||p.width,f=h.fixed||p.fixed;return P(x({},p),{columnHidden:g,fixed:f,width:_,_orderIndex:h.order})}return p}),u=[],d=[];c.forEach(p=>{p._orderIndex!==void 0?u.push(p):d.push(p)}),u.sort((p,h)=>(p._orderIndex||0)-(h._orderIndex||0));const m=[...u,...d];return m.forEach(p=>{delete p._orderIndex}),m},[e,a])}},TableSkeleton=({rows:e=5,columns:t=6})=>{const{token:o}=useToken$1(),r=o.controlHeight*2.06,i=o.controlHeight*1.75,n=(0,import_react2.useMemo)(()=>import_css.css`
|
|
65
|
+
`,items:l},n))})},SchemaInitializerSubMenu=e=>{var t;const o=e,{children:r,items:i,title:n,name:a,onOpenChange:l,icon:c}=o,u=W(o,["children","items","title","name","onOpenChange","icon"]),d=useCompile(),m=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(m==null?void 0:m.name)||(0,import_shared.uid)(),[a,m]),h=(t=i||r)==null?void 0:t.filter(f=>f.useVisible?f.useVisible():!0),g=useSchemaInitializerMenuItems(h,a),_=(0,import_react2.useMemo)(()=>[P(x({},u),{key:p,label:d(n),icon:typeof c=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:c}):c,children:g})],[g,d,c,p,u,n]);return(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{onOpenChange:l,items:_})},SchemaInitializerSubMenuInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSubMenu,x({},e))},useAriaAttributeOfMenuItem=()=>{const{isInMenu:e}=useSchemaInitializerSubMenuContext();return{attribute:(0,import_react2.useMemo)(()=>e?{}:{role:"menuitem"},[e])}},{Paragraph:Paragraph$1,Text:Text$2}=import_antd.Typography,ErrorFallbackModal=e=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_jsx_runtime.jsx)(Paragraph$1,{style:{display:"flex",marginBottom:0},copyable:{text:e.error.message},children:(0,import_jsx_runtime.jsxs)(Text$2,{type:"danger",style:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",display:"inline-block",maxWidth:"200px"},children:["Error: ",e.error.message]})});return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("div",{onMouseOver:()=>o(!0),children:e.children||r}),(0,import_jsx_runtime.jsx)(import_antd.Modal,{zIndex:1e4,open:t,footer:null,onCancel:()=>o(!1),width:"60%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})]})},{Paragraph,Text:Text$1,Link}=import_antd.Typography,useDownloadLogs=(e,t={})=>{const o=useLocationNoUpdate(),[r,i]=import_react2.default.useState(!1),n=useAPIClient();return{loading:r,download:()=>q(void 0,null,function*(){i(!0);try{const a=yield n.request({url:"logger:collect",method:"post",responseType:"blob",data:x({error:{message:e.message,stack:e.stack},location:o},t)}),l=window.URL.createObjectURL(new Blob([a.data],{type:"application/gzip"})),c=document.createElement("a");c.setAttribute("href",l),c.setAttribute("download","logs.tar.gz"),c.click(),c.remove()}catch(a){console.log(a)}i(!1)})}},ErrorFallback=({error:e})=>{const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{loading:r,download:i}=useDownloadLogs(e,{schema:t}),n=(0,import_jsx_runtime.jsxs)(import_react_i18next.Trans,{children:["This is likely a NocoBase internals bug. Please open an issue at ",(0,import_jsx_runtime.jsx)(Link,{href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:"here"})]});return(0,import_jsx_runtime.jsx)("div",{style:{backgroundColor:"white"},children:(0,import_jsx_runtime.jsx)(import_antd.Result,{style:{maxWidth:"60vw",margin:"auto"},status:"error",title:o("Render Failed"),subTitle:n,extra:[(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"primary",href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:o("Feedback")},"feedback"),(0,import_jsx_runtime.jsx)(import_antd.Button,{loading:r,onClick:i,children:o("Download logs")},"log")],children:(0,import_jsx_runtime.jsx)(Paragraph,{copyable:{text:e.stack},children:(0,import_jsx_runtime.jsx)(Text$1,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:e.stack})})})})};ErrorFallback.Modal=ErrorFallbackModal;const AppNotFound=()=>{const e=(0,import_react_router_dom.useNavigate)(),{t}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(import_antd.Result,{status:"404",title:"404",subTitle:t("Sorry, the page you visited does not exist."),extra:(0,import_jsx_runtime.jsx)(import_antd.Button,{onClick:()=>e("/",{replace:!0}),type:"primary",children:"Back Home"})})};class Plugin{constructor(t,o){this.options=t,this.app=o,this.options=t,this.app=o}get pluginManager(){return this.app.pluginManager}get pm(){return this.app.pm}get router(){return this.app.router}get pluginSettingsManager(){return this.app.pluginSettingsManager}get schemaInitializerManager(){return this.app.schemaInitializerManager}get schemaSettingsManager(){return this.app.schemaSettingsManager}get dataSourceManager(){return this.app.dataSourceManager}afterAdd(){return q(this,null,function*(){})}beforeLoad(){return q(this,null,function*(){})}load(){return q(this,null,function*(){})}t(t,o={}){var r;return this.app.i18n.t(t,x({ns:(r=this.options)==null?void 0:r.packageName},o))}}const titleWrapperStyle={display:"flex",alignItems:"center",gap:4},withTooltipComponent=e=>t=>{const{tooltip:o}=t;return o?(0,import_jsx_runtime.jsxs)("div",{style:titleWrapperStyle,children:[(0,import_jsx_runtime.jsx)(e,x({},t)),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:o,children:(0,import_jsx_runtime.jsx)(import_icons.QuestionCircleOutlined,{style:{zIndex:1}})})]}):(0,import_jsx_runtime.jsx)(e,x({},t))},{evaluate}=import_client3.evaluators.get("formula.js"),useEvaluatedExpression=e=>{const t=useVariables$1(),o=useLocalVariables$1(),[r,i]=(0,import_react2.useState)();return(0,import_react2.useEffect)(()=>{q(void 0,null,function*(){if(e==null||e===""){i(void 0);return}const{exp:n,scope:a}=yield replaceVariables(e,{variables:t,localVariables:o});try{const l=evaluate(n,x({now:()=>new Date().toString()},a));i(l)}catch(l){console.error(l)}})},[t.parseVariable,e,o]),r};class SchemaInitializer{constructor(t){k(this,"options"),k(this,"name"),this.options=Object.assign({items:[]},t),this.name=t.name}get items(){return this.options.items}add(t,o){const r=t.split("."),i=r[r.length-1],n=P(x({},o),{name:i}),a=(u,d)=>{const m=this.items.findIndex(p=>p.name===u);m===-1?this.items.push(d):this.items[m]=d};if(r.length===1){a(i,n);return}const l=r.slice(0,-1).join("."),c=this.get(l);if(c){c.children||(c.children=[]);const u=t.replace(`${c.name}.`,""),d=c.children.findIndex(m=>m.name===u);d===-1?c.children.push(n):c.children[d]=n}else a(i,n)}get(t){var o;if(!t)return;const r=t.split(".");let i={children:this.items};for(let n=0;n<r.length;n++){const a=r[n],l=(o=i.children)==null?void 0:o.find(c=>c.name===a);if(l&&(i=l),n===r.length-1)return l}}remove(t){const o=t.split(".");if(o.length===1){const i=this.items.findIndex(n=>n.name===o[0]);i!==-1&&this.items.splice(i,1);return}const r=this.get(o.slice(0,-1).join("."));if(r&&r.children){const i=o[o.length-1],n=r.children.findIndex(a=>a.name===i);n!==-1&&r.children.splice(n,1)}}}var NocoBaseDesktopRouteType=(e=>(e.group="group",e.page="page",e.link="link",e.tabs="tabs",e))(NocoBaseDesktopRouteType||{});const useStyles$h=genStyleHook("nb-menu-item",e=>{const{componentCls:t}=e;return{[t]:{paddingLeft:`${e.padding}px !important`,paddingRight:`${e.padding}px !important`}}}),useAttach=e=>{const t=(0,import_react2.useRef)(null);return(0,import_react2.useEffect)(()=>(t.current&&e!==t.current&&t.current.onUnmount(),t.current=e,e.onMount(),()=>{e.onUnmount()}),[e]),e},compileCache={},hasVariable=e=>/{{.*?}}/g.test(e),useCompile=({noCache:e}={noCache:!1})=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext);return(r,i)=>{let n=!1,a;if(typeof r=="string"&&r.startsWith("{{")&&(n=!0,a=r),r&&typeof r=="object"&&!(0,import_react2.isValidElement)(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(Array.isArray(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(n){const l=x(x(x({},t.scope),o),i);if(!a)return import_react.Schema.compile(r,l);try{return e?import_react.Schema.compile(r,l):(compileCache[a]=compileCache[a]||import_react.Schema.compile(r,l),compileCache[a])}catch(c){return console.log("useCompile error",r,c),import_react.Schema.compile(r,l)}}return r}},useComponent=(e,t)=>{const{components:o}=(0,import_react2.useContext)(import_react.SchemaOptionsContext);return e?typeof e!="string"?e:(0,import_lodash.get)(o,e)||t:t},LAZY_COMPONENT_KEY=Symbol("LAZY_COMPONENT_KEY");function lazy(e,...t){if(t.length===0){const o=(0,import_react2.lazy)(()=>e().then(i=>{const n=i.default;return r[LAZY_COMPONENT_KEY]=n,{default:n}})),r=i=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(o,x({},i))});return r}return t.reduce((o,r)=>{const i=(0,import_react2.lazy)(()=>e().then(n=>{const a=(0,import_lodash.get)(n,r);return o[r][LAZY_COMPONENT_KEY]=a,{default:a}}));return o[r]=n=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(i,x({},n))}),o},{})}function useLazy(e,t){const o=typeof t=="function"?t:i=>i[t],r=(0,import_react_imported_component.loadableResource)(e);if(!r.payload)throw new Promise((i,n)=>{r.loadIfNeeded(),r.resolution.then(i).catch(n)});return o(r.payload)}function addAppVersion(e,t){if(e)return e["x-app-version"]||(e["x-app-version"]=t),Object.keys(e.properties||{}).forEach(o=>{var r;addAppVersion((r=e.properties)==null?void 0:r[o],t)}),e}const name="@nocobase/client",version="1.9.46",license="AGPL-3.0",main="lib/index.js",module$1="es/index.mjs",types="es/index.d.ts",dependencies={"@ahooksjs/use-url-state":"3.5.1","@ant-design/cssinjs":"^1.11.1","@ant-design/icons":"^5.6.1","@ant-design/pro-layout":"^7.22.1","@antv/g2plot":"^2.4.18","@budibase/handlebars-helpers":"0.14.0","@ctrl/tinycolor":"^3.6.0","@dnd-kit/core":"^6.0.0","@dnd-kit/sortable":"^7.0.0","@emotion/css":"^11.7.1","@formily/antd-v5":"1.2.3","@formily/core":"^2.2.27","@formily/grid":"^2.2.27","@formily/json-schema":"^2.2.27","@formily/path":"^2.2.27","@formily/react":"^2.2.27","@formily/reactive":"^2.2.27","@formily/reactive-react":"^2.2.27","@formily/shared":"^2.2.27","@formily/validator":"^2.2.27","@nocobase/evaluators":"1.9.46","@nocobase/sdk":"1.9.46","@nocobase/utils":"1.9.46",ahooks:"^3.7.2",antd:"5.24.2","antd-mobile":"^5.41.1","antd-mobile-icons":"^0.3.0","antd-style":"3.7.1",axios:"^1.7.0","bignumber.js":"^9.1.2",classnames:"^2.3.1",cronstrue:"^2.11.0","file-saver":"^2.0.5",filesize:"9.0.11",flat:"^5.0.2","html5-qrcode":"^2.3.8",i18next:"^22.4.9","i18next-http-backend":"^2.1.1",ignore:"^5.2.0",json5:"^2.2.3",lodash:"4.17.21","lru-cache":"6.0.0","markdown-it":"14.1.0","markdown-it-highlightjs":"3.3.1",mathjs:"^15.1.0",mermaid:"9.4.3",mime:"^4.0.4","mime-match":"^1.0.2","react-beautiful-dnd":"^13.1.0","react-device-detect":"2.2.3","react-drag-listview":"^0.1.9","react-error-boundary":"^4.0.10","react-helmet":"^6.1.0","react-hotkeys-hook":"^3.4.7","react-i18next":"^11.15.1","react-iframe":"~1.8.5","react-image-lightbox":"^5.1.4","react-intersection-observer":"9.14.0","react-js-cron":"^3.1.0","react-quill":"^2.0.0","react-router-dom":"^6.11.2","react-to-print":"^2.14.7","sanitize-html":"2.13.0","use-deep-compare-effect":"^1.8.1"},peerDependencies={react:">=18.0.0","react-dom":">=18.0.0","react-is":">=18.0.0"},devDependencies={"@testing-library/react":"^14.0.0","@types/markdown-it":"14.1.1","@types/markdown-it-highlightjs":"3.3.1","@types/react-big-calendar":"^1.6.4","axios-mock-adapter":"^1.20.0",dumi:"2.2.14","dumi-theme-nocobase":"^0.2.28"},clientPkg={name,version,license,main,module:module$1,types,dependencies,peerDependencies,devDependencies};function createDesignable(e){return new Designable(e)}const generateUid=e=>{e&&(e["x-uid"]||(e["x-uid"]=(0,import_shared.uid)()),Object.keys(e.properties||{}).forEach(t=>{generateUid(e.properties[t])}))},defaultWrap=e=>e,matchSchema=(e,t)=>{if(!(!e||!t)){for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&t[o]!==(e==null?void 0:e[o]))return!1;return!0}},splitWrapSchema=(e,t)=>{if(e["x-uid"]&&e["x-uid"]===t["x-uid"])return[null,e.toJSON()];const o=e.toJSON(),r=P(x({},o),{properties:{}});let i=null;const n=(a,l)=>{Object.keys(a||{}).forEach(c=>{const u=a[c];if(u["x-uid"]===t["x-uid"]){i=a[c];return}else l.properties[c]=P(x({},u),{properties:{}}),n(u==null?void 0:u.properties,l.properties[c])})};return n(o.properties,r),[r,i]},translate=e=>e;class Designable{constructor(t){k(this,"current"),k(this,"options"),k(this,"appVersion"),k(this,"events",{}),this.options=t,this.current=t.current,this.appVersion=t.appVersion}get model(){return this.options.model}get query(){return this.options.query}loadAPIClientEvents(){const{api:t,t:o=translate}=this.options;if(!t)return;const r=i=>{if(!i)return[];const n=Object.values(i.properties).length,a=[];return i.mapProperties(l=>{l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].width=100/n,l["x-uid"]&&a.push({"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]})}),i["x-uid"]&&a.length?a:[]};this.on("insertAdjacent",i=>q(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:d,removed:m}){var p;let h=[];if((d==null?void 0:d["x-component"])==="Grid.Col"&&(h=h.concat(r(d.parent))),(m==null?void 0:m["x-component"])==="Grid.Col"&&(h=h.concat(r(m.parent))),this.refresh(),!a["x-uid"])return;const g=yield t.request({url:`/uiSchemas:insertAdjacent/${a["x-uid"]}?position=${l}`,method:"post",data:{schema:addAppVersion(c,this.appVersion),wrap:u}});h.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:h})),m!=null&&m["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${m["x-uid"]}`,method:"post"})),n==null||n((p=g==null?void 0:g.data)==null?void 0:p.data),import_antd.message.success(o("Saved successfully"),.2)})),this.on("patch",i=>q(this,[i],function*({schema:n}){this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:patch",method:"post",data:x({},n)}),import_antd.message.success(o("Saved successfully"),.2))})),this.on("initializeActionContext",i=>q(this,[i],function*({schema:n}){n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:initializeActionContext",method:"post",data:x({},n)}))})),this.on("batchPatch",i=>q(this,[i],function*({schemas:n}){this.refresh(),yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:n}),import_antd.message.success(o("Saved successfully"),.2)})),this.on("remove",i=>q(this,[i],function*({removed:n}){let a=[];(n==null?void 0:n["x-component"])==="Grid.Col"&&(a=r(n.parent)),this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${n["x-uid"]}`,method:"post"}),a.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:a})),import_antd.message.success(o("Saved successfully"),.2))}))}prepareProperty(t){t.type||(t.type="void"),t.name||(t.name=(0,import_shared.uid)()),this.current["x-uid"]&&generateUid(t)}on(t,o){this.events[t]||(this.events[t]=[]),this.events[t].push(o)}emit(t,...o){return q(this,null,function*(){if(!this.events[t])return;const[r,...i]=o;return Promise.all(this.events[t].map(n=>n.bind(this)(x({current:this.current},r),...i)))})}parentsIn(t){if(!t||!import_react.Schema.isSchemaInstance(t))return!1;let o=this.current;for(;o!=null&&o.parent;){if(o.parent===t)return!0;o=o.parent}return!1}refresh(t){const{refresh:o}=this.options;return o==null?void 0:o(t)}deepMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly"},r={"x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(i=>{o[i]?(this.current[i]=t[i],this.updateModel(o[i],t[i])):r[i]?Object.keys(t[i]).forEach(n=>{(0,import_set.default)(this.current,[i,n],t[i][n]),this.updateModel([r[i],n],t[i][n])}):this.current[i]=t[i]}),this.emit("patch",{schema:t})}getSchemaAttribute(t,o){return(0,import_get.default)(this.current,t,o)}shallowMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly","x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(r=>{this.current[r]=t[r],o[r]&&this.updateModel(o[r],t[r])}),this.emit("patch",{schema:t})}updateModel(t,o){const r=i=>{(0,import_set.default)(i,t,o)};this.model&&r(this.model),this.query&&this.query.take(r)}insertAdjacent(t,o,r={}){switch(t){case"beforeBegin":return this.insertBeforeBegin(o,r);case"afterBegin":return this.insertAfterBegin(o,r);case"beforeEnd":return this.insertBeforeEnd(o,r);case"afterEnd":return this.insertAfterEnd(o,r)}}recursiveRemoveIfNoChildren(t,o){if(!t)return;let r=t,i;const n=o==null?void 0:o.breakRemoveOn;for(;r;){if(typeof n=="function"){if(n(r))break}else if(matchSchema(r,n))break;if(Object.keys(r.properties||{}).length>0)break;r.parent&&(i=r.parent.removeProperty(r.name)),r=r.parent}return i}remove(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return this.emit("remove",{removed:a})}removeWithoutEmit(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return a}insertBeforeBeginOrAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current)||!import_react.Schema.isSchemaInstance(t)||this.current.parent!==t.parent)return;let r=0,i=0;return this.current.parent.mapProperties((n,a,l)=>{this.current.name===a&&(i=l),t.name===a&&(r=l)}),r>i?this.insertBeforeBegin(t,o):this.insertAfterEnd(t,o)}insertBeforeBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=!1,u=0,d=0;this.current.parent.mapProperties((_,f)=>{f===this.current.name&&(d=u,c=!0,++u),_["x-index"]=u,++u,c&&(l[f]=_,this.current.parent.removeProperty(f))}),this.prepareProperty(t);const m=i(t),p=this.current.parent.addProperty(m.name||(0,import_shared.uid)(),m);p["x-index"]=d,p.parent=this.current.parent,this.current.parent.setProperties(l);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"beforeBegin",schema:g,wrapped:m,wrap:h},r))}insertAfterBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=1;this.current.mapProperties((h,g)=>{h["x-index"]=c,++c,l[g]=h}),this.current.properties={},this.prepareProperty(t);const u=i(t),d=this.current.addProperty(u.name||(0,import_shared.uid)(),u);d["x-index"]=0,d.parent=this.current,this.current.setProperties(l);const[m,p]=splitWrapSchema(d,t);this.emit("insertAdjacent",x({position:"afterBegin",schema:p,wrap:m,wrapped:u},r))}insertBeforeEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;delete t["x-index"];const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const l=i(t),c=this.current.addProperty(l.name||(0,import_shared.uid)(),l);c.parent=this.current;const[u,d]=splitWrapSchema(c,t);return this.emit("insertAdjacent",x({position:"beforeEnd",schema:d,wrap:u,wrapped:l},r))}insertAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o==null?void 0:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;let l=0,c=0,u=!1;const d={};if(this.current.parent.mapProperties((_,f)=>{_["x-index"]=l,f===this.current.name&&(++l,c=l,u=!0),++l,u&&f!==this.current.name&&(d[f]=_,this.current.parent.removeProperty(f))}),import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n})),t.parent=null}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const m=i(t),p=this.current.parent.addProperty(m.name||(0,import_shared.uid)(),m);p.parent=this.current.parent,p["x-index"]=c,this.current.parent.setProperties(d);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:g,wrap:h,wrapped:m},r))}}function useFindComponent(){const e=(0,import_react2.useContext)(import_react.SchemaOptionsContext),t=(0,import_react2.useMemo)(()=>(e==null?void 0:e.components)||{},[e]);return o=>{if(!o)return null;if(typeof o!="string")return o;const r=(0,import_get.default)(t,o);return r||console.error(`[nocobase]: Component "${o}" not found`),r}}function useDesignable(){const{designable:e,setDesignable:t,refresh:o,reset:r}=(0,import_react2.useContext)(SchemaComponentContext),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useMemo)(()=>(i==null?void 0:i.components)||{},[i]),a=(0,import_react2.useMemo)(()=>()=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{}),[]),l=(0,import_ahooks.useUpdate)(),c=useRefreshFieldSchema(),u=useRefreshComponent(),d=(0,import_react2.useCallback)(v=>{o==null||o(),l(),c==null||c(v),u==null||u()},[o,l,c,u]),m=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),h=useAPIClient(),{t:g}=(0,import_react_i18next.useTranslation)(),_=(0,import_react2.useMemo)(()=>createDesignable({t:g,api:h,refresh:d,current:p,model:m,appVersion:clientPkg.version}),[g,h,d,p,m]);(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]);const{isMobileLayout:f}=useMobileLayout();return{dn:_,designable:f?!1:e,reset:r,refresh:d,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(v=>{var C;if(!v)return null;if(typeof v!="string")return v;const b=(0,import_get.default)(n,v);return(C=b==null?void 0:b[LAZY_COMPONENT_KEY])!=null?C:b},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((v,C)=>{const b=S=>{Object.keys(S).forEach(y=>{const F=S[y];y==="title"&&(m.title=F,p.title=F),y==="x-decorator-props"&&(m.decoratorProps||(m.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(F).forEach(j=>{m.decoratorProps[j]=F[j],p["x-decorator-props"][j]=F[j]})),y==="x-component-props"&&(m.componentProps||(m.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(F).forEach(j=>{m.componentProps[j]=F[j],p["x-component-props"][j]=F[j]}))})};if(typeof v=="string"){const S={};return(0,import_set.default)(S,v,C),b(S)}b(v),d()},[_]),shallowMerge:(0,import_react2.useCallback)(v=>{_.shallowMerge(v)},[_]),deepMerge:(0,import_react2.useCallback)(v=>{_.deepMerge(v)},[_]),remove:(0,import_react2.useCallback)((v,C)=>{_.remove(v,C)},[_]),insertAdjacent:(0,import_react2.useCallback)((v,C,b)=>{_.insertAdjacent(v,C,b)},[_]),insertBeforeBegin:(0,import_react2.useCallback)(v=>{_.insertBeforeBegin(v)},[_]),insertAfterBegin:(0,import_react2.useCallback)(v=>{_.insertAfterBegin(v)},[_]),insertBeforeEnd:(0,import_react2.useCallback)(v=>{_.insertBeforeEnd(v)},[_]),insertAfterEnd:(0,import_react2.useCallback)(v=>{_.insertAfterEnd(v)},[_])}}const DefaultSchemaToolbar=()=>null;DefaultSchemaToolbar.isNullComponent=!0;const useDesigner=()=>{const{designable:e}=useDesignable(),t=(0,import_react.useFieldSchema)(),o=(0,import_react2.useMemo)(()=>t["x-designer"]||t["x-toolbar"]?t["x-designer"]||t["x-toolbar"]:t["x-settings"]?SchemaToolbar:DefaultSchemaToolbar,[t]),r=useComponent(o);return e&&r||DefaultSchemaToolbar},useFieldProps$1=e=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),r=(0,import_react2.useRef)();return r.current=o,e.toFieldProps(P(x({},t),{get scope(){return x(x({},t.scope),r.current)}}))};function useSchemaComponentContext(){return(0,import_react2.useContext)(SchemaComponentContext)}const useFieldComponentOptions=()=>{var e;const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(),r=(0,import_react.useFieldSchema)(),{getField:i}=useCollection_deprecated(),n=i(r.name)||t(r["x-collection-field"]),{t:a}=(0,import_react_i18next.useTranslation)(),{label:l}=((e=r["x-component-props"])==null?void 0:e.fieldNames)||{};return(0,import_react2.useMemo)(()=>{if(!n||!(n!=null&&n.interface)||!["o2o","oho","obo","o2m","linkTo","m2o","m2m"].includes(n.interface))return;const c=o(n.target);if((c==null?void 0:c.template)==="file")return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];switch(n.interface){case"o2m":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subtable"),value:"TableField"},{label:a("Select"),value:"AssociationSelect"}];case"m2o":case"m2m":case"linkTo":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];default:return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subform"),value:"FormField"},{label:a("Select"),value:"AssociationSelect"}]}},[a,n==null?void 0:n.interface,l])},useFieldTitle=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useCollection(),i=useCollectionManager(),n=(r==null?void 0:r.getField(o.name))||(i==null?void 0:i.getCollectionField(o["x-collection-field"])),a=useCompile();(0,import_react2.useEffect)(()=>{var l;t!=null&&t.title||(t.title=a((l=n==null?void 0:n.uiSchema)==null?void 0:l.title))},[(e=n==null?void 0:n.uiSchema)==null?void 0:e.title])},useDef$4=()=>({}),useProps=(e={})=>{const t=e,{useProps:o=useDef$4}=t,r=W(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$4);const n=i();return x(x({},r),n)};function useParsedFilter({filterOption:e,onFilterChange:t}){const{parseFilter:o,findVariable:r}=useParseDataScopeFilter(),[i,n]=(0,import_react2.useState)({}),[a,l]=(0,import_react2.useState)(!!e);return(0,import_react2.useEffect)(()=>{if(!e)return;const c=()=>q(this,null,function*(){l(!0);const d=yield o(e);l(!1),n(d),t==null||t(d)});c();const u=import_lodash.default.debounce(c,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:d}){return d.startsWith("$")&&d!=="$and"&&d!=="$or"},transformValue(d){if(!isVariable$1(d))return d;const m=getVariableName(d),p=r(m);let h=null;const g=getPath(d).split(".");return g.forEach((_,f)=>{const v=g.slice(0,f+1).join("."),C=(0,import_client.getValuesByPath)({[m]:(p==null?void 0:p.ctx)||{}},v);import_lodash.default.isEmpty(C)||(h=C)}),h}}),u,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),o,r]),{filter:i,parseVariableLoading:a}}const useParentRecordCommon=e=>{const t=useCollectionRecordData();if(e)return t},useTableBlockDecoratorProps=e=>{var t;const{params:o,parseVariableLoading:r}=useTableBlockParams(e),i=useParentRecordCommon(e.association),n=(t=useDataSourceManager().getDataSource(e.dataSource))==null?void 0:t.collectionManager.getCollection(e.collection);return{params:o,parentRecord:i,parseVariableLoading:r,rowKey:(n==null?void 0:n.filterTargetKey)||"id"}};function useTableBlockParams(e){var t;const o=(0,import_react.useFieldSchema)(),{filter:r,parseVariableLoading:i}=useParsedFilter({filterOption:(t=e.params)==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>{const n=e.params||{},{dragSortBy:a}=(o==null?void 0:o["x-decorator-props"])||{};return e.dragSort&&a&&(n.sort=a),P(x({},n),{filter:r})},[o,r,e.dragSort,e.params]),parseVariableLoading:i}}const key="__isNewRecord__",isNewRecord=e=>(0,import_reactive.untracked)(()=>!!(e!=null&&e[key])),markRecordAsNew=e=>{if(!(0,import_lodash.isObject)(e))throw new Error("markRecordAsNew: record must be an object");return e[key]=!0,e},useDefaultLoading=()=>{var e;return!!((e=useDataBlockRequest())!=null&&e.loading)},withSkeletonComponent=(e,t)=>{const{useLoading:o=useDefaultLoading,displayName:r,SkeletonComponent:i=import_antd.Skeleton}=t||{},n=import_react2.default.memo(a=>{const l=o(),c=(0,import_react2.useRef)(!1),u=(0,import_react2.useDeferredValue)(l);return!c.current&&u?(0,import_jsx_runtime.jsx)(i,{}):(c.current=!0,(0,import_jsx_runtime.jsx)(e,x({},a)))});return n.displayName=r||`${e.displayName}(withSkeletonComponent)`||`${e.name}(withSkeletonComponent)`,n},getActionValue=(e,t)=>{const o=r=>(r==null?void 0:r.mode)==="constant"?r.value:null;switch(!0){case[ActionType.Color,ActionType.BackgroundColor,ActionType.TextAlign,ActionType.FontSize,ActionType.FontWeight,ActionType.FontStyle].includes(e):return o(t);default:return null}},getSatisfiedActions=(e,t)=>q(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>q(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:a.condition,variables:r,localVariables:i,conditionType:a.conditionType},n))?a:null})))).filter(Boolean).map(a=>a.actions).flat()}),getSatisfiedValues=(e,t)=>q(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedActions({rules:o,variables:r,localVariables:i},n)).map(a=>P(x({},a),{value:getActionValue(a.operator,a.value)}))}),getSatisfiedValueMap=(e,t)=>q(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedValues({rules:o,variables:r,localVariables:i},n)).reduce((a,l)=>P(x({},a),{[l.operator]:l.value}),{})});function useSatisfiedActionValues({formValues:e,category:t="default",rules:o,schema:r,form:i}){const[n,a]=(0,import_react2.useState)({}),l=(0,import_react.useFieldSchema)(),c=useVariables$1(),u=useLocalVariables$1({currentForm:{values:e}}),d=r??l,m=o??(d[LinkageRuleDataKeyMap[t]]||(d==null?void 0:d.parent[LinkageRuleDataKeyMap[t]])),p=useApp(),h=(0,import_react2.useCallback)(()=>{m&&e&&getSatisfiedValueMap({rules:m,variables:c,localVariables:u},p.jsonLogic).then(g=>{(0,import_lodash.isEmpty)(g)?a({}):a(g)}).catch(g=>{throw new Error(g.message)})},[c,u,m,e]);return(0,import_react2.useEffect)(()=>{if(h(),i){const g=(0,import_shared.uid)();return i.addEffects(g,()=>{(0,import_core.onFormValuesChange)(()=>{h()})}),()=>{i.removeEffects(g)}}},[i,h,e]),{valueMap:n}}const GetStyleRules=import_react2.default.memo(({record:e,schema:t,onStyleChange:o})=>{const{valueMap:r}=useSatisfiedActionValues({formValues:e,category:"style",schema:t});return(0,import_react2.useEffect)(()=>{o(r)},[o,r]),null});GetStyleRules.displayName="GetStyleRules";const opacityStyle={opacity:.5},containerStyle={position:"relative"},spinStyle={display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",left:0,right:0,height:"100%",maxHeight:400,zIndex:1e3},displayNone$3={display:"none"},HighPerformanceSpin=import_react2.default.memo(e=>(0,import_jsx_runtime.jsxs)("div",{style:containerStyle,children:[(0,import_jsx_runtime.jsx)(import_antd.Spin,P(x({},import_lodash.default.omit(e,"children")),{style:e.spinning?spinStyle:displayNone$3})),(0,import_jsx_runtime.jsx)("div",{style:e.spinning?opacityStyle:null,children:e.children})]}));var FilterBlockType=(e=>(e[e.FORM=0]="FORM",e[e.TABLE=1]="TABLE",e[e.TREE=2]="TREE",e[e.COLLAPSE=3]="COLLAPSE",e))(FilterBlockType||{});const mergeFilter=(e,t="$and")=>{const o=e.filter(r=>{if(r&&typeof r=="object"&&!Array.isArray(r))return Object.values(r).filter(i=>i!==void 0).length});return o.length===0?{}:o.length===1?o[0]:{[t]:o}},getSupportFieldsByAssociation=(e,t)=>{var o;return(o=t.associatedFields)==null?void 0:o.filter(r=>e==null?void 0:e.some(i=>i===r.target))},getSupportFieldsByForeignKey=(e,t)=>{var o;return(o=t.foreignKeyFields)==null?void 0:o.filter(r=>e.fields.some(i=>i.type!=="belongsTo"&&i.foreignKey===r.name&&i.target===r.collectionName))},useSupportedBlocks=e=>{const{getDataBlocks:t}=useFilterBlock(),o=(0,import_react.useFieldSchema)(),r=useCollection(),{getAllCollectionsInheritChain:i}=useAllCollectionsInheritChainGetter();if(e===0||e===3)return t().filter(n=>isSameCollection(n.collection,r));if(e===1||e===2)return t().filter(n=>{var a,l;return o["x-uid"]!==n.uid&&(isSameCollection(n.collection,r)||((a=getSupportFieldsByAssociation(i(r.name,r.dataSource),n))==null?void 0:a.length)||((l=getSupportFieldsByForeignKey(r,n))==null?void 0:l.length))})},transformToFilter=(e,t,o,r)=>(e=(0,import_client.flatten)(e,{breakOn({value:i,path:n}){if(["$match","$notMatch","$anyOf","$noneOf","$childIn","$childNotIn","$dateBetween","$in","$notIn"].includes(t[n]))return!0;const a=o(`${r}.${n}`);if(["datetime","datetimeNoTz","date","unixTimestamp","createdAt","updatedAt"].includes(a==null?void 0:a.interface))return!0;if(a!=null&&a.target){if(Array.isArray(i))return!0;const l=a.targetKey||"id";if(i&&i[l]!=null)return!0}return!1}}),{$and:Object.keys(e).map(i=>{let n=import_lodash.default.get(e,i);const a=o(`${r}.${i}`);return a!=null&&a.target&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(a.type)&&(n=(0,import_client.getValuesByPath)(n,a.targetKey||"id"),i=`${i}.${a.targetKey||"id"}`,(a==null?void 0:a.interface)==="chinaRegion"&&(n=import_lodash.default.last(n))),!n&&n!==0&&n!==!1?null:{[i]:{[t[i]||"$eq"]:n}}}).filter(Boolean)}),useAssociatedFields=()=>{var e;return((e=useCollection())==null?void 0:e.fields.filter(t=>isAssocField(t)))||[]},isAssocField=e=>["o2o","oho","obo","m2o","createdBy","updatedBy","o2m","m2m","linkTo","chinaRegion","mbm"].includes(e==null?void 0:e.interface),isSameCollection=(e,t)=>e.name===t.name&&e.dataSource===t.dataSource,useFilterAPI=()=>{const e=(0,import_react.useFieldSchema)(),{getDataBlocks:t}=useFilterBlock(),{targets:o,uid:r}=findFilterTargets(e),i=t(),[n,a]=(0,import_react2.useState)(()=>o&&o.some(u=>i.some(d=>d.uid===u.uid))),l=Object.keys(o||{});(0,import_react2.useEffect)(()=>{a(o&&o.some(u=>i.some(d=>d.uid===u.uid)))},[l.length,o,i]);const c=(0,import_react2.useCallback)((u,d="id",m="$eq")=>{const p=i.find(h=>h.uid===e.parent["x-uid"]);i.forEach(h=>{var g,_,f,v;let C=d;const b=o.find(j=>j.uid===h.uid);if(!b)return;import_lodash.default.isFunction(u)&&(u=u(b,h,getSourceKey$1(p,b.field))),import_lodash.default.isFunction(d)&&(C=d(b,h)),import_lodash.default.isFunction(m)&&(m=m(b));const S=((g=h.service.params)==null?void 0:g[0])||{},y=((f=(_=h.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};if(u!=null)y[r]={$and:[{[C]:{[m]:u}}]};else if((v=h.clearSelection)==null||v.call(h),delete y[r],h.dataLoadingMode==="manual")return h.clearData();const F=mergeFilter([...Object.values(y).map(j=>removeNullCondition(j)),h.defaultFilter]);h.doFilter(P(x({},S),{page:1,filter:F}),{filters:y})})},[i,o,r,e]);return{isConnected:n,doFilter:c}},isInFilterFormBlock=e=>{for(;e;){if(e["x-filter-targets"])return e["x-decorator"]==="FilterFormBlockProvider";e=e.parent}return!1};function getSourceKey$1(e,t){var o,r,i;const n=(o=e==null?void 0:e.associatedFields)==null?void 0:o.find(a=>a.foreignKey===t);return(n==null?void 0:n.sourceKey)||((i=(r=t==null?void 0:t.split)==null?void 0:r.call(t,"."))==null?void 0:i[1])}const AssociationFieldContext=(0,import_react2.createContext)({});AssociationFieldContext.displayName="AssociationFieldContext";const useInsertSchema$1=e=>{const t=(0,import_react.useFieldSchema)(),{insertAfterBegin:o}=useDesignable(),{isMobileLayout:r}=useMobileLayout();return(0,import_react2.useCallback)(i=>{r||t.reduceProperties((n,a)=>a["x-component"]==="AssociationField."+e?a:n,null)||o((0,import_cloneDeep.default)(i))},[e,t,o,r])};function useAssociationFieldContext(){return(0,import_react2.useContext)(AssociationFieldContext)}function useServiceOptions$1(e){var t,o,r,i,n,a,l,c,u,d;const{action:m="list",service:p,useOriginalFilter:h}=e,g=(0,import_react.useFieldSchema)(),_=(0,import_react.useField)(),{getField:f}=useCollection_deprecated(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),C=useRecord(),{isNew:b}=useCollectionRecord()||{},S=((0,import_lodash.isString)((r=(o=(t=g==null?void 0:g["x-component-props"])==null?void 0:t.service)==null?void 0:o.params)==null?void 0:r.filter)?(a=(n=(i=_.componentProps)==null?void 0:i.service)==null?void 0:n.params)==null?void 0:a.filter:(u=(c=(l=g==null?void 0:g["x-component-props"])==null?void 0:l.service)==null?void 0:c.params)==null?void 0:u.filter)||((d=p==null?void 0:p.params)==null?void 0:d.filter),{filter:y}=useParsedFilter({filterOption:S,onFilterChange:()=>{b&&_.reset()}}),F=(0,import_react2.useMemo)(()=>f(g.name)||v(g==null?void 0:g["x-collection-field"]),[g]),j=C==null?void 0:C[F==null?void 0:F.sourceKey],A=(0,import_react2.useMemo)(()=>{const D=["oho","o2m"].includes(F==null?void 0:F.interface);return mergeFilter([mergeFilter([D&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$is:null}}:null,y]),D&&j!==void 0&&j!==null&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$eq:j}}:null],"$or")},[F==null?void 0:F.interface,F==null?void 0:F.foreignKey,g,y,j,h]);return(0,import_react2.useMemo)(()=>P(x({resource:F==null?void 0:F.target,action:m},p),{params:P(x({},p==null?void 0:p.params),{filter:A})}),[F==null?void 0:F.target,m,A,p])}const useFieldNames$1=(e={})=>{var t,o,r,i,n;const a=(0,import_react.useFieldSchema)(),l=((i=(r=(o=(t=a["x-component-props"])==null?void 0:t.field)==null?void 0:o.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.fieldNames)||((n=a["x-component-props"])==null?void 0:n.fieldNames)||e.fieldNames;return x({label:"label",value:"value"},l)},SubFormContext=(0,import_react2.createContext)(null);SubFormContext.displayName="SubFormContext";const SubFormProvider=e=>{const t=(0,import_react2.useContext)(SubFormContext),{value:o,collection:r,fieldSchema:i,parent:n,skip:a}=e.value,l=(0,import_react2.useMemo)(()=>import_lodash.default.omitBy({value:o,collection:r,fieldSchema:i,skip:a,parent:n||(t!=null&&t.skip?t.parent:t)},import_lodash.default.isUndefined),[o,r,i,a,n,t]);return(0,import_jsx_runtime.jsx)(SubFormContext.Provider,{value:l,children:e.children})},useSubFormValue=()=>{const{value:e,collection:t,fieldSchema:o,parent:r}=(0,import_react2.useContext)(SubFormContext)||{};return{formValue:e,collection:t,fieldSchema:o,parent:r}},TableUidContext=(0,import_react2.createContext)(null),useColumnSettings=e=>{const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react2.useContext)(TableUidContext),r=`nocobase_table_column_settings_${o}`,i=(0,import_react2.useCallback)(()=>{try{const l=localStorage.getItem(r);return l?JSON.parse(l):null}catch(l){return console.warn("Failed to parse table column settings from localStorage:",l),null}},[r]),n=(0,import_react2.useCallback)(l=>{try{const c=JSON.stringify(l);localStorage.setItem(r,c);const u=new CustomEvent("nocobase-table-settings-changed",{detail:{key:r,tableId:o,settings:l}});window.dispatchEvent(u)}catch(c){console.warn("Failed to save table column settings to localStorage:",c),import_antd.message.error(t("Failed to save table settings"))}},[r,o,t]),a=(0,import_react2.useCallback)(()=>{try{localStorage.removeItem(r);const l=new CustomEvent("nocobase-table-settings-changed",{detail:{key:r,tableId:o,settings:null}});window.dispatchEvent(l)}catch(l){console.warn("Failed to clear table column settings from localStorage:",l),import_antd.message.error(t("Failed to clear table settings"))}},[r,o,t]);return{getSettings:i,saveSettings:n,clearSettings:a}},useTableColumnIntegration=(e,t=!0)=>{const o=(0,import_react2.useContext)(TableUidContext),{getSettings:r}=useColumnSettings(),[i,n]=(0,import_react2.useState)(0);(0,import_react2.useEffect)(()=>{const l=c=>{const{key:u,tableId:d}=c.detail;(u.includes(o)||d===o)&&n(m=>m+1)};return window.addEventListener("nocobase-table-settings-changed",l),()=>{window.removeEventListener("nocobase-table-settings-changed",l)}},[o]);const a=(0,import_react2.useMemo)(()=>r(),[r,i]);return{columns:(0,import_react2.useMemo)(()=>{if(!t||!a||a.length===0)return e;const l=new Map;a.forEach(p=>{l.set(p.key,p)});const c=e.map(p=>{const h=l.get(p.key);if(h){const g=p.columnHidden||!h.visible,_=h.width||p.width,f=h.fixed||p.fixed;return P(x({},p),{columnHidden:g,fixed:f,width:_,_orderIndex:h.order})}return p}),u=[],d=[];c.forEach(p=>{p._orderIndex!==void 0?u.push(p):d.push(p)}),u.sort((p,h)=>(p._orderIndex||0)-(h._orderIndex||0));const m=[...u,...d];return m.forEach(p=>{delete p._orderIndex}),m},[e,a])}},TableSkeleton=({rows:e=5,columns:t=6})=>{const{token:o}=useToken$1(),r=o.controlHeight*2.06,i=o.controlHeight*1.75,n=(0,import_react2.useMemo)(()=>import_css.css`
|
|
66
66
|
&.skeleton-wrapper {
|
|
67
67
|
width: 100%;
|
|
68
68
|
background: ${o.colorBgContainer};
|
|
@@ -307,7 +307,7 @@ ${JSON.stringify(V,null,2)}`)},[u,c,l,i,r,j,t,a,n,g,o,_,b,A,S,y,h]),N=(0,import_
|
|
|
307
307
|
`,popupMatchSelectWidth:!1,value:c==null?void 0:c.value,options:o(a),onChange:S,placeholder:t("Comparision")}),c!=null&&c.noValue?null:(0,import_jsx_runtime.jsx)(DynamicComponent$2,{value:m,schema:i,collectionField:h,onChange:p}),!e.disabled&&(0,import_jsx_runtime.jsx)("a",{role:"button","aria-label":"icon-close",children:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleOutlined,{onClick:r,style:y})})]})})},{displayName:"FilterItem"}),FilterItems$1=(0,import_react.observer)(e=>{var t;const o=(0,import_react.useField)();return(0,import_jsx_runtime.jsx)("div",{children:(t=o==null?void 0:o.value)==null?void 0:t.filter(Boolean).map((r,i)=>(0,import_jsx_runtime.jsx)(RemoveConditionContext$1.Provider,{value:()=>o.remove(i),children:(0,import_jsx_runtime.jsx)(import_react.ObjectField,{name:i,component:[r.$and||r.$or?FilterGroup$1:FilterItem]})},i))})},{displayName:"FilterItems"}),FilterGroup$1=(0,import_react.connect)(e=>{const{bordered:t=!0,disabled:o}=e,r=(0,import_react.useField)(),i=(0,import_react2.useContext)(RemoveConditionContext$1),{t:n}=(0,import_react_i18next.useTranslation)(),{token:a}=useToken$1(),l=Object.keys(r.value||{}).includes("$or")?"$or":"$and",c=d=>{const m=r.value||{};r.value={[d]:[...m[l]||[]]}},u=o||r.disabled;return(0,import_jsx_runtime.jsx)(FilterLogicContext$1.Provider,{value:l,children:(0,import_jsx_runtime.jsxs)("div",{style:t?{position:"relative",border:`1px dashed ${a.colorBorder}`,padding:a.paddingSM,marginBottom:a.marginXS}:{position:"relative",marginBottom:a.marginXS},children:[i&&!u&&(0,import_jsx_runtime.jsx)("a",{role:"button","aria-label":"icon-close",children:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleOutlined,{style:{position:"absolute",right:10,top:10,color:"#bfbfbf"},onClick:()=>i()})}),(0,import_jsx_runtime.jsx)("div",{style:{marginBottom:8,color:a.colorText},children:(0,import_jsx_runtime.jsxs)(import_react_i18next.Trans,{children:["Meet ",(0,import_jsx_runtime.jsxs)(import_antd.Select,{role:"button","data-testid":"filter-select-all-or-any",style:{width:"auto"},value:l,onChange:d=>{c(d)},children:[(0,import_jsx_runtime.jsx)(import_antd.Select.Option,{value:"$and",children:"All"}),(0,import_jsx_runtime.jsx)(import_antd.Select.Option,{value:"$or",children:"Any"})]})," conditions in the group"]})}),(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(import_react.ArrayField,{name:l,component:[FilterItems$1],disabled:u})}),!u&&(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:16,style:{marginTop:8,marginBottom:8},children:[(0,import_jsx_runtime.jsx)("a",{onClick:()=>{const d=(r.value||{})[l]||[];d.push({}),r.value={[l]:d},r.initialValue={[l]:d}},children:n("Add condition")}),(0,import_jsx_runtime.jsx)("a",{onClick:()=>{const d=(r.value||{})[l]||[];d.push({$and:[{}]}),r.value={[l]:d}},children:n("Add condition group")})]})]})})}),SaveDefaultValue=e=>{const{t}=(0,import_react_i18next.useTranslation)(),{designable:o,dn:r,refresh:i}=useDesignable(),n=(0,import_react.useFieldSchema)(),a=(0,import_react.useForm)();return o?(0,import_jsx_runtime.jsx)(import_antd.Button,{className:import_css.css`
|
|
308
308
|
border-color: var(--colorSettings);
|
|
309
309
|
color: var(--colorSettings);
|
|
310
|
-
`,type:"dashed",onClick:()=>{var l,c,u,d;const m=(d=(u=(c=(l=n==null?void 0:n.parent)==null?void 0:l.parent)==null?void 0:c.parent)==null?void 0:u.properties)==null?void 0:d.filter;if(!m)return;const p=a.values.filter;r.emit("patch",{schema:{"x-uid":m["x-uid"],default:p}}),r.refresh(),m.default=p,console.log("filterSchema",p)},children:t("Save conditions")}):null},useDef$3=e=>{const t=(0,import_react.useField)();return useRequest(()=>Promise.resolve({data:t.dataSource}),e)},Filter=withDynamicSchemaProps((0,import_react.observer)(e=>{const{useDataSource:t=useDef$3}=e,{options:o,dynamicComponent:r,className:i,collectionName:n}=useProps(e),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)();return t({onSuccess(c){a.dataSource=(c==null?void 0:c.data)||[]}}),(0,import_react2.useEffect)(()=>{l.defaultValue&&(a.initialValue=l.defaultValue)},[l.defaultValue]),(0,import_jsx_runtime.jsx)("div",{className:i,children:(0,import_jsx_runtime.jsx)(FilterContext$3.Provider,{value:{field:a,fieldSchema:l,dynamicComponent:r,options:o||a.dataSource||[],disabled:e.disabled,collectionName:n},children:(0,import_jsx_runtime.jsx)(FilterGroup$1,P(x({},e),{bordered:!1}))})})}),{displayName:"Filter"});Filter.SaveDefaultValue=SaveDefaultValue;Filter.Action=FilterAction;Filter.Action.Designer=FilterActionDesigner;const useGetFilterOptions=()=>{const e=useDataSourceManager(),t=useGetFilterFieldOptions();return(o,r,i)=>{var n;const a=(n=e==null?void 0:e.getDataSource(r))==null?void 0:n.collectionManager,l=a==null?void 0:a.getCollectionFields(o);return t(l,i)}},useFilterOptions=e=>{const t=useCollectionManager(),o=t==null?void 0:t.getCollectionFields(e);return useFilterFieldOptions(o)},useGetFilterFieldOptions=()=>{var e,t;const o=(0,import_react.useFieldSchema)(),r=Array.isArray((e=o==null?void 0:o["x-component-props"])==null?void 0:e.nonfilterable)?(t=o==null?void 0:o["x-component-props"])==null?void 0:t.nonfilterable:[],i=useCollectionManager(),n=useDataSourceManager(),a=(c,u,d,m)=>{var p,h;const g=m?`${m}.${c.name}`:c.name;if(r.length&&r.includes(g)||!c.interface)return;const _=n==null?void 0:n.collectionFieldInterfaceManager.getFieldInterface(c.interface);if(!(_!=null&&_.filterable)&&!d)return;const{nested:f,children:v,operators:C}=(_==null?void 0:_.filterable)||{},b={name:c.name,type:c.type,target:c.target,title:((p=c==null?void 0:c.uiSchema)==null?void 0:p.title)||c.name,schema:c==null?void 0:c.uiSchema,interface:c.interface,operators:((h=C==null?void 0:C.filter)==null?void 0:h.call(C,S=>!(S!=null&&S.visible)||S.visible(c)))||[]};if(!(c.target&&u>2)){if(u>2)return b;if(v!=null&&v.length&&(b.children=v),f){const S=i==null?void 0:i.getCollectionFields(c.target),y=l(S,u+1,d,g).filter(Boolean);b.children=b.children||[],b.children.push(...y)}return b}},l=(c,u,d,m)=>{const p=[];return c==null||c.forEach(h=>{const g=a(h,u,d,m);g&&p.push(g)}),p};return(c,u)=>l(c,1,u)},field2option=(e,t,o,r,i,n)=>{var a,l,c,u,d;const m=n?`${n}.${e.name}`:e.name;if(o.length&&o.includes(m)||!e.interface||e.filterable===!1)return;const p=r==null?void 0:r.collectionFieldInterfaceManager.getFieldInterface(e.interface);if(!(p!=null&&p.filterable))return;const{nested:h,children:g,operators:_}=p.filterable,f={name:e.name,type:e.type,target:e.target,title:((a=e==null?void 0:e.uiSchema)==null?void 0:a.title)||e.name,schema:e==null?void 0:e.uiSchema,operators:((l=_==null?void 0:_.filter)==null?void 0:l.call(_,v=>!(v!=null&&v.visible)||v.visible(e)))||[]};if(!(e.target&&t>2)){if(t>2)return f;if(g!=null&&g.length&&(f.children=g),h){const v=(c=i==null?void 0:i.dataSource)==null?void 0:c.key,C=e.dataSourceKey||v,b=C&&C!==v?((u=r==null?void 0:r.getDataSource(C))==null?void 0:u.collectionManager)||i:i||((d=r==null?void 0:r.getDataSource(C))==null?void 0:d.collectionManager),S=b==null?void 0:b.getCollectionFields(e.target),y=getOptions$1(S||[],t+1,o,r,b||i,m).filter(Boolean);f.children=f.children||[],f.children.push(...y)}return f}},getOptions$1=(e=[],t,o,r,i,n)=>{const a=[];return e.forEach(l=>{const c=field2option(l,t,o,r,i,n);c&&a.push(c)}),a},useFilterFieldOptions=e=>{var t,o;const r=(0,import_react.useFieldSchema)(),i=Array.isArray((t=r==null?void 0:r["x-component-props"])==null?void 0:t.nonfilterable)?(o=r==null?void 0:r["x-component-props"])==null?void 0:o.nonfilterable:[],n=useCollectionManager(),a=useDataSourceManager();return getOptions$1(e,1,i,a,n)},isEmpty=e=>Array.isArray(e)&&e.length===0||e&&Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype,removeNullCondition=(e,t=import_flat.default)=>{const o=t(e||{}),r={};for(const i in o){const n=o[i];n!=null&&!isEmpty(n)&&(r[i]=n)}return t.unflatten(r)},useFilterActionProps$1=()=>{const e=useCollection(),t=useFilterOptions(e==null?void 0:e.name),o=useDataBlockProps();return useFilterFieldProps({options:t,params:o==null?void 0:o.params})},useFilterFieldProps=({options:e,service:t,params:o})=>{const{getDataBlockRequest:r}=useDataBlockRequestGetter(),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useField)(),a=useDataLoadingMode(),l=(0,import_react.useFieldSchema)(),c=useCompile(),u=(0,import_react2.useCallback)(m=>{var p,h,g,_,f;const v=t||r(),C=(o||((h=(p=v.state)==null?void 0:p.params)==null?void 0:h[0])||v.params).filter,b=removeNullCondition(m==null?void 0:m.filter);if(a==="manual"&&import_lodash.default.isEmpty(b))return v==null?void 0:v.mutate(void 0);const S=((_=(g=v==null?void 0:v.params)==null?void 0:g[1])==null?void 0:_.filters)||{};S.filterAction=b,v==null||v.run(P(x({},(f=v==null?void 0:v.params)==null?void 0:f[0]),{page:1,filter:mergeFilter([...Object.values(S),C])}),{filters:S});const y=(b==null?void 0:b.$and)||(b==null?void 0:b.$or);y!=null&&y.length?n.title=i("{{count}} filter items",{count:(y==null?void 0:y.length)||0}):n.title=c(l.title)||i("Filter")},[a,n,r,o,t,i,l.title]),d=(0,import_react2.useCallback)(()=>{var m,p,h,g,_;const f=t||r(),v=(o||((p=(m=f.state)==null?void 0:m.params)==null?void 0:p[0])||f.params).filter,C=((g=(h=f==null?void 0:f.params)==null?void 0:h[1])==null?void 0:g.filters)||{};delete C.filterAction;const b=[P(x({},(_=f==null?void 0:f.params)==null?void 0:_[0]),{filter:mergeFilter([...Object.values(C),v]),page:1}),{filters:C}];if(n.title=c(l.title)||i("Filter"),a==="manual")return f.params=b,f==null?void 0:f.mutate(void 0);f==null||f.run(...b)},[a,n,r,o,t,i,l.title]);return{options:e,onSubmit:u,onReset:d}},useLabelFields$1=e=>{var t,o,r;const i=useCompile(),{getCollectionFields:n}=useCollectionManager_deprecated();if(!e)return[];const a=n(e);return(r=(o=(t=a==null?void 0:a.filter)==null?void 0:t.call(a,l=>(l==null?void 0:l.interface)&&!(l!=null&&l.target)&&l.type!=="boolean"))==null?void 0:o.map)==null?void 0:r.call(o,l=>{var c;return{value:l.name,label:i(((c=l==null?void 0:l.uiSchema)==null?void 0:c.title)||l.name)}})},useColorFields=e=>{var t,o,r;const i=useCompile(),{getCollectionFields:n}=useCollectionManager_deprecated();if(!e)return[];const a=n(e);return(r=(o=(t=a==null?void 0:a.filter)==null?void 0:t.call(a,l=>(l==null?void 0:l.interface)==="color"))==null?void 0:o.map)==null?void 0:r.call(o,l=>{var c;return{value:l.name,label:i(((c=l==null?void 0:l.uiSchema)==null?void 0:c.title)||l.name)}})},TableColumnDesigner$1=e=>{var t,o,r,i,n,a,l,c,u,d,m,p;const{uiSchema:h,fieldSchema:g,collectionField:_}=e,{form:f}=useFormBlockContext(),{getInterface:v,getCollection:C}=useCollectionManager_deprecated(),b=(0,import_react.useField)(),{t:S}=(0,import_react_i18next.useTranslation)(),y=(0,import_react.useFieldSchema)(),{dn:F}=useDesignable(),j=((t=g==null?void 0:g["x-component-props"])==null?void 0:t.fieldNames)||((o=h==null?void 0:h["x-component-props"])==null?void 0:o.fieldNames),A=useLabelFields$1((r=_==null?void 0:_.target)!=null?r:_==null?void 0:_.targetCollection),D=useColorFields((i=_==null?void 0:_.target)!=null?i:_==null?void 0:_.targetCollection),N=v(_==null?void 0:_.interface),M=C(_==null?void 0:_.target),w=isFileCollection$2(M),R=["QuickEdit","FormItem"].includes(g["x-decorator"]),{currentMode:T}=useAssociationFieldContext(),{isAllowToSetDefaultValue:$}=useIsAllowToSetDefaultValue({collectionField:_,fieldSchema:g}),B=["datetime","createdAt","updatedAt"].includes(_==null?void 0:_.interface),I=["obo","oho","o2o","o2m","m2m","m2o","snapshot"].includes(_==null?void 0:_.interface),E=useFieldModeOptions({fieldSchema:g}),V=((n=g==null?void 0:g["x-component-props"])==null?void 0:n.mode)||"Select";let O="editable";g["x-disabled"]===!0&&(O="readonly"),g["x-read-pretty"]===!0&&(O="read-pretty");const L=I&&V==="Select",U=()=>{const{name:z}=useCollection(),{linkageRulesProps:G}=useSchemaToolbar();return(0,import_jsx_runtime.jsx)(SchemaSettingsLinkageRules,x({category:"style"},P(x({},G),{collectionName:z})))};return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{disableInitializer:!0,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:S("Custom column title"),schema:{type:"object",title:S("Custom column title"),properties:{title:{title:S("Column title"),default:y==null?void 0:y.title,description:`${S("Original field title: ")}${((a=_==null?void 0:_.uiSchema)==null?void 0:a.title)||(g==null?void 0:g.title)}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:z})=>{z&&(b.title=z,y.title=z,F.emit("patch",{schema:{"x-uid":y["x-uid"],title:y.title}})),F.refresh()}}),L&&!b.readPretty&&!(h!=null&&h["x-read-pretty"])&&R&&(0,import_jsx_runtime.jsx)(SchemaSettingsDataScope,{collectionName:_==null?void 0:_.target,defaultFilter:((u=(c=(l=g==null?void 0:g["x-component-props"])==null?void 0:l.service)==null?void 0:c.params)==null?void 0:u.filter)||{},form:f,onSubmit:({filter:z})=>{var G,H;z=removeNullCondition(z),(0,import_lodash.set)(b.componentProps,"service.params.filter",z),g["x-component-props"]=b.componentProps;const K=(H=b.path)==null?void 0:H.splice(((G=b.path)==null?void 0:G.length)-1,1);b.form.query(`${K.concat("*."+g.name)}`).forEach(X=>{X.componentProps.service=X.componentProps.service||{params:{}},X.componentProps.service.params.filter=z}),F.emit("patch",{schema:{"x-uid":g["x-uid"],"x-component-props":b.componentProps}})}}),(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:S("Column width"),schema:{type:"object",title:S("Column width"),properties:{width:{default:((d=y==null?void 0:y["x-component-props"])==null?void 0:d.width)||100,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{}}}},onSubmit:({width:z})=>{const G=y["x-component-props"]||{};G.width=z;const H={"x-uid":y["x-uid"]};H["x-component-props"]=G,y["x-component-props"]=G,b.componentProps.width=z,F.emit("patch",{schema:H}),F.refresh()}}),(0,import_jsx_runtime.jsx)(U,{}),N&&N.sortable===!0&&!T&&(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:S("Sortable"),checked:b.componentProps.sorter,onChange:z=>{const G={"x-uid":y["x-uid"]};y["x-component-props"]=P(x({},y["x-component-props"]),{sorter:z}),G["x-component-props"]=y["x-component-props"],b.componentProps.sorter=z,F.emit("patch",{schema:G}),F.refresh()}}),["linkTo","m2m","m2o","o2m","obo","oho","snapshot","createdBy","updatedBy"].includes(_==null?void 0:_.interface)&&!w&&(O==="read-pretty"||b.readPretty||b.readOnly)&&(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:S("Enable link"),checked:((m=g["x-component-props"])==null?void 0:m.enableLink)!==!1,onChange:z=>{g["x-component-props"]=P(x({},g==null?void 0:g["x-component-props"]),{enableLink:z}),b.componentProps=P(x({},g==null?void 0:g["x-component-props"]),{enableLink:z}),F.emit("patch",{schema:{"x-uid":g["x-uid"],"x-component-props":x({},g==null?void 0:g["x-component-props"])}}),F.refresh()}}),["linkTo","m2m","m2o","o2m","obo","oho","snapshot"].includes(_==null?void 0:_.interface)&&(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:S("Title field"),options:A,value:j==null?void 0:j.label,onChange:z=>{var G,H,K,X,Y;const J=P(x(x({},(H=(G=_==null?void 0:_.uiSchema)==null?void 0:G["x-component-props"])==null?void 0:H.fieldNames),(K=g==null?void 0:g["x-component-props"])==null?void 0:K.fieldNames),{label:z});import_lodash.default.set(g,"x-component-props.fieldNames",J);const ee=(Y=b.path)==null?void 0:Y.splice(((X=b.path)==null?void 0:X.length)-1,1);b.form.query(`${ee.concat("*."+g.name)}`).forEach(te=>{te.componentProps.fieldNames=J}),F.emit("patch",{schema:{"x-uid":g["x-uid"],"x-component-props":x({},g["x-component-props"])}}),F.refresh()}}),I&&(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:S("Field component"),options:O==="read-pretty"?[{label:S("Title"),value:"Select"},w&&{label:S("File manager"),value:"FileManager"},{label:S("Tag"),value:"Tag"}].filter(Boolean):E,value:V,onChange:z=>{const G={"x-uid":g["x-uid"]};g["x-component-props"]=g["x-component-props"]||{},g["x-component-props"].mode=z,G["x-component-props"]=g["x-component-props"],b.componentProps=b.componentProps||{},b.componentProps.mode=z,F.emit("patch",{schema:G}),F.refresh()}},"field-mode"),["Tag"].includes(V)&&(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:S("Tag color field"),options:D,value:(p=g==null?void 0:g["x-component-props"])==null?void 0:p.tagColorField,onChange:z=>{const G={"x-uid":g["x-uid"]};g["x-component-props"]=g["x-component-props"]||{},g["x-component-props"].tagColorField=z,G["x-component-props"]=g["x-component-props"],b.componentProps.tagColorField=z,F.emit("patch",{schema:G}),F.refresh()}},"title-field"),R&&!b.readPretty&&!(h!=null&&h["x-read-pretty"])&&(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:S("Required"),checked:g.required,onChange:z=>{var G,H;const K={"x-uid":g["x-uid"]};g.required=z,K.required=z;const X=(H=b.path)==null?void 0:H.splice(((G=b.path)==null?void 0:G.length)-1,1);b.form.query(`${X.concat("*."+g.name)}`).forEach(Y=>{Y.required=z}),F.emit("patch",{schema:K}),F.refresh()}},"required"),R&&!(b!=null&&b.readPretty)&&(_==null?void 0:_.interface)!=="o2m"&&!isPatternDisabled(g)&&(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:S("Pattern"),options:[{label:S("Editable"),value:"editable"},{label:S("Readonly"),value:"readonly"},{label:S("Easy-reading"),value:"read-pretty"}],value:O,onChange:z=>{var G,H;const K={"x-uid":g["x-uid"]},X=(H=b.path)==null?void 0:H.splice(((G=b.path)==null?void 0:G.length)-1,1);switch(z){case"readonly":{g["x-read-pretty"]=!1,g["x-disabled"]=!0,K["x-read-pretty"]=!1,K["x-disabled"]=!0,b.form.query(`${X.concat("*."+g.name)}`).forEach(Y=>{Y.readonly=!0,Y.disabled=!0});break}case"read-pretty":{g["x-read-pretty"]=!0,g["x-disabled"]=!1,K["x-read-pretty"]=!0,K["x-disabled"]=!1,b.form.query(`${X.concat("*."+g.name)}`).forEach(Y=>{Y.readPretty=!0});break}default:{g["x-read-pretty"]=!1,g["x-disabled"]=!1,K["x-read-pretty"]=!1,K["x-disabled"]=!1,b.form.query(`${X.concat("*."+g.name)}`).forEach(Y=>{Y.readPretty=!1,Y.disabled+!1});break}}F.emit("patch",{schema:K}),F.refresh()}},"pattern"),B&&(0,import_jsx_runtime.jsx)(SchemaSettingsDateFormat,{fieldSchema:g}),R&&!(b!=null&&b.readPretty)&&["obo","oho","o2o","o2m","m2m","m2o"].includes(_==null?void 0:_.interface)&&(0,import_jsx_runtime.jsx)(SchemaSettingsSortingRule,{fieldSchema:g,onSubmitCallBack:z=>{var G,H;const K=(H=b.path)==null?void 0:H.splice(((G=b.path)==null?void 0:G.length)-1,1);b.form.query(`${K.concat("*."+g.name)}`).forEach(X=>{X.componentProps.service=X.componentProps.service||{params:{}},X.componentProps.service.params.sort=z})}}),$(R)&&(0,import_jsx_runtime.jsx)(SchemaSettingsDefaultValue,{fieldSchema:g}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!R,breakRemoveOn:{"x-component":"Grid"},confirm:{title:S("Delete table column")}})]})};function isFileCollection$2(e){return(e==null?void 0:e.template)==="file"}const allowAddNew={name:"allowAddNew",type:"switch",useVisible(){const e=useFlag(),t=useIsFieldReadPretty(),o=useIsAssociationField(),r=useFieldMode();return!(e!=null&&e.isInSubTable)&&!t&&o&&["Picker"].includes(r)},useComponentProps(){const{defaultOpenMode:e}=useOpenModeContext(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n,insertAdjacent:a}=useDesignable();return{title:t("Allow add new data"),checked:r["x-add-new"],onChange(l){r.reduceProperties((u,d)=>d["x-component"]==="Action"?d:u,null)||a("afterBegin",{"x-action":"create","x-acl-action":"create",title:"{{t('Add new')}}","x-toolbar":"ActionSchemaToolbar","x-toolbar-props":{draggable:!1},"x-settings":"actionSettings:addNew","x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{openMode:e,type:"default",component:"CreateRecordAction"}});const c={"x-uid":r["x-uid"]};o["x-add-new"]=l,r["x-add-new"]=l,c["x-add-new"]=l,i.emit("patch",{schema:c}),n()}}}},formItemSettings=new SchemaSettings({name:"FormItemSettings",items:[...generalSettingsItems,{name:"allowAddNewData",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField(),o=useFieldMode();return!e&&t&&["SubTable"].includes(o)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow add new"),checked:((e=r["x-component-props"])==null?void 0:e.allowAddnew)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowAddnew=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowAddnew=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},{name:"allowSelectExistingRecord",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField(),o=useFieldMode();return!e&&t&&["SubTable"].includes(o)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow selection of existing records"),checked:(e=r["x-component-props"])==null?void 0:e.allowSelectExistingRecord,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowSelectExistingRecord=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowSelectExistingRecord=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},{name:"quickUpload",type:"switch",useVisible(){const e=useIsFileField();return!useIsFormReadPretty()&&e},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Quick upload"),checked:((e=r["x-component-props"])==null?void 0:e.quickUpload)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.quickUpload=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].quickUpload=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},{name:"selectFile",type:"switch",useVisible(){const e=useIsFileField();return!useIsFormReadPretty()&&e},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Select file"),checked:((e=r["x-component-props"])==null?void 0:e.selectFile)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.selectFile=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].selectFile=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},{name:"validationRules",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r,refresh:i}=useDesignable(),n=useValidateSchema(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(o.name)||a(o["x-collection-field"]);return{title:e("Set validation rules"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:e("Set validation rules"),properties:{rules:{type:"array",default:o==null?void 0:o["x-validator"],"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},maxItems:3,items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:'{{ t("Validation rule") }}'},properties:{index:{type:"void","x-component":"ArrayCollapse.Index"},layout:{type:"void","x-component":"FormLayout","x-component-props":{labelStyle:{marginTop:"6px"},labelCol:8,wrapperCol:16},properties:P(x({},n),{message:{type:"string",title:'{{ t("Error message") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:2}}}})},remove:{type:"void","x-component":"ArrayCollapse.Remove"},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"}}},properties:{add:{type:"void",title:'{{ t("Add validation rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{disabled:"{{$deps[0].length >= 3}}"}}}}}}}},onSubmit(u){var d;const m=[];for(const g of u.rules)m.push(import_lodash.default.pickBy(g,import_lodash.default.identity));const p={"x-uid":o["x-uid"]};if(["percent"].includes(c==null?void 0:c.interface))for(const g of m)(g.maxValue||g.minValue)&&(g.percentMode=!0),g.percentFormat&&(g.percentFormats=!0);const h=import_lodash.default.concat([],((d=c==null?void 0:c.uiSchema)==null?void 0:d["x-validator"])||[],m);t.validator=h,o["x-validator"]=m,p["x-validator"]=m,r.emit("patch",{schema:p}),i()}}},useVisible(){const{form:e}=useFormBlockContext(),t=useIsFormReadPretty(),o=useValidateSchema();return e&&!t&&o}},{name:"defaultValue",Component:SchemaSettingsDefaultValue,useVisible(){const{isAllowToSetDefaultValue:e}=useIsAllowToSetDefaultValue();return e()}},{name:"dataScope",Component:SchemaSettingsDataScope,useVisible(){const e=useIsSelectFieldMode(),t=useIsFormReadPretty();return e&&!t},useComponentProps(){var e,t,o;const{getCollectionJoinField:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=useRecord(),c=(0,import_react.useField)(),u=(0,import_react.useFieldSchema)(),d=n(u.name)||r(u["x-collection-field"]),m=useVariables$1(),p=useLocalVariables$1(),{dn:h}=useDesignable();return{collectionName:d==null?void 0:d.target,defaultFilter:((o=(t=(e=u==null?void 0:u["x-component-props"])==null?void 0:e.service)==null?void 0:t.params)==null?void 0:o.filter)||{},form:a,dynamicComponent:g=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},g),{form:a,collectionField:g.collectionField,record:l,shouldChange:getShouldChange({collectionField:g.collectionField,variables:m,localVariables:p,getAllCollectionsInheritChain:i})})),onSubmit:({filter:g})=>{g=removeNullCondition(g),import_lodash.default.set(c.componentProps,"service.params.filter",g),u["x-component-props"]=c.componentProps,h.emit("patch",{schema:{"x-uid":u["x-uid"],"x-component-props":c.componentProps}})}}}},{name:"sortingRule",Component:SchemaSettingsSortingRule,useVisible(){const e=useIsSelectFieldMode(),t=useIsFormReadPretty();return e&&!t}},{name:"fieldMode",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable(),i=useFieldModeOptions(),n=useIsAddNewForm(),a=useFieldMode();return{title:e("Field component"),options:i,value:a,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&n&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),r.emit("patch",{schema:c}),r.refresh()}}},useVisible:useShowFieldMode},{name:"popupSize",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n}=useDesignable();return{title:o("Popup size"),options:[{label:o("Small"),value:"small"},{label:o("Middle"),value:"middle"},{label:o("Large"),value:"large"}],value:(t=(e=i==null?void 0:i["x-component-props"])==null?void 0:e.openSize)!=null?t:"middle",onChange:a=>{r.componentProps.openSize=a,i["x-component-props"]=r.componentProps,n.emit("patch",{schema:{"x-uid":i["x-uid"],"x-component-props":i["x-component-props"]}}),n.refresh()}}},useVisible(){var e;const t=useShowFieldMode(),o=((e=(0,import_react.useFieldSchema)()["x-component-props"])==null?void 0:e.mode)==="Picker";return t&&o}},allowAddNew,{name:"addMode",type:"select",useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField(),o=useFieldMode();return!e&&t&&["Select"].includes(o)},useComponentProps(){var e;const{defaultOpenMode:t}=useOpenModeContext(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n,insertAdjacent:a}=useDesignable();return{title:o("Quick create"),options:[{label:o("None"),value:"none"},{label:o("Dropdown"),value:"quickAdd"},{label:o("Pop-up"),value:"modalAdd"}],value:((e=r.componentProps)==null?void 0:e.addMode)||"none",onChange(l){l==="modalAdd"&&(i.reduceProperties((u,d)=>d["x-component"]==="Action"?d:u,null)||a("afterBegin",{"x-action":"create","x-acl-action":"create",title:"{{t('Add new')}}","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:addNew","x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{openMode:t,type:"default",component:"CreateRecordAction"}}));const c={"x-uid":i["x-uid"]};i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].addMode=l,c["x-component-props"]=i["x-component-props"],r.componentProps=r.componentProps||{},r.componentProps.addMode=l,n.emit("patch",{schema:c}),n.refresh()}}}},{name:"multiple",type:"switch",useVisible(){const e=useIsAssociationField(),t=useIsShowMultipleSwitch();return e&&t()},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},{name:"allowDissociate",type:"switch",useVisible(){var e;const t=useIsShowMultipleSwitch();return((e=(0,import_react.useFieldSchema)()["x-component-props"])==null?void 0:e.mode)==="Nester"&&t()},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow dissociate"),checked:((e=r["x-component-props"])==null?void 0:e.allowDissociate)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].allowDissociate=a,o.componentProps.allowDissociate=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},{name:"enableLink",type:"switch",useVisible(){const e=useTitleFieldOptions(),t=useIsFieldReadPretty(),o=useIsFileField(),r=(0,import_react.useFieldSchema)();return t&&e.length>0&&!o&&r["x-component"]==="CollectionField"},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Enable link"),checked:((e=r["x-component-props"])==null?void 0:e.enableLink)!==!1,onChange(n){r["x-component-props"]=P(x({},r==null?void 0:r["x-component-props"]),{enableLink:n}),o.componentProps.enableLink=n,i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":x({},r==null?void 0:r["x-component-props"])}}),i.refresh()}}}},{name:"pattern",type:"select",useVisible(){const{form:e}=useFormBlockContext(),t=(0,import_react.useFieldSchema)();return e&&!(e!=null&&e.readPretty)&&!isPatternDisabled(t)},useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();let i="editable";return o["x-disabled"]===!0&&(i="readonly"),o["x-read-pretty"]===!0&&(i="read-pretty"),{title:e("Pattern"),options:[{label:e("Editable"),value:"editable"},{label:e("Readonly"),value:"readonly"},{label:e("Easy-reading"),value:"read-pretty"}],value:i,onChange(n){const a={"x-uid":o["x-uid"]};switch(n){case"readonly":{o["x-read-pretty"]=!1,o["x-disabled"]=!0,a["x-read-pretty"]=!1,a["x-disabled"]=!0,t.readPretty=!1,t.disabled=!0,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.ReadOnly));break}case"read-pretty":{o["x-read-pretty"]=!0,o["x-disabled"]=!1,a["x-read-pretty"]=!0,a["x-disabled"]=!1,t.readPretty=!0,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.ReadPretty));break}default:{o["x-read-pretty"]=!1,o["x-disabled"]=!1,a["x-read-pretty"]=!1,a["x-disabled"]=!1,t.readPretty=!1,t.disabled=!1,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.Editable));break}}r.emit("patch",{schema:a}),r.refresh()}}}},{name:"titleField",type:"select",useVisible(){const e=useTitleFieldOptions(),t=useIsAssociationField(),o=useFieldMode();return e.length>0&&t&&o!=="SubTable"},useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n}=useDesignable(),a=useTitleFieldOptions(),l=useCollectionField_deprecated();return{title:o("Title field"),options:a,value:(t=(e=r==null?void 0:r.componentProps)==null?void 0:e.fieldNames)==null?void 0:t.label,onChange(c){var u,d;const m={"x-uid":i["x-uid"]},p=P(x(x({},(d=(u=l==null?void 0:l.uiSchema)==null?void 0:u["x-component-props"])==null?void 0:d.fieldNames),r.componentProps.fieldNames),{label:c});i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].fieldNames=p,m["x-component-props"]=i["x-component-props"],r.componentProps.fieldNames=i["x-component-props"].fieldNames,n.emit("patch",{schema:m}),n.refresh()}}}},{name:"dateFormat",Component:SchemaSettingsDateFormat,useVisible(){const e=useFormItemCollectionField();return["datetime","createdAt","updatedAt"].includes(e==null?void 0:e.interface)},useComponentProps(){return{fieldSchema:(0,import_react.useFieldSchema)()}}},{name:"size",type:"select",useVisible(){const e=useIsFieldReadPretty(),t=useFormItemCollectionField(),{getCollection:o}=useCollectionManager_deprecated(),r=o(t==null?void 0:t.target),i=["attachment"].includes(t==null?void 0:t.interface)||(r==null?void 0:r.template)==="file";return e&&i},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Size"),options:[{label:t("Large"),value:"large"},{label:t("Default"),value:"default"},{label:t("Small"),value:"small"}],value:((e=o==null?void 0:o.componentProps)==null?void 0:e.size)||"default",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].size=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.size=n,i.emit("patch",{schema:a}),i.refresh()}}}},{name:"tagColor",type:"select",useVisible(){const e=useIsAssociationField(),t=useFieldMode();return e&&["Tag"].includes(t)},useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n}=useDesignable(),a=useFormItemCollectionField(),l=useColorFields((e=a==null?void 0:a.target)!=null?e:a==null?void 0:a.targetCollection);return{title:o("Tag color field"),options:l,value:(t=r==null?void 0:r.componentProps)==null?void 0:t.tagColorField,onChange(c){const u={"x-uid":i["x-uid"]};i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].tagColorField=c,u["x-component-props"]=i["x-component-props"],r.componentProps.tagColorField=c,n.emit("patch",{schema:u}),n.refresh()}}}},{name:"divider",type:"divider",useVisible(){return!!useFormItemCollectionField()}},{name:"remove",type:"remove",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]});function useIsAddNewForm(){const e=useRecord();return import_lodash.default.isEmpty(import_lodash.default.omit(e,["__parent","__collectionName"]))}function isFileCollection$1(e){return(e==null?void 0:e.template)==="file"}function useIsFormReadPretty(){const{form:e}=useFormBlockContext();return!!(e!=null&&e.readPretty)}function useIsFieldReadPretty(){const{fieldSchema:e}=useColumnSchema$1();return(0,import_react.useField)().readPretty||(e==null?void 0:e["x-read-pretty"])}function useFormItemCollectionField(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),{getField:t}=useCollection_deprecated(),o=(0,import_react.useFieldSchema)(),{collectionField:r}=useColumnSchema$1(),i=o?t(o.name)||e(o["x-collection-field"]):null;return o?i||r:null}function useIsAssociationField(){const e=useFormItemCollectionField();return e&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(e.type)}function useIsFileField(){const e=useCollectionManager(),t=useFormItemCollectionField(),o=e.getCollection(t==null?void 0:t.target);return isFileCollection$1(o)}function useFieldMode(){var e;const t=(0,import_react.useField)(),o=useIsFileField();return((e=t==null?void 0:t.componentProps)==null?void 0:e.mode)||(o?"FileManager":"Select")}function useIsSelectFieldMode(){const e=useFieldMode();return useIsAssociationField()&&e==="Select"}function useValidateSchema(){var e;const{getInterface:t}=useCollectionManager_deprecated(),o=(0,import_react.useFieldSchema)(),r=useFormItemCollectionField(),i=t(r==null?void 0:r.interface);return(e=i==null?void 0:i.validateSchema)==null?void 0:e.call(i,o)}function useShowFieldMode(){const e=(0,import_react.useFieldSchema)(),t=useFieldModeOptions(),o=e["x-component"]==="TableField";return useIsAssociationField()&&t&&!o}function useTitleFieldOptions(){var e;const{getCollectionFields:t,isTitleField:o}=useCollectionManager_deprecated(),r=useCompile(),i=useFormItemCollectionField();return(i!=null&&i.target?t(i==null?void 0:i.target):(e=t(i==null?void 0:i.targetCollection))!=null?e:[]).filter(n=>o(n)).map(n=>{var a;return{value:n==null?void 0:n.name,label:r((a=n==null?void 0:n.uiSchema)==null?void 0:a.title)||(n==null?void 0:n.name)}})}function useFieldComponentName(){var e,t,o,r;const{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useField)(),l=useIsFileField(),c=(0,import_react.useFieldSchema)(),u=useCollectionField(),d=i||c,m=n||u,p={AssociationField:"Select"},h=((e=d==null?void 0:d["x-component-props"])==null?void 0:e.mode)||((t=a==null?void 0:a.componentProps)==null?void 0:t.mode)||(l?"FileManager":"")||((o=d==null?void 0:d["x-component-props"])==null?void 0:o.component)||((r=m==null?void 0:m.uiSchema)==null?void 0:r["x-component"]);return p[h]||h}const SchemaSettingsChildErrorFallback=e=>{const t=e,{title:o}=t,r=W(t,["title"]);return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:o,children:(0,import_jsx_runtime.jsx)(ErrorFallback.Modal,x({},r))})},getFallbackComponent=import_lodash.default.memoize(e=>t=>(0,import_jsx_runtime.jsx)(SchemaSettingsChildErrorFallback,P(x({},t),{title:e}))),SchemaSettingsChildren=e=>{const{children:t}=e,{visible:o}=useSchemaSettings(),r=(0,import_react2.useRef)(!1),i=useFieldComponentName();return(0,import_react2.useEffect)(()=>{o&&(r.current=!0)},[o]),!o&&!r.current||!t||t.length===0?null:(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:t.sort((n,a)=>(n.sort||0)-(a.sort||0)).map(n=>{const a=`${i?i+"-":""}${n==null?void 0:n.name}`;return(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:getFallbackComponent(a),onError:console.log,children:(0,import_jsx_runtime.jsx)(SchemaSettingsChild,x({},n))},a)})})},useChildrenDefault$1=()=>{},useComponentPropsDefault$1=()=>{},useVisibleDefault$1=()=>!0,SchemaSettingsChild=e=>{const{useVisible:t=useVisibleDefault$1,useChildren:o=useChildrenDefault$1,useComponentProps:r=useComponentPropsDefault$1,type:i,Component:n,children:a,hideIfNoChildren:l,componentProps:c}=e,u={item:SchemaSettingsItem,itemGroup:SchemaSettingsItemGroup,subMenu:SchemaSettingsSubMenu,divider:SchemaSettingsDivider,remove:SchemaSettingsRemove,select:SchemaSettingsSelectItem,cascader:SchemaSettingsCascaderItem,switch:SchemaSettingsSwitchItem,popup:SchemaSettingsPopupItem,actionModal:SchemaSettingsActionModalItem,modal:SchemaSettingsModalItem},d=o(),m=r(),p=useFindComponent(),h=(0,import_react2.useMemo)(()=>{const v=[...d||[],...a||[]];return v.length===0?void 0:v},[d,a]),g=t(),_=(0,import_react2.useMemo)(()=>!n&&i&&u[i]?u[i]:n,[i,n]);if(!g||!i&&!n)return null;const f=p(_);return!f||l&&!h?null:(0,import_jsx_runtime.jsx)(SchemaSettingItemContext.Provider,{value:e,children:(0,import_jsx_runtime.jsx)(f,P(x(x({},c),m),{children:Array.isArray(h)&&h.length>0&&(0,import_jsx_runtime.jsx)(SchemaSettingsChildren,{children:h})}))})},useGetAriaLabelOfDesigner=()=>{const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection_deprecated();return{getAriaLabel:(0,import_react2.useCallback)((o,r)=>{if(!e)return`designer-${o}-${r}`;const i=e["x-component"],n=typeof i=="string"?i:(i==null?void 0:i.displayName)||(i==null?void 0:i.name),a=e["x-designer"]?`-${e["x-designer"]}`:"",l=e["x-settings"]?`-${e["x-settings"]}`:"",c=e["x-collection-field"]?`-${e["x-collection-field"]}`:"",u=t?`-${t}`:"";return r=r?`-${r}`:"",`designer-${o}-${n}${a}${l}${u}${c}${r}`},[e,t])}},SchemaSettingsIcon=import_react2.default.memo(e=>{const{name:t}=e,{getAriaLabel:o}=useGetAriaLabelOfDesigner(),r=(0,import_react2.useMemo)(()=>({cursor:"pointer",fontSize:12}),[]);return(0,import_jsx_runtime.jsx)(import_icons.MenuOutlined,{role:"button",style:r,"aria-label":o("schema-settings",t)})});SchemaSettingsIcon.displayName="SchemaSettingsIcon";const SchemaSettingsWrapper=import_react2.default.memo(e=>{const t=e,{items:o,Component:r=SchemaSettingsIcon,name:i,componentProps:n,style:a}=t,l=W(t,["items","Component","name","componentProps","style"]),{dn:c}=useDesignable(),u=(0,import_react.useField)(),d=(0,import_react.useFieldSchema)(),m=(0,import_react2.useMemo)(()=>x({options:e,style:a},n),[n,e,a]);return(0,import_jsx_runtime.jsx)(SchemaSettingsDropdown,P(x({title:import_react2.default.createElement(r,m),dn:c,field:u,fieldSchema:d},l),{children:(0,import_jsx_runtime.jsx)(SchemaSettingsChildren,{children:o})}))});SchemaSettingsWrapper.displayName="SchemaSettingsWrapper";function useSchemaSettingsRender(e,t){const o=useApp(),r=(0,import_react2.useMemo)(()=>typeof e=="object"?e:o.schemaSettingsManager.get(e),[o.schemaSettingsManager,e]);return e?r?{exists:!0,render:(i={})=>import_react2.default.createElement(SchemaSettingsWrapper,x(x(x({},r.options),t),i))}:(console.error(`[nocobase]: SchemaSettings "${e}" not found`),{exists:!1,render:()=>null}):{exists:!1,render:()=>null}}const BlockTemplateContext=(0,import_react2.createContext)({componentNamePrefix:""}),BlockTemplateProvider=e=>(0,import_jsx_runtime.jsx)(BlockTemplateContext.Provider,{value:P(x({},e),{componentNamePrefix:e.componentNamePrefix||""}),children:e.children}),useBlockTemplateContext=()=>(0,import_react2.useContext)(BlockTemplateContext),itemsMerge=e=>e,gridRowColWrap=e=>({type:"void","x-component":"Grid.Row",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Grid.Col",properties:{[(e==null?void 0:e.name)||(0,import_shared.uid)()]:e}}}}),removeTableColumn=(e,t)=>{t(e.parent)},removeGridFormItem=(e,t)=>{t(e,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})},useRemoveGridFormItem=()=>{const e=(0,import_react.useForm)();return(t,o)=>{var r;o(t,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}),(r=e.values)==null||delete r[t.name]}},findTableColumn=(e,t,o,r)=>e.reduceProperties((i,n)=>n[t]===o&&(!r||n.name===r)?n:n.reduceProperties((l,c)=>c[t]===o&&(!r||c.name===r)?c:l)||i),quickEditField$1=["attachment","textarea","markdown","json","richText","polygon","circle","point","lineString","vditor"];function useTableColumnInitializerFields(){const{name:e,currentFields:t=[]}=useCollection_deprecated(),{getInterface:o,getCollection:r}=useCollectionManager_deprecated(),i=(0,import_react.useFieldSchema)()["x-component"]==="AssociationField.SubTable",n=(0,import_react.useForm)(),a=i?n.readPretty:!0;return t.filter(l=>!l.collectionName||l.collectionName===e).filter(l=>(l==null?void 0:l.interface)&&(l==null?void 0:l.interface)!=="subTable"&&!(l!=null&&l.treeChildren)).map(l=>{var c,u,d,m;const p=o(l.interface),h=(l==null?void 0:l.target)&&((c=r(l==null?void 0:l.target))==null?void 0:c.template)==="file",g=((u=l==null?void 0:l.uiSchema)==null?void 0:u["x-component"])==="Preview",_={name:l.name,"x-collection-field":`${e}.${l.name}`,"x-component":"CollectionField","x-component-props":h?{fieldNames:{label:"preview",value:"id"}}:g?{size:"small"}:{},"x-read-pretty":a||((d=l.uiSchema)==null?void 0:d["x-read-pretty"]),"x-decorator":i?quickEditField$1.includes(l.interface)||h?"QuickEdit":"FormItem":null,"x-decorator-props":{labelStyle:{display:"none"}}};return{type:"item",name:l.name,title:((m=l==null?void 0:l.uiSchema)==null?void 0:m.title)||l.name,Component:"TableCollectionFieldInitializer",find:findTableColumn,remove:removeTableColumn,schemaInitialize:f=>{var v;(v=p==null?void 0:p.schemaInitialize)==null||v.call(p,f,{field:l,readPretty:a,block:"Table",targetCollection:r(l.target)})},field:l,schema:_}})}function useAssociatedTableColumnInitializerFields(){var e;const{fields:t}=useCollection_deprecated(),{t:o}=(0,import_react_i18next.useTranslation)(),{getInterface:r,getCollectionFields:i,getCollection:n}=useCollectionManager_deprecated();return(e=t==null?void 0:t.filter(a=>["o2o","oho","obo","m2o"].includes(a.interface)))==null?void 0:e.map(a=>getGroupItemForTable({getCollectionFields:i,field:a,getInterface:r,getCollection:n,schemaName:a.name,maxDepth:2,depth:1,t:o}))}function getGroupItemForTable({getCollectionFields:e,field:t,getInterface:o,getCollection:r,schemaName:i,maxDepth:n,depth:a,t:l}){var c,u;const d=e(t.target),m=(c=d==null?void 0:d.filter(h=>(h==null?void 0:h.interface)&&!["subTable"].includes(h==null?void 0:h.interface)&&!(h!=null&&h.treeChildren)))==null?void 0:c.map(h=>{var g;const _=o(h.interface),f=`${i}.${h.name}`,v={name:f,"x-component":"CollectionField","x-read-pretty":!0,"x-collection-field":`${t.target}.${h.name}`,"x-component-props":{}};return{type:"item",key:`${t.target}_${h.name}_${f}`,name:f,title:((g=h==null?void 0:h.uiSchema)==null?void 0:g.title)||h.name,Component:"TableCollectionFieldInitializer",find:findTableColumn,remove:removeTableColumn,schemaInitialize:C=>{var b;(b=_==null?void 0:_.schemaInitialize)==null||b.call(_,C,{field:h,readPretty:!0,block:"Table",targetCollection:r(t.target)})},field:h,schema:v}}),p=[{type:"itemGroup",key:`${t.target}_${i}_displayFields`,name:`${i}-displayCollectionFields`,title:l("Display fields"),children:m}];if(a<n){const h=d==null?void 0:d.filter(g=>["o2o","oho","obo","m2o"].includes(g.interface)).map(g=>getGroupItemForTable({getCollectionFields:e,field:g,getInterface:o,getCollection:r,schemaName:`${i}.${g.name}`,maxDepth:n,depth:a+1,t:l}));if(h.length){const g={type:"itemGroup",key:`${t.target}_${i}_associationFields`,name:`${i}-associationFields`,title:l("Display association fields"),children:h};p.push(g)}}return{type:"subMenu",key:`${t.target}_${i}_submenu`,name:i,title:(u=t.uiSchema)==null?void 0:u.title,children:p}}function useInheritsTableColumnInitializerFields(){const{name:e}=useCollection_deprecated(),{getInterface:t,getInheritCollections:o,getCollection:r,getParentCollectionFields:i}=useCollectionManager_deprecated(),n=(0,import_react.useFieldSchema)()["x-component"]==="AssociationField.SubTable",a=(0,import_react.useForm)(),l=n?a.readPretty:!0,c=o(e);return c==null?void 0:c.map(u=>{const d=i(u,e),m=r(u);return{[m==null?void 0:m.title]:d==null?void 0:d.filter(p=>p==null?void 0:p.interface).map(p=>{var h,g,_,f;const v=t(p.interface),C=(p==null?void 0:p.target)&&((h=r(p==null?void 0:p.target))==null?void 0:h.template)==="file",b={name:`${p.name}`,"x-component":"CollectionField","x-read-pretty":l||((g=p.uiSchema)==null?void 0:g["x-read-pretty"]),"x-collection-field":`${e}.${p.name}`,"x-component-props":C?{fieldNames:{label:"preview",value:"id"}}:{},"x-decorator":n?quickEditField$1.includes(p.interface)||C?"QuickEdit":"FormItem":null,"x-decorator-props":{labelStyle:{display:"none"}}};return{name:((_=p==null?void 0:p.uiSchema)==null?void 0:_.title)||p.name,type:"item",title:((f=p==null?void 0:p.uiSchema)==null?void 0:f.title)||p.name,Component:"TableCollectionFieldInitializer",find:findTableColumn,remove:removeTableColumn,schemaInitialize:S=>{var y;(y=v==null?void 0:v.schemaInitialize)==null||y.call(v,S,{field:p,readPretty:!0,block:"Table",targetCollection:r(p==null?void 0:p.target)})},field:p,schema:b}})}})}const useFormItemInitializerFields=e=>{var t,o;const{name:r,currentFields:i}=useCollection_deprecated(),{getInterface:n,getCollection:a}=useCollectionManager_deprecated(),l=(0,import_react.useForm)(),{readPretty:c=l.readPretty,block:u="Form"}=e||{},{fieldSchema:d}=useActionContext(),m=d==null?void 0:d["x-action"];return(o=(t=i.filter(p=>!p.collectionName||p.collectionName===r))==null?void 0:t.filter(p=>(p==null?void 0:p.interface)&&!(p!=null&&p.treeChildren)))==null?void 0:o.map(p=>{var h,g,_,f,v;const C=n(p.interface),b=a(p.target),S=(p==null?void 0:p.target)&&((h=a(p==null?void 0:p.target))==null?void 0:h.template)==="file",y=b,F=(_=(g=p==null?void 0:p.uiSchema)==null?void 0:g["x-component-props"])==null?void 0:_.fieldNames,j={type:"string",name:p.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":`${r}.${p.name}`,"x-component-props":S?{fieldNames:{label:"preview",value:"id"}}:y&&F?{fieldNames:P(x({},F),{label:(b==null?void 0:b.titleField)||F.label})}:{},"x-read-pretty":(f=p==null?void 0:p.uiSchema)==null?void 0:f["x-read-pretty"]},A={type:"item",name:p.name,title:((v=p==null?void 0:p.uiSchema)==null?void 0:v.title)||p.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:D=>{var N;(N=C==null?void 0:C.schemaInitialize)==null||N.call(C,D,{field:p,block:u,readPretty:c,action:m,targetCollection:b})},schema:j};return u=="Kanban"&&(A.find=(D,N,M)=>{const w=findSchema(D,"x-component",u);return findSchema(w,N,M)}),A})},useFilterFormItemInitializerFields=e=>{var t,o;const{name:r,currentFields:i}=useCollection_deprecated(),{getInterface:n,getCollection:a}=useCollectionManager_deprecated(),l=(0,import_react.useForm)(),{readPretty:c=l.readPretty,block:u="FilterForm"}=e||{},{snapshot:d,fieldSchema:m}=useActionContext(),p=m==null?void 0:m["x-action"];return(o=(t=i.filter(h=>!h.collectionName||h.collectionName===r))==null?void 0:t.filter(h=>{var g;return(h==null?void 0:h.interface)&&((g=n(h.interface))==null?void 0:g.filterable)}))==null?void 0:o.map(h=>{var g,_,f;const v=n(h.interface),C=a(h.target);let b={type:"string",name:h.name,required:!1,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-component":"CollectionField","x-decorator":"FormItem","x-use-decorator-props":"useFormItemProps","x-collection-field":`${r}.${h.name}`,"x-component-props":{utc:!1}};return isAssocField(h)&&(b={type:"string",name:`${h.name}`,required:!1,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-component":"CollectionField","x-decorator":"FormItem","x-use-decorator-props":"useFormItemProps","x-collection-field":`${r}.${h.name}`,"x-component-props":P(x({},(g=h.uiSchema)==null?void 0:g["x-component-props"]),{utc:!1})}),{name:((_=h==null?void 0:h.uiSchema)==null?void 0:_.title)||h.name,type:"item",title:((f=h==null?void 0:h.uiSchema)==null?void 0:f.title)||h.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:S=>{var y;(y=v==null?void 0:v.schemaInitialize)==null||y.call(v,S,{field:h,block:u,readPretty:c,action:p,targetCollection:C})},schema:b}})},useAssociatedFormItemInitializerFields=e=>{var t;const{name:o,fields:r}=useCollection_deprecated(),{getInterface:i,getCollectionFields:n,getCollection:a}=useCollectionManager_deprecated(),l=(0,import_react.useForm)(),{t:c}=(0,import_react_i18next.useTranslation)(),{readPretty:u=l.readPretty,block:d="Form"}=e||{},m=d==="Form"?["m2o","obo","oho"]:["o2o","oho","obo","m2o"];return(t=r==null?void 0:r.filter(p=>m.includes(p.interface)))==null?void 0:t.map(p=>getGroupItemForForm({getCollectionFields:n,field:p,getInterface:i,getCollection:a,readPretty:u,block:d,schemaName:p.name,maxDepth:2,depth:1,t:c}))},associationFieldToMenu=(e,t,o,r,i)=>{var n,a,l;if(e.target&&e.uiSchema){if(i.includes(e.target)||i.length>=1)return;const u=r(e.target);return u!=null&&u.length?{type:"subMenu",name:t,title:(n=e.uiSchema)==null?void 0:n.title,children:u.map(d=>associationFieldToMenu(d,`${t}.${d.name}`,o,r,[...i,e.target])).filter(Boolean)}:void 0}if(!e.uiSchema)return;const c={type:"string",name:t,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-designer-props":{interface:e.interface},"x-component":"CollectionField","x-component-props":{utc:!1},"x-read-pretty":!1,"x-decorator":"FormItem","x-collection-field":`${o}.${t}`};return{name:((a=e.uiSchema)==null?void 0:a.title)||e.name,type:"item",title:((l=e.uiSchema)==null?void 0:l.title)||e.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schema:c}},useFilterAssociatedFormItemInitializerFields=()=>{const{name:e,fields:t}=useCollection_deprecated(),{getCollectionFields:o}=useCollectionManager_deprecated(),r=["attachmentURL"];return t==null?void 0:t.filter(i=>i.target&&i.uiSchema&&!r.includes(i.interface)).map(i=>associationFieldToMenu(i,i.name,e,o,[])).filter(Boolean)},useInheritsFormItemInitializerFields=e=>{const{name:t}=useCollection_deprecated(),{getInterface:o,getInheritCollections:r,getCollection:i,getParentCollectionFields:n}=useCollectionManager_deprecated(),a=r(t);useActionContext();const l=(0,import_react.useForm)();return a==null?void 0:a.map(c=>{var u;const d=n(c,t),{readPretty:m=l.readPretty,block:p="Form",component:h="CollectionField"}=e||{},g=i(c);return{[g==null?void 0:g.title]:(u=d==null?void 0:d.filter(_=>_==null?void 0:_.interface))==null?void 0:u.map(_=>{var f,v,C,b;const S=o(_.interface),y=i(_.target),F={type:"string",name:_.name,title:((f=_==null?void 0:_.uiSchema)==null?void 0:f.title)||_.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":h,"x-decorator":"FormItem","x-collection-field":`${t}.${_.name}`,"x-component-props":{},"x-read-pretty":(v=_==null?void 0:_.uiSchema)==null?void 0:v["x-read-pretty"]};return{name:((C=_==null?void 0:_.uiSchema)==null?void 0:C.title)||_.name,type:"item",title:((b=_==null?void 0:_.uiSchema)==null?void 0:b.title)||_.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:j=>{var A;(A=S==null?void 0:S.schemaInitialize)==null||A.call(S,j,{field:_,block:p,readPretty:m,targetCollection:y})},schema:F}})}})},useFilterInheritsFormItemInitializerFields=e=>{const{name:t}=useCollection_deprecated(),{getInterface:o,getInheritCollections:r,getCollection:i,getParentCollectionFields:n}=useCollectionManager_deprecated(),a=r(t);useActionContext();const l=(0,import_react.useForm)();return a==null?void 0:a.map(c=>{var u;const d=n(c,t),{readPretty:m=l.readPretty,block:p="Form"}={};return{[i(c).title]:(u=d==null?void 0:d.filter(h=>{var g;return(h==null?void 0:h.interface)&&((g=o(h.interface))==null?void 0:g.filterable)}))==null?void 0:u.map(h=>{var g,_,f,v;const C=o(h.interface),b=i(h.target),S={type:"string",name:h.name,title:((g=h==null?void 0:h.uiSchema)==null?void 0:g.title)||h.name,required:!1,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":`${t}.${h.name}`,"x-component-props":{utc:!1},"x-read-pretty":(_=h==null?void 0:h.uiSchema)==null?void 0:_["x-read-pretty"]};return{name:((f=h==null?void 0:h.uiSchema)==null?void 0:f.title)||h.name,type:"item",title:((v=h==null?void 0:h.uiSchema)==null?void 0:v.title)||h.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:y=>{var F;(F=C==null?void 0:C.schemaInitialize)==null||F.call(C,y,{field:h,block:p,readPretty:m,targetCollection:b})},schema:S}})}})},useCustomFormItemInitializerFields=e=>{var t;const{name:o,currentFields:r}=useCollection_deprecated(),{getInterface:i,getCollection:n}=useCollectionManager_deprecated(),a=(0,import_react.useForm)(),{readPretty:l=a.readPretty,block:c="Form"}=e||{},u=useRemoveGridFormItem();return(t=r==null?void 0:r.filter(d=>!d.inherit&&(d==null?void 0:d.interface)&&d.interface!=="snapshot"&&d.type!=="sequence"))==null?void 0:t.map(d=>{var m,p;const h=i(d.interface),g={type:"string",name:d.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":"AssignedField","x-decorator":"FormItem","x-collection-field":`${o}.${d.name}`};return{name:((m=d==null?void 0:d.uiSchema)==null?void 0:m.title)||d.name,type:"item",title:((p=d==null?void 0:d.uiSchema)==null?void 0:p.title)||d.name,Component:"CollectionFieldInitializer",remove:u,schemaInitialize:_=>{var f;(f=h==null?void 0:h.schemaInitialize)==null||f.call(h,_,{field:d,block:c,readPretty:l,targetCollection:n(d.target)})},schema:g}})},findSchema=(e,t,o,r)=>import_react.Schema.isSchemaInstance(e)?e.reduceProperties((i,n)=>{if(n[t]===o&&(!r||n.name===r))return n;if(n["x-component"]&&n["x-component"]!=="Action.Container"&&!n["x-component"].includes("AssociationField")){const a=findSchema(n,t,o,r);if(a)return a}return i}):null,removeSchema=(e,t)=>t(e),recursiveParent$1=e=>e.parent?e.parent["x-initializer"]?e.parent:recursiveParent$1(e.parent):null,useCurrentSchema=(e,t,o=findSchema,r=removeSchema,i)=>{const{removeActiveFieldName:n}=useFormActiveFields()||{},{form:a}=useFormBlockContext();let l=(0,import_react.useFieldSchema)();if(!(l!=null&&l["x-initializer"])&&(l==null?void 0:l["x-decorator"])==="FormItem"){const d=recursiveParent$1(l);d&&(l=d)}const{remove:c}=useDesignable(),u=o(l,t,e,i);return{schema:u,exists:!!u,remove(){n==null||n(u.name),a==null||a.query(new RegExp(`${u.parent.name}.${u.name}$`)).forEach(d=>{var m,p;(m=d.setValue)==null||m.call(d,void 0),(p=d.setInitialValue)==null||p.call(d,void 0)}),u&&r(u,c)}}},useRecordCollectionDataSourceItems=(e,t=null,o=null,r=null)=>{const{t:i}=(0,import_react_i18next.useTranslation)(),n=useCollection_deprecated(),{getTemplatesByCollection:a}=useSchemaTemplateManager(),l=a(n.dataSource,o||n.name).filter(m=>e&&m.componentName===e).filter(m=>["FormItem","ReadPrettyFormItem"].includes(e)||m.resourceName===r),c=Array.from(initializerMenusGenerators.values()).map(m=>m({collection:n,componentName:e})).filter(Boolean).flat();if(!l.length&&!c.length||isInTemplateSettingPage())return[];const u=0,d=[{type:"divider",name:"divider"}];return l.length&&d.push({key:`${o||e}_table_subMenu_${u}_copy`,type:"subMenu",name:"copy",title:i("Duplicate template"),children:l.map(m=>{const p=["FormItem","ReadPrettyFormItem"].includes(m==null?void 0:m.componentName)?`${m==null?void 0:m.name} ${i("(Fields only)")}`:m==null?void 0:m.name;return{type:"item",mode:"copy",name:n.name,template:m,item:t,title:p||i("Untitled")}})},{key:`${o||e}_table_subMenu_${u}_ref`,type:"subMenu",name:"ref",title:i("Reference template"),children:l.map(m=>{const p=["FormItem","ReadPrettyFormItem"].includes(m==null?void 0:m.componentName)?`${m==null?void 0:m.name} ${i("(Fields only)")}`:m==null?void 0:m.name;return{type:"item",mode:"reference",name:n.name,template:m,item:t,title:p||i("Untitled")}})}),c.length&&d.push({type:"subMenu",name:"inherited_templates",key:`associationFiled_${e}_table_subMenu_${u}_inherited`,title:i("Inherited template"),children:c}),[{key:`${o||e}_table_blank`,type:"item",name:n.name,title:i("Blank block"),item:t},...d]},useCollectionDataSourceItems=({name:e,componentName:t,filter:o=()=>!0,onlyCurrentDataSource:r=!1,showAssociationFields:i,filterDataSource:n,dataBlockInitializerProps:a,hideOtherRecordsInPopup:l,onClick:c,filterOtherRecordsCollection:u,currentText:d,otherText:m})=>{const{componentNamePrefix:p}=useBlockTemplateContext(),{t:h}=(0,import_react_i18next.useTranslation)(),g=useDataSourceManager(),_=useDataSourceKey(),f=useCollection(),v=useAssociationFields({componentName:p+t,filterCollections:o,showAssociationFields:i,componentNamePrefix:p,name:e}),C=useAssociationName();let b=g.getAllCollections({filterCollection:F=>r&&F.dataSource!==_?!1:o({collection:F}),filterDataSource:n});r&&(b=b.filter(F=>F.key===_));const{getTemplatesByCollection:S}=useSchemaTemplateManager(),y=(0,import_react2.useMemo)(()=>b.map(({key:F,displayName:j,collections:A})=>({name:F,label:j,type:"subMenu",children:[...getChildren({name:e,association:C,collections:A,componentName:p+t,searchValue:"",dataSource:F,getTemplatesByCollection:S,t:h,componentNamePrefix:p}).sort(D=>{const N=import_lodash.default.toArray((f==null?void 0:f.inherits)||[]);if(D.name===(f==null?void 0:f.name)||N.some(M=>M===D.name))return-1})]})),[b,f==null?void 0:f.inherits,f==null?void 0:f.name,t,S,h]);return i?(0,import_react2.useMemo)(()=>{var F;const j={name:"currentRecord",collectionName:f.name,dataSource:f.dataSource,Component:DataBlockInitializer,onClick(){},componentProps:P(x({},a),{icon:null,title:d||h("Current record"),name:"currentRecord",hideSearch:!1,hideChildrenIfSingleCollection:!0,items:y})},A={name:"associationRecords",Component:DataBlockInitializer,onClick(){},componentProps:P(x({},a),{icon:null,title:h("Associated records"),name:"associationRecords",hideSearch:!1,items:[{name:"associationFields",label:h("Association fields"),type:"subMenu",children:v}]})},D={ReadPrettyFormItem:"Details"},N={name:"otherRecords",Component:DataBlockInitializer,onClick(){},componentProps:P(x({},a),{hideSearch:!1,icon:null,title:m||h("Other records"),name:"otherRecords",showAssociationFields:!1,onlyCurrentDataSource:!1,hideChildrenIfSingleCollection:!1,fromOthersInPopup:!0,componentType:D[t]||t,filter({collection:R,associationField:T}){return u?u(R):!0},onClick(R){c(P(x({},R),{fromOthersInPopup:!0}))}})};let M;const w=v.length?A:null;if(y[0].children.length&&v.length)l?M=[j,w]:M=[j,w,N];else if(y[0].children.length)if(l){if(y[0].children.length<=1)return y[0].children=((F=y[0].children[0])==null?void 0:F.children)||[],y;M=[j]}else M=[j,N];else l?M=[w]:M=[w,N];return[{name:"records",label:h("Records"),type:"subMenu",children:M.filter(Boolean)}]},[v,f.dataSource,f.name,t,a,u,l,y,c,h]):y},createDetailsBlockSchema=e=>{const t=e,{formItemInitializers:o="details:configureFields",actionInitializers:r="detailsWithPaging:configureActions",collection:i,dataSource:n,association:a,template:l,settings:c,action:u="list"}=t,d=W(t,["formItemInitializers","actionInitializers","collection","dataSource","association","template","settings","action"]),m=a||i;return{type:"void","x-acl-action":u==="get"?`${m}:get`:`${m}:view`,"x-decorator":"DetailsBlockProvider","x-decorator-props":x(x({dataSource:n,collection:i,association:a,readPretty:!0,action:u},u==="list"?{params:{pageSize:1}}:{}),d),"x-toolbar":"BlockSchemaToolbar","x-settings":c,"x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Details","x-use-component-props":"useDetailsBlockProps","x-read-pretty":!0,properties:x({[(0,import_shared.uid)()]:{type:"void","x-initializer":r,"x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},properties:{}},grid:l||{type:"void","x-component":"Grid","x-initializer":o,properties:{}}},u==="list"?{pagination:{type:"void","x-component":"Pagination","x-use-component-props":"useDetailsPaginationProps"}}:{})}}}},createFormBlockSchema=e=>{const t=e,{formItemInitializers:o="form:configureFields",actionInitializers:r="createForm:configureActions",collection:i,resource:n,dataSource:a,association:l,action:c,actions:u={},"x-designer":d="FormV2.Designer",template:m,title:p,settings:h}=t,g=W(t,["formItemInitializers","actionInitializers","collection","resource","dataSource","association","action","actions","x-designer","template","title","settings"]),_=n||l||i;return P(x({type:"void","x-acl-action-props":{skipScopeCheck:!c},"x-acl-action":c?`${_}:update`:`${_}:create`,"x-decorator":"FormBlockProvider","x-decorator-props":P(x({},g),{action:c,dataSource:a,resource:_,collection:i,association:l}),"x-toolbar":"BlockSchemaToolbar"},h?{"x-settings":h}:{"x-designer":d}),{"x-component":"CardItem","x-component-props":{title:p},properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{grid:m||{type:"void","x-component":"Grid","x-initializer":o,properties:{}},[(0,import_shared.uid)()]:{type:"void","x-initializer":r,"x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:u}}}}})},createReadPrettyFormBlockSchema=e=>{const t=e,{formItemInitializers:o="details:configureFields",actionInitializers:r="details:configureActions",collection:i,association:n,dataSource:a,resource:l,template:c,settings:u}=t,d=W(t,["formItemInitializers","actionInitializers","collection","association","dataSource","resource","template","settings"]),m=l||n||i;return{type:"void","x-acl-action":`${m}:get`,"x-decorator":"FormBlockProvider","x-decorator-props":x({resource:m,collection:i,association:n,dataSource:a,readPretty:!0,action:"get",useParams:"{{ useParamsFromRecord }}"},d),"x-toolbar":"BlockSchemaToolbar","x-settings":u,"x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps","x-read-pretty":!0,properties:{[(0,import_shared.uid)()]:{type:"void","x-initializer":r,"x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},properties:{}},grid:c||{type:"void","x-component":"Grid","x-initializer":o,properties:{}}}}}}},createTableBlockSchema=e=>{const t=e,{collection:o,rowKey:r,tableActionInitializers:i,tableColumnInitializers:n,tableActionColumnInitializers:a,tableBlockProvider:l,disableTemplate:c,dataSource:u,blockType:d,pageSize:m=20}=t,p=W(t,["collection","rowKey","tableActionInitializers","tableColumnInitializers","tableActionColumnInitializers","tableBlockProvider","disableTemplate","dataSource","blockType","pageSize"]);return{type:"void","x-decorator":l??"TableBlockProvider","x-acl-action":`${o}:list`,"x-decorator-props":x({collection:o,dataSource:u,action:"list",params:{pageSize:m},rowKey:r,showIndex:!0,dragSort:!1,disableTemplate:c??!1,blockType:d},p),"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:table","x-component":"CardItem","x-filter-targets":[],properties:{actions:{type:"void","x-initializer":i??"table:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}},properties:{}},[(0,import_shared.uid)()]:{type:"array","x-initializer":n??"table:configureColumns","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},properties:{actions:{type:"void",title:'{{ t("Actions") }}',"x-action-column":"actions","x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column","x-designer":"TableV2.ActionColumnDesigner","x-initializer":a??"table:configureItemActions",properties:{[(0,import_shared.uid)()]:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{},properties:{}}}}}}}}},getChildren=({name:e,association:t,collections:o,dataSource:r,componentName:i,searchValue:n,getTemplatesByCollection:a,t:l,componentNamePrefix:c})=>{var u;return(u=o==null?void 0:o.filter(d=>{if(d.inherit)return!1;if(d.filterTargetKey){if([c+"Kanban",c+"FormItem"].includes(i)&&(d.template==="view"&&!d.writableView||d.template==="sql")||d.template==="file"&&[c+"Kanban",c+"FormItem",c+"Calendar"].includes(i))return!1;{const m=d.title||d.tableName;return m?m.toUpperCase().includes(n.toUpperCase())&&!(d!=null&&d.isThrough&&d!=null&&d.autoCreate):!1}}else return!1}))==null?void 0:u.map((d,m)=>{const p=d.title||d.tableName||d.label,h=a(r,d.name).filter(f=>{var v;const C=e!=="otherRecords"&&t;return C?f.resourceName!==t?!1:i&&f.componentName===i:!C&&(v=f==null?void 0:f.resourceName)!=null&&v.includes(".")?!1:i&&f.componentName===i}),g=Array.from(initializerMenusGenerators.values()).map(f=>f({item:d,index:m,componentName:i,association:t})).filter(Boolean).flat();if(!h.length&&!g.length||isInTemplateSettingPage())return{type:"item",name:d.name,title:p,dataSource:r};const _=[{type:"divider",name:"divider"}];return h.length&&_.push({key:`${i}_table_subMenu_${m}_copy`,type:"subMenu",name:"copy",dataSource:r,title:l("Duplicate template"),children:h.map(f=>{const v=[c+"FormItem",c+"ReadPrettyFormItem"].includes(f==null?void 0:f.componentName)?`${f==null?void 0:f.name} ${l("(Fields only)")}`:f==null?void 0:f.name;return{type:"item",mode:"copy",name:d.name,template:f,dataSource:r,title:v||l("Untitled")}})},{key:`${i}_table_subMenu_${m}_ref`,type:"subMenu",name:"ref",dataSource:r,title:l("Reference template"),children:h.map(f=>{const v=[c+"FormItem",c+"ReadPrettyFormItem"].includes(f==null?void 0:f.componentName)?`${f==null?void 0:f.name} ${l("(Fields only)")}`:f==null?void 0:f.name;return{type:"item",mode:"reference",name:d.name,template:f,dataSource:r,title:v||l("Untitled")}})}),g.length&&_.push({type:"subMenu",name:"inherited_templates",key:`associationFiled_${i}_table_subMenu_${m}_inherited`,dataSource:r,title:l("Inherited template"),children:g}),{key:`${i}_table_subMenu_${m}`,type:"subMenu",name:`${d.name}_${m}`,title:p,dataSource:r,children:[{type:"item",name:d.name,dataSource:r,title:l("Blank block")},..._]}})};function getGroupItemForForm({getCollectionFields:e,field:t,getInterface:o,getCollection:r,readPretty:i,block:n,maxDepth:a,depth:l,schemaName:c,t:u}){var d,m;const p=e(t.target),h=(d=p==null?void 0:p.filter(_=>(_==null?void 0:_.interface)&&!["subTable"].includes(_==null?void 0:_.interface)&&!_.treeChildren))==null?void 0:d.map(_=>{var f,v;const C=o(_.interface),b=(t==null?void 0:t.target)&&((f=r(t==null?void 0:t.target))==null?void 0:f.template)==="file",S=`${c}.${_.name}`,y={type:"string",name:S,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":"CollectionField","x-read-pretty":i,"x-component-props":{"pattern-disable":n==="Form"&&i,fieldNames:b?{label:"preview",value:"id"}:void 0},"x-decorator":"FormItem","x-collection-field":`${t.target}.${_.name}`};return{name:S,type:"item",title:((v=_==null?void 0:_.uiSchema)==null?void 0:v.title)||_.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:F=>{var j;(j=C==null?void 0:C.schemaInitialize)==null||j.call(C,F,{field:_,block:n,readPretty:i,targetCollection:r(t.target)})},schema:y}}),g=[{type:"itemGroup",name:`${c}-displayCollectionFields`,title:u("Display fields"),children:h}];if(l<a){const _=p==null?void 0:p.filter(f=>["o2o","oho","obo","m2o"].includes(f.interface)).map(f=>getGroupItemForForm({getCollectionFields:e,field:f,getInterface:o,getCollection:r,schemaName:`${c}.${f.name}`,readPretty:i,block:n,maxDepth:a,depth:l+1,t:u}));if(_.length){const f={type:"itemGroup",name:`${c}-associationFields`,title:u("Display association fields"),children:_};g.push(f)}}return{type:"subMenu",name:`${c}.${t.name}`,title:(m=t.uiSchema)==null?void 0:m.title,children:g}}function useAssociationFields({componentName:e,filterCollections:t,showAssociationFields:o,componentNamePrefix:r,name:i}){const n=(0,import_react.useFieldSchema)(),{getCollectionFields:a}=useCollectionManager_deprecated(),l=useCollection_deprecated();useCollectionManager();const c=useDataSourceKey(),{getTemplatesByCollection:u}=useSchemaTemplateManager(),{t:d}=(0,import_react_i18next.useTranslation)(),m=useCompile();return(0,import_react2.useMemo)(()=>{if(!o)return[];let p=[];if(n["x-initializer"])p=l.fields;else{const h=recursiveParent$1(n.parent);h&&(p=a(h))}return p.filter(h=>["linkTo","subTable","o2m","m2m","obo","oho","o2o","m2o"].includes(h.interface)).filter(h=>t({associationField:h})).map((h,g)=>{const _=m(h.uiSchema.title||h.name),f=u(c,h.target).filter(S=>S.resourceName!==`${h.collectionName}.${h.name}`?!1:e===r+"ReadPrettyFormItem"?["hasOne","belongsTo"].includes(h.type)?S.componentName===r+"ReadPrettyFormItem":S.componentName===r+"Details":S.componentName===e),v="associationFiled_table_subMenu",C=Array.from(initializerMenusGenerators.values()).map(S=>S({collection:l,index:g,field:h,componentName:e,keyPrefix:v,name:i})).filter(Boolean).flat();if(!f.length&&!C.length||isInTemplateSettingPage())return{type:"item",name:`${h.collectionName}.${h.name}`,collectionName:h.target,title:_,dataSource:c,associationField:h};const b=[{type:"divider",name:"divider"}];return f.length&&b.push({key:`associationFiled_${e}_table_subMenu_${g}_copy`,type:"subMenu",name:"copy",dataSource:c,title:d("Duplicate template"),children:f.map(S=>{const y=[r+"FormItem",r+"ReadPrettyFormItem"].includes(S==null?void 0:S.componentName)?`${S==null?void 0:S.name} ${d("(Fields only)")}`:S==null?void 0:S.name;return{type:"item",mode:"copy",name:`${h.collectionName}.${h.name}`,collectionName:h.target,template:S,dataSource:c,title:y||d("Untitled"),associationField:h}})},{key:`associationFiled_${e}_table_subMenu_${g}_ref`,type:"subMenu",name:"ref",dataSource:c,title:d("Reference template"),children:f.map(S=>{const y=[r+"FormItem",r+"ReadPrettyFormItem"].includes(S==null?void 0:S.componentName)?`${S==null?void 0:S.name} ${d("(Fields only)")}`:S==null?void 0:S.name;return{type:"item",mode:"reference",name:`${h.collectionName}.${h.name}`,collectionName:h.target,template:S,dataSource:c,title:y||d("Untitled"),associationField:h}})}),C.length&&b.push({type:"subMenu",name:"inherited_templates",key:`associationFiled_${e}_table_subMenu_${g}_inherited`,dataSource:c,title:d("Inherited template"),children:C}),{key:`associationFiled_${e}_table_subMenu_${g}`,type:"subMenu",name:`${h.target}_${g}`,title:_,dataSource:c,children:[{type:"item",name:`${h.collectionName}.${h.name}`,collectionName:h.target,dataSource:c,title:d("Blank block"),associationField:h},...b]}})},[l.fields,m,e,c,n,t,a,u,o,d,r])}const isInTemplateSettingPage=()=>window.location.pathname.includes("/block-templates/inherited"),initializerMenusGenerators=new Map;function registerInitializerMenusGenerator(e,t){initializerMenusGenerators.set(e,t)}const useStyles$g=genStyleHook("nb-schema-toolbar",e=>{const{componentCls:t}=e;return{[t]:{position:"absolute",zIndex:999,top:0,left:0,right:0,bottom:0,border:"2px solid var(--colorBorderSettingsHover)",background:"var(--colorBgSettingsHover)",pointerEvents:"none","&.nb-in-template":{background:"var(--colorTemplateBgSettingsHover)"},"&.hidden":{transform:"scale(0)",pointerEvents:"none"},"&.hidden-e2e":{display:"none"},".ant-space-item .anticon":{margin:0},".toolbar-title":{pointerEvents:"none",position:"absolute",fontSize:12,padding:0,lineHeight:"16px",height:"16px",borderBottomRightRadius:2,borderRadius:2,top:2,left:2},".toolbar-title-tag":{padding:"0 3px",borderRadius:2,background:"var(--colorSettings)",color:"#fff",display:"block"},".toolbar-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:"var(--colorSettings)",color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}}}}),titleCss=import_css.css`
|
|
310
|
+
`,type:"dashed",onClick:()=>{var l,c,u,d;const m=(d=(u=(c=(l=n==null?void 0:n.parent)==null?void 0:l.parent)==null?void 0:c.parent)==null?void 0:u.properties)==null?void 0:d.filter;if(!m)return;const p=a.values.filter;r.emit("patch",{schema:{"x-uid":m["x-uid"],default:p}}),r.refresh(),m.default=p,console.log("filterSchema",p)},children:t("Save conditions")}):null},useDef$3=e=>{const t=(0,import_react.useField)();return useRequest(()=>Promise.resolve({data:t.dataSource}),e)},Filter=withDynamicSchemaProps((0,import_react.observer)(e=>{const{useDataSource:t=useDef$3}=e,{options:o,dynamicComponent:r,className:i,collectionName:n}=useProps(e),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)();return t({onSuccess(c){a.dataSource=(c==null?void 0:c.data)||[]}}),(0,import_react2.useEffect)(()=>{l.defaultValue&&(a.initialValue=l.defaultValue)},[l.defaultValue]),(0,import_jsx_runtime.jsx)("div",{className:i,children:(0,import_jsx_runtime.jsx)(FilterContext$3.Provider,{value:{field:a,fieldSchema:l,dynamicComponent:r,options:o||a.dataSource||[],disabled:e.disabled,collectionName:n},children:(0,import_jsx_runtime.jsx)(FilterGroup$1,P(x({},e),{bordered:!1}))})})}),{displayName:"Filter"});Filter.SaveDefaultValue=SaveDefaultValue;Filter.Action=FilterAction;Filter.Action.Designer=FilterActionDesigner;const useGetFilterOptions=()=>{const e=useDataSourceManager(),t=useGetFilterFieldOptions();return(o,r,i)=>{var n;const a=(n=e==null?void 0:e.getDataSource(r))==null?void 0:n.collectionManager,l=a==null?void 0:a.getCollectionFields(o);return t(l,i)}},useFilterOptions=e=>{const t=useCollectionManager(),o=t==null?void 0:t.getCollectionFields(e);return useFilterFieldOptions(o)},useGetFilterFieldOptions=()=>{var e,t;const o=(0,import_react.useFieldSchema)(),r=Array.isArray((e=o==null?void 0:o["x-component-props"])==null?void 0:e.nonfilterable)?(t=o==null?void 0:o["x-component-props"])==null?void 0:t.nonfilterable:[],i=useCollectionManager(),n=useDataSourceManager(),a=(c,u,d,m)=>{var p,h;const g=m?`${m}.${c.name}`:c.name;if(r.length&&r.includes(g)||!c.interface)return;const _=n==null?void 0:n.collectionFieldInterfaceManager.getFieldInterface(c.interface);if(!(_!=null&&_.filterable)&&!d)return;const{nested:f,children:v,operators:C}=(_==null?void 0:_.filterable)||{},b={name:c.name,type:c.type,target:c.target,title:((p=c==null?void 0:c.uiSchema)==null?void 0:p.title)||c.name,schema:c==null?void 0:c.uiSchema,interface:c.interface,operators:((h=C==null?void 0:C.filter)==null?void 0:h.call(C,S=>!(S!=null&&S.visible)||S.visible(c)))||[]};if(!(c.target&&u>2)){if(u>2)return b;if(v!=null&&v.length&&(b.children=v),f){const S=i==null?void 0:i.getCollectionFields(c.target),y=l(S,u+1,d,g).filter(Boolean);b.children=b.children||[],b.children.push(...y)}return b}},l=(c,u,d,m)=>{const p=[];return c==null||c.forEach(h=>{const g=a(h,u,d,m);g&&p.push(g)}),p};return(c,u)=>l(c,1,u)},field2option=(e,t,o,r,i,n)=>{var a,l,c,u,d;const m=n?`${n}.${e.name}`:e.name;if(o.length&&o.includes(m)||!e.interface||e.filterable===!1)return;const p=r==null?void 0:r.collectionFieldInterfaceManager.getFieldInterface(e.interface);if(!(p!=null&&p.filterable))return;const{nested:h,children:g,operators:_}=p.filterable,f={name:e.name,type:e.type,target:e.target,title:((a=e==null?void 0:e.uiSchema)==null?void 0:a.title)||e.name,schema:e==null?void 0:e.uiSchema,operators:((l=_==null?void 0:_.filter)==null?void 0:l.call(_,v=>!(v!=null&&v.visible)||v.visible(e)))||[]};if(!(e.target&&t>2)){if(t>2)return f;if(g!=null&&g.length&&(f.children=g),h){const v=(c=i==null?void 0:i.dataSource)==null?void 0:c.key,C=e.dataSourceKey||v,b=C&&C!==v?((u=r==null?void 0:r.getDataSource(C))==null?void 0:u.collectionManager)||i:i||((d=r==null?void 0:r.getDataSource(C))==null?void 0:d.collectionManager),S=b==null?void 0:b.getCollectionFields(e.target),y=getOptions$1(S||[],t+1,o,r,b||i,m).filter(Boolean);f.children=f.children||[],f.children.push(...y)}return f}},getOptions$1=(e=[],t,o,r,i,n)=>{const a=[];return e.forEach(l=>{const c=field2option(l,t,o,r,i,n);c&&a.push(c)}),a},useFilterFieldOptions=e=>{var t,o;const r=(0,import_react.useFieldSchema)(),i=Array.isArray((t=r==null?void 0:r["x-component-props"])==null?void 0:t.nonfilterable)?(o=r==null?void 0:r["x-component-props"])==null?void 0:o.nonfilterable:[],n=useCollectionManager(),a=useDataSourceManager();return getOptions$1(e,1,i,a,n)},isEmpty=e=>Array.isArray(e)&&e.length===0||e&&Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype,removeNullCondition=(e,t=import_flat.default)=>{const o=t(e||{}),r={};for(const i in o){const n=o[i];n!=null&&!isEmpty(n)&&(r[i]=n)}return t.unflatten(r)},useFilterActionProps$1=()=>{const e=useCollection(),t=useFilterOptions(e==null?void 0:e.name),o=useDataBlockProps();return useFilterFieldProps({options:t,params:o==null?void 0:o.params})},useFilterFieldProps=({options:e,service:t,params:o})=>{const{getDataBlockRequest:r}=useDataBlockRequestGetter(),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useField)(),a=useDataLoadingMode(),l=(0,import_react.useFieldSchema)(),c=useCompile(),u=(0,import_react2.useCallback)(m=>{var p,h,g,_,f;const v=t||r(),C=(o||((h=(p=v.state)==null?void 0:p.params)==null?void 0:h[0])||v.params).filter,b=removeNullCondition(m==null?void 0:m.filter);if(a==="manual"&&import_lodash.default.isEmpty(b))return v==null?void 0:v.mutate(void 0);const S=((_=(g=v==null?void 0:v.params)==null?void 0:g[1])==null?void 0:_.filters)||{};S.filterAction=b,v==null||v.run(P(x({},(f=v==null?void 0:v.params)==null?void 0:f[0]),{page:1,filter:mergeFilter([...Object.values(S),C])}),{filters:S});const y=(b==null?void 0:b.$and)||(b==null?void 0:b.$or);y!=null&&y.length?n.title=i("{{count}} filter items",{count:(y==null?void 0:y.length)||0}):n.title=c(l.title)||i("Filter")},[a,n,r,o,t,i,l.title]),d=(0,import_react2.useCallback)(()=>{var m,p,h,g,_;const f=t||r(),v=(o||((p=(m=f.state)==null?void 0:m.params)==null?void 0:p[0])||f.params).filter,C=((g=(h=f==null?void 0:f.params)==null?void 0:h[1])==null?void 0:g.filters)||{};delete C.filterAction;const b=[P(x({},(_=f==null?void 0:f.params)==null?void 0:_[0]),{filter:mergeFilter([...Object.values(C),v]),page:1}),{filters:C}];if(n.title=c(l.title)||i("Filter"),a==="manual")return f.params=b,f==null?void 0:f.mutate(void 0);f==null||f.run(...b)},[a,n,r,o,t,i,l.title]);return{options:e,onSubmit:u,onReset:d}},useLabelFields$1=e=>{var t,o,r;const i=useCompile(),{getCollectionFields:n}=useCollectionManager_deprecated();if(!e)return[];const a=n(e);return(r=(o=(t=a==null?void 0:a.filter)==null?void 0:t.call(a,l=>(l==null?void 0:l.interface)&&!(l!=null&&l.target)&&l.type!=="boolean"))==null?void 0:o.map)==null?void 0:r.call(o,l=>{var c;return{value:l.name,label:i(((c=l==null?void 0:l.uiSchema)==null?void 0:c.title)||l.name)}})},useColorFields=e=>{var t,o,r;const i=useCompile(),{getCollectionFields:n}=useCollectionManager_deprecated();if(!e)return[];const a=n(e);return(r=(o=(t=a==null?void 0:a.filter)==null?void 0:t.call(a,l=>(l==null?void 0:l.interface)==="color"))==null?void 0:o.map)==null?void 0:r.call(o,l=>{var c;return{value:l.name,label:i(((c=l==null?void 0:l.uiSchema)==null?void 0:c.title)||l.name)}})},TableColumnDesigner$1=e=>{var t,o,r,i,n,a,l,c,u,d,m,p;const{uiSchema:h,fieldSchema:g,collectionField:_}=e,{form:f}=useFormBlockContext(),{getInterface:v,getCollection:C}=useCollectionManager_deprecated(),b=(0,import_react.useField)(),{t:S}=(0,import_react_i18next.useTranslation)(),y=(0,import_react.useFieldSchema)(),{dn:F}=useDesignable(),j=((t=g==null?void 0:g["x-component-props"])==null?void 0:t.fieldNames)||((o=h==null?void 0:h["x-component-props"])==null?void 0:o.fieldNames),A=useLabelFields$1((r=_==null?void 0:_.target)!=null?r:_==null?void 0:_.targetCollection),D=useColorFields((i=_==null?void 0:_.target)!=null?i:_==null?void 0:_.targetCollection),N=v(_==null?void 0:_.interface),M=C(_==null?void 0:_.target),w=isFileCollection$2(M),R=["QuickEdit","FormItem"].includes(g["x-decorator"]),{currentMode:T}=useAssociationFieldContext(),{isAllowToSetDefaultValue:$}=useIsAllowToSetDefaultValue({collectionField:_,fieldSchema:g}),B=["datetime","createdAt","updatedAt"].includes(_==null?void 0:_.interface),I=["obo","oho","o2o","o2m","m2m","m2o","snapshot"].includes(_==null?void 0:_.interface),E=useFieldModeOptions({fieldSchema:g}),V=((n=g==null?void 0:g["x-component-props"])==null?void 0:n.mode)||"Select";let O="editable";g["x-disabled"]===!0&&(O="readonly"),g["x-read-pretty"]===!0&&(O="read-pretty");const L=I&&V==="Select",U=()=>{const{name:z}=useCollection(),{linkageRulesProps:G}=useSchemaToolbar();return(0,import_jsx_runtime.jsx)(SchemaSettingsLinkageRules,x({category:"style"},P(x({},G),{collectionName:z})))};return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{disableInitializer:!0,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:S("Custom column title"),schema:{type:"object",title:S("Custom column title"),properties:{title:{title:S("Column title"),default:y==null?void 0:y.title,description:`${S("Original field title: ")}${((a=_==null?void 0:_.uiSchema)==null?void 0:a.title)||(g==null?void 0:g.title)}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:z})=>{z&&(b.title=z,y.title=z,F.emit("patch",{schema:{"x-uid":y["x-uid"],title:y.title}})),F.refresh()}}),L&&!b.readPretty&&!(h!=null&&h["x-read-pretty"])&&R&&(0,import_jsx_runtime.jsx)(SchemaSettingsDataScope,{collectionName:_==null?void 0:_.target,defaultFilter:((u=(c=(l=g==null?void 0:g["x-component-props"])==null?void 0:l.service)==null?void 0:c.params)==null?void 0:u.filter)||{},form:f,onSubmit:({filter:z})=>{var G,H;z=removeNullCondition(z),(0,import_lodash.set)(b.componentProps,"service.params.filter",z),g["x-component-props"]=b.componentProps;const K=(H=b.path)==null?void 0:H.splice(((G=b.path)==null?void 0:G.length)-1,1);b.form.query(`${K.concat("*."+g.name)}`).forEach(X=>{X.componentProps.service=X.componentProps.service||{params:{}},X.componentProps.service.params.filter=z}),F.emit("patch",{schema:{"x-uid":g["x-uid"],"x-component-props":b.componentProps}})}}),(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:S("Column width"),schema:{type:"object",title:S("Column width"),properties:{width:{default:((d=y==null?void 0:y["x-component-props"])==null?void 0:d.width)||100,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{}}}},onSubmit:({width:z})=>{const G=y["x-component-props"]||{};G.width=z;const H={"x-uid":y["x-uid"]};H["x-component-props"]=G,y["x-component-props"]=G,b.componentProps.width=z,F.emit("patch",{schema:H}),F.refresh()}}),(0,import_jsx_runtime.jsx)(U,{}),N&&N.sortable===!0&&!T&&(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:S("Sortable"),checked:b.componentProps.sorter,onChange:z=>{const G={"x-uid":y["x-uid"]};y["x-component-props"]=P(x({},y["x-component-props"]),{sorter:z}),G["x-component-props"]=y["x-component-props"],b.componentProps.sorter=z,F.emit("patch",{schema:G}),F.refresh()}}),["linkTo","m2m","m2o","o2m","obo","oho","snapshot","createdBy","updatedBy"].includes(_==null?void 0:_.interface)&&!w&&(O==="read-pretty"||b.readPretty||b.readOnly)&&(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:S("Enable link"),checked:((m=g["x-component-props"])==null?void 0:m.enableLink)!==!1,onChange:z=>{g["x-component-props"]=P(x({},g==null?void 0:g["x-component-props"]),{enableLink:z}),b.componentProps=P(x({},g==null?void 0:g["x-component-props"]),{enableLink:z}),F.emit("patch",{schema:{"x-uid":g["x-uid"],"x-component-props":x({},g==null?void 0:g["x-component-props"])}}),F.refresh()}}),["linkTo","m2m","m2o","o2m","obo","oho","snapshot"].includes(_==null?void 0:_.interface)&&(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:S("Title field"),options:A,value:j==null?void 0:j.label,onChange:z=>{var G,H,K,X,Y;const J=P(x(x({},(H=(G=_==null?void 0:_.uiSchema)==null?void 0:G["x-component-props"])==null?void 0:H.fieldNames),(K=g==null?void 0:g["x-component-props"])==null?void 0:K.fieldNames),{label:z});import_lodash.default.set(g,"x-component-props.fieldNames",J);const ee=(Y=b.path)==null?void 0:Y.splice(((X=b.path)==null?void 0:X.length)-1,1);b.form.query(`${ee.concat("*."+g.name)}`).forEach(te=>{te.componentProps.fieldNames=J}),F.emit("patch",{schema:{"x-uid":g["x-uid"],"x-component-props":x({},g["x-component-props"])}}),F.refresh()}}),I&&(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:S("Field component"),options:O==="read-pretty"?[{label:S("Title"),value:"Select"},w&&{label:S("File manager"),value:"FileManager"},{label:S("Tag"),value:"Tag"}].filter(Boolean):E,value:V,onChange:z=>{const G={"x-uid":g["x-uid"]};g["x-component-props"]=g["x-component-props"]||{},g["x-component-props"].mode=z,G["x-component-props"]=g["x-component-props"],b.componentProps=b.componentProps||{},b.componentProps.mode=z,F.emit("patch",{schema:G}),F.refresh()}},"field-mode"),["Tag"].includes(V)&&(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:S("Tag color field"),options:D,value:(p=g==null?void 0:g["x-component-props"])==null?void 0:p.tagColorField,onChange:z=>{const G={"x-uid":g["x-uid"]};g["x-component-props"]=g["x-component-props"]||{},g["x-component-props"].tagColorField=z,G["x-component-props"]=g["x-component-props"],b.componentProps.tagColorField=z,F.emit("patch",{schema:G}),F.refresh()}},"title-field"),R&&!b.readPretty&&!(h!=null&&h["x-read-pretty"])&&(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:S("Required"),checked:g.required,onChange:z=>{var G,H;const K={"x-uid":g["x-uid"]};g.required=z,K.required=z;const X=(H=b.path)==null?void 0:H.splice(((G=b.path)==null?void 0:G.length)-1,1);b.form.query(`${X.concat("*."+g.name)}`).forEach(Y=>{Y.required=z}),F.emit("patch",{schema:K}),F.refresh()}},"required"),R&&!(b!=null&&b.readPretty)&&(_==null?void 0:_.interface)!=="o2m"&&!isPatternDisabled(g)&&(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:S("Pattern"),options:[{label:S("Editable"),value:"editable"},{label:S("Readonly"),value:"readonly"},{label:S("Easy-reading"),value:"read-pretty"}],value:O,onChange:z=>{var G,H;const K={"x-uid":g["x-uid"]},X=(H=b.path)==null?void 0:H.splice(((G=b.path)==null?void 0:G.length)-1,1);switch(z){case"readonly":{g["x-read-pretty"]=!1,g["x-disabled"]=!0,K["x-read-pretty"]=!1,K["x-disabled"]=!0,b.form.query(`${X.concat("*."+g.name)}`).forEach(Y=>{Y.readonly=!0,Y.disabled=!0});break}case"read-pretty":{g["x-read-pretty"]=!0,g["x-disabled"]=!1,K["x-read-pretty"]=!0,K["x-disabled"]=!1,b.form.query(`${X.concat("*."+g.name)}`).forEach(Y=>{Y.readPretty=!0});break}default:{g["x-read-pretty"]=!1,g["x-disabled"]=!1,K["x-read-pretty"]=!1,K["x-disabled"]=!1,b.form.query(`${X.concat("*."+g.name)}`).forEach(Y=>{Y.readPretty=!1,Y.disabled+!1});break}}F.emit("patch",{schema:K}),F.refresh()}},"pattern"),B&&(0,import_jsx_runtime.jsx)(SchemaSettingsDateFormat,{fieldSchema:g}),R&&!(b!=null&&b.readPretty)&&["obo","oho","o2o","o2m","m2m","m2o"].includes(_==null?void 0:_.interface)&&(0,import_jsx_runtime.jsx)(SchemaSettingsSortingRule,{fieldSchema:g,onSubmitCallBack:z=>{var G,H;const K=(H=b.path)==null?void 0:H.splice(((G=b.path)==null?void 0:G.length)-1,1);b.form.query(`${K.concat("*."+g.name)}`).forEach(X=>{X.componentProps.service=X.componentProps.service||{params:{}},X.componentProps.service.params.sort=z})}}),$(R)&&(0,import_jsx_runtime.jsx)(SchemaSettingsDefaultValue,{fieldSchema:g}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!R,breakRemoveOn:{"x-component":"Grid"},confirm:{title:S("Delete table column")}})]})};function isFileCollection$2(e){return(e==null?void 0:e.template)==="file"}const allowAddNew={name:"allowAddNew",type:"switch",useVisible(){const e=useFlag(),t=useIsFieldReadPretty(),o=useIsAssociationField(),r=useFieldMode();return!(e!=null&&e.isInSubTable)&&!t&&o&&["Picker"].includes(r)},useComponentProps(){const{defaultOpenMode:e}=useOpenModeContext(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n,insertAdjacent:a}=useDesignable();return{title:t("Allow add new data"),checked:r["x-add-new"],onChange(l){r.reduceProperties((u,d)=>d["x-component"]==="Action"?d:u,null)||a("afterBegin",{"x-action":"create","x-acl-action":"create",title:"{{t('Add new')}}","x-toolbar":"ActionSchemaToolbar","x-toolbar-props":{draggable:!1},"x-settings":"actionSettings:addNew","x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{openMode:e,type:"default",component:"CreateRecordAction"}});const c={"x-uid":r["x-uid"]};o["x-add-new"]=l,r["x-add-new"]=l,c["x-add-new"]=l,i.emit("patch",{schema:c}),n()}}}},formItemSettings=new SchemaSettings({name:"FormItemSettings",items:[...generalSettingsItems,{name:"allowAddNewData",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField(),o=useFieldMode();return!e&&t&&["SubTable"].includes(o)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow add new"),checked:((e=r["x-component-props"])==null?void 0:e.allowAddnew)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowAddnew=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowAddnew=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},{name:"allowSelectExistingRecord",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField(),o=useFieldMode();return!e&&t&&["SubTable"].includes(o)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow selection of existing records"),checked:(e=r["x-component-props"])==null?void 0:e.allowSelectExistingRecord,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowSelectExistingRecord=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowSelectExistingRecord=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},{name:"quickUpload",type:"switch",useVisible(){const e=useIsFileField();return!useIsFormReadPretty()&&e},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Quick upload"),checked:((e=r["x-component-props"])==null?void 0:e.quickUpload)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.quickUpload=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].quickUpload=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},{name:"selectFile",type:"switch",useVisible(){const e=useIsFileField();return!useIsFormReadPretty()&&e},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Select file"),checked:((e=r["x-component-props"])==null?void 0:e.selectFile)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.selectFile=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].selectFile=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},{name:"validationRules",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r,refresh:i}=useDesignable(),n=useValidateSchema(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(o.name)||a(o["x-collection-field"]);return{title:e("Set validation rules"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:e("Set validation rules"),properties:{rules:{type:"array",default:o==null?void 0:o["x-validator"],"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},maxItems:3,items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:'{{ t("Validation rule") }}'},properties:{index:{type:"void","x-component":"ArrayCollapse.Index"},layout:{type:"void","x-component":"FormLayout","x-component-props":{labelStyle:{marginTop:"6px"},labelCol:8,wrapperCol:16},properties:P(x({},n),{message:{type:"string",title:'{{ t("Error message") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:2}}}})},remove:{type:"void","x-component":"ArrayCollapse.Remove"},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"}}},properties:{add:{type:"void",title:'{{ t("Add validation rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{disabled:"{{$deps[0].length >= 3}}"}}}}}}}},onSubmit(u){var d;const m=[];for(const g of u.rules)m.push(import_lodash.default.pickBy(g,import_lodash.default.identity));const p={"x-uid":o["x-uid"]};if(["percent"].includes(c==null?void 0:c.interface))for(const g of m)(g.maxValue||g.minValue)&&(g.percentMode=!0),g.percentFormat&&(g.percentFormats=!0);const h=import_lodash.default.concat([],((d=c==null?void 0:c.uiSchema)==null?void 0:d["x-validator"])||[],m);t.validator=h,o["x-validator"]=m,p["x-validator"]=m,r.emit("patch",{schema:p}),i()}}},useVisible(){const{form:e}=useFormBlockContext(),t=useIsFormReadPretty(),o=useValidateSchema();return e&&!t&&o}},{name:"defaultValue",Component:SchemaSettingsDefaultValue,useVisible(){const{isAllowToSetDefaultValue:e}=useIsAllowToSetDefaultValue();return e()}},{name:"dataScope",Component:SchemaSettingsDataScope,useVisible(){const e=useIsSelectFieldMode(),t=useIsFormReadPretty();return e&&!t},useComponentProps(){var e,t,o;const{getCollectionJoinField:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=useRecord(),c=(0,import_react.useField)(),u=(0,import_react.useFieldSchema)(),d=n(u.name)||r(u["x-collection-field"]),m=useVariables$1(),p=useLocalVariables$1(),{dn:h}=useDesignable();return{collectionName:d==null?void 0:d.target,defaultFilter:((o=(t=(e=u==null?void 0:u["x-component-props"])==null?void 0:e.service)==null?void 0:t.params)==null?void 0:o.filter)||{},form:a,dynamicComponent:g=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},g),{form:a,collectionField:g.collectionField,record:l,shouldChange:getShouldChange({collectionField:g.collectionField,variables:m,localVariables:p,getAllCollectionsInheritChain:i})})),onSubmit:({filter:g})=>{g=removeNullCondition(g),import_lodash.default.set(c.componentProps,"service.params.filter",g),u["x-component-props"]=c.componentProps,h.emit("patch",{schema:{"x-uid":u["x-uid"],"x-component-props":c.componentProps}})}}}},{name:"sortingRule",Component:SchemaSettingsSortingRule,useVisible(){const e=useIsSelectFieldMode(),t=useIsFormReadPretty();return e&&!t}},{name:"fieldMode",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable(),i=useFieldModeOptions(),n=useIsAddNewForm(),a=useFieldMode();return{title:e("Field component"),options:i,value:a,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&n&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),r.emit("patch",{schema:c}),r.refresh()}}},useVisible:useShowFieldMode},{name:"popupSize",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n}=useDesignable();return{title:o("Popup size"),options:[{label:o("Small"),value:"small"},{label:o("Middle"),value:"middle"},{label:o("Large"),value:"large"}],value:(t=(e=i==null?void 0:i["x-component-props"])==null?void 0:e.openSize)!=null?t:"middle",onChange:a=>{r.componentProps.openSize=a,i["x-component-props"]=r.componentProps,n.emit("patch",{schema:{"x-uid":i["x-uid"],"x-component-props":i["x-component-props"]}}),n.refresh()}}},useVisible(){var e;const t=useShowFieldMode(),o=((e=(0,import_react.useFieldSchema)()["x-component-props"])==null?void 0:e.mode)==="Picker";return t&&o}},allowAddNew,{name:"addMode",type:"select",useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField(),o=useFieldMode();return!e&&t&&["Select"].includes(o)},useComponentProps(){var e;const{defaultOpenMode:t}=useOpenModeContext(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n,insertAdjacent:a}=useDesignable();return{title:o("Quick create"),options:[{label:o("None"),value:"none"},{label:o("Dropdown"),value:"quickAdd"},{label:o("Pop-up"),value:"modalAdd"}],value:((e=r.componentProps)==null?void 0:e.addMode)||"none",onChange(l){l==="modalAdd"&&(i.reduceProperties((u,d)=>d["x-component"]==="Action"?d:u,null)||a("afterBegin",{"x-action":"create","x-acl-action":"create",title:"{{t('Add new')}}","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:addNew","x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{openMode:t,type:"default",component:"CreateRecordAction"}}));const c={"x-uid":i["x-uid"]};i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].addMode=l,c["x-component-props"]=i["x-component-props"],r.componentProps=r.componentProps||{},r.componentProps.addMode=l,n.emit("patch",{schema:c}),n.refresh()}}}},{name:"multiple",type:"switch",useVisible(){const e=useIsAssociationField(),t=useIsShowMultipleSwitch();return e&&t()},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},{name:"allowDissociate",type:"switch",useVisible(){var e;const t=useIsShowMultipleSwitch();return((e=(0,import_react.useFieldSchema)()["x-component-props"])==null?void 0:e.mode)==="Nester"&&t()},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow dissociate"),checked:((e=r["x-component-props"])==null?void 0:e.allowDissociate)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].allowDissociate=a,o.componentProps.allowDissociate=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},{name:"enableLink",type:"switch",useVisible(){const e=useTitleFieldOptions(),t=useIsFieldReadPretty(),o=useIsFileField(),r=(0,import_react.useFieldSchema)();return t&&e.length>0&&!o&&r["x-component"]==="CollectionField"},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Enable link"),checked:((e=r["x-component-props"])==null?void 0:e.enableLink)!==!1,onChange(n){r["x-component-props"]=P(x({},r==null?void 0:r["x-component-props"]),{enableLink:n}),o.componentProps.enableLink=n,i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":x({},r==null?void 0:r["x-component-props"])}}),i.refresh()}}}},{name:"pattern",type:"select",useVisible(){const{form:e}=useFormBlockContext(),t=(0,import_react.useFieldSchema)();return e&&!(e!=null&&e.readPretty)&&!isPatternDisabled(t)},useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();let i="editable";return o["x-disabled"]===!0&&(i="readonly"),o["x-read-pretty"]===!0&&(i="read-pretty"),{title:e("Pattern"),options:[{label:e("Editable"),value:"editable"},{label:e("Readonly"),value:"readonly"},{label:e("Easy-reading"),value:"read-pretty"}],value:i,onChange(n){const a={"x-uid":o["x-uid"]};switch(n){case"readonly":{o["x-read-pretty"]=!1,o["x-disabled"]=!0,a["x-read-pretty"]=!1,a["x-disabled"]=!0,t.readPretty=!1,t.disabled=!0,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.ReadOnly));break}case"read-pretty":{o["x-read-pretty"]=!0,o["x-disabled"]=!1,a["x-read-pretty"]=!0,a["x-disabled"]=!1,t.readPretty=!0,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.ReadPretty));break}default:{o["x-read-pretty"]=!1,o["x-disabled"]=!1,a["x-read-pretty"]=!1,a["x-disabled"]=!1,t.readPretty=!1,t.disabled=!1,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.Editable));break}}r.emit("patch",{schema:a}),r.refresh()}}}},{name:"titleField",type:"select",useVisible(){const e=useTitleFieldOptions(),t=useIsAssociationField(),o=useFieldMode();return e.length>0&&t&&o!=="SubTable"},useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n}=useDesignable(),a=useTitleFieldOptions(),l=useCollectionField_deprecated();return{title:o("Title field"),options:a,value:(t=(e=r==null?void 0:r.componentProps)==null?void 0:e.fieldNames)==null?void 0:t.label,onChange(c){var u,d;const m={"x-uid":i["x-uid"]},p=P(x(x({},(d=(u=l==null?void 0:l.uiSchema)==null?void 0:u["x-component-props"])==null?void 0:d.fieldNames),r.componentProps.fieldNames),{label:c});i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].fieldNames=p,m["x-component-props"]=i["x-component-props"],r.componentProps.fieldNames=i["x-component-props"].fieldNames,n.emit("patch",{schema:m}),n.refresh()}}}},{name:"dateFormat",Component:SchemaSettingsDateFormat,useVisible(){const e=useFormItemCollectionField();return["datetime","createdAt","updatedAt"].includes(e==null?void 0:e.interface)},useComponentProps(){return{fieldSchema:(0,import_react.useFieldSchema)()}}},{name:"size",type:"select",useVisible(){const e=useIsFieldReadPretty(),t=useFormItemCollectionField(),{getCollection:o}=useCollectionManager_deprecated(),r=o(t==null?void 0:t.target),i=["attachment"].includes(t==null?void 0:t.interface)||(r==null?void 0:r.template)==="file";return e&&i},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Size"),options:[{label:t("Large"),value:"large"},{label:t("Default"),value:"default"},{label:t("Small"),value:"small"}],value:((e=o==null?void 0:o.componentProps)==null?void 0:e.size)||"default",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].size=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.size=n,i.emit("patch",{schema:a}),i.refresh()}}}},{name:"tagColor",type:"select",useVisible(){const e=useIsAssociationField(),t=useFieldMode();return e&&["Tag"].includes(t)},useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n}=useDesignable(),a=useFormItemCollectionField(),l=useColorFields((e=a==null?void 0:a.target)!=null?e:a==null?void 0:a.targetCollection);return{title:o("Tag color field"),options:l,value:(t=r==null?void 0:r.componentProps)==null?void 0:t.tagColorField,onChange(c){const u={"x-uid":i["x-uid"]};i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].tagColorField=c,u["x-component-props"]=i["x-component-props"],r.componentProps.tagColorField=c,n.emit("patch",{schema:u}),n.refresh()}}}},{name:"divider",type:"divider",useVisible(){return!!useFormItemCollectionField()}},{name:"remove",type:"remove",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]});function useIsAddNewForm(){const e=useRecord();return import_lodash.default.isEmpty(import_lodash.default.omit(e,["__parent","__collectionName"]))}function isFileCollection$1(e){return(e==null?void 0:e.template)==="file"}function useIsFormReadPretty(){const{form:e}=useFormBlockContext();return!!(e!=null&&e.readPretty)}function useIsFieldReadPretty(){const{fieldSchema:e}=useColumnSchema$1();return(0,import_react.useField)().readPretty||(e==null?void 0:e["x-read-pretty"])}function useFormItemCollectionField(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),{getField:t}=useCollection_deprecated(),o=(0,import_react.useFieldSchema)(),{collectionField:r}=useColumnSchema$1(),i=o?t(o.name)||e(o["x-collection-field"]):null;return o?i||r:null}function useIsAssociationField(){const e=useFormItemCollectionField();return e&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(e.type)}function useIsFileField(){const e=useCollectionManager(),t=useFormItemCollectionField(),o=e.getCollection(t==null?void 0:t.target);return isFileCollection$1(o)}function useFieldMode(){var e;const t=(0,import_react.useField)(),o=useIsFileField();return((e=t==null?void 0:t.componentProps)==null?void 0:e.mode)||(o?"FileManager":"Select")}function useIsSelectFieldMode(){const e=useFieldMode();return useIsAssociationField()&&e==="Select"}function useValidateSchema(){var e;const{getInterface:t}=useCollectionManager_deprecated(),o=(0,import_react.useFieldSchema)(),r=useFormItemCollectionField(),i=t(r==null?void 0:r.interface);return(e=i==null?void 0:i.validateSchema)==null?void 0:e.call(i,o)}function useShowFieldMode(){const e=(0,import_react.useFieldSchema)(),t=useFieldModeOptions(),o=e["x-component"]==="TableField";return useIsAssociationField()&&t&&!o}function useTitleFieldOptions(){var e;const{getCollectionFields:t,isTitleField:o}=useCollectionManager_deprecated(),r=useCompile(),i=useFormItemCollectionField();return(i!=null&&i.target?t(i==null?void 0:i.target):(e=t(i==null?void 0:i.targetCollection))!=null?e:[]).filter(n=>o(n)).map(n=>{var a;return{value:n==null?void 0:n.name,label:r((a=n==null?void 0:n.uiSchema)==null?void 0:a.title)||(n==null?void 0:n.name)}})}function useFieldComponentName(){var e,t,o,r;const{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useField)(),l=useIsFileField(),c=(0,import_react.useFieldSchema)(),u=useCollectionField(),d=i||c,m=n||u,p={AssociationField:"Select"},h=((e=d==null?void 0:d["x-component-props"])==null?void 0:e.mode)||((t=a==null?void 0:a.componentProps)==null?void 0:t.mode)||(l?"FileManager":"")||((o=d==null?void 0:d["x-component-props"])==null?void 0:o.component)||((r=m==null?void 0:m.uiSchema)==null?void 0:r["x-component"]);return p[h]||h}const SchemaSettingsChildErrorFallback=e=>{const t=e,{title:o}=t,r=W(t,["title"]);return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:o,children:(0,import_jsx_runtime.jsx)(ErrorFallback.Modal,x({},r))})},getFallbackComponent=import_lodash.default.memoize(e=>t=>(0,import_jsx_runtime.jsx)(SchemaSettingsChildErrorFallback,P(x({},t),{title:e}))),SchemaSettingsChildren=e=>{const{children:t}=e,{visible:o}=useSchemaSettings(),r=(0,import_react2.useRef)(!1),i=useFieldComponentName();return(0,import_react2.useEffect)(()=>{o&&(r.current=!0)},[o]),!o&&!r.current||!t||t.length===0?null:(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:t.sort((n,a)=>(n.sort||0)-(a.sort||0)).map(n=>{const a=`${i?i+"-":""}${n==null?void 0:n.name}`;return(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:getFallbackComponent(a),onError:console.log,children:(0,import_jsx_runtime.jsx)(SchemaSettingsChild,x({},n))},a)})})},useChildrenDefault$1=()=>{},useComponentPropsDefault$1=()=>{},useVisibleDefault$1=()=>!0,SchemaSettingsChild=e=>{const{useVisible:t=useVisibleDefault$1,useChildren:o=useChildrenDefault$1,useComponentProps:r=useComponentPropsDefault$1,type:i,Component:n,children:a,hideIfNoChildren:l,componentProps:c}=e,u={item:SchemaSettingsItem,itemGroup:SchemaSettingsItemGroup,subMenu:SchemaSettingsSubMenu,divider:SchemaSettingsDivider,remove:SchemaSettingsRemove,select:SchemaSettingsSelectItem,cascader:SchemaSettingsCascaderItem,switch:SchemaSettingsSwitchItem,popup:SchemaSettingsPopupItem,actionModal:SchemaSettingsActionModalItem,modal:SchemaSettingsModalItem},d=o(),m=r(),p=useFindComponent(),h=(0,import_react2.useMemo)(()=>{const v=[...d||[],...a||[]];return v.length===0?void 0:v},[d,a]),g=t(),_=(0,import_react2.useMemo)(()=>!n&&i&&u[i]?u[i]:n,[i,n]);if(!g||!i&&!n)return null;const f=p(_);return!f||l&&!h?null:(0,import_jsx_runtime.jsx)(SchemaSettingItemContext.Provider,{value:e,children:(0,import_jsx_runtime.jsx)(f,P(x(x({},c),m),{children:Array.isArray(h)&&h.length>0&&(0,import_jsx_runtime.jsx)(SchemaSettingsChildren,{children:h})}))})},useGetAriaLabelOfDesigner=()=>{const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection_deprecated();return{getAriaLabel:(0,import_react2.useCallback)((o,r)=>{if(!e)return`designer-${o}-${r}`;const i=e["x-component"],n=typeof i=="string"?i:(i==null?void 0:i.displayName)||(i==null?void 0:i.name),a=e["x-designer"]?`-${e["x-designer"]}`:"",l=e["x-settings"]?`-${e["x-settings"]}`:"",c=e["x-collection-field"]?`-${e["x-collection-field"]}`:"",u=t?`-${t}`:"";return r=r?`-${r}`:"",`designer-${o}-${n}${a}${l}${u}${c}${r}`},[e,t])}},SchemaSettingsIcon=import_react2.default.memo(e=>{const{name:t}=e,{getAriaLabel:o}=useGetAriaLabelOfDesigner(),r=(0,import_react2.useMemo)(()=>({cursor:"pointer",fontSize:12}),[]);return(0,import_jsx_runtime.jsx)(import_icons.MenuOutlined,{role:"button",style:r,"aria-label":o("schema-settings",t)})});SchemaSettingsIcon.displayName="SchemaSettingsIcon";const SchemaSettingsWrapper=import_react2.default.memo(e=>{const t=e,{items:o,Component:r=SchemaSettingsIcon,name:i,componentProps:n,style:a}=t,l=W(t,["items","Component","name","componentProps","style"]),{dn:c}=useDesignable(),u=(0,import_react.useField)(),d=(0,import_react.useFieldSchema)(),m=(0,import_react2.useMemo)(()=>x({options:e,style:a},n),[n,e,a]);return(0,import_jsx_runtime.jsx)(SchemaSettingsDropdown,P(x({title:import_react2.default.createElement(r,m),dn:c,field:u,fieldSchema:d},l),{children:(0,import_jsx_runtime.jsx)(SchemaSettingsChildren,{children:o})}))});SchemaSettingsWrapper.displayName="SchemaSettingsWrapper";function useSchemaSettingsRender(e,t){const o=useApp(),r=(0,import_react2.useMemo)(()=>typeof e=="object"?e:o.schemaSettingsManager.get(e),[o.schemaSettingsManager,e]);return e?r?{exists:!0,render:(i={})=>import_react2.default.createElement(SchemaSettingsWrapper,x(x(x({},r.options),t),i))}:(console.error(`[nocobase]: SchemaSettings "${e}" not found`),{exists:!1,render:()=>null}):{exists:!1,render:()=>null}}const BlockTemplateContext=(0,import_react2.createContext)({componentNamePrefix:""}),BlockTemplateProvider=e=>(0,import_jsx_runtime.jsx)(BlockTemplateContext.Provider,{value:P(x({},e),{componentNamePrefix:e.componentNamePrefix||""}),children:e.children}),useBlockTemplateContext=()=>(0,import_react2.useContext)(BlockTemplateContext),itemsMerge=e=>e,gridRowColWrap=e=>({type:"void","x-component":"Grid.Row",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Grid.Col",properties:{[(e==null?void 0:e.name)||(0,import_shared.uid)()]:e}}}}),removeTableColumn=(e,t)=>{t(e.parent)},removeGridFormItem=(e,t)=>{t(e,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})},useRemoveGridFormItem=()=>{const e=(0,import_react.useForm)();return(t,o)=>{var r;o(t,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}),(r=e.values)==null||delete r[t.name]}},findTableColumn=(e,t,o,r)=>e.reduceProperties((i,n)=>n[t]===o&&(!r||n.name===r)?n:n.reduceProperties((l,c)=>c[t]===o&&(!r||c.name===r)?c:l)||i),quickEditField$1=["attachment","textarea","markdown","json","richText","polygon","circle","point","lineString","vditor"];function useTableColumnInitializerFields(){const{name:e,currentFields:t=[]}=useCollection_deprecated(),{getInterface:o,getCollection:r}=useCollectionManager_deprecated(),i=(0,import_react.useFieldSchema)()["x-component"]==="AssociationField.SubTable",n=(0,import_react.useForm)(),a=i?n.readPretty:!0;return t.filter(l=>!l.collectionName||l.collectionName===e).filter(l=>(l==null?void 0:l.interface)&&(l==null?void 0:l.interface)!=="subTable"&&!(l!=null&&l.treeChildren)).map(l=>{var c,u,d,m;const p=o(l.interface),h=(l==null?void 0:l.target)&&((c=r(l==null?void 0:l.target))==null?void 0:c.template)==="file",g=((u=l==null?void 0:l.uiSchema)==null?void 0:u["x-component"])==="Preview",_={name:l.name,"x-collection-field":`${e}.${l.name}`,"x-component":"CollectionField","x-component-props":h?{fieldNames:{label:"preview",value:"id"}}:g?{size:"small"}:{},"x-read-pretty":a||((d=l.uiSchema)==null?void 0:d["x-read-pretty"]),"x-decorator":i?quickEditField$1.includes(l.interface)||h?"QuickEdit":"FormItem":null,"x-decorator-props":{labelStyle:{display:"none"}}};return{type:"item",name:l.name,title:((m=l==null?void 0:l.uiSchema)==null?void 0:m.title)||l.name,Component:"TableCollectionFieldInitializer",find:findTableColumn,remove:removeTableColumn,schemaInitialize:f=>{var v;(v=p==null?void 0:p.schemaInitialize)==null||v.call(p,f,{field:l,readPretty:a,block:"Table",targetCollection:r(l.target)})},field:l,schema:_}})}function useAssociatedTableColumnInitializerFields(){var e;const{fields:t}=useCollection_deprecated(),{t:o}=(0,import_react_i18next.useTranslation)(),{getInterface:r,getCollectionFields:i,getCollection:n}=useCollectionManager_deprecated();return(e=t==null?void 0:t.filter(a=>["o2o","oho","obo","m2o"].includes(a.interface)))==null?void 0:e.map(a=>getGroupItemForTable({getCollectionFields:i,field:a,getInterface:r,getCollection:n,schemaName:a.name,maxDepth:2,depth:1,t:o}))}function getGroupItemForTable({getCollectionFields:e,field:t,getInterface:o,getCollection:r,schemaName:i,maxDepth:n,depth:a,t:l}){var c,u;const d=e(t.target),m=(c=d==null?void 0:d.filter(h=>(h==null?void 0:h.interface)&&!["subTable"].includes(h==null?void 0:h.interface)&&!(h!=null&&h.treeChildren)))==null?void 0:c.map(h=>{var g;const _=o(h.interface),f=`${i}.${h.name}`,v={name:f,"x-component":"CollectionField","x-read-pretty":!0,"x-collection-field":`${t.target}.${h.name}`,"x-component-props":{}};return{type:"item",key:`${t.target}_${h.name}_${f}`,name:f,title:((g=h==null?void 0:h.uiSchema)==null?void 0:g.title)||h.name,Component:"TableCollectionFieldInitializer",find:findTableColumn,remove:removeTableColumn,schemaInitialize:C=>{var b;(b=_==null?void 0:_.schemaInitialize)==null||b.call(_,C,{field:h,readPretty:!0,block:"Table",targetCollection:r(t.target)})},field:h,schema:v}}),p=[{type:"itemGroup",key:`${t.target}_${i}_displayFields`,name:`${i}-displayCollectionFields`,title:l("Display fields"),children:m}];if(a<n){const h=d==null?void 0:d.filter(g=>["o2o","oho","obo","m2o"].includes(g.interface)).map(g=>getGroupItemForTable({getCollectionFields:e,field:g,getInterface:o,getCollection:r,schemaName:`${i}.${g.name}`,maxDepth:n,depth:a+1,t:l}));if(h.length){const g={type:"itemGroup",key:`${t.target}_${i}_associationFields`,name:`${i}-associationFields`,title:l("Display association fields"),children:h};p.push(g)}}return{type:"subMenu",key:`${t.target}_${i}_submenu`,name:i,title:(u=t.uiSchema)==null?void 0:u.title,children:p}}function useInheritsTableColumnInitializerFields(){const{name:e}=useCollection_deprecated(),{getInterface:t,getInheritCollections:o,getCollection:r,getParentCollectionFields:i}=useCollectionManager_deprecated(),n=(0,import_react.useFieldSchema)()["x-component"]==="AssociationField.SubTable",a=(0,import_react.useForm)(),l=n?a.readPretty:!0,c=o(e);return c==null?void 0:c.map(u=>{const d=i(u,e),m=r(u);return{[m==null?void 0:m.title]:d==null?void 0:d.filter(p=>p==null?void 0:p.interface).map(p=>{var h,g,_,f;const v=t(p.interface),C=(p==null?void 0:p.target)&&((h=r(p==null?void 0:p.target))==null?void 0:h.template)==="file",b={name:`${p.name}`,"x-component":"CollectionField","x-read-pretty":l||((g=p.uiSchema)==null?void 0:g["x-read-pretty"]),"x-collection-field":`${e}.${p.name}`,"x-component-props":C?{fieldNames:{label:"preview",value:"id"}}:{},"x-decorator":n?quickEditField$1.includes(p.interface)||C?"QuickEdit":"FormItem":null,"x-decorator-props":{labelStyle:{display:"none"}}};return{name:((_=p==null?void 0:p.uiSchema)==null?void 0:_.title)||p.name,type:"item",title:((f=p==null?void 0:p.uiSchema)==null?void 0:f.title)||p.name,Component:"TableCollectionFieldInitializer",find:findTableColumn,remove:removeTableColumn,schemaInitialize:S=>{var y;(y=v==null?void 0:v.schemaInitialize)==null||y.call(v,S,{field:p,readPretty:!0,block:"Table",targetCollection:r(p==null?void 0:p.target)})},field:p,schema:b}})}})}const useFormItemInitializerFields=e=>{var t,o;const{name:r,currentFields:i}=useCollection_deprecated(),{getInterface:n,getCollection:a}=useCollectionManager_deprecated(),l=(0,import_react.useForm)(),{readPretty:c=l.readPretty,block:u="Form"}=e||{},{fieldSchema:d}=useActionContext(),m=d==null?void 0:d["x-action"];return(o=(t=i.filter(p=>!p.collectionName||p.collectionName===r))==null?void 0:t.filter(p=>(p==null?void 0:p.interface)&&!(p!=null&&p.treeChildren)))==null?void 0:o.map(p=>{var h,g,_,f,v;const C=n(p.interface),b=a(p.target),S=(p==null?void 0:p.target)&&((h=a(p==null?void 0:p.target))==null?void 0:h.template)==="file",y=b,F=(_=(g=p==null?void 0:p.uiSchema)==null?void 0:g["x-component-props"])==null?void 0:_.fieldNames,j={type:"string",name:p.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":`${r}.${p.name}`,"x-component-props":S?{fieldNames:{label:"preview",value:"id"}}:y&&F?{fieldNames:P(x({},F),{label:(b==null?void 0:b.titleField)||F.label})}:{},"x-read-pretty":(f=p==null?void 0:p.uiSchema)==null?void 0:f["x-read-pretty"]},A={type:"item",name:p.name,title:((v=p==null?void 0:p.uiSchema)==null?void 0:v.title)||p.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:D=>{var N;(N=C==null?void 0:C.schemaInitialize)==null||N.call(C,D,{field:p,block:u,readPretty:c,action:m,targetCollection:b})},schema:j};return u=="Kanban"&&(A.find=(D,N,M)=>{const w=findSchema(D,"x-component",u);return findSchema(w,N,M)}),A})},useFilterFormItemInitializerFields=e=>{var t,o;const{name:r,currentFields:i}=useCollection_deprecated(),{getInterface:n,getCollection:a}=useCollectionManager_deprecated(),l=(0,import_react.useForm)(),{readPretty:c=l.readPretty,block:u="FilterForm"}=e||{},{snapshot:d,fieldSchema:m}=useActionContext(),p=m==null?void 0:m["x-action"];return(o=(t=i.filter(h=>!h.collectionName||h.collectionName===r))==null?void 0:t.filter(h=>{var g;return(h==null?void 0:h.interface)&&((g=n(h.interface))==null?void 0:g.filterable)}))==null?void 0:o.map(h=>{var g,_,f;const v=n(h.interface),C=a(h.target);let b={type:"string",name:h.name,required:!1,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-component":"CollectionField","x-decorator":"FormItem","x-use-decorator-props":"useFormItemProps","x-collection-field":`${r}.${h.name}`,"x-component-props":{utc:!1}};return isAssocField(h)&&(b={type:"string",name:`${h.name}`,required:!1,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-component":"CollectionField","x-decorator":"FormItem","x-use-decorator-props":"useFormItemProps","x-collection-field":`${r}.${h.name}`,"x-component-props":P(x({},(g=h.uiSchema)==null?void 0:g["x-component-props"]),{utc:!1})}),{name:((_=h==null?void 0:h.uiSchema)==null?void 0:_.title)||h.name,type:"item",title:((f=h==null?void 0:h.uiSchema)==null?void 0:f.title)||h.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:S=>{var y;(y=v==null?void 0:v.schemaInitialize)==null||y.call(v,S,{field:h,block:u,readPretty:c,action:p,targetCollection:C})},schema:b}})},useAssociatedFormItemInitializerFields=e=>{var t;const{name:o,fields:r}=useCollection_deprecated(),{getInterface:i,getCollectionFields:n,getCollection:a}=useCollectionManager_deprecated(),l=(0,import_react.useForm)(),{t:c}=(0,import_react_i18next.useTranslation)(),{readPretty:u=l.readPretty,block:d="Form"}=e||{},m=d==="Form"?["m2o","obo","oho"]:["o2o","oho","obo","m2o"];return(t=r==null?void 0:r.filter(p=>m.includes(p.interface)))==null?void 0:t.map(p=>getGroupItemForForm({getCollectionFields:n,field:p,getInterface:i,getCollection:a,readPretty:u,block:d,schemaName:p.name,maxDepth:2,depth:1,t:c}))},associationFieldToMenu=(e,t,o,r,i)=>{var n,a,l;if(e.target&&e.uiSchema){if(i.includes(e.target)||i.length>=1)return;const u=r(e.target);return u!=null&&u.length?{type:"subMenu",name:t,title:(n=e.uiSchema)==null?void 0:n.title,children:u.map(d=>associationFieldToMenu(d,`${t}.${d.name}`,o,r,[...i,e.target])).filter(Boolean)}:void 0}if(!e.uiSchema)return;const c={type:"string",name:t,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-designer-props":{interface:e.interface},"x-component":"CollectionField","x-component-props":{utc:!1},"x-read-pretty":!1,"x-decorator":"FormItem","x-collection-field":`${o}.${t}`};return{name:((a=e.uiSchema)==null?void 0:a.title)||e.name,type:"item",title:((l=e.uiSchema)==null?void 0:l.title)||e.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schema:c}},useFilterAssociatedFormItemInitializerFields=()=>{const{name:e,fields:t}=useCollection_deprecated(),{getCollectionFields:o}=useCollectionManager_deprecated(),r=["attachmentURL"];return t==null?void 0:t.filter(i=>i.target&&i.uiSchema&&!r.includes(i.interface)).map(i=>associationFieldToMenu(i,i.name,e,o,[])).filter(Boolean)},useInheritsFormItemInitializerFields=e=>{const{name:t}=useCollection_deprecated(),{getInterface:o,getInheritCollections:r,getCollection:i,getParentCollectionFields:n}=useCollectionManager_deprecated(),a=r(t);useActionContext();const l=(0,import_react.useForm)();return a==null?void 0:a.map(c=>{var u;const d=n(c,t),{readPretty:m=l.readPretty,block:p="Form",component:h="CollectionField"}=e||{},g=i(c);return{[g==null?void 0:g.title]:(u=d==null?void 0:d.filter(_=>_==null?void 0:_.interface))==null?void 0:u.map(_=>{var f,v,C,b;const S=o(_.interface),y=i(_.target),F={type:"string",name:_.name,title:((f=_==null?void 0:_.uiSchema)==null?void 0:f.title)||_.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":h,"x-decorator":"FormItem","x-collection-field":`${t}.${_.name}`,"x-component-props":{},"x-read-pretty":(v=_==null?void 0:_.uiSchema)==null?void 0:v["x-read-pretty"]};return{name:((C=_==null?void 0:_.uiSchema)==null?void 0:C.title)||_.name,type:"item",title:((b=_==null?void 0:_.uiSchema)==null?void 0:b.title)||_.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:j=>{var A;(A=S==null?void 0:S.schemaInitialize)==null||A.call(S,j,{field:_,block:p,readPretty:m,targetCollection:y})},schema:F}})}})},useFilterInheritsFormItemInitializerFields=e=>{const{name:t}=useCollection_deprecated(),{getInterface:o,getInheritCollections:r,getCollection:i,getParentCollectionFields:n}=useCollectionManager_deprecated(),a=r(t);useActionContext();const l=(0,import_react.useForm)();return a==null?void 0:a.map(c=>{var u;const d=n(c,t),{readPretty:m=l.readPretty,block:p="Form"}={};return{[i(c).title]:(u=d==null?void 0:d.filter(h=>{var g;return(h==null?void 0:h.interface)&&((g=o(h.interface))==null?void 0:g.filterable)}))==null?void 0:u.map(h=>{var g,_,f,v;const C=o(h.interface),b=i(h.target),S={type:"string",name:h.name,title:((g=h==null?void 0:h.uiSchema)==null?void 0:g.title)||h.name,required:!1,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":`${t}.${h.name}`,"x-component-props":{utc:!1},"x-read-pretty":(_=h==null?void 0:h.uiSchema)==null?void 0:_["x-read-pretty"]};return{name:((f=h==null?void 0:h.uiSchema)==null?void 0:f.title)||h.name,type:"item",title:((v=h==null?void 0:h.uiSchema)==null?void 0:v.title)||h.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:y=>{var F;(F=C==null?void 0:C.schemaInitialize)==null||F.call(C,y,{field:h,block:p,readPretty:m,targetCollection:b})},schema:S}})}})},useCustomFormItemInitializerFields=e=>{var t;const{name:o,currentFields:r}=useCollection_deprecated(),{getInterface:i,getCollection:n}=useCollectionManager_deprecated(),a=(0,import_react.useForm)(),{readPretty:l=a.readPretty,block:c="Form"}=e||{},u=useRemoveGridFormItem();return(t=r==null?void 0:r.filter(d=>!d.inherit&&(d==null?void 0:d.interface)&&d.interface!=="snapshot"&&d.type!=="sequence"))==null?void 0:t.map(d=>{var m,p;const h=i(d.interface),g={type:"string",name:d.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":"AssignedField","x-decorator":"FormItem","x-collection-field":`${o}.${d.name}`};return{name:((m=d==null?void 0:d.uiSchema)==null?void 0:m.title)||d.name,type:"item",title:((p=d==null?void 0:d.uiSchema)==null?void 0:p.title)||d.name,Component:"CollectionFieldInitializer",remove:u,schemaInitialize:_=>{var f;(f=h==null?void 0:h.schemaInitialize)==null||f.call(h,_,{field:d,block:c,readPretty:l,targetCollection:n(d.target)})},schema:g}})},findSchema=(e,t,o,r)=>import_react.Schema.isSchemaInstance(e)?e.reduceProperties((i,n)=>{if(n[t]===o&&(!r||n.name===r))return n;if(n["x-component"]&&n["x-component"]!=="Action.Container"&&!n["x-component"].includes("AssociationField")){const a=findSchema(n,t,o,r);if(a)return a}return i}):null,removeSchema=(e,t)=>t(e),recursiveParent$1=e=>e.parent?e.parent["x-initializer"]?e.parent:recursiveParent$1(e.parent):null,useCurrentSchema=(e,t,o=findSchema,r=removeSchema,i)=>{const{removeActiveFieldName:n}=useFormActiveFields()||{},{form:a}=useFormBlockContext();let l=(0,import_react.useFieldSchema)();if(!(l!=null&&l["x-initializer"])&&(l==null?void 0:l["x-decorator"])==="FormItem"){const d=recursiveParent$1(l);d&&(l=d)}const{remove:c}=useDesignable(),u=o(l,t,e,i);return{schema:u,exists:!!u,remove(){n==null||n(u.name),a==null||a.query(new RegExp(`${u.parent.name}.${u.name}$`)).forEach(d=>{var m,p;(m=d.setValue)==null||m.call(d,void 0),(p=d.setInitialValue)==null||p.call(d,void 0)}),u&&r(u,c)}}},useRecordCollectionDataSourceItems=(e,t=null,o=null,r=null)=>{const{t:i}=(0,import_react_i18next.useTranslation)(),n=useCollection_deprecated(),{getTemplatesByCollection:a}=useSchemaTemplateManager(),l=a(n.dataSource,o||n.name).filter(m=>e&&m.componentName===e).filter(m=>["FormItem","ReadPrettyFormItem"].includes(e)||m.resourceName===r),c=Array.from(initializerMenusGenerators.values()).map(m=>m({collection:n,componentName:e})).filter(Boolean).flat();if(!l.length&&!c.length||isInTemplateSettingPage())return[];const u=0,d=[{type:"divider",name:"divider"}];return l.length&&d.push({key:`${o||e}_table_subMenu_${u}_copy`,type:"subMenu",name:"copy",title:i("Duplicate template"),children:l.map(m=>{const p=["FormItem","ReadPrettyFormItem"].includes(m==null?void 0:m.componentName)?`${m==null?void 0:m.name} ${i("(Fields only)")}`:m==null?void 0:m.name;return{type:"item",mode:"copy",name:n.name,template:m,item:t,title:p||i("Untitled")}})},{key:`${o||e}_table_subMenu_${u}_ref`,type:"subMenu",name:"ref",title:i("Reference template"),children:l.map(m=>{const p=["FormItem","ReadPrettyFormItem"].includes(m==null?void 0:m.componentName)?`${m==null?void 0:m.name} ${i("(Fields only)")}`:m==null?void 0:m.name;return{type:"item",mode:"reference",name:n.name,template:m,item:t,title:p||i("Untitled")}})}),c.length&&d.push({type:"subMenu",name:"inherited_templates",key:`associationFiled_${e}_table_subMenu_${u}_inherited`,title:i("Inherited template"),children:c}),[{key:`${o||e}_table_blank`,type:"item",name:n.name,title:i("Blank block"),item:t},...d]},useCollectionDataSourceItems=({name:e,componentName:t,filter:o=()=>!0,onlyCurrentDataSource:r=!1,showAssociationFields:i,filterDataSource:n,dataBlockInitializerProps:a,hideOtherRecordsInPopup:l,onClick:c,filterOtherRecordsCollection:u,currentText:d,otherText:m})=>{const{componentNamePrefix:p}=useBlockTemplateContext(),{t:h}=(0,import_react_i18next.useTranslation)(),g=useDataSourceManager(),_=useDataSourceKey(),f=useCollection(),v=useAssociationFields({componentName:p+t,filterCollections:o,showAssociationFields:i,componentNamePrefix:p,name:e}),C=useAssociationName();let b=g.getAllCollections({filterCollection:F=>r&&F.dataSource!==_?!1:o({collection:F}),filterDataSource:n});r&&(b=b.filter(F=>F.key===_));const{getTemplatesByCollection:S}=useSchemaTemplateManager(),y=(0,import_react2.useMemo)(()=>b.map(({key:F,displayName:j,collections:A})=>({name:F,label:j,type:"subMenu",children:[...getChildren({name:e,association:C,collections:A,componentName:p+t,searchValue:"",dataSource:F,getTemplatesByCollection:S,t:h,componentNamePrefix:p}).sort(D=>{const N=import_lodash.default.toArray((f==null?void 0:f.inherits)||[]);if(D.name===(f==null?void 0:f.name)||N.some(M=>M===D.name))return-1})]})),[b,f==null?void 0:f.inherits,f==null?void 0:f.name,t,S,h]);return i?(0,import_react2.useMemo)(()=>{var F;const j={name:"currentRecord",collectionName:f.name,dataSource:f.dataSource,Component:DataBlockInitializer,onClick(){},componentProps:P(x({},a),{icon:null,title:d||h("Current record"),name:"currentRecord",hideSearch:!1,hideChildrenIfSingleCollection:!0,items:y})},A={name:"associationRecords",Component:DataBlockInitializer,onClick(){},componentProps:P(x({},a),{icon:null,title:h("Associated records"),name:"associationRecords",hideSearch:!1,items:[{name:"associationFields",label:h("Association fields"),type:"subMenu",children:v}]})},D={ReadPrettyFormItem:"Details"},N={name:"otherRecords",Component:DataBlockInitializer,onClick(){},componentProps:P(x({},a),{hideSearch:!1,icon:null,title:m||h("Other records"),name:"otherRecords",showAssociationFields:!1,onlyCurrentDataSource:!1,hideChildrenIfSingleCollection:!1,fromOthersInPopup:!0,componentType:D[t]||t,filter({collection:R,associationField:T}){return u?u(R):!0},onClick(R){c(P(x({},R),{fromOthersInPopup:!0}))}})};let M;const w=v.length?A:null;if(y[0].children.length&&v.length)l?M=[j,w]:M=[j,w,N];else if(y[0].children.length)if(l){if(y[0].children.length<=1)return y[0].children=((F=y[0].children[0])==null?void 0:F.children)||[],y;M=[j]}else M=[j,N];else l?M=[w]:M=[w,N];return[{name:"records",label:h("Records"),type:"subMenu",children:M.filter(Boolean)}]},[v,f.dataSource,f.name,t,a,u,l,y,c,h]):y},createDetailsBlockSchema=e=>{const t=e,{formItemInitializers:o="details:configureFields",actionInitializers:r="detailsWithPaging:configureActions",collection:i,dataSource:n,association:a,template:l,settings:c,action:u="list"}=t,d=W(t,["formItemInitializers","actionInitializers","collection","dataSource","association","template","settings","action"]),m=a||i;return{type:"void","x-acl-action":u==="get"?`${m}:get`:`${m}:view`,"x-decorator":"DetailsBlockProvider","x-decorator-props":x(x({dataSource:n,collection:i,association:a,readPretty:!0,action:u},u==="list"?{params:{pageSize:1}}:{}),d),"x-toolbar":"BlockSchemaToolbar","x-settings":c,"x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Details","x-use-component-props":"useDetailsBlockProps","x-read-pretty":!0,properties:x({[(0,import_shared.uid)()]:{type:"void","x-initializer":r,"x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},properties:{}},grid:l||{type:"void","x-component":"Grid","x-initializer":o,properties:{}}},u==="list"?{pagination:{type:"void","x-component":"Pagination","x-use-component-props":"useDetailsPaginationProps"}}:{})}}}},createFormBlockSchema=e=>{const t=e,{formItemInitializers:o="form:configureFields",actionInitializers:r="createForm:configureActions",collection:i,resource:n,dataSource:a,association:l,action:c,actions:u={},"x-designer":d="FormV2.Designer",template:m,title:p,settings:h}=t,g=W(t,["formItemInitializers","actionInitializers","collection","resource","dataSource","association","action","actions","x-designer","template","title","settings"]),_=n||l||i;return P(x({type:"void","x-acl-action-props":{skipScopeCheck:!c},"x-acl-action":c?`${_}:update`:`${_}:create`,"x-decorator":"FormBlockProvider","x-decorator-props":P(x({},g),{action:c,dataSource:a,resource:_,collection:i,association:l}),"x-toolbar":"BlockSchemaToolbar"},h?{"x-settings":h}:{"x-designer":d}),{"x-component":"CardItem","x-component-props":{title:p},properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{grid:m||{type:"void","x-component":"Grid","x-initializer":o,properties:{}},[(0,import_shared.uid)()]:{type:"void","x-initializer":r,"x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:u}}}}})},createReadPrettyFormBlockSchema=e=>{const t=e,{formItemInitializers:o="details:configureFields",actionInitializers:r="details:configureActions",collection:i,association:n,dataSource:a,resource:l,template:c,settings:u}=t,d=W(t,["formItemInitializers","actionInitializers","collection","association","dataSource","resource","template","settings"]),m=l||n||i;return{type:"void","x-acl-action":`${m}:get`,"x-decorator":"FormBlockProvider","x-decorator-props":x({resource:m,collection:i,association:n,dataSource:a,readPretty:!0,action:"get",useParams:"{{ useParamsFromRecord }}"},d),"x-toolbar":"BlockSchemaToolbar","x-settings":u,"x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps","x-read-pretty":!0,properties:{[(0,import_shared.uid)()]:{type:"void","x-initializer":r,"x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},properties:{}},grid:c||{type:"void","x-component":"Grid","x-initializer":o,properties:{}}}}}}},createTableBlockSchema=e=>{const t=e,{collection:o,rowKey:r,tableActionInitializers:i,tableColumnInitializers:n,tableActionColumnInitializers:a,tableBlockProvider:l,disableTemplate:c,dataSource:u,blockType:d,pageSize:m=20}=t,p=W(t,["collection","rowKey","tableActionInitializers","tableColumnInitializers","tableActionColumnInitializers","tableBlockProvider","disableTemplate","dataSource","blockType","pageSize"]);return{type:"void","x-decorator":l??"TableBlockProvider","x-acl-action":`${o}:list`,"x-decorator-props":x({collection:o,dataSource:u,action:"list",params:{pageSize:m},rowKey:r,showIndex:!0,dragSort:!1,disableTemplate:c??!1,blockType:d},p),"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:table","x-component":"CardItem","x-filter-targets":[],properties:{actions:{type:"void","x-initializer":i??"table:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}},properties:{}},[(0,import_shared.uid)()]:{type:"array","x-initializer":n??"table:configureColumns","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},properties:{actions:{type:"void",title:'{{ t("Actions") }}',"x-action-column":"actions","x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column","x-designer":"TableV2.ActionColumnDesigner","x-initializer":a??"table:configureItemActions",properties:{[(0,import_shared.uid)()]:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{},properties:{}}}}}}}}},getChildren=({name:e,association:t,collections:o,dataSource:r,componentName:i,searchValue:n,getTemplatesByCollection:a,t:l,componentNamePrefix:c})=>{var u;return(u=o==null?void 0:o.filter(d=>{if(d.inherit)return!1;if(d.filterTargetKey){if([c+"Kanban",c+"FormItem"].includes(i)&&(d.template==="view"&&!d.writableView||d.template==="sql")||d.template==="file"&&[c+"Kanban",c+"FormItem",c+"Calendar"].includes(i))return!1;{const m=d.title||d.tableName;return m?m.toUpperCase().includes(n.toUpperCase())&&!(d!=null&&d.isThrough&&d!=null&&d.autoCreate):!1}}else return!1}))==null?void 0:u.map((d,m)=>{const p=d.title||d.tableName||d.label,h=a(r,d.name).filter(f=>{var v;const C=e!=="otherRecords"&&t;return C?f.resourceName!==t?!1:i&&f.componentName===i:!C&&(v=f==null?void 0:f.resourceName)!=null&&v.includes(".")?!1:i&&f.componentName===i}),g=Array.from(initializerMenusGenerators.values()).map(f=>f({item:d,index:m,componentName:i,association:t})).filter(Boolean).flat();if(!h.length&&!g.length||isInTemplateSettingPage())return{type:"item",name:d.name,title:p,dataSource:r};const _=[{type:"divider",name:"divider"}];return h.length&&_.push({key:`${i}_table_subMenu_${m}_copy`,type:"subMenu",name:"copy",dataSource:r,title:l("Duplicate template"),children:h.map(f=>{const v=[c+"FormItem",c+"ReadPrettyFormItem"].includes(f==null?void 0:f.componentName)?`${f==null?void 0:f.name} ${l("(Fields only)")}`:f==null?void 0:f.name;return{type:"item",mode:"copy",name:d.name,template:f,dataSource:r,title:v||l("Untitled")}})},{key:`${i}_table_subMenu_${m}_ref`,type:"subMenu",name:"ref",dataSource:r,title:l("Reference template"),children:h.map(f=>{const v=[c+"FormItem",c+"ReadPrettyFormItem"].includes(f==null?void 0:f.componentName)?`${f==null?void 0:f.name} ${l("(Fields only)")}`:f==null?void 0:f.name;return{type:"item",mode:"reference",name:d.name,template:f,dataSource:r,title:v||l("Untitled")}})}),g.length&&_.push({type:"subMenu",name:"inherited_templates",key:`associationFiled_${i}_table_subMenu_${m}_inherited`,dataSource:r,title:l("Inherited template"),children:g}),{key:`${i}_table_subMenu_${m}`,type:"subMenu",name:`${d.name}_${m}`,title:p,dataSource:r,children:[{type:"item",name:d.name,dataSource:r,title:l("Blank block")},..._]}})};function getGroupItemForForm({getCollectionFields:e,field:t,getInterface:o,getCollection:r,readPretty:i,block:n,maxDepth:a,depth:l,schemaName:c,t:u}){var d,m;const p=e(t.target),h=(d=p==null?void 0:p.filter(_=>(_==null?void 0:_.interface)&&!["subTable"].includes(_==null?void 0:_.interface)&&!_.treeChildren))==null?void 0:d.map(_=>{var f,v;const C=o(_.interface),b=(t==null?void 0:t.target)&&((f=r(t==null?void 0:t.target))==null?void 0:f.template)==="file",S=`${c}.${_.name}`,y={type:"string",name:S,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":"CollectionField","x-read-pretty":i,"x-component-props":{"pattern-disable":n==="Form"&&i,fieldNames:b?{label:"preview",value:"id"}:void 0},"x-decorator":"FormItem","x-collection-field":`${t.target}.${_.name}`};return{name:S,type:"item",title:((v=_==null?void 0:_.uiSchema)==null?void 0:v.title)||_.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:F=>{var j;(j=C==null?void 0:C.schemaInitialize)==null||j.call(C,F,{field:_,block:n,readPretty:i,targetCollection:r(t.target)})},schema:y}}),g=[{type:"itemGroup",name:`${c}-displayCollectionFields`,title:u("Display fields"),children:h}];if(l<a){const _=p==null?void 0:p.filter(f=>["o2o","oho","obo","m2o"].includes(f.interface)).map(f=>getGroupItemForForm({getCollectionFields:e,field:f,getInterface:o,getCollection:r,schemaName:`${c}.${f.name}`,readPretty:i,block:n,maxDepth:a,depth:l+1,t:u}));if(_.length){const f={type:"itemGroup",name:`${c}-associationFields`,title:u("Display association fields"),children:_};g.push(f)}}return{type:"subMenu",name:`${c}.${t.name}`,title:(m=t.uiSchema)==null?void 0:m.title,children:g}}function useAssociationFields({componentName:e,filterCollections:t,showAssociationFields:o,componentNamePrefix:r,name:i}){const n=(0,import_react.useFieldSchema)(),{getCollectionFields:a}=useCollectionManager_deprecated(),l=useCollection_deprecated();useCollectionManager();const c=useDataSourceKey(),{getTemplatesByCollection:u}=useSchemaTemplateManager(),{t:d}=(0,import_react_i18next.useTranslation)(),m=useCompile();return(0,import_react2.useMemo)(()=>{if(!o)return[];let p=[];if(n["x-initializer"])p=l.fields;else{const h=recursiveParent$1(n.parent);h&&(p=a(h))}return p.filter(h=>["linkTo","subTable","o2m","m2m","obo","oho","o2o","m2o"].includes(h.interface)).filter(h=>t({associationField:h})).map((h,g)=>{const _=m(h.uiSchema.title||h.name),f=u(c,h.target).filter(S=>S.resourceName!==`${h.collectionName}.${h.name}`?!1:e===r+"ReadPrettyFormItem"?["hasOne","belongsTo"].includes(h.type)?S.componentName===r+"ReadPrettyFormItem":S.componentName===r+"Details":S.componentName===e),v="associationFiled_table_subMenu",C=Array.from(initializerMenusGenerators.values()).map(S=>S({collection:l,index:g,field:h,componentName:e,keyPrefix:v,name:i})).filter(Boolean).flat();if(!f.length&&!C.length||isInTemplateSettingPage())return{type:"item",name:`${h.collectionName}.${h.name}`,collectionName:h.target,title:_,dataSource:c,associationField:h};const b=[{type:"divider",name:"divider"}];return f.length&&b.push({key:`associationFiled_${e}_table_subMenu_${g}_copy`,type:"subMenu",name:"copy",dataSource:c,title:d("Duplicate template"),children:f.map(S=>{const y=[r+"FormItem",r+"ReadPrettyFormItem"].includes(S==null?void 0:S.componentName)?`${S==null?void 0:S.name} ${d("(Fields only)")}`:S==null?void 0:S.name;return{type:"item",mode:"copy",name:`${h.collectionName}.${h.name}`,collectionName:h.target,template:S,dataSource:c,title:y||d("Untitled"),associationField:h}})},{key:`associationFiled_${e}_table_subMenu_${g}_ref`,type:"subMenu",name:"ref",dataSource:c,title:d("Reference template"),children:f.map(S=>{const y=[r+"FormItem",r+"ReadPrettyFormItem"].includes(S==null?void 0:S.componentName)?`${S==null?void 0:S.name} ${d("(Fields only)")}`:S==null?void 0:S.name;return{type:"item",mode:"reference",name:`${h.collectionName}.${h.name}`,collectionName:h.target,template:S,dataSource:c,title:y||d("Untitled"),associationField:h}})}),C.length&&b.push({type:"subMenu",name:"inherited_templates",key:`associationFiled_${e}_table_subMenu_${g}_inherited`,dataSource:c,title:d("Inherited template"),children:C}),{key:`associationFiled_${e}_table_subMenu_${g}`,type:"subMenu",name:`${h.target}_${g}`,title:_,dataSource:c,children:[{type:"item",name:`${h.collectionName}.${h.name}`,collectionName:h.target,dataSource:c,title:d("Blank block"),associationField:h},...b]}})},[l.fields,m,e,c,n,t,a,u,o,d,r])}const isInTemplateSettingPage=()=>window.location.pathname.includes("/block-templates/inherited"),initializerMenusGenerators=new Map;function registerInitializerMenusGenerator(e,t){initializerMenusGenerators.set(e,t)}const useStyles$g=genStyleHook("nb-schema-toolbar",e=>{const{componentCls:t}=e;return{[t]:{position:"absolute",zIndex:999,top:0,left:0,right:0,bottom:0,border:"2px solid var(--colorBorderSettingsHover)",background:"var(--colorBgSettingsHover)",pointerEvents:"none",transitionDelay:"0.1s","&.nb-in-template":{background:"var(--colorTemplateBgSettingsHover)"},"&.hidden":{transform:"scale(0)",pointerEvents:"none"},"&.hidden-e2e":{display:"none"},".ant-space-item .anticon":{margin:0},".toolbar-title":{pointerEvents:"none",position:"absolute",fontSize:12,padding:0,lineHeight:"16px",height:"16px",borderBottomRightRadius:2,borderRadius:2,top:2,left:2},".toolbar-title-tag":{padding:"0 3px",borderRadius:2,background:"var(--colorSettings)",color:"#fff",display:"block"},".toolbar-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:"var(--colorSettings)",color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}}}}),titleCss=import_css.css`
|
|
311
311
|
pointer-events: none;
|
|
312
312
|
position: absolute;
|
|
313
313
|
font-size: 12px;
|
|
@@ -380,12 +380,12 @@ ${JSON.stringify(V,null,2)}`)},[u,c,l,i,r,j,t,a,n,g,o,_,b,A,S,y,h]),N=(0,import_
|
|
|
380
380
|
position: relative;
|
|
381
381
|
width: 100%;
|
|
382
382
|
margin-left: 10px;
|
|
383
|
-
`}),"x-visible":'{{$deps[0] === "basic"}}',"x-component-props":{collectionName:i,dynamicComponent:j=>{const{collectionField:A}=j;return(0,import_jsx_runtime.jsx)(VariableInput,P(x({},j),{form:n,record:c,shouldChange:getShouldChange({collectionField:A,variables:a,localVariables:l,getAllCollectionsInheritChain:h})}))}},"x-reactions":[{dependencies:[".conditionType",".condition"],fulfill:{state:{visible:'{{$deps[0] === "basic"}}',value:'{{$deps[0] === "basic" ? $deps[1] : undefined}}'}}}]},conditionAdvanced:{"x-component":"LinkageFilter","x-visible":'{{$deps[0] === "advanced"}}',"x-component-props":{returnScope:S},"x-reactions":[{dependencies:[".conditionType",".condition"],fulfill:{state:{visible:'{{$deps[0] === "advanced"}}',value:'{{$deps[0] === "advanced" ? $deps[1] : undefined}}'}}}]},conditionType:{type:"string","x-component":"Input",default:"advanced","x-hidden":!0},actions:{"x-component":"h4","x-content":'{{ t("Properties") }}'},action:{type:"void","x-component":j=>(0,import_jsx_runtime.jsx)(LinkageRuleActionGroup,x(x({},j),e))}}},remove:{type:"void","x-component":"ArrayCollapse.Remove"},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"},copy:{type:"void","x-component":"ArrayCollapse.Copy"}}},properties:{add:{type:"void",title:'{{ t("Add linkage rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{}}}}}}}}),[i,r,n,h,l,o,e,c,a]),F=(0,import_react2.useMemo)(()=>({field:o,fieldSchema:t,dynamicComponent:u,options:o||[]}),[u,t,o]);return(0,import_jsx_runtime.jsx)(SubFormProvider,{value:{value:null,collection:{name:i||p}},children:(0,import_jsx_runtime.jsx)(RecordProvider,{record:c,parent:g,children:(0,import_jsx_runtime.jsx)(FilterContext$3.Provider,{value:F,children:(0,import_jsx_runtime.jsx)(CollectionProvider,{name:i||p,allowNull:!0,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:f,schema:y})})})})})}),{displayName:"FormLinkageRules"}),useLinkageCollectionFieldOptions=(e,t)=>{const{getCollectionFields:o,getInterface:r}=useCollectionManager_deprecated(),i=o(e).filter(c=>!["id","createdAt","createdBy","updatedAt","updatedBy"].includes(c.name)),{t:n}=(0,import_react_i18next.useTranslation)(),a=[{label:n("Visible"),value:ActionType.Visible,selected:!0,schema:{}},{label:n("Editable"),value:ActionType.Editable,selected:!1,schema:{}},{label:n("Disabled"),value:ActionType.ReadOnly,selected:!1,schema:{}},{label:n("Easy reading"),value:ActionType.ReadPretty,selected:!1,schema:{}},{label:n("Hidden"),value:ActionType.None,selected:!1,schema:{}},{label:n("Hidden(reserved value)"),value:ActionType.Hidden,selected:!1,schema:{}},{label:n("Required"),value:ActionType.Required,selected:!1,schema:{}},{label:n("Not required"),value:ActionType.InRequired,selected:!1,schema:{}},{label:n("Value"),value:ActionType.Value,selected:!1,schema:{}},{label:n("Options"),value:ActionType.Options,selected:!1,schema:{}},{label:n("Date scope"),value:ActionType.DateScope,selected:!1,schema:{}}].filter(c=>t?[ActionType.Visible,ActionType.None,ActionType.Hidden].includes(c.value):c),l=(c,u)=>{var d,m;const p=r(c.interface);if(!p)return;const{nested:h,children:g}=(p==null?void 0:p.filterable)||{},_={name:c.name,title:((d=c==null?void 0:c.uiSchema)==null?void 0:d.title)||c.name,schema:c==null?void 0:c.uiSchema,interface:c.interface,target:c.target,operators:((m=a==null?void 0:a.filter)==null?void 0:m.call(a,f=>h||g||["formula","richText","sequence"].includes(p.name)?(f==null?void 0:f.value)!==ActionType.Value&&(f==null?void 0:f.value)!==ActionType.Options:!0))||[]};if(!(c.target&&u>2))return _};return((c,u)=>{const d=[];return c.forEach(m=>{const p=l(m,u);p&&d.push(p)}),d})(i,1)},SchemaSettingsContext=(0,import_react2.createContext)(null);SchemaSettingsContext.displayName="SchemaSettingsContext";function useSchemaSettings(){return(0,import_react2.useContext)(SchemaSettingsContext)}const SchemaSettingsProvider=e=>{const{children:t,fieldSchema:o}=e,{getTemplateBySchema:r}=useSchemaTemplateManager(),i=useCollection(),n=r(o),a=(0,import_react2.useMemo)(()=>P(x({},e),{collectionName:i==null?void 0:i.name,template:n,fieldSchema:o}),[i==null?void 0:i.name,o,e,n]);return(0,import_jsx_runtime.jsx)(SchemaSettingsContext.Provider,{value:a,children:t})},InternalSchemaSettingsDropdown=import_react2.default.memo(e=>{const t=e,{title:o,dn:r}=t,i=W(t,["title","dn"]),[n,a]=(0,import_react2.useState)(!1),{Component:l,getMenuItems:c}=useMenuItem(),u=useNiceDropdownMaxHeight([n]),[d,m]=(0,import_react2.useState)(!1),p=(0,import_react2.useContext)(SchemaToolbarVisibleContext);(0,import_react2.useEffect)(()=>{p&&m(!1)},[p]);const h=(f
|
|
383
|
+
`}),"x-visible":'{{$deps[0] === "basic"}}',"x-component-props":{collectionName:i,dynamicComponent:j=>{const{collectionField:A}=j;return(0,import_jsx_runtime.jsx)(VariableInput,P(x({},j),{form:n,record:c,shouldChange:getShouldChange({collectionField:A,variables:a,localVariables:l,getAllCollectionsInheritChain:h})}))}},"x-reactions":[{dependencies:[".conditionType",".condition"],fulfill:{state:{visible:'{{$deps[0] === "basic"}}',value:'{{$deps[0] === "basic" ? $deps[1] : undefined}}'}}}]},conditionAdvanced:{"x-component":"LinkageFilter","x-visible":'{{$deps[0] === "advanced"}}',"x-component-props":{returnScope:S},"x-reactions":[{dependencies:[".conditionType",".condition"],fulfill:{state:{visible:'{{$deps[0] === "advanced"}}',value:'{{$deps[0] === "advanced" ? $deps[1] : undefined}}'}}}]},conditionType:{type:"string","x-component":"Input",default:"advanced","x-hidden":!0},actions:{"x-component":"h4","x-content":'{{ t("Properties") }}'},action:{type:"void","x-component":j=>(0,import_jsx_runtime.jsx)(LinkageRuleActionGroup,x(x({},j),e))}}},remove:{type:"void","x-component":"ArrayCollapse.Remove"},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"},copy:{type:"void","x-component":"ArrayCollapse.Copy"}}},properties:{add:{type:"void",title:'{{ t("Add linkage rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{}}}}}}}}),[i,r,n,h,l,o,e,c,a]),F=(0,import_react2.useMemo)(()=>({field:o,fieldSchema:t,dynamicComponent:u,options:o||[]}),[u,t,o]);return(0,import_jsx_runtime.jsx)(SubFormProvider,{value:{value:null,collection:{name:i||p}},children:(0,import_jsx_runtime.jsx)(RecordProvider,{record:c,parent:g,children:(0,import_jsx_runtime.jsx)(FilterContext$3.Provider,{value:F,children:(0,import_jsx_runtime.jsx)(CollectionProvider,{name:i||p,allowNull:!0,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:f,schema:y})})})})})}),{displayName:"FormLinkageRules"}),useLinkageCollectionFieldOptions=(e,t)=>{const{getCollectionFields:o,getInterface:r}=useCollectionManager_deprecated(),i=o(e).filter(c=>!["id","createdAt","createdBy","updatedAt","updatedBy"].includes(c.name)),{t:n}=(0,import_react_i18next.useTranslation)(),a=[{label:n("Visible"),value:ActionType.Visible,selected:!0,schema:{}},{label:n("Editable"),value:ActionType.Editable,selected:!1,schema:{}},{label:n("Disabled"),value:ActionType.ReadOnly,selected:!1,schema:{}},{label:n("Easy reading"),value:ActionType.ReadPretty,selected:!1,schema:{}},{label:n("Hidden"),value:ActionType.None,selected:!1,schema:{}},{label:n("Hidden(reserved value)"),value:ActionType.Hidden,selected:!1,schema:{}},{label:n("Required"),value:ActionType.Required,selected:!1,schema:{}},{label:n("Not required"),value:ActionType.InRequired,selected:!1,schema:{}},{label:n("Value"),value:ActionType.Value,selected:!1,schema:{}},{label:n("Options"),value:ActionType.Options,selected:!1,schema:{}},{label:n("Date scope"),value:ActionType.DateScope,selected:!1,schema:{}}].filter(c=>t?[ActionType.Visible,ActionType.None,ActionType.Hidden].includes(c.value):c),l=(c,u)=>{var d,m;const p=r(c.interface);if(!p)return;const{nested:h,children:g}=(p==null?void 0:p.filterable)||{},_={name:c.name,title:((d=c==null?void 0:c.uiSchema)==null?void 0:d.title)||c.name,schema:c==null?void 0:c.uiSchema,interface:c.interface,target:c.target,operators:((m=a==null?void 0:a.filter)==null?void 0:m.call(a,f=>h||g||["formula","richText","sequence"].includes(p.name)?(f==null?void 0:f.value)!==ActionType.Value&&(f==null?void 0:f.value)!==ActionType.Options:!0))||[]};if(!(c.target&&u>2))return _};return((c,u)=>{const d=[];return c.forEach(m=>{const p=l(m,u);p&&d.push(p)}),d})(i,1)},SchemaSettingsContext=(0,import_react2.createContext)(null);SchemaSettingsContext.displayName="SchemaSettingsContext";function useSchemaSettings(){return(0,import_react2.useContext)(SchemaSettingsContext)}const SchemaSettingsProvider=e=>{const{children:t,fieldSchema:o}=e,{getTemplateBySchema:r}=useSchemaTemplateManager(),i=useCollection(),n=r(o),a=(0,import_react2.useMemo)(()=>P(x({},e),{collectionName:i==null?void 0:i.name,template:n,fieldSchema:o}),[i==null?void 0:i.name,o,e,n]);return(0,import_jsx_runtime.jsx)(SchemaSettingsContext.Provider,{value:a,children:t})},InternalSchemaSettingsDropdown=import_react2.default.memo(e=>{const t=e,{title:o,dn:r}=t,i=W(t,["title","dn"]),[n,a]=(0,import_react2.useState)(!1),{Component:l,getMenuItems:c}=useMenuItem(),u=useNiceDropdownMaxHeight([n]),[d,m]=(0,import_react2.useState)(!1),p=(0,import_react2.useContext)(SchemaToolbarVisibleContext);(0,import_react2.useEffect)(()=>{p&&m(!1)},[p]);const h=(_,f)=>{(f.source==="trigger"||_)&&(0,import_react2.startTransition)(()=>{a(_)})},g=c(()=>e.children);return(0,import_jsx_runtime.jsxs)(SchemaSettingsProvider,P(x({visible:n,setVisible:a,dn:r},i),{children:[(0,import_jsx_runtime.jsx)(l,{}),(0,import_jsx_runtime.jsx)(import_antd.Dropdown,{open:n,onOpenChange:h,overlayClassName:import_css.css`
|
|
384
384
|
.ant-dropdown-menu-item-group-list {
|
|
385
385
|
max-height: 300px;
|
|
386
386
|
overflow-y: auto;
|
|
387
387
|
}
|
|
388
|
-
`,menu:{items:_,"data-testid":"schema-settings-menu",style:{maxHeight:u,overflowY:"auto"}},children:(0,import_jsx_runtime.jsx)("div",{"data-testid":e["data-testid"],children:typeof o=="string"?(0,import_jsx_runtime.jsx)("span",{children:o}):o})})]}))}),InternalSchemaSettingsMenu=import_react2.default.memo(e=>{const t=e,{title:o,dn:r}=t,i=W(t,["title","dn"]),[n,a]=(0,import_react2.useState)(!0),{Component:l,getMenuItems:c}=useMenuItem(),u=c(()=>e.children);return(0,import_jsx_runtime.jsxs)(SchemaSettingsProvider,P(x({visible:n,setVisible:a,dn:r},i),{children:[(0,import_jsx_runtime.jsx)(l,{}),(0,import_jsx_runtime.jsx)(import_antd.Menu,{items:u})]}))}),SchemaSettingsDropdown=import_react2.default.memo(e=>{const{mode:t}=e;return t==="inline"?(0,import_jsx_runtime.jsx)(InternalSchemaSettingsMenu,x({},e)):(0,import_jsx_runtime.jsx)(InternalSchemaSettingsDropdown,x({},e))});SchemaSettingsDropdown.displayName="SchemaSettingsDropdown";const findGridSchema=e=>e.reduceProperties((t,o)=>{if(o["x-component"]==="FormV2"||o["x-component"]==="Details"){const r=o.reduceProperties((i,n)=>n["x-component"]==="Grid"||n["x-component"]==="BlockTemplate"?n:i,null);if(r)return r}return t},null),findBlockTemplateSchema=e=>e.reduceProperties((t,o)=>{if(o["x-component"]==="FormV2"||o["x-component"]==="Details"){const r=o.reduceProperties((i,n)=>n["x-component"]==="BlockTemplate"?n:i,null);if(r)return r}return t},null),SchemaSettingsFormItemTemplate=function(e){const{insertAdjacentPosition:t="afterBegin",componentName:o,collectionName:r,resourceName:i}=e,{t:n}=(0,import_react_i18next.useTranslation)(),a=useCompile(),l=useCollectionManager(),{dn:c,setVisible:u,template:d,fieldSchema:m}=useSchemaSettings(),p=useAPIClient(),{saveAsTemplate:h,copyTemplateSchema:g}=useSchemaTemplateManager(),{theme:_}=useGlobalTheme();return r?d?(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:"Convert reference to duplicate",onClick:()=>q(this,null,function*(){const f=yield g(d),v=findBlockTemplateSchema(m),C=createDesignable({t:n,api:p,current:v.parent});C.loadAPIClientEvents(),C.removeWithoutEmit(v),C.insertAdjacent(t,f,{onSuccess(){return q(this,null,function*(){yield p.request({url:`/uiSchemas:remove/${v["x-uid"]}`})})}}),m["x-template-key"]=null,yield p.request({url:"uiSchemas:patch",method:"post",data:{"x-uid":m["x-uid"],"x-template-key":null}}),c.refresh()}),children:n("Convert reference to duplicate")}):(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:n("Save as reference template"),onClick:()=>q(this,null,function*(){u(!1);const f=r&&(l==null?void 0:l.getCollection(r)),v=findGridSchema(m),C=yield FormDialog(n("Save as reference template"),()=>{const y={FormItem:n("Form"),ReadPrettyFormItem:n("Details")};return(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:{Input:import_antd_v5.Input,FormItem:import_antd_v5.FormItem},schema:{type:"object",properties:{name:{title:n("Template name"),required:!0,default:f?`${a((f==null?void 0:f.title)||(f==null?void 0:f.name))}_${n(y[o]||o)}`:n(y[o]||o),"x-decorator":"FormItem","x-component":"Input"}}}})})},_).open({}),b=createDesignable({t:n,api:p,current:v.parent});b.loadAPIClientEvents();const{key:S}=yield h({collectionName:r,resourceName:i,componentName:o,dataSourceKey:f.dataSource,name:C.name,uid:v["x-uid"]});b.removeWithoutEmit(v),b.insertAdjacent(t,{type:"void","x-component":"BlockTemplate","x-component-props":{templateId:S}}),m["x-template-key"]=S,yield p.request({url:"uiSchemas:patch",method:"post",data:{"x-uid":m["x-uid"],"x-template-key":S}}),c.refresh()}),children:n("Save as reference template")}):null},SchemaSettingsItem=e=>{const{pushMenuItem:t}=useCollectMenuItems(),{collectMenuItem:o}=useCollectMenuItem(),{eventKey:r,title:i}=e,n=P(x({key:i},import_lodash.default.omit(e,["children","name"])),{eventKey:r,onClick:a=>{var l;a.domEvent.preventDefault(),a.domEvent.stopPropagation(),(l=e==null?void 0:e.onClick)==null||l.call(e,a)},style:{minWidth:120},label:e.children||e.title,title:e.title});return t==null||t(n),o==null||o(n),null},SchemaSettingsItemGroup=e=>{const{Component:t,getMenuItems:o}=useMenuItem(),{pushMenuItem:r}=useCollectMenuItems(),i={key:(0,import_react2.useMemo)(()=>(0,import_shared.uid)(),[]),type:"group",title:e.title,label:e.title,children:o(()=>e.children)};return r(i),(0,import_jsx_runtime.jsx)(t,{})},SchemaSettingsSubMenu=function(e){const{Component:t,getMenuItems:o}=useMenuItem(),{pushMenuItem:r}=useCollectMenuItems(),i={key:(0,import_react2.useMemo)(()=>(0,import_shared.uid)(),[]),label:e.title,title:e.title,children:o(()=>e.children)};return r(i),(0,import_jsx_runtime.jsx)(t,{})},SchemaSettingsDivider=function(){const{pushMenuItem:e}=useCollectMenuItems(),t={key:(0,import_react2.useMemo)(()=>(0,import_shared.uid)(),[]),type:"divider"};return e(t),null},SchemaSettingsRemove=e=>{const{disabled:t,confirm:o,title:r,removeParentsIfNoChildren:i,breakRemoveOn:n}=e,{dn:a,template:l}=useSchemaSettings(),{t:c}=(0,import_react_i18next.useTranslation)(),u=(0,import_react.useField)(),d=useCompile(),m=(0,import_react.useFieldSchema)(),p=useBlockTemplateContext(),h=(0,import_react.useForm)(),{modal:g}=import_antd.App.useApp(),{removeActiveFieldName:_}=useFormActiveFields()||{},{removeDataBlock:f}=useFilterBlock();return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{disabled:t,title:"Delete",eventKey:"remove",onClick:()=>{g.confirm(P(x({title:r?d(r):c("Delete block"),content:c("Are you sure you want to delete it?")},o),{onOk(){return q(this,null,function*(){var v;const C={removeParentsIfNoChildren:i,breakRemoveOn:n};u!=null&&u.required&&(u.required=!1,m.required=!1),l&&l.uid===m["x-uid"]&&p!=null&&p.dn?yield p==null?void 0:p.dn.remove(null,C):yield a.remove(null,C),yield(v=o==null?void 0:o.onOk)==null?void 0:v.call(o),delete h.values[m.name],a.refresh({refreshParentSchema:!0}),_==null||_(m.name),h==null||h.query(new RegExp(`${m.parent.name}.${m.name}$`)).forEach(b=>{var S,y;(S=b.setValue)==null||S.call(b,void 0),(y=b.setInitialValue)==null||y.call(b,void 0)}),f(m["x-uid"])})}}))},children:c("Delete")})},SchemaSettingsSelectItem=e=>{const t=e,{title:o,options:r,value:i,onChange:n,optionRender:a}=t,l=W(t,["title","options","value","onChange","optionRender"]);return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:o},l),{children:(0,import_jsx_runtime.jsx)(SelectWithTitle,{title:o,defaultValue:i,onChange:n,options:r,optionRender:a})}))},SchemaSettingsCascaderItem=e=>{const t=e,{title:o,options:r,value:i,onChange:n}=t,a=W(t,["title","options","value","onChange"]);return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:o},a),{children:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[o,(0,import_jsx_runtime.jsx)(import_antd.Cascader,P(x({bordered:!1,defaultValue:i,onChange:n,options:r,style:{textAlign:"right",minWidth:100}},e),{multiple:e.multiple}))]})}))},ml32={marginLeft:32},MenuItemSwitch=(0,import_react.observer)(({state:e})=>(0,import_jsx_runtime.jsx)(import_antd.Switch,{size:"small",checked:e.checked,style:ml32}));MenuItemSwitch.displayName="MenuItemSwitch";const SchemaSettingsSwitchItem=e=>{const t=e,{title:o,onChange:r}=t,i=W(t,["title","onChange"]),[n]=(0,import_react2.useState)(()=>(0,import_reactive.observable)({checked:!!e.checked}));return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:o},i),{onClick:()=>{r==null||r(!n.checked),n.checked=!n.checked},children:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[o,(0,import_jsx_runtime.jsx)(MenuItemSwitch,{state:n})]})}))},SchemaSettingsPopupItem=e=>{const t=e,{schema:o}=t,r=W(t,["schema"]),[i,n]=(0,import_react2.useState)(!1),a=(0,import_react2.useContext)(SchemaSettingsContext);return(0,import_jsx_runtime.jsxs)(ActionContextProvider,{value:{visible:i,setVisible:n},children:[(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:e.title},r),{onClick:()=>{a.setVisible(!1),n(!0)},children:e.children||e.title})),(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:x({name:(0,import_shared.uid)()},o)})]})},SchemaSettingsActionModalItem=import_react2.default.memo(e=>{const t=e,{title:o,onSubmit:r,width:i="50%",initialValues:n,beforeOpen:a,initialSchema:l,schema:c,modalTip:u,components:d,scope:m}=t,p=W(t,["title","onSubmit","width","initialValues","beforeOpen","initialSchema","schema","modalTip","components","scope"]),[h,g]=(0,import_react2.useState)(!1),[_,f]=(0,import_react2.useState)(e.uid),{t:v}=(0,import_react_i18next.useTranslation)(),C=(0,import_react.useFieldSchema)(),b=(0,import_react2.useContext)(SchemaSettingsContext),{dn:S}=useSchemaSettings(),y=useCompile(),F=useAPIClient(),j=useFormActiveFields(),A=useZIndexContext(),D=getZIndex("modal",A+10,0),N=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({initialValues:(0,import_lodash.cloneDeep)(n),values:(0,import_lodash.cloneDeep)(n)}),[n]);(0,import_react2.useEffect)(()=>{N.setInitialValues((0,import_lodash.cloneDeep)(n))},[JSON.stringify(n||{})]);const M=(0,import_react2.useCallback)(()=>{g(!1),N.reset()},[N]),w=(0,import_react2.useCallback)(()=>q(void 0,null,function*(){yield N.submit();try{const $=N.values,B=Object.keys($).reduce((I,E)=>(N.query(E).take()&&(I[E]=$[E]),I),{});g(!1),yield r==null?void 0:r((0,import_lodash.cloneDeep)(B))}catch($){console.error($)}}),[N,r]),R=(0,import_react2.useCallback)(()=>q(void 0,null,function*(){!_&&l!=null&&l["x-uid"]&&(C["x-action-settings"].schemaUid=l["x-uid"],S.emit("patch",{schema:C}),yield F.resource("uiSchemas").insert({values:l}),f(l["x-uid"])),typeof a=="function"&&(a==null||a()),b.setVisible(!1),g(!0)}),[F,b,S,C,l,_]),T=(0,import_react2.useCallback)($=>$.stopPropagation(),[]);return(0,import_jsx_runtime.jsxs)(zIndexContext.Provider,{value:D,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:y(o)},p),{onClick:R,onKeyDown:T,children:e.children||e.title})),(0,import_react_dom.createPortal)((0,import_jsx_runtime.jsx)(import_antd.Modal,P(x({width:i,title:y(o)},p),{destroyOnClose:!0,open:h,onCancel:M,zIndex:D,footer:(0,import_jsx_runtime.jsxs)(import_antd.Space,{children:[(0,import_jsx_runtime.jsx)(import_antd.Button,{onClick:M,children:v("Cancel")}),(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"primary",onClick:w,children:v("Submit")})]}),children:(0,import_jsx_runtime.jsx)(FormActiveFieldsProvider,{name:"form",getActiveFieldsName:j==null?void 0:j.getActiveFieldsName,children:(0,import_jsx_runtime.jsx)(FormProvider,{form:N,children:(0,import_jsx_runtime.jsxs)(import_antd_v5.FormLayout,{layout:"vertical",children:[u&&(0,import_jsx_runtime.jsx)(import_antd.Alert,{message:u}),u&&(0,import_jsx_runtime.jsx)("br",{}),h&&_&&(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{noForm:!0,components:d,scope:m,uid:_}),h&&c&&(0,import_jsx_runtime.jsx)(SchemaComponent,{components:d,scope:m,schema:c})]})})})})),document.body)]})});SchemaSettingsActionModalItem.displayName="SchemaSettingsActionModalItem";const SchemaSettingsModalItem=e=>{const t=e,{hidden:o,title:r,components:i,scope:n,effects:a,onSubmit:l,asyncGetInitialValues:c,initialValues:u,width:d="fit-content",noRecord:m=!1,ModalContextProvider:p=H=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:H.children}),dialogRootClassName:h}=t,g=W(t,["hidden","title","components","scope","effects","onSubmit","asyncGetInitialValues","initialValues","width","noRecord","ModalContextProvider","dialogRootClassName"]),_=(0,import_react2.useContext)(import_react.SchemaOptionsContext),f=useCollection(),v=useAPIClient(),C=useApp(),{theme:b}=useGlobalTheme(),S=useBlockRequestContext(),y=useFormActiveFields(),{locale:F}=(0,import_react2.useContext)(import_antd.ConfigProvider.ConfigContext),j=useDataSourceManager(),A=useDataSourceKey(),D=useCollectionRecord(),{association:N}=useDataBlockProps()||{},M=useCurrentRecord(),w=useFormBlockContext(),R=useBlockContext(),{getOperators:T}=useOperators(),$=useLocationSearch(),B=useVariables$1(),I=(0,import_react2.useContext)(AllDataBlocksContext),E=(0,import_react2.useContext)(SchemaComponentContext),V=(0,import_react2.useContext)(VariableScopeContext$1),{formValue:O,collection:L,parent:U}=useSubFormValue(),z=useCurrentPopupRecord(),G=useParentPopupRecord();return o?null:(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:r},g),{onClick:()=>q(void 0,null,function*(){const H=c?yield c():u,K=import_lodash.default.isFunction(e.schema)?e.schema():e.schema;FormDialog({title:K.title||r,width:d,rootClassName:h},()=>(0,import_jsx_runtime.jsx)(VariableScopeContext$1.Provider,{value:V,children:(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:E,children:(0,import_jsx_runtime.jsx)(AllDataBlocksContext.Provider,{value:I,children:(0,import_jsx_runtime.jsx)(p,{children:(0,import_jsx_runtime.jsx)(CollectOperators,{defaultOperators:T(),children:(0,import_jsx_runtime.jsx)(VariablesContext.Provider,{value:B,children:(0,import_jsx_runtime.jsx)(BlockContext.Provider,{value:R,children:(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{recordData:z==null?void 0:z.value,collection:z==null?void 0:z.collection,parent:{recordData:G==null?void 0:G.value,collection:G==null?void 0:G.collection},children:(0,import_jsx_runtime.jsx)(CollectionRecordProvider,{record:m?null:D,children:(0,import_jsx_runtime.jsx)(CurrentRecordContextProvider,P(x({},M),{children:(0,import_jsx_runtime.jsx)(FormBlockContext$1.Provider,{value:w,children:(0,import_jsx_runtime.jsx)(SubFormProvider,{value:{value:O,collection:L,parent:U},children:(0,import_jsx_runtime.jsx)(FormActiveFieldsProvider,{name:"form",getActiveFieldsName:y==null?void 0:y.getActiveFieldsName,children:(0,import_jsx_runtime.jsx)(LocationSearchContext.Provider,{value:$,children:(0,import_jsx_runtime.jsx)(BlockRequestContext_deprecated.Provider,{value:S,children:(0,import_jsx_runtime.jsx)(DataSourceApplicationProvider,{dataSourceManager:j,dataSource:A,children:(0,import_jsx_runtime.jsx)(AssociationOrCollectionProvider,{allowNull:!0,collection:f==null?void 0:f.name,association:N,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:_.scope,components:_.components,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",className:import_css.css`
|
|
388
|
+
`,menu:{items:g,"data-testid":"schema-settings-menu",style:{maxHeight:u,overflowY:"auto"}},children:(0,import_jsx_runtime.jsx)("div",{"data-testid":e["data-testid"],children:typeof o=="string"?(0,import_jsx_runtime.jsx)("span",{children:o}):o})})]}))}),InternalSchemaSettingsMenu=import_react2.default.memo(e=>{const t=e,{title:o,dn:r}=t,i=W(t,["title","dn"]),[n,a]=(0,import_react2.useState)(!0),{Component:l,getMenuItems:c}=useMenuItem(),u=c(()=>e.children);return(0,import_jsx_runtime.jsxs)(SchemaSettingsProvider,P(x({visible:n,setVisible:a,dn:r},i),{children:[(0,import_jsx_runtime.jsx)(l,{}),(0,import_jsx_runtime.jsx)(import_antd.Menu,{items:u})]}))}),SchemaSettingsDropdown=import_react2.default.memo(e=>{const{mode:t}=e;return t==="inline"?(0,import_jsx_runtime.jsx)(InternalSchemaSettingsMenu,x({},e)):(0,import_jsx_runtime.jsx)(InternalSchemaSettingsDropdown,x({},e))});SchemaSettingsDropdown.displayName="SchemaSettingsDropdown";const findGridSchema=e=>e.reduceProperties((t,o)=>{if(o["x-component"]==="FormV2"||o["x-component"]==="Details"){const r=o.reduceProperties((i,n)=>n["x-component"]==="Grid"||n["x-component"]==="BlockTemplate"?n:i,null);if(r)return r}return t},null),findBlockTemplateSchema=e=>e.reduceProperties((t,o)=>{if(o["x-component"]==="FormV2"||o["x-component"]==="Details"){const r=o.reduceProperties((i,n)=>n["x-component"]==="BlockTemplate"?n:i,null);if(r)return r}return t},null),SchemaSettingsFormItemTemplate=function(e){const{insertAdjacentPosition:t="afterBegin",componentName:o,collectionName:r,resourceName:i}=e,{t:n}=(0,import_react_i18next.useTranslation)(),a=useCompile(),l=useCollectionManager(),{dn:c,setVisible:u,template:d,fieldSchema:m}=useSchemaSettings(),p=useAPIClient(),{saveAsTemplate:h,copyTemplateSchema:g}=useSchemaTemplateManager(),{theme:_}=useGlobalTheme();return r?d?(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:"Convert reference to duplicate",onClick:()=>q(this,null,function*(){const f=yield g(d),v=findBlockTemplateSchema(m),C=createDesignable({t:n,api:p,current:v.parent});C.loadAPIClientEvents(),C.removeWithoutEmit(v),C.insertAdjacent(t,f,{onSuccess(){return q(this,null,function*(){yield p.request({url:`/uiSchemas:remove/${v["x-uid"]}`})})}}),m["x-template-key"]=null,yield p.request({url:"uiSchemas:patch",method:"post",data:{"x-uid":m["x-uid"],"x-template-key":null}}),c.refresh()}),children:n("Convert reference to duplicate")}):(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:n("Save as reference template"),onClick:()=>q(this,null,function*(){u(!1);const f=r&&(l==null?void 0:l.getCollection(r)),v=findGridSchema(m),C=yield FormDialog(n("Save as reference template"),()=>{const y={FormItem:n("Form"),ReadPrettyFormItem:n("Details")};return(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:{Input:import_antd_v5.Input,FormItem:import_antd_v5.FormItem},schema:{type:"object",properties:{name:{title:n("Template name"),required:!0,default:f?`${a((f==null?void 0:f.title)||(f==null?void 0:f.name))}_${n(y[o]||o)}`:n(y[o]||o),"x-decorator":"FormItem","x-component":"Input"}}}})})},_).open({}),b=createDesignable({t:n,api:p,current:v.parent});b.loadAPIClientEvents();const{key:S}=yield h({collectionName:r,resourceName:i,componentName:o,dataSourceKey:f.dataSource,name:C.name,uid:v["x-uid"]});b.removeWithoutEmit(v),b.insertAdjacent(t,{type:"void","x-component":"BlockTemplate","x-component-props":{templateId:S}}),m["x-template-key"]=S,yield p.request({url:"uiSchemas:patch",method:"post",data:{"x-uid":m["x-uid"],"x-template-key":S}}),c.refresh()}),children:n("Save as reference template")}):null},SchemaSettingsItem=e=>{const{pushMenuItem:t}=useCollectMenuItems(),{collectMenuItem:o}=useCollectMenuItem(),{eventKey:r,title:i}=e,n=P(x({key:i},import_lodash.default.omit(e,["children","name"])),{eventKey:r,onClick:a=>{var l;a.domEvent.preventDefault(),a.domEvent.stopPropagation(),(l=e==null?void 0:e.onClick)==null||l.call(e,a)},style:{minWidth:120},label:e.children||e.title,title:e.title});return t==null||t(n),o==null||o(n),null},SchemaSettingsItemGroup=e=>{const{Component:t,getMenuItems:o}=useMenuItem(),{pushMenuItem:r}=useCollectMenuItems(),i={key:(0,import_react2.useMemo)(()=>(0,import_shared.uid)(),[]),type:"group",title:e.title,label:e.title,children:o(()=>e.children)};return r(i),(0,import_jsx_runtime.jsx)(t,{})},SchemaSettingsSubMenu=function(e){const{Component:t,getMenuItems:o}=useMenuItem(),{pushMenuItem:r}=useCollectMenuItems(),i={key:(0,import_react2.useMemo)(()=>(0,import_shared.uid)(),[]),label:e.title,title:e.title,children:o(()=>e.children)};return r(i),(0,import_jsx_runtime.jsx)(t,{})},SchemaSettingsDivider=function(){const{pushMenuItem:e}=useCollectMenuItems(),t={key:(0,import_react2.useMemo)(()=>(0,import_shared.uid)(),[]),type:"divider"};return e(t),null},SchemaSettingsRemove=e=>{const{disabled:t,confirm:o,title:r,removeParentsIfNoChildren:i,breakRemoveOn:n}=e,{dn:a,template:l}=useSchemaSettings(),{t:c}=(0,import_react_i18next.useTranslation)(),u=(0,import_react.useField)(),d=useCompile(),m=(0,import_react.useFieldSchema)(),p=useBlockTemplateContext(),h=(0,import_react.useForm)(),{modal:g}=import_antd.App.useApp(),{removeActiveFieldName:_}=useFormActiveFields()||{},{removeDataBlock:f}=useFilterBlock();return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{disabled:t,title:"Delete",eventKey:"remove",onClick:()=>{g.confirm(P(x({title:r?d(r):c("Delete block"),content:c("Are you sure you want to delete it?")},o),{onOk(){return q(this,null,function*(){var v;const C={removeParentsIfNoChildren:i,breakRemoveOn:n};u!=null&&u.required&&(u.required=!1,m.required=!1),l&&l.uid===m["x-uid"]&&p!=null&&p.dn?yield p==null?void 0:p.dn.remove(null,C):yield a.remove(null,C),yield(v=o==null?void 0:o.onOk)==null?void 0:v.call(o),delete h.values[m.name],a.refresh({refreshParentSchema:!0}),_==null||_(m.name),h==null||h.query(new RegExp(`${m.parent.name}.${m.name}$`)).forEach(b=>{var S,y;(S=b.setValue)==null||S.call(b,void 0),(y=b.setInitialValue)==null||y.call(b,void 0)}),f(m["x-uid"])})}}))},children:c("Delete")})},SchemaSettingsSelectItem=e=>{const t=e,{title:o,options:r,value:i,onChange:n,optionRender:a}=t,l=W(t,["title","options","value","onChange","optionRender"]);return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:o},l),{children:(0,import_jsx_runtime.jsx)(SelectWithTitle,{title:o,defaultValue:i,onChange:n,options:r,optionRender:a})}))},SchemaSettingsCascaderItem=e=>{const t=e,{title:o,options:r,value:i,onChange:n}=t,a=W(t,["title","options","value","onChange"]);return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:o},a),{children:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[o,(0,import_jsx_runtime.jsx)(import_antd.Cascader,P(x({bordered:!1,defaultValue:i,onChange:n,options:r,style:{textAlign:"right",minWidth:100}},e),{multiple:e.multiple}))]})}))},ml32={marginLeft:32},MenuItemSwitch=(0,import_react.observer)(({state:e})=>(0,import_jsx_runtime.jsx)(import_antd.Switch,{size:"small",checked:e.checked,style:ml32}));MenuItemSwitch.displayName="MenuItemSwitch";const SchemaSettingsSwitchItem=e=>{const t=e,{title:o,onChange:r}=t,i=W(t,["title","onChange"]),[n]=(0,import_react2.useState)(()=>(0,import_reactive.observable)({checked:!!e.checked}));return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:o},i),{onClick:()=>{r==null||r(!n.checked),n.checked=!n.checked},children:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[o,(0,import_jsx_runtime.jsx)(MenuItemSwitch,{state:n})]})}))},SchemaSettingsPopupItem=e=>{const t=e,{schema:o}=t,r=W(t,["schema"]),[i,n]=(0,import_react2.useState)(!1),a=(0,import_react2.useContext)(SchemaSettingsContext);return(0,import_jsx_runtime.jsxs)(ActionContextProvider,{value:{visible:i,setVisible:n},children:[(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:e.title},r),{onClick:()=>{a.setVisible(!1),n(!0)},children:e.children||e.title})),(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:x({name:(0,import_shared.uid)()},o)})]})},SchemaSettingsActionModalItem=import_react2.default.memo(e=>{const t=e,{title:o,onSubmit:r,width:i="50%",initialValues:n,beforeOpen:a,initialSchema:l,schema:c,modalTip:u,components:d,scope:m}=t,p=W(t,["title","onSubmit","width","initialValues","beforeOpen","initialSchema","schema","modalTip","components","scope"]),[h,g]=(0,import_react2.useState)(!1),[_,f]=(0,import_react2.useState)(e.uid),{t:v}=(0,import_react_i18next.useTranslation)(),C=(0,import_react.useFieldSchema)(),b=(0,import_react2.useContext)(SchemaSettingsContext),{dn:S}=useSchemaSettings(),y=useCompile(),F=useAPIClient(),j=useFormActiveFields(),A=useZIndexContext(),D=getZIndex("modal",A+10,0),N=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({initialValues:(0,import_lodash.cloneDeep)(n),values:(0,import_lodash.cloneDeep)(n)}),[n]);(0,import_react2.useEffect)(()=>{N.setInitialValues((0,import_lodash.cloneDeep)(n))},[JSON.stringify(n||{})]);const M=(0,import_react2.useCallback)(()=>{g(!1),N.reset()},[N]),w=(0,import_react2.useCallback)(()=>q(void 0,null,function*(){yield N.submit();try{const $=N.values,B=Object.keys($).reduce((I,E)=>(N.query(E).take()&&(I[E]=$[E]),I),{});g(!1),yield r==null?void 0:r((0,import_lodash.cloneDeep)(B))}catch($){console.error($)}}),[N,r]),R=(0,import_react2.useCallback)(()=>q(void 0,null,function*(){!_&&l!=null&&l["x-uid"]&&(C["x-action-settings"].schemaUid=l["x-uid"],S.emit("patch",{schema:C}),yield F.resource("uiSchemas").insert({values:l}),f(l["x-uid"])),typeof a=="function"&&(a==null||a()),b.setVisible(!1),g(!0)}),[F,b,S,C,l,_]),T=(0,import_react2.useCallback)($=>$.stopPropagation(),[]);return(0,import_jsx_runtime.jsxs)(zIndexContext.Provider,{value:D,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:y(o)},p),{onClick:R,onKeyDown:T,children:e.children||e.title})),(0,import_react_dom.createPortal)((0,import_jsx_runtime.jsx)(import_antd.Modal,P(x({width:i,title:y(o)},p),{destroyOnClose:!0,open:h,onCancel:M,zIndex:D,footer:(0,import_jsx_runtime.jsxs)(import_antd.Space,{children:[(0,import_jsx_runtime.jsx)(import_antd.Button,{onClick:M,children:v("Cancel")}),(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"primary",onClick:w,children:v("Submit")})]}),children:(0,import_jsx_runtime.jsx)(FormActiveFieldsProvider,{name:"form",getActiveFieldsName:j==null?void 0:j.getActiveFieldsName,children:(0,import_jsx_runtime.jsx)(FormProvider,{form:N,children:(0,import_jsx_runtime.jsxs)(import_antd_v5.FormLayout,{layout:"vertical",children:[u&&(0,import_jsx_runtime.jsx)(import_antd.Alert,{message:u}),u&&(0,import_jsx_runtime.jsx)("br",{}),h&&_&&(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{noForm:!0,components:d,scope:m,uid:_}),h&&c&&(0,import_jsx_runtime.jsx)(SchemaComponent,{components:d,scope:m,schema:c})]})})})})),document.body)]})});SchemaSettingsActionModalItem.displayName="SchemaSettingsActionModalItem";const SchemaSettingsModalItem=e=>{const t=e,{hidden:o,title:r,components:i,scope:n,effects:a,onSubmit:l,asyncGetInitialValues:c,initialValues:u,width:d="fit-content",noRecord:m=!1,ModalContextProvider:p=H=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:H.children}),dialogRootClassName:h}=t,g=W(t,["hidden","title","components","scope","effects","onSubmit","asyncGetInitialValues","initialValues","width","noRecord","ModalContextProvider","dialogRootClassName"]),_=(0,import_react2.useContext)(import_react.SchemaOptionsContext),f=useCollection(),v=useAPIClient(),C=useApp(),{theme:b}=useGlobalTheme(),S=useBlockRequestContext(),y=useFormActiveFields(),{locale:F}=(0,import_react2.useContext)(import_antd.ConfigProvider.ConfigContext),j=useDataSourceManager(),A=useDataSourceKey(),D=useCollectionRecord(),{association:N}=useDataBlockProps()||{},M=useCurrentRecord(),w=useFormBlockContext(),R=useBlockContext(),{getOperators:T}=useOperators(),$=useLocationSearch(),B=useVariables$1(),I=(0,import_react2.useContext)(AllDataBlocksContext),E=(0,import_react2.useContext)(SchemaComponentContext),V=(0,import_react2.useContext)(VariableScopeContext$1),{formValue:O,collection:L,parent:U}=useSubFormValue(),z=useCurrentPopupRecord(),G=useParentPopupRecord();return o?null:(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:r},g),{onClick:()=>q(void 0,null,function*(){const H=c?yield c():u,K=import_lodash.default.isFunction(e.schema)?e.schema():e.schema;FormDialog({title:K.title||r,width:d,rootClassName:h},()=>(0,import_jsx_runtime.jsx)(VariableScopeContext$1.Provider,{value:V,children:(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:E,children:(0,import_jsx_runtime.jsx)(AllDataBlocksContext.Provider,{value:I,children:(0,import_jsx_runtime.jsx)(p,{children:(0,import_jsx_runtime.jsx)(CollectOperators,{defaultOperators:T(),children:(0,import_jsx_runtime.jsx)(VariablesContext.Provider,{value:B,children:(0,import_jsx_runtime.jsx)(BlockContext.Provider,{value:R,children:(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{recordData:z==null?void 0:z.value,collection:z==null?void 0:z.collection,parent:{recordData:G==null?void 0:G.value,collection:G==null?void 0:G.collection},children:(0,import_jsx_runtime.jsx)(CollectionRecordProvider,{record:m?null:D,children:(0,import_jsx_runtime.jsx)(CurrentRecordContextProvider,P(x({},M),{children:(0,import_jsx_runtime.jsx)(FormBlockContext$1.Provider,{value:w,children:(0,import_jsx_runtime.jsx)(SubFormProvider,{value:{value:O,collection:L,parent:U},children:(0,import_jsx_runtime.jsx)(FormActiveFieldsProvider,{name:"form",getActiveFieldsName:y==null?void 0:y.getActiveFieldsName,children:(0,import_jsx_runtime.jsx)(LocationSearchContext.Provider,{value:$,children:(0,import_jsx_runtime.jsx)(BlockRequestContext_deprecated.Provider,{value:S,children:(0,import_jsx_runtime.jsx)(DataSourceApplicationProvider,{dataSourceManager:j,dataSource:A,children:(0,import_jsx_runtime.jsx)(AssociationOrCollectionProvider,{allowNull:!0,collection:f==null?void 0:f.name,association:N,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:_.scope,components:_.components,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",className:import_css.css`
|
|
389
389
|
// screen > 576px
|
|
390
390
|
@media (min-width: 576px) {
|
|
391
391
|
min-width: 520px;
|
|
@@ -399,7 +399,7 @@ ${JSON.stringify(V,null,2)}`)},[u,c,l,i,r,j,t,a,n,g,o,_,b,A,S,y,h]),N=(0,import_
|
|
|
399
399
|
& > .nb-form-item {
|
|
400
400
|
flex: 1;
|
|
401
401
|
}
|
|
402
|
-
`,findParentFieldSchema=e=>{let t=e.parent;for(;t;){if(t["x-component"]==="CollectionField")return t;t=t.parent}},schemaSettingsLabelLayout={name:"formLabelLayout",type:"select",useComponentProps(){var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return{title:r("Layout"),value:((e=t.componentProps)==null?void 0:e.layout)||"vertical",options:[{label:r("Vertical"),value:"vertical"},{label:r("Horizontal"),value:"horizontal"}],onChange:n=>{t.componentProps=t.componentProps||{},t.componentProps.layout=n,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].layout=n,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}}},isSystemField=(e,t)=>{const o=t==null?void 0:t(e==null?void 0:e.interface);return(o==null?void 0:o.group)==="systemInfo"};function getFieldDefaultValue(e,t){var o;return(o=e==null?void 0:e.default)!=null?o:t==null?void 0:t.defaultValue}const HeightMode={DEFAULT:"defaultHeight",SPECIFY_VALUE:"specifyValue",FULL_HEIGHT:"fullHeight"},SchemaSettingsBlockHeightItem=function(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Set block height"),schema:{type:"object",title:n("Set block height"),properties:{heightMode:{type:"string",enum:[{label:n("Default"),value:HeightMode.DEFAULT},{label:n("Specify height"),value:HeightMode.SPECIFY_VALUE},{label:n("Full height"),value:HeightMode.FULL_HEIGHT}],required:!0,default:((e=r==null?void 0:r["x-component-props"])==null?void 0:e.heightMode)||HeightMode.DEFAULT,"x-decorator":"FormItem","x-component":"Radio.Group"},height:{title:n("Height"),type:"string",default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.height,required:!0,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{addonAfter:"px"},"x-validator":[{minimum:40}],"x-reactions":{dependencies:["heightMode"],fulfill:{state:{hidden:'{{ $deps[0]==="fullHeight"||$deps[0]==="defaultHeight"}}',value:'{{$deps[0]!=="specifyValue"?null:$self.value}}'}}}}}},onSubmit:({heightMode:a,height:l})=>{const c=r["x-component-props"]||{};c.heightMode=a,c.height=l,r["x-component-props"]=c,o.componentProps.heightMode=a,o.componentProps.height=l,i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),i.refresh()}})},getPageHeaderHeight=(e,t,o,r,i)=>i.includes("/popups/")?2*r.paddingContentVertical+22+r.paddingPageVertical:e?r.paddingContentHorizontalLG:o?t?r.controlPaddingHorizontal+3*r.controlPaddingHorizontalSM+22+r.paddingContentHorizontalLG:r.paddingContentHorizontalLG+12:t?r.paddingSM+r.controlHeight+r.marginXS+2*r.controlPaddingHorizontalSM+22+r.paddingContentHorizontalLG:r.controlHeight+r.marginXS+(r.paddingContentVertical+2)*2+r.paddingContentHorizontalLG,usePageFullScreenHeight=e=>{const{token:t}=import_antd.theme.useToken(),{designable:o}=useDesignable(),{heightProps:r}=useBlockHeightProps(),i=(0,import_react_router_dom.useLocation)(),{disablePageHeader:n,enablePageTabs:a,hidePageTitle:l}=e||r||{},c=t.sizeXXL-2,u=o?t.controlHeight+2*t.paddingContentHorizontalLG:1*t.paddingContentHorizontalLG,d=getPageHeaderHeight(n,a,l,t,i.pathname);return c+d+u},useDrawerFullScreenHeight=()=>{const{token:e}=import_antd.theme.useToken(),{designable:t}=useDesignable(),o=e.paddingContentVerticalLG+e.margin+2*e.paddingContentVertical+24,r=t?e.controlHeight+2*e.paddingContentHorizontalLG:1*e.paddingContentHorizontalLG;return o+r},useFullScreenHeight=e=>{const t=(0,import_react.useFieldSchema)(),o=hasActionContainerInParentChain(t),r=usePageFullScreenHeight(e),i=useDrawerFullScreenHeight();return o?i:r},InternalWorkflowCollection=["workflowManualTasks","approvals","approvalRecords"],useTableHeight=()=>{var e;const{token:t}=import_antd.theme.useToken(),{heightProps:o}=useBlockHeightProps(),{heightProps:r}=useTableBlockContext(),{designable:i}=useDesignable(),n=(0,import_react.useFieldSchema)(),a=r||o,{titleHeight:l}=o,c=useFullScreenHeight(a),{name:u}=useCollection(),{heightMode:d,height:m,title:p}=a;if(!(a!=null&&a.heightMode)||d===HeightMode.DEFAULT)return;const h=Object.keys(((e=n.parent.properties.actions)==null?void 0:e.properties)||{}).length>0,g=t.controlHeight+t.padding+t.marginLG,_=h||i?t.controlHeight+2*t.marginLG:t.marginLG,f=(i&&!InternalWorkflowCollection.includes(u)?t.controlHeight:22)+2*t.padding+1,v=p?l:0;return d===HeightMode.FULL_HEIGHT?window.innerHeight-c-v-f-_-g:m-v-_-f-g},useDataBlockHeight=e=>{const{heightProps:t}=useBlockHeightProps(),o=useFullScreenHeight(),{heightMode:r,height:i,title:n,titleHeight:a}=t||{},l=n?a:0;if(!(!(t!=null&&t.heightMode)||r===HeightMode.DEFAULT)){if(r===HeightMode.FULL_HEIGHT){let c=window.innerHeight-o;return e!=null&&e.removeBlockHeaderHeight&&(c=c-l),e!=null&&e.innerExtraHeight&&(c=c-e.innerExtraHeight),c}return i}},useBlockHeight=()=>{const e=(0,import_react.useFieldSchema)(),t=(0,import_react2.useMemo)(()=>getPageSchema(e),[]),{disablePageHeader:o,enablePageTabs:r,hidePageTitle:i}=(t==null?void 0:t["x-component-props"])||{},n=P(x({},e==null?void 0:e["x-component-props"]),{disablePageHeader:o,enablePageTabs:r,hidePageTitle:i}),a=useFullScreenHeight(n),{heightMode:l,height:c}=n||{};if(!(!(n!=null&&n.heightMode)||l===HeightMode.DEFAULT))return l===HeightMode.FULL_HEIGHT?window.innerHeight-a:c},useTableSize=()=>{const[e,t]=(0,import_react2.useState)(),o=(0,import_react2.useRef)(null),r=useTableHeight(),i=(0,import_react2.useCallback)((0,import_lodash.debounce)(()=>{var a;if(!o.current)return;const l=o.current.getBoundingClientRect();(a=o.current.querySelector(".ant-table"))!=null&&a.getBoundingClientRect()&&t(l.width)},100),[r]),n=(0,import_react2.useCallback)(a=>{o.current=a&&a.children?a.children[0]:null,i()},[i]);return(0,import_ahooks.useEventListener)("resize",i),{height:r,width:e,tableSizeRefCallback:n}},hasActionContainerInParentChain=e=>{var t,o;return e?e["x-component"]==="Action.Container"?((o=(t=e==null?void 0:e.parent)==null?void 0:t["x-component-props"])==null?void 0:o.openMode)!=="page":hasActionContainerInParentChain(e.parent):null},useFieldModeOptions=e=>{var t;const{t:o}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:r,getCollection:i}=useCollectionManager_deprecated(),n=(0,import_react.useFieldSchema)(),a=(e==null?void 0:e.fieldSchema)||n,l=(0,import_react.useField)(),c=(0,import_react.useForm)(),u=(a==null?void 0:a["x-read-pretty"])||l.readPretty||c.readPretty,d=e==null?void 0:e.fieldSchema,{getField:m}=useCollection_deprecated(),p=(e==null?void 0:e.collectionField)||m(a.name)||r(a["x-collection-field"]),{label:h}=((t=a["x-component-props"])==null?void 0:t.fieldNames)||{};return((0,import_react2.useMemo)(()=>{if(!p||!(p!=null&&p.interface)||!["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(p.type))return;const g=i(p.target);if((g==null?void 0:g.template)==="file")return u?[{label:o("Title"),value:"Select"},{label:o("File manager"),value:"FileManager"},{label:o("Tag"),value:"Tag"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},{label:o("File manager"),value:"FileManager"}];if((g==null?void 0:g.template)==="tree"&&["m2m","o2m","m2o"].includes(p.interface))return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!d&&{label:o("Sub-details"),value:"Nester"},!d&&{label:o("Sub-table"),value:"SubTable"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!d&&["m2m","o2m"].includes(p.interface)&&{label:o("Sub-table"),value:"SubTable"},!d&&{label:o("Cascade Select"),value:"CascadeSelect"},!d&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];switch(p.interface){case"o2m":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!d&&{label:o("Sub-table"),value:"SubTable"},!d&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!d&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"},!d&&{label:o("Sub-table"),value:"SubTable"}];case"m2m":case"mbm":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!d&&{label:o("Sub-details"),value:"Nester"},!d&&{label:o("Sub-table"),value:"SubTable"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!d&&{label:o("Sub-table"),value:"SubTable"},!d&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];case"m2o":case"linkTo":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!d&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!d&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];default:return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!d&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!d&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}]}},[o,p==null?void 0:p.interface,h])||[]).filter(Boolean)},jsonCss=import_css.css`
|
|
402
|
+
`,findParentFieldSchema=e=>{let t=e.parent;for(;t;){if(t["x-component"]==="CollectionField")return t;t=t.parent}},schemaSettingsLabelLayout={name:"formLabelLayout",type:"select",useComponentProps(){var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return{title:r("Layout"),value:((e=t.componentProps)==null?void 0:e.layout)||"vertical",options:[{label:r("Vertical"),value:"vertical"},{label:r("Horizontal"),value:"horizontal"}],onChange:n=>{t.componentProps=t.componentProps||{},t.componentProps.layout=n,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].layout=n,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}}},isSystemField=(e,t)=>{const o=t==null?void 0:t(e==null?void 0:e.interface);return(o==null?void 0:o.group)==="systemInfo"};function getFieldDefaultValue(e,t){var o;return(o=e==null?void 0:e.default)!=null?o:t==null?void 0:t.defaultValue}const HeightMode={DEFAULT:"defaultHeight",SPECIFY_VALUE:"specifyValue",FULL_HEIGHT:"fullHeight"},SchemaSettingsBlockHeightItem=function(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Set block height"),schema:{type:"object",title:n("Set block height"),properties:{heightMode:{type:"string",enum:[{label:n("Default"),value:HeightMode.DEFAULT},{label:n("Specify height"),value:HeightMode.SPECIFY_VALUE},{label:n("Full height"),value:HeightMode.FULL_HEIGHT}],required:!0,default:((e=r==null?void 0:r["x-component-props"])==null?void 0:e.heightMode)||HeightMode.DEFAULT,"x-decorator":"FormItem","x-component":"Radio.Group"},height:{title:n("Height"),type:"string",default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.height,required:!0,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{addonAfter:"px"},"x-validator":[{minimum:40}],"x-reactions":{dependencies:["heightMode"],fulfill:{state:{hidden:'{{ $deps[0]==="fullHeight"||$deps[0]==="defaultHeight"}}',value:'{{$deps[0]!=="specifyValue"?null:$self.value}}'}}}}}},onSubmit:({heightMode:a,height:l})=>{const c=r["x-component-props"]||{};c.heightMode=a,c.height=l,r["x-component-props"]=c,o.componentProps.heightMode=a,o.componentProps.height=l,i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),i.refresh()}})},getPageHeaderHeight=(e,t,o,r,i)=>i.includes("/popups/")?2*r.paddingContentVertical+22+r.paddingPageVertical:e?r.paddingContentHorizontalLG:o?t?r.controlPaddingHorizontal+3*r.controlPaddingHorizontalSM+22+r.paddingContentHorizontalLG:r.paddingContentHorizontalLG+12:t?r.paddingSM+r.controlHeight+r.marginXS+2*r.controlPaddingHorizontalSM+22+r.paddingContentHorizontalLG:r.controlHeight+r.marginXS+(r.paddingContentVertical+2)*2+r.paddingContentHorizontalLG,usePageFullScreenHeight=e=>{const{token:t}=import_antd.theme.useToken(),{designable:o}=useDesignable(),{heightProps:r}=useBlockHeightProps(),i=(0,import_react_router_dom.useLocation)(),{disablePageHeader:n,enablePageTabs:a,hidePageTitle:l}=e||r||{},c=t.sizeXXL-2,u=o?t.controlHeight+2*t.paddingContentHorizontalLG:1*t.paddingContentHorizontalLG,d=getPageHeaderHeight(n,a,l,t,i.pathname);return c+d+u},useDrawerFullScreenHeight=()=>{const{token:e}=import_antd.theme.useToken(),{designable:t}=useDesignable(),o=e.paddingContentVerticalLG+e.margin+2*e.paddingContentVertical+24,r=t?e.controlHeight+2*e.paddingContentHorizontalLG:1*e.paddingContentHorizontalLG;return o+r},useFullScreenHeight=e=>{const t=(0,import_react.useFieldSchema)(),o=hasActionContainerInParentChain(t),r=usePageFullScreenHeight(e),i=useDrawerFullScreenHeight();return o?i:r},InternalWorkflowCollection=["workflowManualTasks","approvals","approvalRecords"],useTableHeight=()=>{var e;const{token:t}=import_antd.theme.useToken(),{heightProps:o}=useBlockHeightProps(),{heightProps:r}=useTableBlockContext(),{designable:i}=useDesignable(),n=(0,import_react.useFieldSchema)(),a=r||o,{titleHeight:l}=o,c=useFullScreenHeight(a),{name:u}=useCollection(),{heightMode:d,height:m,title:p}=a;if(!(a!=null&&a.heightMode)||d===HeightMode.DEFAULT)return;const h=Object.keys(((e=n.parent.properties.actions)==null?void 0:e.properties)||{}).length>0,g=t.controlHeight+t.padding+t.marginLG,_=h||i?t.controlHeight+2*t.marginLG:t.marginLG,f=(i&&!InternalWorkflowCollection.includes(u)?t.controlHeight:22)+2*t.padding+1,v=p?l:0;return d===HeightMode.FULL_HEIGHT?window.innerHeight-c-v-f-_-g:m-v-_-f-g},useDataBlockHeight=e=>{const{heightProps:t}=useBlockHeightProps(),o=useFullScreenHeight(),{heightMode:r,height:i,title:n,titleHeight:a}=t||{},l=n?a:0;if(!(!(t!=null&&t.heightMode)||r===HeightMode.DEFAULT)){if(r===HeightMode.FULL_HEIGHT){let c=window.innerHeight-o;return e!=null&&e.removeBlockHeaderHeight&&(c=c-l),e!=null&&e.innerExtraHeight&&(c=c-e.innerExtraHeight),c}return i}},useBlockHeight=()=>{const e=(0,import_react.useFieldSchema)(),t=(0,import_react2.useMemo)(()=>getPageSchema(e),[]),{disablePageHeader:o,enablePageTabs:r,hidePageTitle:i}=(t==null?void 0:t["x-component-props"])||{},n=P(x({},e==null?void 0:e["x-component-props"]),{disablePageHeader:o,enablePageTabs:r,hidePageTitle:i}),a=useFullScreenHeight(n),{heightMode:l,height:c}=n||{};if(!(!(n!=null&&n.heightMode)||l===HeightMode.DEFAULT))return l===HeightMode.FULL_HEIGHT?window.innerHeight-a:c},useTableSize=()=>{const[e,t]=(0,import_react2.useState)(),o=(0,import_react2.useRef)(null),r=useTableHeight(),i=(0,import_react2.useCallback)((0,import_lodash.debounce)(()=>{var a;if(!o.current)return;const l=o.current.getBoundingClientRect();(a=o.current.querySelector(".ant-table"))!=null&&a.getBoundingClientRect()&&t(l.width)},100),[r]),n=(0,import_react2.useCallback)(a=>{o.current=a&&a.children?a.children[0]:null,i()},[i]);return(0,import_ahooks.useEventListener)("resize",i),{height:r,width:e,tableSizeRefCallback:n}},hasActionContainerInParentChain=e=>{var t,o;return e?e["x-component"]==="Action.Container"?((o=(t=e==null?void 0:e.parent)==null?void 0:t["x-component-props"])==null?void 0:o.openMode)!=="page":hasActionContainerInParentChain(e.parent):null},useFieldModeOptions=e=>{var t;const{t:o}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:r,getCollection:i}=useCollectionManager_deprecated(),n=(0,import_react.useFieldSchema)(),a=(e==null?void 0:e.fieldSchema)||n,l=(0,import_react.useField)(),c=(0,import_react.useForm)(),u=(a==null?void 0:a["x-read-pretty"])||l.readPretty||c.readPretty,d=e==null?void 0:e.fieldSchema,{getField:m}=useCollection_deprecated(),p=(e==null?void 0:e.collectionField)||m(a.name)||r(a["x-collection-field"]),{label:h}=((t=a["x-component-props"])==null?void 0:t.fieldNames)||{};return((0,import_react2.useMemo)(()=>{if(!p||!(p!=null&&p.interface)||!["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(p.type))return;const g=i(p.target);if((g==null?void 0:g.template)==="file")return u?[{label:o("Title"),value:"Select"},{label:o("File manager"),value:"FileManager"},{label:o("Tag"),value:"Tag"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},{label:o("File manager"),value:"FileManager"}];if((g==null?void 0:g.template)==="tree"&&["m2m","o2m","m2o"].includes(p.interface))return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!d&&{label:o("Sub-details"),value:"Nester"},!d&&{label:o("Sub-table"),value:"SubTable"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!d&&["m2m","o2m"].includes(p.interface)&&{label:o("Sub-table"),value:"SubTable"},!d&&{label:o("Cascade Select"),value:"CascadeSelect"},!d&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];switch(p.interface){case"o2m":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!d&&{label:o("Sub-table"),value:"SubTable"},!d&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!d&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"},!d&&{label:o("Sub-table"),value:"SubTable"}];case"m2m":case"mbm":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!d&&{label:o("Sub-details"),value:"Nester"},!d&&{label:o("Sub-table"),value:"SubTable"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!d&&{label:o("Sub-table"),value:"SubTable"},!d&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];case"m2o":case"linkTo":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!d&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!d&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];default:return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!d&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!d&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}]}},[o,p==null?void 0:p.interface,h,u,d])||[]).filter(Boolean)},jsonCss=import_css.css`
|
|
403
403
|
font-size: 80%;
|
|
404
404
|
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
|
405
405
|
`,Json=import_react2.default.forwardRef((e,t)=>{var o=e,{value:r,onChange:i,space:n=2,json5:a=!1}=o,l=W(o,["value","onChange","space","json5"]);const c=a?import_json5.default:JSON,u=(0,import_react.useField)(),[d,m]=(0,import_react2.useState)("");return(0,import_react2.useEffect)(()=>{try{if(r!=null)if(typeof r=="string")try{c.parse(r),m(r)}catch{m(c.stringify(r,null,n))}else m(c.stringify(r,null,n));else m(void 0)}catch{}},[n,r]),(0,import_jsx_runtime.jsx)(import_antd.Input.TextArea,P(x({},l),{className:(0,import_css.cx)(jsonCss,l.className),ref:t,value:d,onChange:p=>{m(p.target.value);try{const h=p.target.value.trim()!==""?c.parse(p.target.value):null;p.target.value.trim()!==""&&c.parse(p.target.value),u.setFeedback({})}catch(h){u.setFeedback({type:"error",code:"JSONSyntaxError",messages:[h.message]})}},onBlur:p=>{try{const h=p.target.value.trim()!==""?c.parse(p.target.value):null;u.setFeedback({}),i==null||i(h)}catch(h){u.setFeedback({type:"error",code:"JSONSyntaxError",messages:[h.message]})}}}))});Json.displayName="Json";const getContentWidth=e=>{if(e){const t=document.createRange();return t.selectNodeContents(e),t.getBoundingClientRect().width}},isOverflowTooltip=e=>{if(!e)return!1;const t=getContentWidth(e),o=e.offsetWidth;return t>o},popoverStyle$1={width:300,overflow:"auto",maxHeight:400},EllipsisWithTooltip=(0,import_react2.forwardRef)((e,t)=>{var o,r,i;const n={overflow:"hidden",overflowWrap:"break-word",textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"break-all"},[a,l]=(0,import_react2.useState)(!1),[c,u]=(0,import_react2.useState)(!1),d=(0,import_react2.useRef)();(0,import_react2.useImperativeHandle)(t,()=>({setPopoverVisible:u}),[]);const m=(0,import_react.useFieldSchema)();((o=m==null?void 0:m.parent)==null?void 0:o["x-component"])==="TableV2.Column"&&(i=(r=m==null?void 0:m.parent)==null?void 0:r["x-component-props"])!=null&&i.width&&(n.width=m.parent["x-component-props"].width);const p=(0,import_react2.useCallback)(g=>{const _=g.target;isOverflowTooltip(d.current)&&l(_.scrollWidth>=_.clientWidth)},[]),h=(0,import_react2.useMemo)(()=>e.ellipsis?(0,import_jsx_runtime.jsx)("div",{ref:d,role:e.role,style:n,onMouseEnter:p,children:e.children}):e.children,[p,e.children,e.ellipsis,e.role,n.width]);return!e.ellipsis||!a?h:(0,import_jsx_runtime.jsx)(import_antd.Popover,{open:a&&c,onOpenChange:g=>{u(a&&g)},content:(0,import_jsx_runtime.jsx)("div",{style:x(x({},popoverStyle$1),(e==null?void 0:e.style)||{}),children:e.popoverContent||e.children}),children:h})});EllipsisWithTooltip.displayName="EllipsisWithTooltip";function HTMLEncode(e){let t=document.createElement("div");t.textContent!=null?t.textContent=e:t.innerText=e;const o=t.innerHTML;return t=null,o}const ReadPretty$c=()=>null;ReadPretty$c.Input=e=>{const t=(0,import_builtins.usePrefixCls)("description-input",e),o=useCompile(),r=(0,import_react2.useMemo)(()=>Array.isArray(e.value)?e.value.join(","):e.value&&typeof e.value=="object"?JSON.stringify(e.value):o(e.value),[e.value]),i=e.ellipsis?{display:"flex",alignItems:"center"}:{};return(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(t,e.className),style:x(P(x({},i),{overflowWrap:"break-word",whiteSpace:"normal"}),e.style),children:[o(e.addonBefore),o(e.prefix),e.ellipsis?(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:e.ellipsis,children:r}):r,o(e.suffix),o(e.addonAfter)]})};const toHTML=import_lodash.default.memoize(e=>({__html:HTMLEncode(e).split(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/client",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.46",
|
|
4
4
|
"license": "AGPL-3.0",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.mjs",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"@formily/reactive-react": "^2.2.27",
|
|
27
27
|
"@formily/shared": "^2.2.27",
|
|
28
28
|
"@formily/validator": "^2.2.27",
|
|
29
|
-
"@nocobase/evaluators": "1.9.
|
|
30
|
-
"@nocobase/sdk": "1.9.
|
|
31
|
-
"@nocobase/utils": "1.9.
|
|
29
|
+
"@nocobase/evaluators": "1.9.46",
|
|
30
|
+
"@nocobase/sdk": "1.9.46",
|
|
31
|
+
"@nocobase/utils": "1.9.46",
|
|
32
32
|
"ahooks": "^3.7.2",
|
|
33
33
|
"antd": "5.24.2",
|
|
34
34
|
"antd-mobile": "^5.41.1",
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
"dumi": "2.2.14",
|
|
86
86
|
"dumi-theme-nocobase": "^0.2.28"
|
|
87
87
|
},
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "cb489d4453cab423a79a7540e7ce7eace5ba54d7"
|
|
89
89
|
}
|