@nocobase/client 1.9.2 → 1.9.4
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 +19 -19
- package/lib/index.js +4 -4
- package/package.json +5 -5
package/es/index.mjs
CHANGED
|
@@ -8850,7 +8850,7 @@ function addAppVersion(e, t) {
|
|
|
8850
8850
|
addAppVersion((o = e.properties) == null ? void 0 : o[n], t);
|
|
8851
8851
|
}), e;
|
|
8852
8852
|
}
|
|
8853
|
-
const name = "@nocobase/client", version = "1.9.
|
|
8853
|
+
const name = "@nocobase/client", version = "1.9.4", license = "AGPL-3.0", main = "lib/index.js", module = "es/index.mjs", types = "es/index.d.ts", dependencies = {
|
|
8854
8854
|
"@ahooksjs/use-url-state": "3.5.1",
|
|
8855
8855
|
"@ant-design/cssinjs": "^1.11.1",
|
|
8856
8856
|
"@ant-design/icons": "^5.6.1",
|
|
@@ -8871,9 +8871,9 @@ const name = "@nocobase/client", version = "1.9.2", license = "AGPL-3.0", main =
|
|
|
8871
8871
|
"@formily/reactive-react": "^2.2.27",
|
|
8872
8872
|
"@formily/shared": "^2.2.27",
|
|
8873
8873
|
"@formily/validator": "^2.2.27",
|
|
8874
|
-
"@nocobase/evaluators": "1.9.
|
|
8875
|
-
"@nocobase/sdk": "1.9.
|
|
8876
|
-
"@nocobase/utils": "1.9.
|
|
8874
|
+
"@nocobase/evaluators": "1.9.4",
|
|
8875
|
+
"@nocobase/sdk": "1.9.4",
|
|
8876
|
+
"@nocobase/utils": "1.9.4",
|
|
8877
8877
|
ahooks: "^3.7.2",
|
|
8878
8878
|
antd: "5.24.2",
|
|
8879
8879
|
"antd-style": "3.7.1",
|
|
@@ -30097,21 +30097,21 @@ const useCreateActionProps = () => {
|
|
|
30097
30097
|
onReset: h
|
|
30098
30098
|
};
|
|
30099
30099
|
}, useDetailsPaginationProps = () => {
|
|
30100
|
-
var
|
|
30101
|
-
const e = useDetailsBlockContext(), t = ((
|
|
30100
|
+
var r, a, i, l, c, u, d, p, m, h, g, f, C, b, S, y, v;
|
|
30101
|
+
const e = useDetailsBlockContext(), t = ((i = (a = (r = e.service) == null ? void 0 : r.data) == null ? void 0 : a.meta) == null ? void 0 : i.count) || 0, n = (u = (c = (l = e.service) == null ? void 0 : l.data) == null ? void 0 : c.meta) == null ? void 0 : u.page, { hasNext: o } = ((p = (d = e.service) == null ? void 0 : d.data) == null ? void 0 : p.meta) || {};
|
|
30102
30102
|
if (!t && n) {
|
|
30103
|
-
let
|
|
30103
|
+
let F;
|
|
30104
30104
|
return {
|
|
30105
30105
|
simple: !0,
|
|
30106
|
-
current: ((
|
|
30106
|
+
current: ((g = (h = (m = e.service) == null ? void 0 : m.data) == null ? void 0 : h.meta) == null ? void 0 : g.page) || 1,
|
|
30107
30107
|
pageSize: 1,
|
|
30108
30108
|
showSizeChanger: !1,
|
|
30109
30109
|
align: "center",
|
|
30110
|
-
onChange(
|
|
30110
|
+
onChange(R) {
|
|
30111
30111
|
return q(this, null, function* () {
|
|
30112
|
-
var
|
|
30113
|
-
const
|
|
30114
|
-
e.service.run(P(x({},
|
|
30112
|
+
var D, B;
|
|
30113
|
+
const T = (B = (D = e.service) == null ? void 0 : D.params) == null ? void 0 : B[0];
|
|
30114
|
+
e.service.run(P(x({}, T), { page: R }));
|
|
30115
30115
|
});
|
|
30116
30116
|
},
|
|
30117
30117
|
style: {
|
|
@@ -30120,7 +30120,7 @@ const useCreateActionProps = () => {
|
|
|
30120
30120
|
},
|
|
30121
30121
|
showTotal: !1,
|
|
30122
30122
|
showTitle: !1,
|
|
30123
|
-
total: (
|
|
30123
|
+
total: ((b = (C = (f = e.service) == null ? void 0 : f.data) == null ? void 0 : C.data) == null ? void 0 : b.length) < 1 || !o ? 1 * n : 1 * n + 1,
|
|
30124
30124
|
className: css`
|
|
30125
30125
|
.ant-pagination-simple-pager {
|
|
30126
30126
|
display: none !important;
|
|
@@ -30131,16 +30131,16 @@ const useCreateActionProps = () => {
|
|
|
30131
30131
|
return {
|
|
30132
30132
|
simple: !0,
|
|
30133
30133
|
hidden: t <= 1,
|
|
30134
|
-
current: ((
|
|
30134
|
+
current: ((v = (y = (S = e.service) == null ? void 0 : S.data) == null ? void 0 : y.meta) == null ? void 0 : v.page) || 1,
|
|
30135
30135
|
total: t,
|
|
30136
30136
|
pageSize: 1,
|
|
30137
30137
|
showSizeChanger: !1,
|
|
30138
30138
|
align: "center",
|
|
30139
|
-
onChange(
|
|
30139
|
+
onChange(F) {
|
|
30140
30140
|
return q(this, null, function* () {
|
|
30141
|
-
var
|
|
30142
|
-
const
|
|
30143
|
-
e.service.run(P(x({},
|
|
30141
|
+
var T, D;
|
|
30142
|
+
const R = (D = (T = e.service) == null ? void 0 : T.params) == null ? void 0 : D[0];
|
|
30143
|
+
e.service.run(P(x({}, R), { page: F }));
|
|
30144
30144
|
});
|
|
30145
30145
|
},
|
|
30146
30146
|
style: {
|
|
@@ -31909,7 +31909,7 @@ const useParseDefaultValue = () => {
|
|
|
31909
31909
|
const j = transformVariableValue(B, {
|
|
31910
31910
|
targetCollectionField: D
|
|
31911
31911
|
});
|
|
31912
|
-
j == null || j === "" ? e.mounted && (e.setInitialValue(void 0), e.setValue(void 0)) : p() ? h === 0 && m(j) :
|
|
31912
|
+
j == null || j === "" ? e.mounted && (e.setInitialValue(void 0), e.setValue(void 0)) : p() ? h === 0 && m(j) : c ? e.setValue(j) : e.setInitialValue(j), e.loading = !1;
|
|
31913
31913
|
} else
|
|
31914
31914
|
!/\{\{.+\}\}/g.test(t.default) && e.setInitialValue && e.setInitialValue(t.default);
|
|
31915
31915
|
}), v = _.debounce(y, DEBOUNCE_WAIT);
|
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=Y(o,["children","items","title","name","onOpenChange","icon"]),m=useCompile(),d=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(d==null?void 0:d.name)||(0,import_shared.uid)(),[a,d]),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:m(n),icon:typeof c=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:c}):c,children:g})],[g,m,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,m)=>{const d=this.items.findIndex(p=>p.name===u);d===-1?this.items.push(m):this.items[d]=m};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}.`,""),m=c.children.findIndex(d=>d.name===u);m===-1?c.children.push(n):c.children[m]=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.2",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.2","@nocobase/sdk":"1.9.2","@nocobase/utils":"1.9.2",ahooks:"^3.7.2",antd:"5.24.2","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:"^10.6.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:m,removed:d}){var p;let h=[];if((m==null?void 0:m["x-component"])==="Grid.Col"&&(h=h.concat(r(m.parent))),(d==null?void 0:d["x-component"])==="Grid.Col"&&(h=h.concat(r(d.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})),d!=null&&d["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${d["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,m=0;this.current.parent.mapProperties((_,f)=>{f===this.current.name&&(m=u,c=!0,++u),_["x-index"]=u,++u,c&&(l[f]=_,this.current.parent.removeProperty(f))}),this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p["x-index"]=m,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:d,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),m=this.current.addProperty(u.name||(0,import_shared.uid)(),u);m["x-index"]=0,m.parent=this.current,this.current.setProperties(l);const[d,p]=splitWrapSchema(m,t);this.emit("insertAdjacent",x({position:"afterBegin",schema:p,wrap:d,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,m]=splitWrapSchema(c,t);return this.emit("insertAdjacent",x({position:"beforeEnd",schema:m,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 m={};if(this.current.parent.mapProperties((_,f)=>{_["x-index"]=l,f===this.current.name&&(++l,c=l,u=!0),++l,u&&f!==this.current.name&&(m[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 d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p.parent=this.current.parent,p["x-index"]=c,this.current.parent.setProperties(m);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:g,wrap:h,wrapped:d},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(),m=(0,import_react2.useCallback)(v=>{o==null||o(),l(),c==null||c(v),u==null||u()},[o,l,c,u]),d=(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:m,current:p,model:d,appVersion:clientPkg.version}),[g,h,m,p,d]);(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]);const{isMobileLayout:f}=useMobileLayout();return{dn:_,designable:f?!1:e,reset:r,refresh:m,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(v=>{var C;if(!v)return null;if(typeof v!="string")return v;const S=(0,import_get.default)(n,v);return(C=S==null?void 0:S[LAZY_COMPONENT_KEY])!=null?C:S},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((v,C)=>{const S=b=>{Object.keys(b).forEach(y=>{const F=b[y];y==="title"&&(d.title=F,p.title=F),y==="x-decorator-props"&&(d.decoratorProps||(d.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(F).forEach(j=>{d.decoratorProps[j]=F[j],p["x-decorator-props"][j]=F[j]})),y==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(F).forEach(j=>{d.componentProps[j]=F[j],p["x-component-props"][j]=F[j]}))})};if(typeof v=="string"){const b={};return(0,import_set.default)(b,v,C),S(b)}S(v),m()},[_]),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,S)=>{_.insertAdjacent(v,C,S)},[_]),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=Y(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 m=yield o(e);l(!1),n(m),t==null||t(m)});c();const u=import_lodash.default.debounce(c,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:m}){return m.startsWith("$")&&m!=="$and"&&m!=="$or"},transformValue(m){if(!isVariable$1(m))return m;const d=getVariableName(m),p=r(d);let h=null;const g=getPath(m).split(".");return g.forEach((_,f)=>{const v=g.slice(0,f+1).join("."),C=(0,import_client.getValuesByPath)({[d]:(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}}),m=r??l,d=o??(m[LinkageRuleDataKeyMap[t]]||(m==null?void 0:m.parent[LinkageRuleDataKeyMap[t]])),p=useApp(),h=(0,import_react2.useCallback)(()=>{d&&e&&getSatisfiedValueMap({rules:d,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,d,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(m=>m.uid===u.uid))),l=Object.keys(o||{});(0,import_react2.useEffect)(()=>{a(o&&o.some(u=>i.some(m=>m.uid===u.uid)))},[l.length,o,i]);const c=(0,import_react2.useCallback)((u,m="id",d="$eq")=>{const p=i.find(h=>h.uid===e.parent["x-uid"]);i.forEach(h=>{var g,_,f,v;let C=m;const S=o.find(j=>j.uid===h.uid);if(!S)return;import_lodash.default.isFunction(u)&&(u=u(S,h,getSourceKey$1(p,S.field))),import_lodash.default.isFunction(m)&&(C=m(S,h)),import_lodash.default.isFunction(d)&&(d=d(S));const b=((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]:{[d]: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({},b),{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,m;const{action:d="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:S}=useCollectionRecord()||{},b=((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)||((m=p==null?void 0:p.params)==null?void 0:m.filter),{filter:y}=useParsedFilter({filterOption:b,onFilterChange:()=>{S&&_.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:d},p),{params:P(x({},p==null?void 0:p.params),{filter:A})}),[F==null?void 0:F.target,d,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}},useColumnSettings=e=>{const{t}=(0,import_react_i18next.useTranslation)(),o=`nocobase_table_column_settings_${e}`,r=(0,import_react2.useCallback)(()=>{try{const a=localStorage.getItem(o);return a?JSON.parse(a):null}catch(a){return console.warn("Failed to parse table column settings from localStorage:",a),null}},[o]),i=(0,import_react2.useCallback)(a=>{try{const l=JSON.stringify(a);localStorage.setItem(o,l);const c=new CustomEvent("nocobase-table-settings-changed",{detail:{key:o,tableId:e,settings:a}});window.dispatchEvent(c)}catch(l){console.warn("Failed to save table column settings to localStorage:",l),import_antd.message.error(t("Failed to save table settings"))}},[o,e,t]),n=(0,import_react2.useCallback)(()=>{try{localStorage.removeItem(o);const a=new CustomEvent("nocobase-table-settings-changed",{detail:{key:o,tableId:e,settings:null}});window.dispatchEvent(a)}catch(a){console.warn("Failed to clear table column settings from localStorage:",a),import_antd.message.error(t("Failed to clear table settings"))}},[o,e,t]);return{getSettings:r,saveSettings:i,clearSettings:n}},useTableColumnIntegration=(e,t=!0)=>{const o=(0,import_react.useFieldSchema)(),r=(o==null?void 0:o["x-uid"])||"default",{getSettings:i}=useColumnSettings(r),[n,a]=(0,import_react2.useState)(0);(0,import_react2.useEffect)(()=>{const c=u=>{const{key:m,tableId:d}=u.detail;(m.includes(r)||d===r)&&a(p=>p+1)};return window.addEventListener("nocobase-table-settings-changed",c),()=>{window.removeEventListener("nocobase-table-settings-changed",c)}},[r]);const l=(0,import_react2.useMemo)(()=>i(),[i,n]);return{columns:(0,import_react2.useMemo)(()=>{if(!t||!l||l.length===0)return e;const c=new Map;l.forEach(h=>{c.set(h.key,h)});const u=e.map(h=>{const g=c.get(h.key);if(g){const _=h.columnHidden||!g.visible,f=g.width||h.width,v=g.fixed||h.fixed;return P(x({},h),{columnHidden:_,fixed:v,width:f,_orderIndex:g.order})}return h}),m=[],d=[];u.forEach(h=>{h._orderIndex!==void 0?m.push(h):d.push(h)}),m.sort((h,g)=>(h._orderIndex||0)-(g._orderIndex||0));const p=[...m,...d];return p.forEach(h=>{delete h._orderIndex}),p},[e,l])}},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=Y(o,["children","items","title","name","onOpenChange","icon"]),m=useCompile(),d=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(d==null?void 0:d.name)||(0,import_shared.uid)(),[a,d]),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:m(n),icon:typeof c=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:c}):c,children:g})],[g,m,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,m)=>{const d=this.items.findIndex(p=>p.name===u);d===-1?this.items.push(m):this.items[d]=m};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}.`,""),m=c.children.findIndex(d=>d.name===u);m===-1?c.children.push(n):c.children[m]=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.4",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.4","@nocobase/sdk":"1.9.4","@nocobase/utils":"1.9.4",ahooks:"^3.7.2",antd:"5.24.2","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:"^10.6.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:m,removed:d}){var p;let h=[];if((m==null?void 0:m["x-component"])==="Grid.Col"&&(h=h.concat(r(m.parent))),(d==null?void 0:d["x-component"])==="Grid.Col"&&(h=h.concat(r(d.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})),d!=null&&d["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${d["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,m=0;this.current.parent.mapProperties((_,f)=>{f===this.current.name&&(m=u,c=!0,++u),_["x-index"]=u,++u,c&&(l[f]=_,this.current.parent.removeProperty(f))}),this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p["x-index"]=m,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:d,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),m=this.current.addProperty(u.name||(0,import_shared.uid)(),u);m["x-index"]=0,m.parent=this.current,this.current.setProperties(l);const[d,p]=splitWrapSchema(m,t);this.emit("insertAdjacent",x({position:"afterBegin",schema:p,wrap:d,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,m]=splitWrapSchema(c,t);return this.emit("insertAdjacent",x({position:"beforeEnd",schema:m,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 m={};if(this.current.parent.mapProperties((_,f)=>{_["x-index"]=l,f===this.current.name&&(++l,c=l,u=!0),++l,u&&f!==this.current.name&&(m[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 d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p.parent=this.current.parent,p["x-index"]=c,this.current.parent.setProperties(m);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:g,wrap:h,wrapped:d},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(),m=(0,import_react2.useCallback)(v=>{o==null||o(),l(),c==null||c(v),u==null||u()},[o,l,c,u]),d=(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:m,current:p,model:d,appVersion:clientPkg.version}),[g,h,m,p,d]);(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]);const{isMobileLayout:f}=useMobileLayout();return{dn:_,designable:f?!1:e,reset:r,refresh:m,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(v=>{var C;if(!v)return null;if(typeof v!="string")return v;const S=(0,import_get.default)(n,v);return(C=S==null?void 0:S[LAZY_COMPONENT_KEY])!=null?C:S},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((v,C)=>{const S=b=>{Object.keys(b).forEach(y=>{const F=b[y];y==="title"&&(d.title=F,p.title=F),y==="x-decorator-props"&&(d.decoratorProps||(d.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(F).forEach(j=>{d.decoratorProps[j]=F[j],p["x-decorator-props"][j]=F[j]})),y==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(F).forEach(j=>{d.componentProps[j]=F[j],p["x-component-props"][j]=F[j]}))})};if(typeof v=="string"){const b={};return(0,import_set.default)(b,v,C),S(b)}S(v),m()},[_]),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,S)=>{_.insertAdjacent(v,C,S)},[_]),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=Y(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 m=yield o(e);l(!1),n(m),t==null||t(m)});c();const u=import_lodash.default.debounce(c,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:m}){return m.startsWith("$")&&m!=="$and"&&m!=="$or"},transformValue(m){if(!isVariable$1(m))return m;const d=getVariableName(m),p=r(d);let h=null;const g=getPath(m).split(".");return g.forEach((_,f)=>{const v=g.slice(0,f+1).join("."),C=(0,import_client.getValuesByPath)({[d]:(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}}),m=r??l,d=o??(m[LinkageRuleDataKeyMap[t]]||(m==null?void 0:m.parent[LinkageRuleDataKeyMap[t]])),p=useApp(),h=(0,import_react2.useCallback)(()=>{d&&e&&getSatisfiedValueMap({rules:d,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,d,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(m=>m.uid===u.uid))),l=Object.keys(o||{});(0,import_react2.useEffect)(()=>{a(o&&o.some(u=>i.some(m=>m.uid===u.uid)))},[l.length,o,i]);const c=(0,import_react2.useCallback)((u,m="id",d="$eq")=>{const p=i.find(h=>h.uid===e.parent["x-uid"]);i.forEach(h=>{var g,_,f,v;let C=m;const S=o.find(j=>j.uid===h.uid);if(!S)return;import_lodash.default.isFunction(u)&&(u=u(S,h,getSourceKey$1(p,S.field))),import_lodash.default.isFunction(m)&&(C=m(S,h)),import_lodash.default.isFunction(d)&&(d=d(S));const b=((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]:{[d]: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({},b),{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,m;const{action:d="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:S}=useCollectionRecord()||{},b=((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)||((m=p==null?void 0:p.params)==null?void 0:m.filter),{filter:y}=useParsedFilter({filterOption:b,onFilterChange:()=>{S&&_.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:d},p),{params:P(x({},p==null?void 0:p.params),{filter:A})}),[F==null?void 0:F.target,d,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}},useColumnSettings=e=>{const{t}=(0,import_react_i18next.useTranslation)(),o=`nocobase_table_column_settings_${e}`,r=(0,import_react2.useCallback)(()=>{try{const a=localStorage.getItem(o);return a?JSON.parse(a):null}catch(a){return console.warn("Failed to parse table column settings from localStorage:",a),null}},[o]),i=(0,import_react2.useCallback)(a=>{try{const l=JSON.stringify(a);localStorage.setItem(o,l);const c=new CustomEvent("nocobase-table-settings-changed",{detail:{key:o,tableId:e,settings:a}});window.dispatchEvent(c)}catch(l){console.warn("Failed to save table column settings to localStorage:",l),import_antd.message.error(t("Failed to save table settings"))}},[o,e,t]),n=(0,import_react2.useCallback)(()=>{try{localStorage.removeItem(o);const a=new CustomEvent("nocobase-table-settings-changed",{detail:{key:o,tableId:e,settings:null}});window.dispatchEvent(a)}catch(a){console.warn("Failed to clear table column settings from localStorage:",a),import_antd.message.error(t("Failed to clear table settings"))}},[o,e,t]);return{getSettings:r,saveSettings:i,clearSettings:n}},useTableColumnIntegration=(e,t=!0)=>{const o=(0,import_react.useFieldSchema)(),r=(o==null?void 0:o["x-uid"])||"default",{getSettings:i}=useColumnSettings(r),[n,a]=(0,import_react2.useState)(0);(0,import_react2.useEffect)(()=>{const c=u=>{const{key:m,tableId:d}=u.detail;(m.includes(r)||d===r)&&a(p=>p+1)};return window.addEventListener("nocobase-table-settings-changed",c),()=>{window.removeEventListener("nocobase-table-settings-changed",c)}},[r]);const l=(0,import_react2.useMemo)(()=>i(),[i,n]);return{columns:(0,import_react2.useMemo)(()=>{if(!t||!l||l.length===0)return e;const c=new Map;l.forEach(h=>{c.set(h.key,h)});const u=e.map(h=>{const g=c.get(h.key);if(g){const _=h.columnHidden||!g.visible,f=g.width||h.width,v=g.fixed||h.fixed;return P(x({},h),{columnHidden:_,fixed:v,width:f,_orderIndex:g.order})}return h}),m=[],d=[];u.forEach(h=>{h._orderIndex!==void 0?m.push(h):d.push(h)}),m.sort((h,g)=>(h._orderIndex||0)-(g._orderIndex||0));const p=[...m,...d];return p.forEach(h=>{delete h._orderIndex}),p},[e,l])}},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};
|
|
@@ -628,11 +628,11 @@ ${JSON.stringify(L,null,2)}`)},[u,c,l,i,r,j,t,a,n,g,o,_,S,A,b,y,h]),N=(0,import_
|
|
|
628
628
|
}
|
|
629
629
|
}
|
|
630
630
|
`),footer:S?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:h.address,schema:p,onlyRenderProperties:!0,filterProperties:F=>F["x-component"]===o}):!1,children:y?(0,import_jsx_runtime.jsx)(ActionModalContent,{footerNodeName:o,field:h,schema:p}):(0,import_jsx_runtime.jsx)(import_antd.Skeleton,{active:!0,paragraph:{rows:6}})}))}))})})},{displayName:"ActionModal"}),ActionModal=e=>(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ModalErrorFallback,onError:console.log,children:(0,import_jsx_runtime.jsx)(InternalActionModal,x({},e))});ActionModal.Footer=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:e.address,schema:t,onlyRenderProperties:!0})},{displayName:"ActionModal.Footer"});ActionModal.FootBar=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)("div",{className:"ant-modal-footer",children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:e.address,schema:t,onlyRenderProperties:!0})})},{displayName:"ActionModal.FootBar"});const useBackButton=()=>{const{setVisible:e}=useActionContext();return{goBack:(0,import_react2.useCallback)(()=>{e==null||e(!1)},[e])}},BackButtonUsedInSubPage=()=>{const{token:e}=useToken(),{goBack:t}=useBackButton(),o=32,r=(0,import_react2.useMemo)(()=>({width:"auto",height:"auto",lineHeight:1,padding:e.paddingXS,marginRight:o-e.paddingXS}),[e.paddingXS]);return(0,import_jsx_runtime.jsx)(import_antd.Button,{"aria-label":"back-button",type:"text",icon:(0,import_jsx_runtime.jsx)(import_icons.ArrowLeftOutlined,{}),style:r,onClick:t})},useActionPageStyle=genStyleHook("nb-action-page",e=>{const{componentCls:t}=e;return{[t]:{position:"absolute !important",top:0,left:0,right:0,bottom:0,backgroundColor:e.colorBgLayout,overflowX:"hidden",overflowY:"auto",".ant-tabs-nav":{background:e.colorBgContainer,padding:`0 ${e.paddingPageVertical}px`,marginBottom:0},".ant-tabs-content-holder":{padding:`${e.paddingPageVertical}px`,paddingBottom:"0px"}}}}),usePopupOrSubpagesContainerDOM=()=>{const e=(0,import_react2.useMemo)(()=>document.querySelector(".nb-subpages-slot-without-header-and-side"),[]);return{getContainerDOM:(0,import_react2.useCallback)(()=>e,[e])}},ActionPageContent=import_react2.default.memo(({schema:e})=>{const[t,o]=(0,import_react2.useState)(!1);return(0,import_react2.useEffect)(()=>{(0,import_react2.startTransition)(()=>{o(!0)})},[]),t?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:e,onlyRenderProperties:!0}):null});function ActionPage({level:e}){const t=(0,import_react.useFieldSchema)(),o=useActionContext(),{getContainerDOM:r}=usePopupOrSubpagesContainerDOM(),{componentCls:i,hashId:n}=useActionPageStyle(),a=useTabsContext(),l=useZIndexContext(),c=(0,import_react2.useMemo)(()=>({zIndex:getZIndex("page",l,e||0)}),[l,e]);if(!o.visible)return null;const u=(0,import_jsx_runtime.jsx)("div",{className:`${i} ${n}`,style:c,children:(0,import_jsx_runtime.jsx)(ActionContextNoRerender,{children:(0,import_jsx_runtime.jsx)(TabsContextProvider,P(x({},a),{tabBarExtraContent:(0,import_jsx_runtime.jsx)(BackButtonUsedInSubPage,{}),children:(0,import_jsx_runtime.jsx)(zIndexContext.Provider,{value:c.zIndex,children:(0,import_jsx_runtime.jsx)(ActionPageContent,{schema:t})})}))})}),m=r();return(0,import_react_dom.createPortal)(u,m||document.body)}ActionPage.Footer=(0,import_react.observer)(()=>null,{displayName:"ActionPage.Footer"});const defaultContext={defaultOpenMode:"drawer",openModeToComponent:{drawer:ActionDrawer,page:ActionPage,modal:ActionModal},hideOpenMode:!1},OpenModeContext=import_react2.default.createContext(null),OpenModeProvider=e=>{const t=(0,import_react2.useMemo)(()=>{const i=x({},defaultContext);return e.defaultOpenMode!==void 0&&(i.defaultOpenMode=e.defaultOpenMode),e.openModeToComponent!==void 0&&(i.openModeToComponent=e.openModeToComponent),e.hideOpenMode!==void 0&&(i.hideOpenMode=e.hideOpenMode),e.isMobile&&(i.isMobile=e.isMobile),i},[e.defaultOpenMode,e.openModeToComponent,e.hideOpenMode]),o=(0,import_react2.useCallback)(i=>{const n=t.openModeToComponent[i];return n||console.error(`OpenModeProvider: openModeToComponent[${i}] is not defined`),n},[t]),r=(0,import_react2.useMemo)(()=>({defaultOpenMode:t.defaultOpenMode,hideOpenMode:t.hideOpenMode,getComponentByOpenMode:o,isMobile:t.isMobile}),[t.defaultOpenMode,t.hideOpenMode,o,t.isMobile]);return(0,import_jsx_runtime.jsx)(OpenModeContext.Provider,{value:r,children:e.children})},useOpenModeContext=()=>import_react2.default.useContext(OpenModeContext),SchemaInitializerItem=(0,import_react2.memo)(import_react2.default.forwardRef((e,t)=>{const{style:o,closeInitializerMenuWhenClick:r=!0,name:i=(0,import_shared.uid)(),applyMenuStyle:n=!0,className:a,disabled:l,items:c,icon:u,title:m,onClick:d,children:p}=e,h=useCompile(),g=useSchemaInitializerMenuItems(c,i,d),{componentCls:_,hashId:f}=useSchemaInitializerStyles(),{attribute:v}=useAriaAttributeOfMenuItem(),{setVisible:C}=useSchemaInitializer(),S=(0,import_react2.useMemo)(()=>{if(c&&c.length>0)return[{key:i,style:o,className:a,label:p||h(m),onClick:b=>{l||b.key!==i||(r&&(C==null||C(!1)),d==null||d(P(x({},b),{item:e})))},icon:typeof u=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:u}):u,children:g}]},[i,l,o,a,p,m,d,u,g]);return c&&c.length>0?(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{disabled:l,items:S}):(0,import_jsx_runtime.jsx)("div",{ref:t,onClick:b=>{b.stopPropagation(),r&&(C==null||C(!1)),d==null||d({event:b,item:e})},children:(0,import_jsx_runtime.jsx)("div",P(x({},v),{className:(0,import_classnames.default)({[`${_}-menu-item`]:n,[`${_}-menu-item-disabled`]:l},a),style:o,children:p||(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[typeof u=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:u}):u,(0,import_jsx_runtime.jsx)("span",{className:(0,import_classnames.default)({[`${f} ${_}-item-content`]:!!u}),children:h(m)})]})}))})}));SchemaInitializerItem.displayName="SchemaInitializerItem";const SchemaInitializerItemInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,x({},e))},switchStyle={marginLeft:20},itemStyle={display:"flex",alignItems:"center",justifyContent:"space-between"},SchemaInitializerSwitch=e=>{const t=e,{title:o,checked:r}=t,i=Y(t,["title","checked"]),n=useCompile();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},i),{closeInitializerMenuWhenClick:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:itemStyle,children:[n(o),(0,import_jsx_runtime.jsx)(import_antd.Switch,{disabled:e.disabled,style:switchStyle,size:"small",checked:r})]})}))},SchemaInitializerSwitchInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSwitch,x({},e))},SchemaInitializerChildren=e=>{const{children:t}=e;return t?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:t.sort((o,r)=>(o.sort||0)-(r.sort||0)).map((o,r)=>(0,import_jsx_runtime.jsx)(SchemaInitializerChild,x({},o),o.name||o.key||r))}):null},typeComponentMap={item:"SchemaInitializerItemInternal",itemGroup:"SchemaInitializerItemGroupInternal",divider:"SchemaInitializerDivider",switch:"SchemaInitializerSwitchInternal",subMenu:"SchemaInitializerSubMenuInternal",actionModal:"SchemaInitializerActionModalInternal"},useChildrenDefault=()=>{},useVisibleDefault=()=>!0,useComponentPropsDefault=()=>{},SchemaInitializerChild=(0,import_react2.memo)(e=>{const t=e,{type:o,Component:r,component:i,children:n,useVisible:a=useVisibleDefault,useChildren:l=useChildrenDefault,useComponentProps:c=useComponentPropsDefault,hideIfNoChildren:u,componentProps:m,sort:d}=t,p=Y(t,["type","Component","component","children","useVisible","useChildren","useComponentProps","hideIfNoChildren","componentProps","sort"]),h=l(),g=c(),_=useFindComponent(),f=r||i,v=!f&&o&&typeComponentMap[o],C=(0,import_react2.useMemo)(()=>{const y=[...h||[],...n||[]];return y.length===0?void 0:y},[h,n]),S=(0,import_react2.useMemo)(()=>P(x(x(x({},p),v?g:{}),v?m:{}),{children:C}),[p,v,g,m,C]);if(!a()||!o&&!f)return null;const b=_(v?typeComponentMap[o]:f);return!b||u&&!C?null:(0,import_jsx_runtime.jsx)(SchemaInitializerItemContext.Provider,{value:S,children:(0,import_jsx_runtime.jsx)(b,P(x(x({},m),g),{children:C}))})});SchemaInitializerChild.displayName="SchemaInitializerChild";const SchemaInitializerDivider=()=>{const{token:e}=import_antd.theme.useToken();return(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{marginTop:e.marginXXS,marginBottom:e.marginXXS}})};function getPrefixAndCompare(e,t){const o=e.replace(/-displayCollectionFields$/,""),r=t.replace(/-displayCollectionFields$/,"");return!o.includes(r)}const SearchFields=({value:e,onChange:t,name:o})=>{const{t:r}=(0,import_react_i18next.useTranslation)(),[i,n]=(0,import_react2.useState)(e),a=(0,import_react2.useRef)(""),l=(0,import_react2.useRef)(`${o||Math.random().toString(10).substr(2,9)}`);(0,import_react2.useEffect)(()=>{n(e)},[e]),(0,import_react2.useEffect)(()=>{var d;const p=()=>{var g,_;a.current&&((g=document.activeElement)==null?void 0:g.id)!==a.current.input.id&&getPrefixAndCompare((_=document.activeElement)==null?void 0:_.id,a.current.input.id)&&a.current.focus()},h=new IntersectionObserver(g=>{g.some(_=>_.isIntersecting)&&p()});return(d=a.current)!=null&&d.input&&(a.current.input.id=l.current,h.observe(a.current.input)),()=>{h.disconnect()}},[]);const c=(0,import_react2.useRef)(!1),u=d=>{c.current||(t(d.target.value),n(d.target.value))},m=d=>{d.type==="compositionend"?(c.current=!1,u(d)):c.current=!0};return(0,import_jsx_runtime.jsxs)("div",{onClick:d=>d.stopPropagation(),children:[(0,import_jsx_runtime.jsx)(import_antd.Input,{ref:a,allowClear:!0,style:{padding:"0 4px 6px 16px",boxShadow:"none"},bordered:!1,placeholder:r("Search"),defaultValue:i,onClick:d=>{d.stopPropagation()},onChange:u,onCompositionStart:m,onCompositionEnd:m,onCompositionUpdate:m}),(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{margin:0}})]})};let currentName=null;const useMenuSearch$1=e=>{const{children:t,showType:o,hideSearch:r,name:i}=e,n=useCompile(),[a,l]=(0,import_react2.useState)(null),c=(d,p)=>{if(!a||a===""||currentName&¤tName!==p)return d;const h=a.toLocaleLowerCase();return d.filter(g=>(g.title||g.label)&&String(n(g.title||g.label)).toLocaleLowerCase().includes(h))},u=(d,p,h=new Set)=>{var g;const _=[];return!r&&(d.length>10||a)&&!["subMenu","itemGroup"].includes((g=d[0])==null?void 0:g.type)&&_.push(x({key:`search-${(0,import_shared.uid)()}`,Component:()=>(0,import_jsx_runtime.jsx)(SearchFields,{name:p,value:!currentName||currentName===p?a:"",onChange:f=>{currentName=p,l(f)}}),onClick({domEvent:f}){f.stopPropagation()}},o?{isMenuType:!0}:{})),d.forEach(f=>{if(!h.has(f))if(h.add(f),["subMenu","itemGroup"].includes(f.type)){const v=!currentName||currentName===f.name?c(f.children.concat(),f.name):f.children,C=u(v,f.name,h);_.push(P(x({},f),{children:C}))}else _.push(f)}),d.length===0&&_.push(x({key:"empty",style:{height:150},Component:()=>(0,import_jsx_runtime.jsx)("div",{onClick:f=>f.stopPropagation(),children:(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE})})},o?{isMenuType:!0}:{})),_},m=u(c((t==null?void 0:t.concat())||[],i),i);return t?m:void 0},SchemaInitializerItemGroup=({children:e,items:t,title:o,divider:r})=>{const i=useCompile(),{componentCls:n}=useSchemaInitializerStyles(),{token:a}=import_antd.theme.useToken();return(0,import_jsx_runtime.jsxs)("div",{style:{marginInline:a.marginXXS},children:[r&&(0,import_jsx_runtime.jsx)(SchemaInitializerDivider,{}),(0,import_jsx_runtime.jsx)("div",{className:`${n}-group-title`,children:i(o)}),(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:t||e})]})},SchemaInitializerItemGroupInternal=()=>{const e=useSchemaInitializerItem(),t=useMenuSearch$1(e);return e.name&&e.name!=="displayFields"?(0,import_jsx_runtime.jsx)(SchemaInitializerItemGroup,x({},e)):(0,import_jsx_runtime.jsx)(SchemaInitializerItemGroup,P(x({},e),{children:t}))},SchemaInitializerItems=e=>{const{items:t}=e;return t.length===0?null:(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:t})},SchemaInitializerActionModalItemComponent=import_react2.default.forwardRef((e,t)=>{const o=e,{onClick:r}=o,i=Y(o,["onClick"]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({ref:t},i),{onClick:n=>r==null?void 0:r(n.event,!1)}))}),SchemaInitializerActionModal=e=>{const{title:t,icon:o,width:r,schema:i,buttonText:n,btnStyles:a,isItem:l,component:c,onCancel:u,onSubmit:m}=e,{setVisible:d}=useSchemaInitializer(),p=(0,import_react2.useCallback)(()=>{const v=(0,import_react.useForm)(),C=useActionContext();return{run(){return q(this,null,function*(){yield u==null?void 0:u(),C.setVisible(!1),v.reset()})}}},[u]),h=(0,import_react2.useCallback)(()=>{const v=(0,import_react.useForm)(),C=useActionContext();return{run(){return q(this,null,function*(){yield v.validate();try{yield m==null?void 0:m(v.values),C.setVisible(!1),v.reset()}catch(S){console.error(S)}})}}},[m]),g=(0,import_react2.useMemo)(()=>import_react2.default.forwardRef(({onClick:v},C)=>(0,import_jsx_runtime.jsx)(SchemaInitializerActionModalItemComponent,{onClick:v,ref:C,title:n,icon:o})),[n,o]),_=(0,import_react2.useMemo)(()=>(0,import_shared.uid)(),[]),f=(0,import_react2.useMemo)(()=>({type:"void",properties:{[_]:{type:"void","x-component":"Action","x-component-props":c?{component:c,icon:o}:l?{component:g}:{icon:o||"PlusOutlined",style:x({borderColor:"var(--colorSettings)",color:"var(--colorSettings)"},a||{}),title:n,type:"dashed"},properties:{drawer1:{"x-decorator":"Form","x-component":"Action.Modal","x-component-props":{width:r,style:{maxWidth:r||"520px",width:"100%"},afterOpenChange:()=>{d(!1)}},type:"void",title:t,properties:P(x({},(i==null?void 0:i.properties)||i),{footer:{"x-component":"Action.Modal.Footer",type:"void",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:p}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:h}}}}})}}}}}),[n,c,_,i,t,p,h]);return(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:f})},SchemaInitializerActionModalInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerActionModal,x({},e))},SchemaInitializerSelect=e=>{const t=e,{title:o,options:r,value:i,onChange:n,openOnHover:a,onClick:l}=t,c=Y(t,["title","options","value","onChange","openOnHover","onClick"]),[u,m]=(0,import_react2.useState)(!1),d=(0,import_react2.useCallback)((...g)=>{m(!1),l==null||l(...g)},[m,l]),p=(0,import_react2.useCallback)(()=>m(!0),[]),h=(0,import_react2.useMemo)(()=>a?{onMouseEnter:p,open:u}:{},[p,u,a]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({closeInitializerMenuWhenClick:!1},c),{children:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[o,(0,import_jsx_runtime.jsx)(import_antd.Select,x({"data-testid":"antd-select",popupMatchSelectWidth:!1,bordered:!1,defaultValue:i,onChange:(...g)=>(m(!1),n(...g)),options:r,style:{textAlign:"right",minWidth:100},onClick:d},h))]})}))},SchemaInitializerSelectInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSelect,x({},e))},schemaInitializerComponents=Object.freeze(Object.defineProperty({__proto__:null,SchemaInitializerActionModal,SchemaInitializerActionModalInternal,SchemaInitializerChild,SchemaInitializerChildren,SchemaInitializerDivider,SchemaInitializerItem,SchemaInitializerItemGroup,SchemaInitializerItemGroupInternal,SchemaInitializerItemInternal,SchemaInitializerItems,SchemaInitializerMenu,SchemaInitializerMenuProvider,SchemaInitializerSelect,SchemaInitializerSelectInternal,SchemaInitializerSubMenu,SchemaInitializerSubMenuInternal,SchemaInitializerSwitch,SchemaInitializerSwitchInternal,useSchemaInitializerStyles,useSchemaInitializerSubMenuContext},Symbol.toStringTag,{value:"Module"})),useGetAriaLabelOfSchemaInitializer=()=>{const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection()||{};return{getAriaLabel:(0,import_react2.useCallback)(o=>{if(!e)return"";const r=e["x-component"],i=typeof r=="string"?r:(r==null?void 0:r.displayName)||r.name,n=e["x-initializer"]?`-${e["x-initializer"]}`:"",a=t?`-${t}`:"";return o=o?`-${o}`:"",`schema-initializer-${i}${n}${a}${o}`},[e,t])}},SchemaInitializerButton=import_react2.default.memo(e=>{const t=e,{style:o,options:r}=t,i=Y(t,["style","options"]),n=useCompile(),{getAriaLabel:a}=useGetAriaLabelOfSchemaInitializer();return(0,import_jsx_runtime.jsx)(import_antd.Button,P(x({"data-testid":r["data-testid"],"aria-label":a(),"aria-disabled":"false",type:"dashed",style:x({borderColor:"var(--colorSettings)",color:"var(--colorSettings)",flex:"none"},o),icon:typeof r.icon=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:r.icon}):r.icon},i),{children:r.title&&(0,import_jsx_runtime.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"inline-block",width:r.icon?"calc(100% - 14px)":"100%",verticalAlign:"bottom"},children:n(r.title)})}))});SchemaInitializerButton.displayName="SchemaInitializerButton(memo)";const InitializerComponent=e=>{const t=e.Component||SchemaInitializerButton,o=e.ItemsComponent||SchemaInitializerItems,r=P(x({},e.itemsComponentProps),{options:e,items:e.items,style:e.itemsComponentStyle}),i=(0,import_react2.useMemo)(()=>withInitializer(t),[t]);return import_react2.default.createElement(i,e,import_react2.default.createElement(o,r))};InitializerComponent.displayName="InitializerComponent";function useSchemaInitializerRender(e,t){const o=useApp(),{isMobile:r}=useOpenModeContext()||{};e==="popup:common:addBlock"&&o.schemaInitializerManager.has("mobile:popup:common:addBlock")&&r&&(e="mobile:popup:common:addBlock");const i=(0,import_react2.useMemo)(()=>typeof e=="object"?e:o.schemaInitializerManager.get(e),[o.schemaInitializerManager,e]);return(0,import_react2.useMemo)(()=>e?i?{exists:!0,render:n=>import_react2.default.createElement(InitializerComponent,x(x(x({},i.options),t),n))}:(console.error(`[nocobase]: SchemaInitializer "${e}" not found`),{exists:!1,render:()=>null}):{exists:!1,render:()=>null},[i,e,t])}function useSchemaInitializerMenuItems(e,t,o){const r=useGetSchemaInitializerMenuItems(o);return(0,import_react2.useMemo)(()=>r(e,t),[r,e,t])}function useGetSchemaInitializerMenuItems(e){const t=useCompile(),o=(0,import_react2.useCallback)((r,i)=>r!=null&&r.length?r.map((n,a)=>{var l,c;const u=n.component||n.Component;let m;const d=n.title||n.label?t(n.title||n.label):void 0;if(u&&(m=import_react2.default.createElement(SchemaInitializerChild,P(x({},n),{title:d}))),n.type==="divider")return{type:"divider",key:n.key||`divider-${a}`};if(n.type==="item"&&u)return n.key||(n.key=`${d}-${a}`),n.associationField?{key:n.key,label:m,associationField:n.associationField}:{key:n.key,label:m};if(n.type==="itemGroup"){const _=typeof d=="string"?d:n.title,f=n.key||`${i}-item-group-${a}`;return{type:"group",key:f,label:_,children:(l=n==null?void 0:n.children)!=null&&l.length?o(n.children,f):[]}}if(n.type==="subMenu"){const _=d,f=n.key||n.name||`${i}-sub-menu-${a}`;return{key:f,label:_,children:(c=n==null?void 0:n.children)!=null&&c.length?o(n.children,f):[]}}if(n.isMenuType)return Y(n,["isMenuType"]);const p=m||d,h=n.key||`${i}-${d}-${a}`,g=_=>{_.domEvent.stopPropagation(),_.key===h&&(n.onClick?n.onClick(P(x({},_),{item:n})):e==null||e(P(x({},_),{item:n})))};return n.associationField?{key:h,label:p,associationField:n.associationField,onClick:g}:{style:n.style,key:h,label:p,onClick:g}}):[],[t,e]);return o}class CompatibleSchemaInitializer extends SchemaInitializer{constructor(t,o){super(t),k(this,"otherInstance",null),o&&(this.otherInstance=o,o.otherInstance=this)}add(t,o){super.get(t)||(super.add(t,o),this.otherInstance&&this.otherInstance.add(t,o))}remove(t){super.get(t)&&(super.remove(t),this.otherInstance&&this.otherInstance.remove(t))}}const oldToNewNameMap={BlockInitializers:"page:addBlock",MBlockInitializers:"mobilePage:addBlock",CreateFormBlockInitializers:"popup:addNew:addBlock",CusomeizeCreateFormBlockInitializers:"popup:addRecord:addBlock",RecordBlockInitializers:"popup:common:addBlock",BulkEditBlockInitializers:"popup:bulkEdit:addBlock",TableColumnInitializers:"table:configureColumns",TableActionColumnInitializers:"table:configureItemActions",TableActionInitializers:"table:configureActions",SubTableActionInitializers:"subTable:configureActions",FormItemInitializers:"form:configureFields",CreateFormActionInitializers:"createForm:configureActions",UpdateFormActionInitializers:"editForm:configureActions",ReadPrettyFormItemInitializers:"details:configureFields",DetailsActionInitializers:"detailsWithPaging:configureActions",ReadPrettyFormActionInitializers:"details:configureActions",KanbanCardInitializers:"kanban:configureItemFields",KanbanActionInitializers:"kanban:configureActions",GridCardActionInitializers:"gridCard:configureActions",GridCardItemActionInitializers:"gridCard:configureItemActions",ListActionInitializers:"list:configureActions",ListItemActionInitializers:"list:configureItemActions",CalendarActionInitializers:"calendar:configureActions",GanttActionInitializers:"gantt:configureActions",MapActionInitializers:"map:configureActions",TableSelectorInitializers:"popup:tableSelector:addBlock",ChartInitializers:"charts:addBlock",ChartFilterItemInitializers:"chartFilterForm:configureFields",ChartFilterActionInitializers:"chartFilterForm:configureActions",AssociationFilterInitializers:"filterCollapse:configureFields",FilterFormItemInitializers:"filterForm:configureFields",FilterFormActionInitializers:"filterForm:configureActions",CustomFormItemInitializers:"assignFieldValuesForm:configureFields",BulkEditFormItemInitializers:"bulkEditForm:configureFields",BulkEditFormActionInitializers:"bulkEditForm:configureActions",AuditLogsTableColumnInitializers:"auditLogsTable:configureColumns",AuditLogsTableActionColumnInitializers:"auditLogsTable:configureItemActions",AuditLogsTableActionInitializers:"auditLogsTable:configureActions",SnapshotBlockInitializers:"popup:snapshot:addBlock",AddBlockButton:"workflowManual:popup:configureUserInterface:addBlock",AddCustomFormField:"workflowManual:customForm:configureFields",AddActionButton:"workflowManual:form:configureActions"};function isInitializersSame(e,t){return e===t||oldToNewNameMap[e]===t}class SchemaInitializerManager{constructor(t=[],o){k(this,"schemaInitializers",{}),k(this,"actionList",{}),this._schemaInitializers=t,this.app=o,this.app=o,this.add(...t)}add(...t){t.forEach(o=>{this.schemaInitializers[o.name]=o,Array.isArray(this.actionList[o.name])&&(this.actionList[o.name].forEach(r=>{o[r.type](r.itemName,r.data)}),this.actionList[o.name]=void 0)})}addItem(t,o,r){const i=this.get(t);i?i.add(o,r):(this.actionList[t]||(this.actionList[t]=[]),this.actionList[t].push({type:"add",itemName:o,data:r}))}get(t){return this.schemaInitializers[t]}getAll(){return this.schemaInitializers}has(t){return!!this.get(t)}remove(t){delete this.schemaInitializers[t]}removeItem(t,o){const r=this.get(t);r?r.remove(o):(this.actionList[t]||(this.actionList[t]=[]),this.actionList[t].push({type:"remove",itemName:o}))}}function normalizeContainer(e){if(!e)return console.warn("Failed to mount app: mount target should not be null or undefined."),null;if(typeof e=="string"){const t=document.querySelector(e);return t||console.warn(`Failed to mount app: mount target selector "${e}" returned null.`),t}return window.ShadowRoot&&e instanceof window.ShadowRoot&&e.mode==="closed"&&console.warn('mounting on a ShadowRoot with `{mode: "closed"}` may lead to unpredictable bugs'),e}const compose=(...e)=>{const t=e.reduce((o,r)=>{const[i,n]=r,a=({children:l})=>(0,import_jsx_runtime.jsx)(o,{children:(0,import_jsx_runtime.jsx)(i,P(x({},n),{children:l}))});return a.displayName=`compose(${i.displayName||i.name})`,a},BlankComponent);return o=>r=>(0,import_jsx_runtime.jsx)(t,{children:o&&(0,import_jsx_runtime.jsx)(o,x({},r))})};function defineGlobalDeps(e){e.define("react",()=>import_react2.default),e.define("react-dom",()=>import_react_dom.default),e.define("react/jsx-runtime",()=>import_jsx_runtime.default),e.define("react-router",()=>ReactRouter),e.define("react-router-dom",()=>ReactRouterDom),e.define("antd",()=>antd),e.define("antd-style",()=>antdStyle),e.define("@ant-design/icons",()=>antIcons),e.define("@ant-design/cssinjs",()=>antdCssinjs),e.define("i18next",()=>i18next),e.define("react-i18next",()=>reactI18next),e.define("@formily/antd-v5",()=>formilyAntdV5),e.define("@formily/core",()=>formilyCore),e.define("@formily/react",()=>formilyReact),e.define("@formily/shared",()=>formilyShared),e.define("@formily/json-schema",()=>formilyJsonSchema),e.define("@formily/reactive",()=>formilyJsonReactive),e.define("@formily/path",()=>formilyPath),e.define("@formily/validator",()=>formilyValidator),e.define("@formily/reactive-react",()=>formilyReactiveReact),e.define("@nocobase/utils",()=>nocobaseClientUtils),e.define("@nocobase/utils/client",()=>nocobaseClientUtils),e.define("@nocobase/client",()=>nocobaseClient),e.define("@nocobase/client/client",()=>nocobaseClient),e.define("@nocobase/evaluators",()=>nocobaseEvaluators),e.define("@nocobase/evaluators/client",()=>nocobaseEvaluators),e.define("@nocobase/sdk",()=>nocobaseSDK),e.define("@dnd-kit/core",()=>dndKitCore),e.define("@dnd-kit/sortable",()=>dndKitSortable),e.define("axios",()=>import_axios.default),e.define("dayjs",()=>import_client.dayjs),e.define("lodash",()=>import_lodash.default),e.define("ahooks",()=>ahooks),e.define("@emotion/css",()=>emotionCss),e.define("file-saver",()=>FileSaver)}/* istanbul ignore file -- @preserve */function getRequireJs(){var requirejs,require,define,req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.3.6",commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/mg,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,isBrowser=!!(typeof window<"u"&&typeof navigator<"u"&&window.document),isWebWorker=!isBrowser&&typeof importScripts<"u",readyRegExp=isBrowser&&navigator.platform==="PLAYSTATION 3"?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera=typeof opera<"u"&&opera.toString()==="[object Opera]",contexts={},cfg={},globalDefQueue=[],useInteractive=!1;function commentReplace(e,t){return t||""}function isFunction(e){return ostring.call(e)==="[object Function]"}function isArray(e){return ostring.call(e)==="[object Array]"}function each(e,t){if(e){var o;for(o=0;o<e.length&&!(e[o]&&t(e[o],o,e));o+=1);}}function eachReverse(e,t){if(e){var o;for(o=e.length-1;o>-1&&!(e[o]&&t(e[o],o,e));o-=1);}}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return hasProp(e,t)&&e[t]}function eachProp(e,t){var o;for(o in e)if(hasProp(e,o)&&t(e[o],o))break}function mixin(e,t,o,r){return t&&eachProp(t,function(i,n){(o||!hasProp(e,n))&&(r&&typeof i=="object"&&i&&!isArray(i)&&!isFunction(i)&&!(i instanceof RegExp)?(e[n]||(e[n]={}),mixin(e[n],i,o,r)):e[n]=i)}),e}function bind(e,t){return function(){return t.apply(e,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(e){throw e}function getGlobal(e){if(!e)return e;var t=global;return each(e.split("."),function(o){t=t[o]}),t}function makeError(e,t,o,r){var i=new Error(t+`
|
|
631
|
-
https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModules=r,o&&(i.originalError=o),i}if(typeof define<"u")return;if(typeof requirejs<"u"){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}typeof require<"u"&&!isFunction(require)&&(cfg=require,require=void 0);function newContext(e){var t,o,r,i,n,a={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},l={},c={},u={},m=[],d={},p={},h={},g=1,_=1;function f(I){var E,L;for(E=0;E<I.length;E++)if(L=I[E],L===".")I.splice(E,1),E-=1;else if(L===".."){if(E===0||E===1&&I[2]===".."||I[E-1]==="..")continue;E>0&&(I.splice(E-1,2),E-=2)}}function v(I,E,L){var O,V,U,z,G,W,H,K,X,Q,J,te,Z=E&&E.split("/"),re=a.map,ae=re&&re["*"];if(I&&(I=I.split("/"),H=I.length-1,a.nodeIdCompat&&jsSuffixRegExp.test(I[H])&&(I[H]=I[H].replace(jsSuffixRegExp,"")),I[0].charAt(0)==="."&&Z&&(te=Z.slice(0,Z.length-1),I=te.concat(I)),f(I),I=I.join("/")),L&&re&&(Z||ae)){U=I.split("/");e:for(z=U.length;z>0;z-=1){if(W=U.slice(0,z).join("/"),Z){for(G=Z.length;G>0;G-=1)if(V=getOwn(re,Z.slice(0,G).join("/")),V&&(V=getOwn(V,W),V)){K=V,X=z;break e}}!Q&&ae&&getOwn(ae,W)&&(Q=getOwn(ae,W),J=z)}!K&&Q&&(K=Q,X=J),K&&(U.splice(0,X,K),I=U.join("/"))}return O=getOwn(a.pkgs,I),O||I}function C(I){isBrowser&&each(scripts(),function(E){if(E.getAttribute("data-requiremodule")===I&&E.getAttribute("data-requirecontext")===r.contextName)return E.parentNode.removeChild(E),!0})}function S(I){var E=getOwn(a.paths,I);if(E&&isArray(E)&&E.length>1)return E.shift(),r.require.undef(I),r.makeRequire(null,{skipMap:!0})([I]),!0}function b(I){var E,L=I?I.indexOf("!"):-1;return L>-1&&(E=I.substring(0,L),I=I.substring(L+1,I.length)),[E,I]}function y(I,E,L,O){var V,U,z,G,W=null,H=E?E.name:null,K=I,X=!0,Q="";return I||(X=!1,I="_@r"+(g+=1)),G=b(I),W=G[0],I=G[1],W&&(W=v(W,H,O),U=getOwn(d,W)),I&&(W?L?Q=I:U&&U.normalize?Q=U.normalize(I,function(J){return v(J,H,O)}):Q=I.indexOf("!")===-1?v(I,H,O):I:(Q=v(I,H,O),G=b(Q),W=G[0],Q=G[1],L=!0,V=r.nameToUrl(Q))),z=W&&!U&&!L?"_unnormalized"+(_+=1):"",{prefix:W,name:Q,parentMap:E,unnormalized:!!z,url:V,originalName:K,isDefine:X,id:(W?W+"!"+Q:Q)+z}}function F(I){var E=I.id,L=getOwn(l,E);return L||(L=l[E]=new r.Module(I)),L}function j(I,E,L){var O=I.id,V=getOwn(l,O);hasProp(d,O)&&(!V||V.defineEmitComplete)?E==="defined"&&L(d[O]):(V=F(I),V.error&&E==="error"?L(V.error):V.on(E,L))}function A(I,E){var L=I.requireModules,O=!1;E?E(I):(each(L,function(V){var U=getOwn(l,V);U&&(U.error=I,U.events.error&&(O=!0,U.emit("error",I)))}),O||req.onError(I))}function D(){globalDefQueue.length&&(each(globalDefQueue,function(I){var E=I[0];typeof E=="string"&&(r.defQueueMap[E]=!0),m.push(I)}),globalDefQueue=[])}i={require:function(I){return I.require?I.require:I.require=r.makeRequire(I.map)},exports:function(I){if(I.usingExports=!0,I.map.isDefine)return I.exports?d[I.map.id]=I.exports:I.exports=d[I.map.id]={}},module:function(I){return I.module?I.module:I.module={id:I.map.id,uri:I.map.url,config:function(){return getOwn(a.config,I.map.id)||{}},exports:I.exports||(I.exports={})}}};function N(I){delete l[I],delete c[I]}function w(I,E,L){var O=I.map.id;I.error?I.emit("error",I.error):(E[O]=!0,each(I.depMaps,function(V,U){var z=V.id,G=getOwn(l,z);G&&!I.depMatched[U]&&!L[z]&&(getOwn(E,z)?(I.defineDep(U,d[z]),I.check()):w(G,E,L))}),L[O]=!0)}function B(){var I,E,L=a.waitSeconds*1e3,O=L&&r.startTime+L<new Date().getTime(),V=[],U=[],z=!1,G=!0;if(!t){if(t=!0,eachProp(c,function(W){var H=W.map,K=H.id;if(W.enabled&&(H.isDefine||U.push(W),!W.error)){if(!W.inited&&O)S(K)?(E=!0,z=!0):(V.push(K),C(K));else if(!W.inited&&W.fetched&&H.isDefine&&(z=!0,!H.prefix))return G=!1}}),O&&V.length)return I=makeError("timeout","Load timeout for modules: "+V,null,V),I.contextName=r.contextName,A(I);G&&each(U,function(W){w(W,{},{})}),(!O||E)&&z&&(isBrowser||isWebWorker)&&!n&&(n=setTimeout(function(){n=0,B()},50)),t=!1}}o=function(I){this.events=getOwn(u,I.id)||{},this.map=I,this.shim=getOwn(a.shim,I.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},o.prototype={init:function(I,E,L,O){O=O||{},!this.inited&&(this.factory=E,L?this.on("error",L):this.events.error&&(L=bind(this,function(V){this.emit("error",V)})),this.depMaps=I&&I.slice(0),this.errback=L,this.inited=!0,this.ignore=O.ignore,O.enabled||this.enabled?this.enable():this.check())},defineDep:function(I,E){this.depMatched[I]||(this.depMatched[I]=!0,this.depCount-=1,this.depExports[I]=E)},fetch:function(){if(!this.fetched){this.fetched=!0,r.startTime=new Date().getTime();var I=this.map;if(this.shim)r.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return I.prefix?this.callPlugin():this.load()}));else return I.prefix?this.callPlugin():this.load()}},load:function(){var I=this.map.url;p[I]||(p[I]=!0,r.load(this.map.id,I))},check:function(){if(!(!this.enabled||this.enabling)){var I,E,L=this.map.id,O=this.depExports,V=this.exports,U=this.factory;if(!this.inited)hasProp(r.defQueueMap,L)||this.fetch();else if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(U)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{V=r.execCb(L,U,O,V)}catch(G){I=G}else V=r.execCb(L,U,O,V);if(this.map.isDefine&&V===void 0&&(E=this.module,E?V=E.exports:this.usingExports&&(V=this.exports)),I)return I.requireMap=this.map,I.requireModules=this.map.isDefine?[this.map.id]:null,I.requireType=this.map.isDefine?"define":"require",A(this.error=I)}else V=U;if(this.exports=V,this.map.isDefine&&!this.ignore&&(d[L]=V,req.onResourceLoad)){var z=[];each(this.depMaps,function(G){z.push(G.normalizedMap||G)}),req.onResourceLoad(r,this.map,z)}N(L),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}},callPlugin:function(){var I=this.map,E=I.id,L=y(I.prefix);this.depMaps.push(L),j(L,"defined",bind(this,function(O){var V,U,z,G=getOwn(h,this.map.id),W=this.map.name,H=this.map.parentMap?this.map.parentMap.name:null,K=r.makeRequire(I.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){O.normalize&&(W=O.normalize(W,function(X){return v(X,H,!0)})||""),U=y(I.prefix+"!"+W,this.map.parentMap,!0),j(U,"defined",bind(this,function(X){this.map.normalizedMap=U,this.init([],function(){return X},null,{enabled:!0,ignore:!0})})),z=getOwn(l,U.id),z&&(this.depMaps.push(U),this.events.error&&z.on("error",bind(this,function(X){this.emit("error",X)})),z.enable());return}if(G){this.map.url=r.nameToUrl(G),this.load();return}V=bind(this,function(X){this.init([],function(){return X},null,{enabled:!0})}),V.error=bind(this,function(X){this.inited=!0,this.error=X,X.requireModules=[E],eachProp(l,function(Q){Q.map.id.indexOf(E+"_unnormalized")===0&&N(Q.map.id)}),A(X)}),V.fromText=bind(this,function(X,Q){var J=I.name,te=y(J),Z=useInteractive;Q&&(X=Q),Z&&(useInteractive=!1),F(te),hasProp(a.config,E)&&(a.config[J]=a.config[E]);try{req.exec(X)}catch(re){return A(makeError("fromtexteval","fromText eval for "+E+" failed: "+re,re,[E]))}Z&&(useInteractive=!0),this.depMaps.push(te),r.completeLoad(J),K([J],V)}),O.load(I.name,K,V,a)})),r.enable(L,this),this.pluginMaps[L.id]=L},enable:function(){c[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(I,E){var L,O,V;if(typeof I=="string"){if(I=y(I,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[E]=I,V=getOwn(i,I.id),V){this.depExports[E]=V(this);return}this.depCount+=1,j(I,"defined",bind(this,function(U){this.undefed||(this.defineDep(E,U),this.check())})),this.errback?j(I,"error",bind(this,this.errback)):this.events.error&&j(I,"error",bind(this,function(U){this.emit("error",U)}))}L=I.id,O=l[L],!hasProp(i,L)&&O&&!O.enabled&&r.enable(I,this)})),eachProp(this.pluginMaps,bind(this,function(I){var E=getOwn(l,I.id);E&&!E.enabled&&r.enable(I,this)})),this.enabling=!1,this.check()},on:function(I,E){var L=this.events[I];L||(L=this.events[I]=[]),L.push(E)},emit:function(I,E){each(this.events[I],function(L){L(E)}),I==="error"&&delete this.events[I]}};function R(I){hasProp(d,I[0])||F(y(I[0],null,!0)).init(I[1],I[2])}function T(I,E,L,O){I.detachEvent&&!isOpera?O&&I.detachEvent(O,E):I.removeEventListener(L,E,!1)}function $(I){var E=I.currentTarget||I.srcElement;return T(E,r.onScriptLoad,"load","onreadystatechange"),T(E,r.onScriptError,"error"),{node:E,id:E&&E.getAttribute("data-requiremodule")}}function M(){var I;for(D();m.length;){if(I=m.shift(),I[0]===null)return A(makeError("mismatch","Mismatched anonymous define() module: "+I[I.length-1]));R(I)}r.defQueueMap={}}return r={config:a,contextName:e,registry:l,defined:d,urlFetched:p,defQueue:m,defQueueMap:{},Module:o,makeModuleMap:y,nextTick:req.nextTick,onError:A,configure:function(I){if(I.baseUrl&&I.baseUrl.charAt(I.baseUrl.length-1)!=="/"&&(I.baseUrl+="/"),typeof I.urlArgs=="string"){var E=I.urlArgs;I.urlArgs=function(V,U){return(U.indexOf("?")===-1?"?":"&")+E}}var L=a.shim,O={paths:!0,bundles:!0,config:!0,map:!0};eachProp(I,function(V,U){O[U]?(a[U]||(a[U]={}),mixin(a[U],V,!0,!0)):a[U]=V}),I.bundles&&eachProp(I.bundles,function(V,U){each(V,function(z){z!==U&&(h[z]=U)})}),I.shim&&(eachProp(I.shim,function(V,U){isArray(V)&&(V={deps:V}),(V.exports||V.init)&&!V.exportsFn&&(V.exportsFn=r.makeShimExports(V)),L[U]=V}),a.shim=L),I.packages&&each(I.packages,function(V){var U,z;V=typeof V=="string"?{name:V}:V,z=V.name,U=V.location,U&&(a.paths[z]=V.location),a.pkgs[z]=V.name+"/"+(V.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(l,function(V,U){!V.inited&&!V.map.unnormalized&&(V.map=y(U,null,!0))}),(I.deps||I.callback)&&r.require(I.deps||[],I.callback)},makeShimExports:function(I){function E(){var L;return I.init&&(L=I.init.apply(global,arguments)),L||I.exports&&getGlobal(I.exports)}return E},makeRequire:function(I,E){E=E||{};function L(O,V,U){var z,G,W;return E.enableBuildCallback&&V&&isFunction(V)&&(V.__requireJsBuild=!0),typeof O=="string"?isFunction(V)?A(makeError("requireargs","Invalid require call"),U):I&&hasProp(i,O)?i[O](l[I.id]):req.get?req.get(r,O,I,L):(G=y(O,I,!1,!0),z=G.id,hasProp(d,z)?d[z]:A(makeError("notloaded",'Module name "'+z+'" has not been loaded yet for context: '+e+(I?"":". Use require([])")))):(M(),r.nextTick(function(){M(),W=F(y(null,I)),W.skipMap=E.skipMap,W.init(O,V,U,{enabled:!0}),B()}),L)}return mixin(L,{isBrowser,toUrl:function(O){var V,U=O.lastIndexOf("."),z=O.split("/")[0],G=z==="."||z==="..";return U!==-1&&(!G||U>1)&&(V=O.substring(U,O.length),O=O.substring(0,U)),r.nameToUrl(v(O,I&&I.id,!0),V,!0)},defined:function(O){return hasProp(d,y(O,I,!1,!0).id)},specified:function(O){return O=y(O,I,!1,!0).id,hasProp(d,O)||hasProp(l,O)}}),I||(L.undef=function(O){D();var V=y(O,I,!0),U=getOwn(l,O);U.undefed=!0,C(O),delete d[O],delete p[V.url],delete u[O],eachReverse(m,function(z,G){z[0]===O&&m.splice(G,1)}),delete r.defQueueMap[O],U&&(U.events.defined&&(u[O]=U.events),N(O))}),L},enable:function(I){var E=getOwn(l,I.id);E&&F(I).enable()},completeLoad:function(I){var E,L,O,V=getOwn(a.shim,I)||{},U=V.exports;for(D();m.length;){if(L=m.shift(),L[0]===null){if(L[0]=I,E)break;E=!0}else L[0]===I&&(E=!0);R(L)}if(r.defQueueMap={},O=getOwn(l,I),!E&&!hasProp(d,I)&&O&&!O.inited){if(a.enforceDefine&&(!U||!getGlobal(U)))return S(I)?void 0:A(makeError("nodefine","No define call for "+I,null,[I]));R([I,V.deps||[],V.exportsFn])}B()},nameToUrl:function(I,E,L){var O,V,U,z,G,W,H,K=getOwn(a.pkgs,I);if(K&&(I=K),H=getOwn(h,I),H)return r.nameToUrl(H,E,L);if(req.jsExtRegExp.test(I))G=I+(E||"");else{for(O=a.paths,V=I.split("/"),U=V.length;U>0;U-=1)if(z=V.slice(0,U).join("/"),W=getOwn(O,z),W){isArray(W)&&(W=W[0]),V.splice(0,U,W);break}G=V.join("/"),G+=E||(/^data\:|^blob\:|\?/.test(G)||L?"":".js"),G=(G.charAt(0)==="/"||G.match(/^[\w\+\.\-]+:/)?"":a.baseUrl)+G}return a.urlArgs&&!/^blob\:/.test(G)?G+a.urlArgs(I,G):G},load:function(I,E){req.load(r,I,E)},execCb:function(I,E,L,O){return E.apply(O,L)},onScriptLoad:function(I){if(I.type==="load"||readyRegExp.test((I.currentTarget||I.srcElement).readyState)){interactiveScript=null;var E=$(I);r.completeLoad(E.id)}},onScriptError:function(I){var E=$(I);if(!S(E.id)){var L=[];return eachProp(l,function(O,V){V.indexOf("_@r")!==0&&each(O.depMaps,function(U){if(U.id===E.id)return L.push(V),!0})}),A(makeError("scripterror",'Script error for "'+E.id+(L.length?'", needed by: '+L.join(", "):'"'),I,[E.id]))}}},r.require=r.makeRequire(),r}req=requirejs=function(e,t,o,r){var i,n,a=defContextName;return!isArray(e)&&typeof e!="string"&&(n=e,isArray(t)?(e=t,t=o,o=r):e=[]),n&&n.context&&(a=n.context),i=getOwn(contexts,a),i||(i=contexts[a]=req.s.newContext(a)),n&&i.configure(n),i.require(e,t,o)},req.config=function(e){return req(e)},req.nextTick=typeof setTimeout<"u"?function(e){setTimeout(e,4)}:function(e){e()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts,newContext},req({}),each(["toUrl","undef","defined","specified"],function(e){req[e]=function(){var t=contexts[defContextName];return t.require[e].apply(t,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,o){var r=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return r.type=e.scriptType||"text/javascript",r.charset="utf-8",r.async=!0,r},req.load=function(e,t,o){var r=e&&e.config||{},i;if(isBrowser)return i=req.createNode(r,t,o),i.setAttribute("data-requirecontext",e.contextName),i.setAttribute("data-requiremodule",t),i.attachEvent&&!(i.attachEvent.toString&&i.attachEvent.toString().indexOf("[native code")<0)&&!isOpera?(useInteractive=!0,i.attachEvent("onreadystatechange",e.onScriptLoad)):(i.addEventListener("load",e.onScriptLoad,!1),i.addEventListener("error",e.onScriptError,!1)),i.src=o,r.onNodeCreated&&r.onNodeCreated(i,r,t,o),currentlyAddingScript=i,baseElement?head.insertBefore(i,baseElement):head.appendChild(i),currentlyAddingScript=null,i;if(isWebWorker)try{setTimeout(function(){},0),importScripts(o),e.completeLoad(t)}catch(n){e.onError(makeError("importscripts","importScripts failed for "+t+" at "+o,n,[t]))}};function getInteractiveScript(){return interactiveScript&&interactiveScript.readyState==="interactive"||eachReverse(scripts(),function(e){if(e.readyState==="interactive")return interactiveScript=e}),interactiveScript}return isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head||(head=e.parentNode),dataMain=e.getAttribute("data-main"),dataMain)return mainScript=dataMain,!cfg.baseUrl&&mainScript.indexOf("!")===-1&&(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,t,o){var r,i;typeof e!="string"&&(o=t,t=e,e=null),isArray(t)||(o=t,t=null),!t&&isFunction(o)&&(t=[],o.length&&(o.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,function(n,a){t.push(a)}),t=(o.length===1?["require"]:["require","exports","module"]).concat(t))),useInteractive&&(r=currentlyAddingScript||getInteractiveScript(),r&&(e||(e=r.getAttribute("data-requiremodule")),i=contexts[r.getAttribute("data-requirecontext")])),i?(i.defQueue.push([e,t,o]),i.defQueueMap[e]=!0):globalDefQueue.push([e,t,o])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg),{requirejs,require,define}}const setFieldProps=(e,t,o)=>{(0,import_reactive.untracked)(()=>{e[t]===void 0&&(e[t]=o)})},setRequired=(e,t,o)=>{typeof t.required>"u"&&(e.required=!!o.required)},CollectionFieldInternalField_deprecated=e=>{var t;const o=useCompile(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{uiSchema:n,defaultValue:a}=useCollectionField(),{isAllowToSetDefaultValue:l}=useIsAllowToSetDefaultValue(),c=useComponent(((t=i["x-component-props"])==null?void 0:t.component)||(n==null?void 0:n["x-component"])||"Input"),u=useFormBlockContext(),m=useDynamicComponentProps(n==null?void 0:n["x-use-component-props"],e);return(0,import_react2.useEffect)(()=>{if(!n)return;const d=o(n);if(setFieldProps(r,"content",d["x-content"]),setFieldProps(r,"title",d.title),setFieldProps(r,"description",d.description),u!=null&&u.form){const h=l()?i.default||a:void 0;h!=null&&setFieldProps(r,"initialValue",h)}if(!r.validator&&(d["x-validator"]||i["x-validator"])){const h=(0,import_lodash.concat)([],d["x-validator"]||[],i["x-validator"]||[]);r.validator=h}i["x-disabled"]===!0&&(r.disabled=!0),i["x-read-pretty"]===!0&&(r.readPretty=!0),setRequired(r,i,d),r.dataSource=d.enum,r.data=r.data||{},r.data.dataSource=d==null?void 0:d.enum;const p=o(d["x-component-props"])||{};r.componentProps=(0,import_shared.merge)(p,r.componentProps||{},m||{})},[n]),n?(0,import_jsx_runtime.jsx)(c,x(x({},e),m)):null},CollectionFieldInternalField=e=>{var t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{uiSchema:i}=useCollectionFieldUISchema(),n=useComponent(((t=r["x-component-props"])==null?void 0:t.component)||(i==null?void 0:i["x-component"])||"Input"),a=useDynamicComponentProps(i==null?void 0:i["x-use-component-props"],e);if((0,import_react2.useEffect)(()=>{r["x-read-pretty"]===!0&&!o.readPretty&&(o.readPretty=!0),r["x-disabled"]===!0&&(o.disabled=!0),o.data=o.data||{},o.data.dataSource=i==null?void 0:i.enum},[o,r]),!i)return null;const l=x(x({},e),a);return isVariable$1(l.value)&&l.value===r.default&&(l.value=void 0),(0,import_jsx_runtime.jsx)(n,x({},l))},CollectionField$1=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)(),o=useIsInNocoBaseRecursionFieldContext();return(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t.name,children:o?(0,import_jsx_runtime.jsx)(CollectionFieldInternalField,x({},e)):(0,import_jsx_runtime.jsx)(CollectionFieldInternalField_deprecated,x({},e))})});CollectionField$1.displayName="CollectionField";const getKeyByName=e=>e?`nocobase_${e}_designable`.toUpperCase():"nocobase_designable".toUpperCase(),SchemaComponentProviderWithLocalStorageState=e=>{const[t,o]=(0,import_ahooks.useLocalStorageState)(getKeyByName(e.appName),{defaultValue:!!e.designable});return(0,import_jsx_runtime.jsx)(SchemaComponentProvider,P(x({},e),{designable:t,onDesignableChange:r=>{o(r)}}))},AppSchemaComponentProvider=e=>typeof e.designable=="boolean"?(0,import_jsx_runtime.jsx)(SchemaComponentProvider,x({},e)):(0,import_jsx_runtime.jsx)(SchemaComponentProviderWithLocalStorageState,x({},e));function getOperators(){Array.isArray||(Array.isArray=function(i){return Object.prototype.toString.call(i)==="[object Array]"});function e(i){for(var n=[],a=0,l=i.length;a<l;a++)n.indexOf(i[a])===-1&&n.push(i[a]);return n}function t(i,n){return JSON.stringify(i)===JSON.stringify(n)}var o={},r={$is:function(i,n){return i===n},$match:function(i,n){return Array.isArray(i)&&Array.isArray(n)&&i.some(a=>Array.isArray(a))?i.some(a=>(a==null?void 0:a.length)===n.length&&(a==null?void 0:a.every((l,c)=>l===n[c]))):JSON.stringify(i)===JSON.stringify(n)},$eq:function(i,n){return Array.isArray(i)&&Array.isArray(n)?t(i,n):Array.isArray(i)?i.includes(n):i==n},$ne:function(i,n){return i!=n},"!==":function(i,n){return i!==n},$gt:function(i,n){return Array.isArray(i)?i.some(a=>a>n):i>n},$gte:function(i,n){return i>=n},$lt:function(i,n,a){return Array.isArray(i)?i.some(l=>l<n):a===void 0?i<n:i<n&&n<a},$lte:function(i,n,a){return a===void 0?i<=n:i<=n&&n<=a},$exists:function(i){return o.truthy(i)},$notEmpty:function(i){return i===0||o.truthy(i)},$empty:function(i){return Array.isArray(i)||typeof i=="string"?i.length===0:i==null},$notExists:function(i){return!o.truthy(i)},"%":function(i,n){return i%n},log:function(i){return i},$in:function(i,n){return!n||typeof n.indexOf>"u"?!1:Array.isArray(i)&&Array.isArray(n)?n.some(a=>i.includes(a)):n.indexOf(i)!==-1},$notIn:function(i,n){return!n||typeof n.indexOf>"u"?!1:n.indexOf(i)===-1},$includes:function(i,n){return!i||typeof i.indexOf>"u"?!1:Array.isArray(i)?i.some(a=>a==null?void 0:a.includes(n)):i.indexOf(n)!==-1},$notIncludes:function(i,n){return Array.isArray(i)?!i.some(a=>(a||"").includes(n)):(i=i||"",!i.includes(n))},$anyOf:function(i,n){return i==null||i.length===0?!1:Array.isArray(i)&&Array.isArray(n)&&i.some(a=>Array.isArray(a))?i.some(a=>a.some(l=>n.includes(l))):i.some(a=>n.includes(a))},$noneOf:function(i,n){return!i||i.length===0||!n||n.length===0?!0:(Array.isArray(i)||(i=[i]),Array.isArray(n)||(n=[n]),!n.some(a=>i.includes(a)))},$notMatch:function(i,n){if((i==null?void 0:i.length)!==(n==null?void 0:n.length))return!0;for(let a=0;a<((i==null?void 0:i.length)||0);a++)if((i==null?void 0:i[a])!==(n==null?void 0:n[a]))return!0;return!1},$dateOn:function(i,n){if(!i||!n)return!1;if(n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n))return r.$dateBetween(i,n);const a=parseDate(i),l=parseDate(n);return!a||!l?!1:a.getTime()===l.getTime()},$dateBefore:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[0]);const a=parseDate(i),l=parseDate(n);return!a||!l?!1:a.getTime()<l.getTime()},$dateNotBefore:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[0]);const a=parseDate(i),l=parseDate(n);if(!a||!l)throw new Error("Invalid date format");return a.getTime()>=l.getTime()},$dateAfter:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[1]);const a=parseDate(i),l=parseDate(n);return a.getTime()>l.getTime()},$dateNotAfter:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[1]);const a=parseDate(i),l=parseDate(n);if(!a||!l)throw new Error("Invalid date format");return a.getTime()<=l.getTime()},$dateBetween:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n));const a=parseDate(i),l=parseFullDate(n[0]),c=parseFullDate(n[1]);if(!a||!l||!c)throw new Error("Invalid date format");return a.getTime()>=l.getTime()&&a.getTime()<=c.getTime()},$dateNotOn:function(i,n){if(!i||!n)return!1;if(n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n))return!r.$dateBetween(i,n);const a=parseDate(i),l=parseDate(n);return a.getTime()!==l.getTime()},$isTruly:function(i){return Array.isArray(i)?i.some(n=>n===!0||n===1):i===!0||i===1},$isFalsy:function(i){return Array.isArray(i)?i.some(n=>!o.truthy(n)):!o.truthy(i)},cat:function(){return Array.prototype.join.call(arguments,"")},substr:function(i,n,a){if(a<0){var l=String(i).substr(n);return l.substr(0,l.length+a)}return String(i).substr(n,a)},"+":function(){return Array.prototype.reduce.call(arguments,function(i,n){return parseFloat(i,10)+parseFloat(n,10)},0)},"*":function(){return Array.prototype.reduce.call(arguments,function(i,n){return parseFloat(i,10)*parseFloat(n,10)})},"-":function(i,n){return n===void 0?-i:i-n},"/":function(i,n){return i/n},min:function(){return Math.min.apply(this,arguments)},max:function(){return Math.max.apply(this,arguments)},merge:function(){return Array.prototype.reduce.call(arguments,function(i,n){return i.concat(n)},[])},var:function(i,n){var a=n===void 0?null:n,l=this;if(typeof i>"u"||i===""||i===null)return l;for(var c=String(i).split("."),u=0;u<c.length;u++)if(l==null||(l=l[c[u]],l===void 0))return a;return l},missing:function(){for(var i=[],n=Array.isArray(arguments[0])?arguments[0]:arguments,a=0;a<n.length;a++){var l=n[a],c=o.apply({var:l},this);(c===null||c==="")&&i.push(l)}return i},missing_some:function(i,n){var a=o.apply({missing:n},this);return n.length-a.length>=i?[]:a}};return o.is_logic=function(i){return typeof i=="object"&&i!==null&&!Array.isArray(i)&&Object.keys(i).length===1&&!i.type},o.truthy=function(i){return Array.isArray(i)&&i.length===0?!1:!!i},o.getOperator=function(i){return Object.keys(i)[0]},o.getValues=function(i){return i[o.getOperator(i)]},o.apply=function(i,n){if(Array.isArray(i))return i.map(function(_){return o.apply(_,n)});if(!o.is_logic(i))return i;var a=o.getOperator(i),l=i[a],c,u,m,d,p;if(Array.isArray(l)||(l=[l]),a==="if"||a=="?:"){for(c=0;c<l.length-1;c+=2)if(o.truthy(o.apply(l[c],n)))return o.apply(l[c+1],n);return l.length===c+1?o.apply(l[c],n):null}else if(a==="$and"){for(c=0;c<l.length;c+=1)if(u=o.apply(l[c],n),!o.truthy(u))return u;return u}else if(a==="or"){for(c=0;c<l.length;c+=1)if(u=o.apply(l[c],n),o.truthy(u))return u;return u}else{if(a==="filter")return d=o.apply(l[0],n),m=l[1],Array.isArray(d)?d.filter(function(_){return o.truthy(o.apply(m,_))}):[];if(a==="map")return d=o.apply(l[0],n),m=l[1],Array.isArray(d)?d.map(function(_){return o.apply(m,_)}):[];if(a==="reduce")return d=o.apply(l[0],n),m=l[1],p=typeof l[2]<"u"?l[2]:null,Array.isArray(d)?d.reduce(function(_,f){return o.apply(m,{current:f,accumulator:_})},p):p;if(a==="all"){if(d=o.apply(l[0],n),m=l[1],!Array.isArray(d)||!d.length)return!1;for(c=0;c<d.length;c+=1)if(!o.truthy(o.apply(m,d[c])))return!1;return!0}else if(a==="none"){if(d=o.apply(l[0],n),m=l[1],!Array.isArray(d)||!d.length)return!0;for(c=0;c<d.length;c+=1)if(o.truthy(o.apply(m,d[c])))return!1;return!0}else if(a==="some"){if(d=o.apply(l[0],n),m=l[1],!Array.isArray(d)||!d.length)return!1;for(c=0;c<d.length;c+=1)if(o.truthy(o.apply(m,d[c])))return!0;return!1}}if(l=l.map(function(_){return o.apply(_,n)}),r.hasOwnProperty(a)&&typeof r[a]=="function")return r[a].apply(n,l);if(a.indexOf(".")>0){var h=String(a).split("."),g=r;for(c=0;c<h.length;c++){if(!g.hasOwnProperty(h[c]))throw new Error("Unrecognized operation "+a+" (failed at "+h.slice(0,c+1).join(".")+")");g=g[h[c]]}return g.apply(n,l)}throw new Error("Unrecognized operation "+a)},o.uses_data=function(i){var n=[];if(o.is_logic(i)){var a=o.getOperator(i),l=i[a];Array.isArray(l)||(l=[l]),a==="var"?n.push(l[0]):l.forEach(function(c){n.push.apply(n,o.uses_data(c))})}return e(n)},o.addOperation=function(i,n){r[i]=n},o.rmOperation=function(i){delete r[i]},o.rule_like=function(i,n){if(n===i||n==="@")return!0;if(n==="number")return typeof i=="number";if(n==="string")return typeof i=="string";if(n==="array")return Array.isArray(i)&&!o.is_logic(i);if(o.is_logic(n)){if(o.is_logic(i)){var a=o.getOperator(n),l=o.getOperator(i);if(a==="@"||a===l)return o.rule_like(o.get_values(i,!1),o.get_values(n,!1))}return!1}if(Array.isArray(n))if(Array.isArray(i)){if(n.length!==i.length)return!1;for(var c=0;c<n.length;c+=1)if(!o.rule_like(i[c],n[c]))return!1;return!0}else return!1;return!1},o}function parseFullDate(e){return e.includes("T")&&e.endsWith("Z")?new Date(e):e.includes(" ")?new Date(e.replace(" ","T")):new Date(`${e}T00:00:00`)}function parseMonth(e){const[t,o]=e.split("-").map(Number);return new Date(t,o-1)}function parseQuarter(e){const t=parseInt(e.slice(0,4)),o=(parseInt(e.slice(5,6))-1)*3;return new Date(t,o)}function parseYear(e){const t=parseInt(e);return new Date(t,0)}function parseDate(e){var t;let o=Array.isArray(e)?(t=e[1])!=null?t:e[0]:e;return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(o)?new Date(o):/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(o)?new Date(o.replace(" ","T")):/^\d{4}-\d{2}-\d{2}$/.test(o)?parseFullDate(o):/^\d{4}-\d{2}$/.test(o)?parseMonth(o):/^\d{4}Q[1-4]$/.test(o)?parseQuarter(o):/^\d{4}$/.test(o)?parseYear(o):null}class Application{constructor(t={}){k(this,"eventBus",new EventTarget),k(this,"providers",[]),k(this,"router"),k(this,"scopes",{}),k(this,"i18n"),k(this,"ws"),k(this,"apiClient"),k(this,"components",P(x(x({DataBlockProvider},defaultAppComponents),schemaInitializerComponents),{CollectionField:CollectionField$1})),k(this,"pluginManager"),k(this,"pluginSettingsManager"),k(this,"devDynamicImport"),k(this,"requirejs"),k(this,"notification"),k(this,"schemaInitializerManager"),k(this,"schemaSettingsManager"),k(this,"dataSourceManager"),k(this,"name"),k(this,"favicon"),k(this,"globalVars",{}),k(this,"globalVarCtxs",{}),k(this,"jsonLogic"),k(this,"loading",!0),k(this,"maintained",!1),k(this,"maintaining",!1),k(this,"error",null),k(this,"hasLoadError",!1),k(this,"wsAuthorized",!1),k(this,"variables",[]),this.options=t,this.initRequireJs(),(0,import_reactive.define)(this,{maintained:import_reactive.observable.ref,loading:import_reactive.observable.ref,maintaining:import_reactive.observable.ref,error:import_reactive.observable.ref}),this.devDynamicImport=t.devDynamicImport,this.scopes=(0,import_merge.default)(this.scopes,t.scopes),this.components=(0,import_merge.default)(this.components,t.components),this.apiClient=t.apiClient instanceof APIClient?t.apiClient:new APIClient(t.apiClient),this.apiClient.app=this,this.i18n=t.i18n||i18n,this.router=new RouterManager(t.router,this),this.schemaSettingsManager=new SchemaSettingsManager(t.schemaSettings,this),this.pluginManager=new PluginManager$1(t.plugins,t.loadRemotePlugins,this),this.schemaInitializerManager=new SchemaInitializerManager(t.schemaInitializers,this),this.dataSourceManager=new DataSourceManager(t.dataSourceManager,this),this.addDefaultProviders(),this.addReactRouterComponents(),this.addProviders(t.providers||[]),this.ws=new WebSocketClient(t.ws),this.ws.app=this,this.pluginSettingsManager=new PluginSettingsManager(t.pluginSettings,this),this.addRoutes(),this.name=this.options.name||(0,import_sdk.getSubAppName)(t.publicPath)||"main",this.i18n.on("languageChanged",o=>{this.apiClient.auth.locale=o}),this.initListeners(),this.jsonLogic=getOperators()}get pm(){return this.pluginManager}get disableAcl(){return this.options.disableAcl}get isWsAuthorized(){return this.wsAuthorized}updateFavicon(t){let o=document.querySelector('link[rel="shortcut icon"]');t&&(this.favicon=t),o?o.href=this.favicon||"/favicon/favicon.ico":(o=document.createElement("link"),o.rel="shortcut icon",o.href=this.favicon||"/favicon/favicon.ico",document.head.appendChild(o))}setWsAuthorized(t){this.wsAuthorized=t}initListeners(){this.eventBus.addEventListener("auth:tokenChanged",t=>{this.setTokenInWebSocket(t.detail)}),this.eventBus.addEventListener("maintaining:end",()=>{this.apiClient.auth.token&&this.setTokenInWebSocket({token:this.apiClient.auth.token,authenticator:this.apiClient.auth.getAuthenticator()})})}setTokenInWebSocket(t){const{token:o,authenticator:r}=t;this.maintaining||this.ws.send(JSON.stringify({type:"auth:token",payload:{token:o,authenticator:r}}))}setMaintaining(t){this.maintaining!==t&&(this.maintaining=t,t||this.eventBus.dispatchEvent(new Event("maintaining:end")))}initRequireJs(){this.requirejs=getRequireJs(),defineGlobalDeps(this.requirejs),window.define=this.requirejs.define}addDefaultProviders(){this.use(APIClientProvider,{apiClient:this.apiClient}),this.use(import_react_i18next.I18nextProvider,{i18n:this.i18n}),this.use(GlobalThemeProvider),this.use(CSSVariableProvider),this.use(AppSchemaComponentProvider,{designable:this.options.designable,appName:this.name,components:this.components,scope:this.scopes}),this.use(AntdAppProvider),this.use(DataSourceApplicationProvider,{dataSourceManager:this.dataSourceManager}),this.use(OpenModeProvider)}addReactRouterComponents(){this.addComponents({Link:import_react_router_dom.Link,Navigate:import_react_router_dom.Navigate,NavLink:import_react_router_dom.NavLink})}addRoutes(){this.router.add("not-found",{path:"*",Component:this.components.AppNotFound})}getOptions(){return this.options}getName(){return(0,import_sdk.getSubAppName)(this.getPublicPath())||null}getPublicPath(){let t=this.options.publicPath||"/";return t.endsWith("/")||(t+="/"),t}getApiUrl(t=""){let o=this.apiClient.axios.defaults.baseURL;if(!o.startsWith("http://")&&!o.startsWith("https://")){const{protocol:r,host:i}=window.location;o=`${r}//${i}${o}`}return o.replace(/\/$/g,"")+"/"+t.replace(/^\//g,"")}getRouteUrl(t){return this.getPublicPath()+t.replace(/^\//g,"")}getHref(t){const o=this.name;return o&&o!=="main"?this.getPublicPath()+"apps/"+o+"/"+t.replace(/^\//g,""):this.getPublicPath()+t.replace(/^\//g,"")}getCollectionManager(t){var o;return(o=this.dataSourceManager.getDataSource(t))==null?void 0:o.collectionManager}getComposeProviders(){const t=compose(...this.providers)(BlankComponent);return t.displayName="Providers",t}use(t,o){return this.addProvider(t,o)}addProvider(t,o){return this.providers.push([t,o])}addProviders(t){t.forEach(o=>{Array.isArray(o)?this.addProvider(o[0],o[1]):this.addProvider(o)})}load(){return q(this,null,function*(){var t,o,r,i,n;try{this.loading=!0,yield this.loadWebSocket(),yield this.pm.load()}catch(a){this.hasLoadError=!0,((i=(r=(o=(t=a==null?void 0:a.response)==null?void 0:t.data)==null?void 0:o.errors)==null?void 0:r[0])==null?void 0:i.code)==="BLOCKED_IP"&&(this.hasLoadError=!1),this.ws.enabled&&(yield new Promise(l=>{setTimeout(()=>l(null),1e3)})),this.error=x({code:"LOAD_ERROR"},(n=this.apiClient.toErrMessages(a))==null?void 0:n[0]),console.error(a,this.error)}this.loading=!1,this.updateFavicon()})}loadWebSocket(){return q(this,null,function*(){this.eventBus.addEventListener("ws:message:authorized",()=>{this.setWsAuthorized(!0)}),this.ws.on("message",t=>{var o,r,i;const n=JSON.parse(t.data);if((o=n==null?void 0:n.payload)!=null&&o.refresh){window.location.reload();return}if(n.type==="notification"){this.notification[((r=n.payload)==null?void 0:r.type)||"info"]({message:(i=n.payload)==null?void 0:i.message});return}if(n.type==="maintaining"&&n.payload.code!=="APP_RUNNING")this.setMaintaining(!0),this.error=n.payload;else{this.hasLoadError&&window.location.reload(),this.setMaintaining(!1),this.maintained=!0,this.error=null;const a=n.type;if(!a)return;const l=`ws:message:${a}`;this.eventBus.dispatchEvent(new CustomEvent(l,{detail:n.payload}))}}),this.ws.on("serverDown",()=>{this.maintaining=!0,this.maintained=!1}),this.ws.on("open",()=>{const t=this.apiClient.auth.token;t&&this.setTokenInWebSocket({token:t,authenticator:this.apiClient.auth.getAuthenticator()})}),this.ws.connect()})}getComponent(t,o=!0){const r=i=>o&&console.error(i);if(!t){r(`getComponent called with ${t}`);return}if(typeof t=="function")return t;if(typeof t=="string"){const i=(0,import_get.default)(this.components,t);if(!i){r(`Component ${t} not found`);return}return i}r(`Component ${t} should be a string or a React component`)}renderComponent(t,o,r){return import_react2.default.createElement(this.getComponent(t),o,r)}addComponent(t,o){const r=o||t.displayName||t.name;if(!r){console.error("Component must have a displayName or pass name as second argument");return}(0,import_set.default)(this.components,r,t)}addComponents(t){Object.keys(t).forEach(o=>{this.addComponent(t[o],o)})}addScopes(t){this.scopes=(0,import_merge.default)(this.scopes,t)}getRootComponent(){return({children:t})=>(0,import_jsx_runtime.jsx)(AppComponent,{app:this,children:t})}mount(t){const o=normalizeContainer(t);if(!o)return;const r=this.getRootComponent(),i=(0,import_client2.createRoot)(o);return i.render((0,import_jsx_runtime.jsx)(r,{})),i}addFieldInterfaces(t=[]){return this.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaces(t)}addFieldInterfaceComponentOption(t,o){return this.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceComponentOption(t,o)}addFieldInterfaceOperator(t,o){return this.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceOperator(t,o)}addGlobalVar(t,o,r){(0,import_set.default)(this.globalVars,t,o),r&&(0,import_set.default)(this.globalVarCtxs,t,r)}getGlobalVar(t){return(0,import_get.default)(this.globalVars,t)}getGlobalVarCtx(t){return(0,import_get.default)(this.globalVarCtxs,t)}addUserCenterSettingsItem(t){const o=t.useVisible||(()=>!0),r=()=>{const{allow:i}=useAclSnippets();return o()?t.aclSnippet?i(t.aclSnippet):!0:!1};this.schemaSettingsManager.addItem("userCenterSettings",t.name,P(x({},t),{useVisible:r}))}registerVariable(t){if(this.variables.find(o=>o.name===t.name)){console.warn(`Variable ${t.name} already registered`);return}this.variables.push(t)}getVariables(){return this.variables}}function getNewSchema(e){const{fieldSchema:t,schemaKey:o,parentSchemaKey:r,value:i,valueKeys:n}=e;if(o)import_lodash.default.set(t,o,i);else if(r){if(i==null)return t;typeof i=="object"?Object.keys(i).forEach(a=>{n&&!n.includes(a)||import_lodash.default.set(t,`${r}.${a}`,i[a])}):console.error("value must be object")}return t}const useHookDefault=e=>e,useSchemaByType=(e="common")=>{const t=(0,import_react.useFieldSchema)(),{fieldSchema:o}=useColumnSchema$1()||{};return e==="field"&&o||t};function createModalSettingsItem(e){const{name:t,parentSchemaKey:o,valueKeys:r,schema:i,title:n,useSubmit:a=useHookDefault,useVisible:l,defaultValue:c,useDefaultValue:u=useHookDefault,width:m,type:d="common"}=e;return{name:t,type:"actionModal",useVisible:l,useComponentProps(){const p=useSchemaByType(d),{dn:h}=useDesignable(),g=u(c),_=o?import_lodash.default.get(p,o):void 0,f=useCompile(),{t:v}=(0,import_react_i18next.useTranslation)(),C=a(),{fieldSchema:S}=useColumnSchema$1()||{};return{title:typeof n=="function"?n(v):f(n),width:m,schema:i(x(x({},g),_)),onSubmit(b){const y=getNewSchema({fieldSchema:p,parentSchemaKey:o,value:b,valueKeys:r});return S?(h.emit("patch",{schema:y}),h.refresh()):h.deepMerge(y),C==null?void 0:C(b)}}}}}const createSelectSchemaSettingsItem=e=>{const{name:t,title:o,options:r,useOptions:i=useHookDefault,schemaKey:n,useVisible:a,type:l="common",defaultValue:c,useDefaultValue:u=useHookDefault}=e;return{name:t,type:"select",useVisible:a,useComponentProps(){const m=useSchemaByType(l),{fieldSchema:d}=useColumnSchema$1()||{},{dn:p}=useDesignable(),h=i(r),g=u(c),_=useCompile(),{t:f}=(0,import_react_i18next.useTranslation)();return{title:typeof o=="function"?o(f):_(o),options:h,value:import_lodash.default.get(m,n,g),onChange(v){const C=getNewSchema({fieldSchema:m,schemaKey:n,value:v});d?(p.emit("patch",{schema:C}),p.refresh()):p.deepMerge(C)}}}}};function createSwitchSettingsItem(e){const{name:t,useVisible:o,schemaKey:r,title:i,type:n="common",defaultValue:a,useDefaultValue:l=useHookDefault,useComponentProps:c}=e;return{name:t,useVisible:o,type:"switch",useComponentProps(){const u=useSchemaByType(n),{dn:m}=useDesignable(),d=l(a),p=useCompile(),{t:h}=(0,import_react_i18next.useTranslation)(),{fieldSchema:g}=useColumnSchema$1()||{},_=c==null?void 0:c();return{title:typeof i=="function"?i(h):p(i),checked:(_==null?void 0:_.checked)===void 0?!!import_lodash.default.get(u,r,d):_==null?void 0:_.checked,onChange(f){var v;(v=_==null?void 0:_.onChange)==null||v.call(_,f);const C=getNewSchema({fieldSchema:u,schemaKey:r,value:f});g?(m.emit("patch",{schema:C}),m.refresh()):m.deepMerge(C)}}}}}function createTextSettingsItem(e){const{name:t,useVisible:o,title:r,useTextClick:i=useHookDefault}=e;return{name:t,type:"item",useVisible:o,useComponentProps(){const n=useCompile(),{t:a}=(0,import_react_i18next.useTranslation)(),l=i();return{title:typeof r=="function"?r(a):n(r),onClick:l}}}}const linkageAction$1=(e,t)=>q(void 0,[e,t],function*({operator:o,condition:r,variables:i,localVariables:n,conditionType:a,displayResult:l},c){switch(o){case"visible":return(yield conditionAnalyses({ruleGroup:r,variables:i,localVariables:n,conditionType:a},c))&&l.push("visible"),l;case"hidden":return(yield conditionAnalyses({ruleGroup:r,variables:i,localVariables:n,conditionType:a},c))&&l.push("hidden"),l;default:return null}}),useReactiveLinkageEffect=(e,t,o,r)=>{const i=useApp().jsonLogic,[n,a]=(0,import_react2.useState)(null),l=useCollectionRecord();return(0,import_react2.useEffect)(()=>{q(void 0,null,function*(){const c=[];for(const u of e.filter(m=>!m.disabled))for(const m of u.actions||[])yield linkageAction$1({operator:m.operator,condition:u.condition,variables:t,localVariables:o,conditionType:u.conditionType,displayResult:c},i);a(c)})},[e,r,l]),n};function forEachLinkageRule(e,t){e.forEach(o=>{var r;(r=o.actions)==null||r.forEach(i=>{t(i,o)})})}const getLinkageRules$2=e=>{if(!e)return[];let t=(e==null?void 0:e["x-block-linkage-rules"])||[];return e.mapProperties(o=>{o["x-block-linkage-rules"]&&(t=o["x-block-linkage-rules"])}),t==null?void 0:t.filter(o=>!o.disabled)},BlockLinkageRuleProvider=e=>{const t=(0,import_react.useFieldSchema)(),o=useVariables$1(),r=useLocalVariables$1(),{designable:i}=useDesignable(),n=(0,import_react.useForm)(),a=(0,import_react2.useMemo)(()=>getLinkageRules$2(t),[t]),[l,c]=(0,import_react2.useState)(null),u=useReactiveLinkageEffect(a,o,r,l),m=(t==null?void 0:t["x-decorator"])==="FormItem"&&!n.readPretty&&a.length;return(0,import_react2.useEffect)(()=>{if(m){const d=(0,import_shared.uid)();return setTimeout(()=>{n.addEffects(d,()=>{forEachLinkageRule(a,(p,h)=>(0,import_reactive.reaction)(()=>{const g=getVariableValuesInCondition({linkageRules:a,localVariables:r}),_=getVariableValuesInExpression({action:p,localVariables:r});return[g,_].map(f=>JSON.stringify(f)).join(",")},()=>{c((0,import_shared.uid)())},{fireImmediately:!0,equals:import_lodash.isEqual}))})}),()=>{n.removeEffects(d)}}},[a,m]),a.length?u===null?null:(0,import_lodash.last)(u)==="hidden"?i?(0,import_jsx_runtime.jsx)("div",{style:{opacity:.3},children:e.children}):null:e.children:e.children},DataBlockContext=(0,import_react2.createContext)({});DataBlockContext.displayName="DataBlockContext";const DataBlockResourceContext=(0,import_react2.createContext)(null),RerenderDataBlockProvider=({children:e})=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_react2.useMemo)(()=>({rerenderDataBlock:()=>{o(!0),setTimeout(()=>{o(!1)})}}),[]);return t?null:(0,import_jsx_runtime.jsx)(DataBlockResourceContext.Provider,{value:r,children:e})},AssociationOrCollectionProvider=e=>{const{collection:t,association:o,allowNull:r=!1}=e,i=(0,import_react2.useMemo)(()=>o?{Component:AssociationProvider,name:o}:{Component:SanitizedCollectionProvider,name:t},[t,o]);return(0,import_jsx_runtime.jsx)(i.Component,{name:i.name,allowNull:r,children:e.children})},DataBlockProvider=withDynamicSchemaProps(import_react2.default.memo(e=>{const t=e,{collection:o,association:r,dataSource:i,children:n,hidden:a}=t,l=Y(t,["collection","association","dataSource","children","hidden"]),{dn:c}=useDesignable(),u=(0,import_react.useFieldSchema)();return a?null:(0,import_jsx_runtime.jsx)(VariableScope,{scopeId:u==null?void 0:u["x-uid"],type:"dataBlock",children:(0,import_jsx_runtime.jsx)(DataBlockContext.Provider,{value:{dn:c,props:P(x({},l),{collection:o,association:r,dataSource:i})},children:(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{dataSource:i,children:(0,import_jsx_runtime.jsx)(AssociationOrCollectionProvider,{collection:o,association:r,children:(0,import_jsx_runtime.jsx)(ACLCollectionProvider,{children:(0,import_jsx_runtime.jsx)(BlockLinkageRuleProvider,{children:(0,import_jsx_runtime.jsx)(DataBlockResourceProvider,{children:(0,import_jsx_runtime.jsx)(BlockRequestProvider,{children:(0,import_jsx_runtime.jsx)(DataBlockCollector,{params:e.params,children:(0,import_jsx_runtime.jsx)(RerenderDataBlockProvider,{children:n})})})})})})})})})})}),{displayName:"DataBlockProvider"}),useDataBlock=()=>{const e=(0,import_react2.useContext)(DataBlockContext);if(!e)throw new Error("useDataBlock() must be used within a DataBlockProvider");return e},useDataBlockProps=()=>useDataBlock().props,useRerenderDataBlock=()=>{const e=(0,import_react2.useContext)(DataBlockResourceContext);if(!e)throw new Error("useRerenderDataBlock() must be used within a DataBlockProvider");return e},BlockRequestRefContext=(0,import_react2.createContext)(null);BlockRequestRefContext.displayName="BlockRequestRefContext";const BlockRequestLoadingContext=(0,import_react2.createContext)(!1);BlockRequestLoadingContext.displayName="BlockRequestLoadingContext";const BlockRequestDataContext=(0,import_react2.createContext)(null);BlockRequestDataContext.displayName="BlockRequestDataContext";function useRecordRequest(e){const t=useDataLoadingMode(),o=useDataBlockResource(),{action:r,params:i={},record:n,requestService:a,requestOptions:l,sourceId:c,association:u,parentRecord:m}=e,d=useAPIClient(),p=useDataBlockProps(),h=useDataSourceHeaders(p.dataSource),g=useSourceKey(u),[_,f]=(0,import_react2.useMemo)(()=>[JSON.stringify(i),JSON.stringify(n)],[i,n]),{isBlockTemplate:v,templateFinished:C}=useTemplateBlockContext(),S=F=>{var j;if(n)return Promise.resolve({data:n});if(!r)throw new Error("[nocobase]: The 'action' parameter is missing in the 'DataBlockRequestProvider' component");if(r==="get"&&import_lodash.default.isNil(i.filterByTk))return console.warn('[nocobase]: The "filterByTk" parameter is missing in the "DataBlockRequestProvider" component');const A=i.filterByTk===void 0?import_lodash.default.omit(i,"filterByTk"):i,D=x(x({},A),F);return(j=o[r])==null?void 0:j.call(o,D).then(N=>N.data)},b=(...F)=>v!=null&&v()&&!C?null:(a||S)(...F),y=useRequest((...F)=>q(this,null,function*(){const[j,A]=yield Promise.all([b(...F),requestParentRecordData({sourceId:c,association:u,parentRecord:m,api:d,headers:h,sourceKey:g})]);return j&&(j.parentRecord=A==null?void 0:A.data),j}),P(x({},l),{manual:t==="manual",ready:!!r,refreshDeps:[r,_,f,o,u,m,c,C]}));return y._defaultParams=i,y}function requestParentRecordData(e){return q(this,arguments,function*({sourceId:t,association:o,parentRecord:r,api:i,headers:n,sourceKey:a}){if(r)return Promise.resolve({data:r});if(!o||!a||!t)return Promise.resolve({data:void 0});const l=`${o.split(".")[0]}:get?filter[${a}]=${t}`;return(yield i.request({url:l,headers:n})).data})}const BlockRequestContextProvider=e=>{var t,o,r,i,n,a;const l=(0,import_react2.useRef)(e.recordRequest),c=(0,import_react2.useRef)((t=e.recordRequest)==null?void 0:t.data),{active:u}=useKeepAlive(),m=(0,import_react2.useRef)(u),d=(0,import_react2.useDeferredValue)(u),p=useDataBlockProps();return d&&!m.current&&(import_lodash.default.isNil(p.dataLoadingMode)||p.dataLoadingMode==="auto")&&((o=e.recordRequest)==null||o.refresh()),d&&m.current&&!((r=e.recordRequest)!=null&&r.loading)&&!import_lodash.default.isEqual(c.current,(i=e.recordRequest)==null?void 0:i.data)&&(c.current=(n=e.recordRequest)==null?void 0:n.data),d!==m.current&&(m.current=d),l.current=e.recordRequest,(0,import_jsx_runtime.jsx)(BlockRequestRefContext.Provider,{value:l,children:(0,import_jsx_runtime.jsx)(BlockRequestLoadingContext.Provider,{value:(a=e.recordRequest)==null?void 0:a.loading,children:(0,import_jsx_runtime.jsx)(BlockRequestDataContext.Provider,{value:c.current,children:e.children})})})},BlockRequestProvider=import_react2.default.memo(({children:e})=>{var t,o;const r=useDataBlockProps(),{action:i,filterByTk:n,sourceId:a,params:l=EMPTY_OBJECT,association:c,collection:u,record:m,parentRecord:d,requestOptions:p,requestService:h}=r,g=(0,import_react2.useMemo)(()=>P(x({},l),{filterByTk:n||l.filterByTk}),[n,l]),_=useRecordRequest({action:i,sourceId:a,record:m,association:c,collection:u,requestOptions:p,requestService:h,params:g,parentRecord:d}),f=(t=_.data)==null?void 0:t.parentRecord,v=(0,import_react2.useMemo)(()=>f&&new CollectionRecord({isNew:!1,data:f instanceof CollectionRecord?f.data:f}),[f]);return(0,import_jsx_runtime.jsx)(BlockRequestContextProvider,{recordRequest:_,children:i!=="list"?(0,import_jsx_runtime.jsx)(CollectionRecordProvider,{isNew:i==null,record:((o=_.data)==null?void 0:o.data)||m,parentRecord:v||d,children:e}):(0,import_jsx_runtime.jsx)(CollectionRecordProvider,{isNew:!1,record:null,parentRecord:v||d,children:e})})});BlockRequestProvider.displayName="DataBlockRequestProvider";const useDataBlockRequest=()=>{const e=(0,import_react2.useContext)(BlockRequestRefContext),t=(0,import_react2.useContext)(BlockRequestLoadingContext),o=(0,import_react2.useContext)(BlockRequestDataContext);return(0,import_react2.useMemo)(()=>e?P(x({},e.current),{loading:t,data:o}):null,[e,o,t])},useDataBlockRequestGetter=()=>{const e=(0,import_react2.useContext)(BlockRequestRefContext);return(0,import_react2.useMemo)(()=>({getDataBlockRequest:()=>e?e.current:null}),[e])},useDataBlockRequestData=()=>(0,import_react2.useContext)(BlockRequestDataContext),FilterContext$1=(0,import_react2.createContext)(null);FilterContext$1.displayName="FilterContext";const FilterBlockProvider=import_react2.default.memo(({children:e})=>{const t=import_react2.default.useRef([]),o=(0,import_react2.useCallback)(n=>{typeof n=="function"?t.current=n(t.current):t.current=n},[]),r=(0,import_react2.useCallback)(()=>t.current,[]),i=(0,import_react2.useMemo)(()=>({getDataBlocks:r,setDataBlocks:o}),[r,o]);return(0,import_jsx_runtime.jsx)(FilterContext$1.Provider,{value:i,children:e})});FilterBlockProvider.displayName="FilterBlockProvider";const DataBlockCollector=({children:e,params:t})=>{const o=useCollection(),{recordDataBlocks:r}=useFilterBlock(),{getDataBlockRequest:i}=useDataBlockRequestGetter(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useAssociatedFields(),c=(0,import_react2.useRef)(null),u=useDataLoadingMode(),m=n&&n.decoratorType!=="FilterFormBlockProvider"&&n.decoratorType!=="FormBlockProvider"&&n.decoratorProps.blockType!=="filter",d=(0,import_react2.useCallback)(()=>{const p=i();r({uid:a["x-uid"],title:n.componentProps.title,doFilter:p.runAsync,collection:o,associatedFields:l,foreignKeyFields:o==null?void 0:o.getFields("isForeignKey"),defaultFilter:(t==null?void 0:t.filter)||{},service:p,dom:c.current,dataLoadingMode:u,clearFilter(h){var g,_,f;const v=((g=this.service.params)==null?void 0:g[0])||{},C=((f=(_=this.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};delete C[h];const S=mergeFilter([...Object.values(C).map(b=>removeNullCondition(b)),(t==null?void 0:t.filter)||{}]);this.service.run(P(x({},v),{page:1,filter:S}),{filters:C})},clearData(){this.service.mutate(void 0)},clearSelection(){var h,g;n&&((g=(h=n.data)==null?void 0:h.clearSelectedRowKeys)==null||g.call(h))},highlightBlock(){var h;const g=c.current;if(!g)return;const _=g.querySelector(".ant-nb-schema-toolbar");_&&_.classList.remove("hidden"),g.style.boxShadow="0 3px 12px rgba(0, 0, 0, 0.15)",g.style.transition="box-shadow 0.3s ease, transform 0.2s ease",(h=g.scrollIntoView)==null||h.call(g,{behavior:"smooth",block:"start"})},unhighlightBlock(){const h=c.current;if(!h)return;const g=h.querySelector(".ant-nb-schema-toolbar");g&&g.classList.add("hidden"),h.style.boxShadow="none",h.style.transition="box-shadow 0.3s ease, transform 0.2s ease"}})},[l,o,u,a,t==null?void 0:t.filter,r,i,n]);return(0,import_react2.useEffect)(()=>{m&&d()},[d,m]),(0,import_jsx_runtime.jsx)("div",{ref:c,children:e})},useFilterBlock=()=>{const e=import_react2.default.useContext(FilterContext$1),t=useAllDataBlocks(),o=(0,import_react2.useCallback)(()=>(e==null?void 0:e.getDataBlocks())||[],[e]),r=(0,import_react2.useCallback)(n=>{t.recordDataBlocks(n);const a=e==null?void 0:e.getDataBlocks().find(l=>l.uid===n.uid);if(a){Object.assign(a,n);return}e==null||e.setDataBlocks(l=>[...l,n])},[e]),i=(0,import_react2.useCallback)(n=>{t.removeDataBlock(n),!(e!=null&&e.getDataBlocks().every(a=>a.uid!==n))&&(e==null||e.setDataBlocks(a=>a.filter(l=>l.uid!==n)))},[e]);return e?{recordDataBlocks:r,getDataBlocks:o,removeDataBlock:i,inProvider:!0}:{inProvider:!1,recordDataBlocks:import_lodash.default.noop,getDataBlocks:o,removeDataBlock:import_lodash.default.noop}},MarkdownVoidDesigner=()=>{const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{children:[(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:t("Edit markdown"),onClick:()=>{e.editable=!0}}),(0,import_jsx_runtime.jsx)(SchemaSettingsRenderEngine,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsBlockHeightItem,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})};class QRCodeWebComponent extends HTMLElement{constructor(){super(),k(this,"root"),this.attachShadow({mode:"open"}),this.root=null}getProps(t,o={}){return[...t].filter(r=>r.name!=="style").map(r=>this.convert(o,r.name,r.value)).reduce((r,i)=>P(x({},r),{[i.name]:i.value}),{})}convert(t,o,r){const i=Object.keys(t).find(a=>a.toLowerCase()==o);let n=r;return r==="true"||r==="false"?n=r=="true":!isNaN(r)&&r!==""?n=+r:/^{.*}/.exec(r)&&(n=JSON.parse(r)),{name:i||o,value:n}}connectedCallback(){const t=x({},this.getProps(this.attributes));this.root=(0,import_client2.createRoot)(this.shadowRoot),this.root.render((0,import_jsx_runtime.jsx)(import_antd.QRCode,x({},t)))}disconnectedCallback(){this.root.unmount()}}function registerQrcodeWebComponent(){customElements.get("qr-code")||customElements.define("qr-code",QRCodeWebComponent)}const useStyles$a=genStyleHook("nb-markdown",(e,{isDarkTheme:t})=>{const{componentCls:o}=e,r=new import_tinycolor.TinyColor(e.colorFillAlter).onBackground(e.colorBgContainer).toHexShortString(),i={lineHeight:"inherit","&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:e.colorFillQuaternary,border:`1px solid ${e.colorBorder}`,borderRadius:e.borderRadiusSM},blockquote:{borderLeft:"4px solid #ccc",paddingLeft:"20px",marginLeft:"0",color:"#666",fontStyle:"italic"},img:{maxWidth:"100%"},".hljs":{background:"#f8f8f8",color:"#444"},".hljs-comment":{color:"#697070"},".hljs-punctuation,.hljs-tag":{color:"#444a"},".hljs-tag .hljs-attr,.hljs-tag .hljs-name":{color:"#444"},".hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag":{fontWeight:700},".hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type":{color:"#800"},".hljs-section,.hljs-title":{color:"#800",fontWeight:700},".hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable":{color:"#ab5656"},".hljs-literal":{color:"#695"},".hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code":{color:"#397300"},".hljs-meta":{color:"#1f7199"},".hljs-meta .hljs-string":{color:"#38a"},".hljs-emphasis":{fontStyle:"italic"},".hljs-strong":{fontWeight:700}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${e.colorBorderSecondary}`,padding:`${e.paddingContentVertical}px ${e.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:r,fontWeight:"bold",color:e.colorText},"tr:hover":{backgroundColor:e.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}},n={"&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:e.colorFillQuaternary,border:`1px solid ${e.colorBorder}`,borderRadius:e.borderRadiusSM},".hljs":{color:"#adbac7",background:"#22272e"},".hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_":{color:"#f47067"},".hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_":{color:"#dcbdfb"},".hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable":{color:"#6cb6ff"},".hljs-meta .hljs-string,.hljs-regexp,.hljs-string":{color:"#96d0ff"},".hljs-built_in,.hljs-symbol":{color:"#f69d50"},".hljs-code,.hljs-comment,.hljs-formula":{color:"#768390"},".hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag":{color:"#8ddb8c"},".hljs-subst":{color:"#adbac7"},".hljs-section":{color:"#316dca",fontWeight:700},".hljs-bullet":{color:"#eac55f"},".hljs-emphasis":{color:"#adbac7",fontStyle:"italic"},".hljs-strong":{color:"#adbac7",fontWeight:700},".hljs-addition":{color:"#b4f1b4",backgroundColor:"#1b4721"},".hljs-deletion":{color:"#ffd8d3",backgroundColor:"#78191b"}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${e.colorBorderSecondary}`,padding:`${e.paddingContentVertical}px ${e.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:r,fontWeight:"bold",color:e.colorText},"tr:hover":{backgroundColor:e.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}};return{[o]:x({lineHeight:e.lineHeight,"& > *:last-child":{marginBottom:"0"},".ant-description-textarea, .ant-description-input":{lineHeight:e.lineHeight},".field-interface-datetime":{minWidth:"100px"}},t?n:i)}}),parseMarkdown=import_lodash.default.memoize(e=>q(void 0,null,function*(){return e&&(yield Promise.resolve().then(()=>require("./md-oH2RssNY-IQIU5F3r.js"))).default.render(e)}));function useParseMarkdown(e){const[t,o]=(0,import_react2.useState)(""),[r,i]=(0,import_react2.useState)(!0);return(0,import_react2.useEffect)(()=>{i(!0),parseMarkdown(e).then(n=>{o(n),i(!1)}).catch(n=>console.log(n))},[e]),{html:t,loading:r}}function convertToText(e){const t=e;let o=document.createElement("div");o.innerHTML=t;const r=o.innerText;return o=null,(r==null?void 0:r.replace(/[\n\r]/g,""))||""}const MarkdownEditor=e=>{const{scope:t}=e,{t:o,i18n:r}=(0,import_react_i18next.useTranslation)(),[i,n]=(0,import_react2.useState)(e.defaultValue),a=(0,import_react2.useRef)(null),[l,c]=(0,import_react2.useState)([]),[u,m]=(0,import_react2.useState)(null);(0,import_react2.useEffect)(()=>{c(t)},[t]),(0,import_react2.useEffect)(()=>{var p,h;const g=(h=(p=a==null?void 0:a.current)==null?void 0:p.resizableTextArea)==null?void 0:h.textArea;u&&g&&g.setSelectionRange(u,u)},[u]);const d=(0,import_react2.useCallback)(function(p){var h;const g=p.filter(y=>!!y.trim()),{current:_}=a,f=(h=_==null?void 0:_.resizableTextArea)==null?void 0:h.textArea;if(!f||!g)return;_.focus();const v=`{{${p.join(".")}}}`,C=f.selectionStart||0,S=i.substring(0,C)+v+i.substring(C,i.length),b=C+v.length;n(S),m(b)},[i]);return(0,import_jsx_runtime.jsxs)("div",{className:"mb-markdown",style:{position:"relative",paddingTop:"20px"},children:[(0,import_jsx_runtime.jsx)(import_antd.Input.TextArea,P(x({ref:a,autoSize:{minRows:3}},e),{value:i,onChange:p=>{n(p.target.value)},style:{paddingBottom:"40px"}})),(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsxs)("span",{style:{marginLeft:".25em"},className:"ant-formily-item-extra",children:[o("Syntax references"),":"]}),(0,import_jsx_runtime.jsx)("a",{href:`https://${r.language==="zh-CN"?"docs-cn":"docs"}.nocobase.com/handbook/template-handlebars`,target:"_blank",rel:"noreferrer",children:"Handlebars.js"})]}),(0,import_jsx_runtime.jsx)("div",{style:{position:"absolute",top:21,right:1},children:(0,import_jsx_runtime.jsx)(VariableSelect,{options:l,setOptions:c,onInsert:d})}),(0,import_jsx_runtime.jsxs)(import_antd.Space,{style:{position:"absolute",bottom:30,right:5},children:[(0,import_jsx_runtime.jsx)(import_antd.Button,{onClick:p=>{var h;(h=e.onCancel)==null||h.call(e,p)},children:o("Cancel")}),(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"primary",onClick:()=>{var p;(p=e.onSubmit)==null||p.call(e,i)},children:o("Save")})]})]})},useMarkdownHeight=()=>{const{token:e}=import_antd.theme.useToken(),t=useBlockHeight();if(t)return t-2*e.paddingLG};function extractNFormPaths(e){const t=/\{\{\$nForm\.([\w.]+)\}\}/g;return[...e.matchAll(t)].map(o=>o[1])}function getValuesByPaths(e,t){const o={};for(const r of t){const i=r.split(".");let n=e;for(const a of i)if(n&&typeof n=="object"&&a in n)n=n[a];else{n=void 0;break}o[r]=n}return o}const MarkdownVoidInner=withDynamicSchemaProps((0,import_react.observer)(e=>{const{isDarkTheme:t}=useGlobalTheme(),{componentCls:o,hashId:r}=useStyles$a({isDarkTheme:t}),{content:i,className:n}=e,a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),{dn:c}=useDesignable(),{onSave:u,onCancel:m,form:d}=e,p=useCollectionRecord(),[h,g]=(0,import_react2.useState)(""),_=useVariables$1(),f=useLocalVariables$1(),{engine:v}=(l==null?void 0:l["x-decorator-props"])||{},[C,S]=(0,import_react2.useState)(!1),{t:b,i18n:y}=(0,import_react_i18next.useTranslation)(),F=(0,import_react.useForm)(),j=extractNFormPaths(i),[A,D]=(0,import_react2.useState)(null);(0,import_react2.useEffect)(()=>{if(j.length>0){const B=(0,import_shared.uid)();return setTimeout(()=>{F.addEffects(B,()=>(0,import_reactive.reaction)(()=>{const R=getValuesByPaths(F.values,j);return JSON.stringify(R)},()=>{D((0,import_shared.uid)())},{fireImmediately:!0,equals:import_lodash.isEqual}))}),()=>{F.removeEffects(B)}}},[]),(0,import_react2.useEffect)(()=>{S(!0),q(void 0,null,function*(){setTimeout(()=>q(void 0,null,function*(){const B=yield getRenderContent(v,i,_,f,parseMarkdown,b);g(B)})),S(!1)})},[i,_,f,v,A]);const N=useMarkdownHeight(),w=useVariableOptions({collectionField:{uiSchema:l},form:d,record:p,uiSchema:l,noDisabled:!0});return(0,import_react2.useEffect)(()=>{registerQrcodeWebComponent()},[]),C?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):a!=null&&a.editable?(0,import_jsx_runtime.jsx)(MarkdownEditor,P(x({scope:w},e),{className:!0,defaultValue:i,onCancel:()=>{a.editable=!1,m==null||m()},onSubmit:B=>q(void 0,null,function*(){a.editable=!1,l["x-component-props"]!=null||(l["x-component-props"]={}),l["x-component-props"].content=B,a.componentProps.content=B,u==null||u(l),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":{content:B}}})})})):(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)([o,r,"nb-markdown nb-markdown-default nb-markdown-table",n]),style:P(x({},e.style),{height:N||"100%",overflowY:N?"auto":"null"}),dangerouslySetInnerHTML:{__html:h}})}),{displayName:"MarkdownVoid"}),MarkdownVoid=e=>{const t=useFlag(),o=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(VariableScope,{scopeId:o==null?void 0:o["x-uid"],type:"markdownBlock",children:(0,import_jsx_runtime.jsx)(FlagProvider,P(x({},t),{collectionField:!0,children:(0,import_jsx_runtime.jsx)(MarkdownVoidInner,x({},e))}))})};MarkdownVoid.Designer=MarkdownVoidDesigner;const Markdown=(0,import_react.connect)(import_antd.Input.TextArea,(0,import_react.mapProps)((e,t)=>P(x({autoSize:{maxRows:10,minRows:3}},e),{suffix:(0,import_jsx_runtime.jsx)("span",{children:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffix})})),(0,import_react.mapReadPretty)(e=>(0,import_jsx_runtime.jsx)(MarkdownReadPretty,x({},e)))),MarkdownReadPretty=e=>{const{isDarkTheme:t}=useGlobalTheme(),{wrapSSR:o,hashId:r,componentCls:i}=useStyles$a({isDarkTheme:t}),{html:n="",loading:a}=useParseMarkdown(e.value),l=(0,import_react2.useMemo)(()=>convertToText(n),[n]);if(a)return o((0,import_jsx_runtime.jsx)(import_antd.Spin,{}));const c=(0,import_jsx_runtime.jsx)("div",{className:`${r} ${i} nb-markdown nb-markdown-default nb-markdown-table`,dangerouslySetInnerHTML:{__html:n}});return o((0,import_jsx_runtime.jsx)(ReadPretty$c.TextArea,P(x({},e),{autop:!1,text:l,value:c})))};Markdown.Void=MarkdownVoid;const BlockItemCardContext=(0,import_react2.createContext)({}),BlockItemCard=import_react2.default.forwardRef((e,t)=>{var o=e,{children:r}=o,i=Y(o,["children"]);const{token:n}=useToken(),a=i,{title:l,description:c}=a,u=Y(a,["title","description"]),m=(0,import_react2.useMemo)(()=>({marginBottom:n.marginBlock,height:"100%"}),[n.marginBlock]),[d,p]=(0,import_react2.useState)(0),h=(0,import_react2.useRef)(null),{t:g}=(0,import_react_i18next.useTranslation)(),_=(0,import_react.useFieldSchema)(),f=_==null?void 0:_["x-block-linkage-rules"];(0,import_react2.useEffect)(()=>{const S=setTimeout(()=>{if(h.current){const b=c?h.current.parentElement.parentElement.parentElement.offsetHeight:n.fontSizeLG*n.lineHeightLG+n.padding*2-1;p(b)}else d&&p(0)},500);return()=>clearTimeout(S)},[l,c]);const v=(l||c)&&(0,import_jsx_runtime.jsxs)("div",{ref:h,style:{padding:"8px 0px 8px"},children:[(0,import_jsx_runtime.jsxs)("span",{children:[" ",g(l,{ns:NAMESPACE_UI_SCHEMA})]}),c&&(0,import_jsx_runtime.jsx)(MarkdownReadPretty,{value:g(c,{ns:NAMESPACE_UI_SCHEMA}),style:{overflowWrap:"break-word",whiteSpace:"normal",fontWeight:400,color:n.colorTextDescription,borderRadius:"4px"}})]}),C=(0,import_jsx_runtime.jsx)(BlockItemCardContext.Provider,{value:{titleHeight:d},children:(0,import_jsx_runtime.jsx)(import_antd.Card,P(x({ref:t,variant:"borderless",style:m},u),{title:v,children:r}))});return f?(0,import_jsx_runtime.jsx)(BlockLinkageRuleProvider,{children:C}):C});BlockItemCard.displayName="BlockItemCard";const useBlockHeightProps=()=>{var e,t,o;const r=(0,import_react.useFieldSchema)(),i=getCardItemSchema(r),n=(e=useBlockTemplateContext())==null?void 0:e.fieldSchema,a=(0,import_react2.useMemo)(()=>getPageSchema(n||r),[]),{disablePageHeader:l,enablePageTabs:c,hidePageTitle:u}=(a==null?void 0:a["x-component-props"])||{},{titleHeight:m}=(0,import_react2.useContext)(BlockItemCardContext)||{},{allAccessRoutes:d}=useAllAccessDesktopRoutes(),p=useCurrentPageUid(),h=(0,import_react2.useMemo)(()=>findRouteBySchemaUid(p,d),[p,d]);return{heightProps:P(x({},i==null?void 0:i["x-component-props"]),{title:((t=i==null?void 0:i["x-component-props"])==null?void 0:t.title)||((o=i==null?void 0:i["x-component-props"])==null?void 0:o.description),disablePageHeader:l,enablePageTabs:(h==null?void 0:h.enableTabs)||c,hidePageTitle:u,titleHeight:m})}},getPageSchema=e=>e?e["x-component"]==="Page"?e:getPageSchema(e.parent):null,getCardItemSchema=e=>e?["BlockItem","CardItem"].includes(e["x-component"])?e:getCardItemSchema(e.parent):null,useDataBlockParentRecord=({association:e})=>{var t;const o=useCollectionRecordData(),r=useCollectionParentRecordData(),i=useCollectionManager(),n=useCollection();if(!e)return;const a=i.getCollection(e.split(".")[0]);return n.name===a.name||(t=n.getParentCollectionsName)!=null&&t.call(n).includes(a.name)?o:r},usePickActionProps$1=()=>{const e=(0,import_react.useForm)();return{onClick(){console.log("usePickActionProps",e.values)}}};function renderTemplate(e,t){const o=/\{\{\s*((\w+\.?)+)\s*\}\}/g;return e.replace(o,function(r,i){return(0,import_get.default)(t,i)||""})}function getFilteredFormValues(e){const t=import_lodash.default.cloneDeep(e.values),o=[];return e.query("*").forEach(r=>{r&&o.push(r)}),import_lodash.default.uniq(o.filter(r=>{var i,n;const a=((i=r.path)==null?void 0:i.segments)||[],l=a.length<=1?a.join("."):a.slice(0,-1).join(".");return((n=r==null?void 0:r.componentProps)==null?void 0:n.readOnlySubmit)&&!(0,import_get.default)(t,l)[r==null?void 0:r.componentProps.filterTargetKey]}).map(r=>{var i;const n=((i=r.path)==null?void 0:i.segments)||[];return n.length<=1?n.join("."):n.slice(0,-1).join(".")})).forEach((r,i)=>{(i!==0||r.includes("."))&&!t[r]&&import_lodash.default.unset(t,r)}),t}function getFormValues({filterByTk:e,field:t,form:o,fieldNames:r,getField:i,resource:n,actionFields:a}){if(e&&a){const l=Object.keys(o.values).filter(c=>{const u=i(c);return!a.includes(c)&&["hasOne","hasMany","belongsTo","belongsToMany"].includes(u==null?void 0:u.type)});return(0,import_omit.default)(x({},o.values),l)}return getFilteredFormValues(o)}function useCollectValuesToSubmit(e){const t=(0,import_react.useForm)(),o=e??t,r=useFilterByTk(),{field:i,resource:n}=useBlockRequestContext(),{fields:a,getField:l,getTreeParentField:c,name:u}=useCollection_deprecated(),m=a.map(v=>v.name),{fieldSchema:d}=useActionContext(),{getActiveFieldsName:p}=useFormActiveFields()||{},h=useVariables$1(),g=useLocalVariables$1({currentForm:o}),_=(0,import_react.useFieldSchema)(),f=useTreeParentRecord();return(0,import_react2.useCallback)(()=>q(this,null,function*(){var v,C,S,b;const{assignedValues:y={},overwriteValues:F}=(v=_==null?void 0:_["x-action-settings"])!=null?v:{},j=getFormValues({filterByTk:r,field:i,form:o,fieldNames:m,getField:l,resource:n,actionFields:(p==null?void 0:p("form"))||[]}),A={},D=Object.keys(y).map(N=>q(this,null,function*(){const w=y[N],B=l(N);if(isVariable$1(w)){const{value:R}=(yield h==null?void 0:h.parseVariable(w,g))||{};A[N]=transformVariableValue(R,{targetCollectionField:B})}else w!==""&&(A[N]=w)}));if(yield Promise.all(D),(C=d==null?void 0:d["x-component-props"])==null?void 0:C.addChild){const N=c();j[(S=N==null?void 0:N.name)!=null?S:"parent"]=f,j[(b=N==null?void 0:N.foreignKey)!=null?b:"parentId"]=f==null?void 0:f.id}return x(x(x({},j),F),A)}),[_,i,m,d,r,o,p,l,c,g,u,n,f,h])}const useCreateActionProps=()=>{var e;const t=useFilterByTk(),o=useCollectionRecord(),r=(0,import_react.useForm)(),{field:i,resource:n}=useBlockRequestContext(),{setVisible:a,setSubmitted:l,setFormValueChanged:c}=useActionContext(),u=useNavigateNoUpdate(),m=(0,import_react.useFieldSchema)(),d=(0,import_react.useField)(),p=useCompile(),{modal:h}=import_antd.App.useApp(),{t:g}=(0,import_react_i18next.useTranslation)(),{updateAssociationValues:_}=useFormBlockContext(),f=useCollectValuesToSubmit(),v=o.isNew?d.componentProps.saveMode||"create":"update",C=((e=d.componentProps.filterKeys)==null?void 0:e.checked)||[],S=useLocalVariables$1(),b=useVariables$1();return{onClick(){return q(this,null,function*(){var y,F;const{onSuccess:j,skipValidator:A,triggerWorkflows:D}=(y=m==null?void 0:m["x-action-settings"])!=null?y:{},{manualClose:N,redirecting:w,redirectTo:B,successMessage:R,actionAfterSuccess:T}=j||{};A||(yield r.submit());const $=yield f();d.data=i.data||{},d.data.loading=!0;try{const M=yield n[v]({values:$,filterKeys:C,filterByTk:t,triggerWorkflows:D!=null&&D.length?D.map(E=>[E.workflowKey,E.context].filter(Boolean).join("!")).join(","):void 0,updateAssociationValues:_});let I=B;if(B&&(I=yield getVariableValue(B,{variables:b,localVariables:[...S,{name:"$record",ctx:new Proxy((F=M==null?void 0:M.data)==null?void 0:F.data,{})}]})),(T==="previous"||!T&&w!==!0)&&(a==null||a(!1)),l==null||l(!0),c==null||c(!1),d.data.loading=!1,d.data.data=M,!R){import_antd.message.success(g("Saved successfully")),yield resetFormCorrectly(r),(w&&!T||T==="redirect")&&I&&((0,import_client.isURL)(I)?window.location.href=I:u(I));return}N?h.success({title:p(R),onOk:()=>q(this,null,function*(){yield resetFormCorrectly(r),(w&&!T||T==="redirect")&&I&&((0,import_client.isURL)(I)?window.location.href=I:u(I))})}):(import_antd.message.success(p(R)),yield resetFormCorrectly(r),(w&&!T||T==="redirect")&&I&&((0,import_client.isURL)(I)?window.location.href=I:u(I)))}catch{d.data.loading=!1}})}}},useAssociationCreateActionProps=()=>{var e;const t=(0,import_react.useForm)(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,fieldSchema:a,setSubmitted:l}=useActionContext(),c=(0,import_react.useFieldSchema)(),u=(0,import_react.useField)(),{fields:m,getField:d,getTreeParentField:p,name:h}=useCollection_deprecated(),g=useCompile(),_=useFilterByTk(),f=useRecord(),v=useVariables$1(),C=useLocalVariables$1({currentForm:t}),{getActiveFieldsName:S}=useFormActiveFields()||{},b=u.componentProps.saveMode||"create",y=((e=u.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return q(this,null,function*(){var F,j,A,D,N,w;const B=m.map(z=>z.name),{assignedValues:R={},onSuccess:T,overwriteValues:$,skipValidator:M,triggerWorkflows:I}=(F=c==null?void 0:c["x-action-settings"])!=null?F:{},E=(j=a==null?void 0:a["x-component-props"])==null?void 0:j.addChild,{successMessage:L}=T||{},O={},V=Object.keys(R).map(z=>q(this,null,function*(){const G=R[z],W=d(z);if(isVariable$1(G)){const{value:H}=(yield v==null?void 0:v.parseVariable(G,C))||{};O[z]=transformVariableValue(H,{targetCollectionField:W})}else G!==""&&(O[z]=G)}));yield Promise.all(V),M||(yield t.submit());const U=getFormValues({filterByTk:_,field:o,form:t,fieldNames:B,getField:d,resource:r,actionFields:(S==null?void 0:S("form"))||[]});if(E){const z=p();U[(A=z==null?void 0:z.name)!=null?A:"parent"]=f,U[(D=z==null?void 0:z.foreignKey)!=null?D:"parentId"]=f.id}u.data=o.data||{},u.data.loading=!0;try{const z=yield r[b]({values:x(x(x({},U),$),O),filterKeys:y,triggerWorkflows:I!=null&&I.length?I.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0});if(u.data.loading=!1,u.data.data=z,(w=(N=i==null?void 0:i.service)==null?void 0:N.refresh)==null||w.call(N),n==null||n(!1),l==null||l(!0),!L)return;import_antd.message.success(g(L))}catch{u.data.data=null,u.data.loading=!1}})}}},findFilterTargets=e=>{for(;e;){if(e["x-filter-targets"])return{targets:e["x-filter-targets"],uid:e["x-uid"]};e=e.parent}return{}},updateFilterTargets=(e,t)=>{for(;e;){if(e["x-filter-targets"]){e["x-filter-targets"]=t;return}e=e.parent}},useDoFilter=()=>{const e=(0,import_react.useForm)(),{getDataBlocks:t}=useFilterBlock(),o=useCollectionManager(),{getOperators:r}=useOperators(),i=(0,import_react.useFieldSchema)(),{name:n}=useCollection(),{targets:a=[],uid:l}=(0,import_react2.useMemo)(()=>findFilterTargets(i),[i]),c=(0,import_react2.useCallback)(()=>removeNullCondition(transformToFilter(e.values,r(),o.getCollectionField.bind(o),n)),[e.values,o,r,n]),u=(0,import_react2.useCallback)((...m)=>q(void 0,[...m],function*({doNothingWhenFilterIsEmpty:d=!1}={}){try{yield Promise.all(t().map(p=>q(void 0,null,function*(){var h,g,_,f;if(!a.find(b=>b.uid===p.uid))return;const v=((h=p.service.params)==null?void 0:h[0])||{},C=((_=(g=p.service.params)==null?void 0:g[1])==null?void 0:_.filters)||{};C[l]=c();const S=mergeFilter([...Object.values(C).map(b=>removeNullCondition(b)),p.defaultFilter]);if(import_lodash.default.isEmpty(C[l])&&((f=p.clearSelection)==null||f.call(p)),!(d&&import_lodash.default.isEmpty(C[l])))return p.dataLoadingMode==="manual"&&import_lodash.default.isEmpty(C[l])?p.clearData():(import_lodash.default.set(p.service.params,"1.filters",C),p.doFilter(P(x({},v),{page:1,filter:S}),{filters:C}))})))}catch(p){console.error(p)}}),[t,c,a,l]);return(0,import_react2.useEffect)(()=>{setTimeout(()=>{u({doNothingWhenFilterIsEmpty:!0})},500)},[u]),{doFilter:u,getFilterFromCurrentForm:c}},useFilterBlockActionProps=()=>{const{doFilter:e}=useDoFilter(),t=(0,import_react.useField)();return t.data=t.data||{},{onClick(){return q(this,null,function*(){t.data.loading=!0,yield e(),t.data.loading=!1})}}},useDoReset=()=>{const e=(0,import_react.useForm)(),t=(0,import_react.useFieldSchema)(),{getDataBlocks:o}=useFilterBlock(),{targets:r,uid:i}=findFilterTargets(t),{doFilter:n,getFilterFromCurrentForm:a}=useDoFilter();return{doReset:()=>q(void 0,null,function*(){var l;if(yield e.reset(void 0,{forceClear:!!((l=t==null?void 0:t["x-component-props"])!=null&&l.clearDefaultValue)}),import_lodash.default.isEmpty(a()))return doReset({getDataBlocks:o,targets:r,uid:i});yield n()})}},useResetBlockActionProps=()=>{const e=(0,import_react.useField)(),{doReset:t}=useDoReset();return e.data=e.data||{},{onClick(){return q(this,null,function*(){e.data.loading=!0,yield t(),e.data.loading=!1})}}},useCustomizeUpdateActionProps=()=>{const{resource:e,__parent:t,service:o}=useBlockRequestContext(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useNavigateNoUpdate(),a=useCompile(),l=(0,import_react.useForm)(),{modal:c}=import_antd.App.useApp(),u=useVariables$1(),m=useLocalVariables$1({currentForm:l}),{name:d,getField:p}=useCollection_deprecated(),{setVisible:h}=useActionContext();return{onClick(g,_){return q(this,null,function*(){var f,v,C,S;const{assignedValues:b={},onSuccess:y,skipValidator:F,triggerWorkflows:j}=(f=i==null?void 0:i["x-action-settings"])!=null?f:{},{manualClose:A,redirecting:D,redirectTo:N,successMessage:w,actionAfterSuccess:B}=y||{},R={},T=Object.keys(b).map(I=>q(this,null,function*(){const E=b[I],L=p(I);if(isVariable$1(E)){const{value:O}=(yield u==null?void 0:u.parseVariable(E,m))||{};R[I]=transformVariableValue(O,{targetCollectionField:L})}else E!==""&&(R[I]=E)}));yield Promise.all(T),F===!1&&(yield l.submit());const $=yield e.update({filterByTk:r,values:x({},R),triggerWorkflows:j!=null&&j.length?j.map(I=>[I.workflowKey,I.context].filter(Boolean).join("!")).join(","):void 0});let M=N;N&&(M=yield getVariableValue(N,{variables:u,localVariables:[...m,{name:"$record",ctx:new Proxy((v=$==null?void 0:$.data)==null?void 0:v.data,{})}]})),(B==="previous"||!B&&D!==!0)&&(h==null||h(!1)),_&&(_==null||_()),e instanceof TableFieldResource||(S=(C=t==null?void 0:t.service)==null?void 0:C.refresh)==null||S.call(C),w&&(A?c.success({title:a(w),onOk:()=>q(this,null,function*(){(D&&!B||B==="redirect")&&M&&((0,import_client.isURL)(M)?window.location.href=M:n(M))})}):(import_antd.message.success(a(w)),(D&&!B||B==="redirect")&&M&&((0,import_client.isURL)(M)?window.location.href=M:n(M))))})}}},useCustomizeBulkUpdateActionProps=()=>{var e,t,o,r;const{field:i,resource:n,__parent:a,service:l}=useBlockRequestContext(),c=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),u=(0,import_react.useFieldSchema)(),m=useTableBlockContext(),{rowKey:d}=m,p=(r=(o=(t=(e=m.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys)!=null?o:c==null?void 0:c.selectedRecordKeys)!=null?r:{},h=useNavigateNoUpdate(),g=useCompile(),{t:_}=(0,import_react_i18next.useTranslation)(),f=(0,import_react.useField)(),{modal:v}=import_antd.App.useApp(),C=useVariables$1();useRecord();const{name:S,getField:b}=useCollection_deprecated(),y=useLocalVariables$1(),{setVisible:F}=useActionContext();return{onClick(){return q(this,null,function*(){var j;const{assignedValues:A={},onSuccess:D,updateMode:N}=(j=u==null?void 0:u["x-action-settings"])!=null?j:{},{manualClose:w,redirecting:B,redirectTo:R,successMessage:T,actionAfterSuccess:$}=D||{};f.data=i.data||{},f.data.loading=!0;const M={},I=Object.keys(A).map(E=>q(this,null,function*(){const L=A[E],O=b(E);if(isVariable$1(L)){const{value:V}=(yield C==null?void 0:C.parseVariable(L,y))||{};M[E]=transformVariableValue(V,{targetCollectionField:O})}else L!==""&&(M[E]=L)}));yield Promise.all(I),($==="previous"||!$&&B!==!0)&&(F==null||F(!1)),v.confirm({title:_("Bulk update"),content:_(N==="selected"?"Update selected data?":"Update all data?"),onOk(){return q(this,null,function*(){var E,L,O,V;const{filter:U}=(L=(E=l.params)==null?void 0:E[0])!=null?L:{},z={values:x({},M),filter:U,forceUpdate:!1};if(N==="selected"){if(!(p!=null&&p.length)){import_antd.message.error(_("Please select the records to be updated")),f.data.loading=!1;return}z.filter={$and:[{[d||"id"]:{$in:p}}]}}z.filter||(z.forceUpdate=!0);try{yield n.update(z)}catch{}finally{f.data.loading=!1}n instanceof TableFieldResource||(V=(O=a==null?void 0:a.service)==null?void 0:O.refresh)==null||V.call(O),T&&(w?v.success({title:g(T),onOk:()=>q(this,null,function*(){(B&&!$||$==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:h(R))})}):(import_antd.message.success(g(T)),(B&&!$||$==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:h(R))))})},onCancel(){return q(this,null,function*(){f.data.loading=!1})}})})}}},useCustomizeRequestActionProps=()=>{var e;const t=useAPIClient(),o=useNavigateNoUpdate(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useCompile(),a=(0,import_react.useForm)(),{fields:l,getField:c}=useCollection_deprecated(),{field:u,resource:m,__parent:d,service:p}=useBlockRequestContext(),h=useRecord(),g=useCurrentUserContext(),_=(e=g==null?void 0:g.data)==null?void 0:e.data,f=(0,import_react.useField)(),{t:v}=(0,import_react_i18next.useTranslation)(),{setVisible:C}=useActionContext(),{modal:S}=import_antd.App.useApp(),{getActiveFieldsName:b}=useFormActiveFields()||{};return{onClick(){return q(this,null,function*(){var y,F,j,A;const{skipValidator:D,onSuccess:N,requestSettings:w}=(y=i==null?void 0:i["x-action-settings"])!=null?y:{},{manualClose:B,redirecting:R,redirectTo:T,successMessage:$,actionAfterSuccess:M}=N||{},I=i==null?void 0:i["x-action"];if(!w.url)return;D!==!0&&I==="customize:form:request"&&(yield a.submit());const E=w.headers?JSON.parse(w.headers):{},L=w.params?JSON.parse(w.params):{},O=w.data?JSON.parse(w.data):{};if(I==="customize:form:request"&&["POST","PUT","PATCH"].includes(w.method)){const U=l.map(G=>G.name),z=getFormValues({filterByTk:r,field:u,form:a,fieldNames:U,getField:c,resource:m,actionFields:(b==null?void 0:b("form"))||[]});Object.assign(O,z)}const V={url:renderTemplate(w.url,{currentRecord:h,currentUser:_}),method:w.method,headers:(0,import_client.parse)(E)({currentRecord:h,currentUser:_}),params:(0,import_client.parse)(L)({currentRecord:h,currentUser:_}),data:(0,import_client.parse)(O)({currentRecord:h,currentUser:_})};f.data=u.data||{},f.data.loading=!0;try{yield t.request(x({},V)),f.data.loading=!1,m instanceof TableFieldResource||(j=(F=d==null?void 0:d.service)==null?void 0:F.refresh)==null||j.call(F),(A=p==null?void 0:p.refresh)==null||A.call(p),I==="customize:form:request"&&(M==="previous"||!M&&R!==!0)&&(C==null||C(!1)),$||(import_antd.message.success(v("Saved successfully")),yield resetFormCorrectly(a),(R&&!M||M==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:o(T))),B?S.success({title:n($),onOk:()=>q(this,null,function*(){(R&&!M||M==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:o(T))})}):import_antd.message.success(n($))}finally{f.data.loading=!1}})}}},useUpdateActionProps=()=>{const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setFormValueChanged:a}=useActionContext(),l=(0,import_react.useFieldSchema)(),c=useNavigateNoUpdate(),{fields:u,getField:m,name:d}=useCollection_deprecated(),p=useCompile(),h=(0,import_react.useField)(),{updateAssociationValues:g}=useFormBlockContext(),{modal:_}=import_antd.App.useApp(),f=useParamsFromRecord(),v=useVariables$1(),C=useLocalVariables$1({currentForm:e}),{getActiveFieldsName:S}=useFormActiveFields()||{};return{onClick(b,y){return q(this,null,function*(){var F,j;const{assignedValues:A={},onSuccess:D,overwriteValues:N,skipValidator:w,triggerWorkflows:B}=(F=l==null?void 0:l["x-action-settings"])!=null?F:{},{manualClose:R,redirecting:T,redirectTo:$,successMessage:M,actionAfterSuccess:I}=D||{},E={},L=Object.keys(A).map(U=>q(this,null,function*(){const z=A[U],G=m(U);if(isVariable$1(z)){const{value:W}=(yield v==null?void 0:v.parseVariable(z,C))||{};E[U]=transformVariableValue(W,{targetCollectionField:G})}else z!==""&&(E[U]=z)}));yield Promise.all(L),w||(yield e.submit());const O=u.map(U=>U.name),V=getFormValues({filterByTk:t,field:o,form:e,fieldNames:O,getField:m,resource:r,actionFields:(S==null?void 0:S("form"))||[]});h.data=o.data||{},h.data.loading=!0;try{const U=yield r.update(P(x({filterByTk:t,values:x(x(x({},V),N),E)},f),{updateAssociationValues:g,triggerWorkflows:B!=null&&B.length?B.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0}));h.data.loading=!1,y&&(y==null||y());let z=$;if($&&(z=yield getVariableValue($,{variables:v,localVariables:[...C,{name:"$record",ctx:new Proxy((j=U==null?void 0:U.data)==null?void 0:j.data,{})}]})),(I==="previous"||!I&&T!==!0)&&(n==null||n(!1)),a==null||a(!1),!M)return;R?_.success({title:p(M),onOk:()=>q(this,null,function*(){yield e.reset(),(T&&!I||I==="redirect")&&z&&((0,import_client.isURL)(z)?window.location.href=z:c(z))})}):(import_antd.message.success(p(M)),(T&&!I||I==="redirect"||I==="redirect")&&z&&((0,import_client.isURL)(z)?window.location.href=z:c(z)))}catch{h.data.loading=!1}})}}},useDestroyActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a}=useActionContext(),l=useParamsFromRecord(),c=(0,import_react.useFieldSchema)();return{onClick(u,m){return q(this,null,function*(){var d,p,h,g,_,f,v;const{triggerWorkflows:C}=(d=c==null?void 0:c["x-action-settings"])!=null?d:{};yield t.destroy(x({filterByTk:e,triggerWorkflows:C!=null&&C.length?C.map(F=>[F.workflowKey,F.context].filter(Boolean).join("!")).join(","):void 0},l));const{count:S=0,page:b=0,pageSize:y=0}=((p=o==null?void 0:o.data)==null?void 0:p.meta)||{};if(S%y===1&&b!==1){const F=(h=o.params[0])==null?void 0:h.page,j=(_=(g=o.data)==null?void 0:g.meta)==null?void 0:_.totalPage;F===j&&o.params[0]&&F!==1&&(o.params[0].page=F-1)}m&&(m==null||m()),a==null||a(!0),r&&r!=="TableField"&&((v=(f=i==null?void 0:i.service)==null?void 0:f.refresh)==null||v.call(f),n==null||n(!1),a==null||a(!0))})}}},useRemoveActionProps=e=>{const t=useFilterByTk(),o=useAPIClient().resource(e,t);return{onClick(r){return q(this,null,function*(){yield o.remove({values:[r.id]})})}}},useDisassociateActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a,setFormValueChanged:l}=useActionContext();return{onClick(c,u){return q(this,null,function*(){var m,d,p,h;yield t.remove({values:[e]});const{count:g=0,page:_=0,pageSize:f=0}=((m=o==null?void 0:o.data)==null?void 0:m.meta)||{};g%f===1&&_!==1?o.run(P(x({},(d=o==null?void 0:o.params)==null?void 0:d[0]),{page:_-1})):u&&(u==null||u()),a==null||a(!0),r&&r!=="TableField"&&((h=(p=i==null?void 0:i.service)==null?void 0:p.refresh)==null||h.call(p),n==null||n(!1),l==null||l(!1))})}}},useBulkDestroyActionProps=()=>{const{field:e}=useBlockRequestContext(),{resource:t,service:o}=useBlockRequestContext(),{setSubmitted:r}=useActionContext(),i=useCollection_deprecated(),{filterTargetKey:n}=i;return{onClick(a,l){return q(this,null,function*(){var c,u,m,d,p,h,g;let _=(c=e.data)==null?void 0:c.selectedRowKeys;if(Array.isArray(n)&&(_=e.data.selectedRowData.map(C=>{const S={};return n.map(b=>{S[b]=C[b]}),S})),!((m=(u=e==null?void 0:e.data)==null?void 0:u.selectedRowKeys)!=null&&m.length))return;yield t.destroy({filterByTk:_}),e.data.selectedRowKeys=[];const f=(d=o.params[0])==null?void 0:d.page,v=(h=(p=o.data)==null?void 0:p.meta)==null?void 0:h.totalPage;f===v&&o.params[0]&&f!==1&&(o.params[0].page=f-1),l&&(l==null||l()),r==null||r(!0),(g=o==null?void 0:o.refresh)==null||g.call(o)})}}},useRefreshActionProps=()=>{const{service:e}=useBlockRequestContext();return{onClick(){return q(this,null,function*(){var t;(t=e==null?void 0:e.refresh)==null||t.call(e)})}}},useTableColumns$2=()=>{const e=(0,import_react.useFieldSchema)(),t=useCompile(),{t:o}=(0,import_react_i18next.useTranslation)(),r=useCollection();return(0,import_react2.useMemo)(()=>{const i=[],n=c=>{let u=c;for(;u&&!((u==null?void 0:u["x-component"])==="ActionBar"||!u.parent);)u=u.parent;const m=u.parent;if(m){const d=m==null?void 0:m.reduceProperties((p,h)=>(h==null?void 0:h["x-component"])==="TableV2"?p.concat([h]):p,[]);return d==null?void 0:d[0]}return null},a=(c,u=0)=>{var m,d,p,h,g,_,f,v,C;if(!(!c||u>1)){if((d=(m=c==null?void 0:c["x-component"])==null?void 0:m.includes)!=null&&d.call(m,"Table.Column")||(h=(p=c==null?void 0:c["x-decorator"])==null?void 0:p.includes)!=null&&h.call(p,"Table.Column")||(c==null?void 0:c["x-component"])==="TableV2.Column"){const S=c.reduceProperties?c.reduceProperties((A,D)=>(D==null?void 0:D["x-component"])==="CollectionField"?A.concat([D]):A,[]):[],b=(S==null?void 0:S.length)>0?S[0].name:c.name,y=(g=r==null?void 0:r.getField)==null?void 0:g.call(r,b);let F=o(c==null?void 0:c.title,{ns:NAMESPACE_UI_SCHEMA})||c.title;!F&&c.name==="actions"&&(F=o("Actions")),!F&&y&&(F=o((_=y.uiSchema)==null?void 0:_.title,{ns:NAMESPACE_UI_SCHEMA})||((f=y.uiSchema)==null?void 0:f.title)||y.name),F||(F=c.name||`Column ${i.length+1}`),F=t(F)||F;const j={key:c["x-uid"]||c.name||`column-${i.length}`,title:F,dataIndex:b||`column-${i.length}`,visible:c["x-display"]!=="hidden",fixed:((v=c["x-component-props"])==null?void 0:v.fixed)||!1,width:(C=c["x-component-props"])==null?void 0:C.width,order:c["x-index"]||i.length};i.push(j)}c.properties&&Object.keys(c.properties).forEach(S=>{a(c.properties[S],u+1)}),c.items&&a(c.items,u+1)}},l=n(e);return a(l),i.sort((c,u)=>(c.order||0)-(u.order||0))},[e,t,o,r])},useEditTableActionProps=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=useTableColumns$2(),r=(0,import_react2.useCallback)(()=>{let g=t;for(;g;){const _=v=>{if(!(v!=null&&v.properties))return null;for(const C in v.properties){const S=v.properties[C];if(S["x-component"]==="TableV2")return S;const b=_(S);if(b)return b}return null},f=_(g);if(f)return f;if(!g.parent)break;g=g.parent}return g},[t]),i=(0,import_react2.useMemo)(()=>r(),[r]),n=(0,import_react2.useMemo)(()=>(i==null?void 0:i["x-uid"])||"default",[i]),{getSettings:a,saveSettings:l,clearSettings:c}=useColumnSettings(n),[u,m]=(0,import_react2.useState)(a()),d=(0,import_react2.useMemo)(()=>{if(o.length===0)return[];if(!u||u.length===0)return o;const g=new Map;return u.forEach(_=>{g.set(_.key,_)}),o.map(_=>{const f=g.get(_.key);return f?P(x({},_),{visible:f.visible,order:f.order,width:f.width||_.width,fixed:f.fixed||_.fixed}):_}).sort((_,f)=>(_.order||0)-(f.order||0))},[o,u]);(0,import_react2.useEffect)(()=>{d.length>0&&(e.dataSource=d)},[d,e]);const p=(0,import_react2.useCallback)(g=>{if(!(g!=null&&g.columns)||!Array.isArray(g.columns))return;const _=g.columns.map((f,v)=>({key:f.key,title:f.title,dataIndex:f.dataIndex,visible:f.visible,fixed:f.fixed,width:f.width,order:v}));l(_)},[l]),h=(0,import_react2.useCallback)(()=>{c(),m(a())},[c]);return{columns:d,onSubmit:p,onReset:h}},useDetailsPaginationProps=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,h,g;const _=useDetailsBlockContext(),f=((o=(t=(e=_.service)==null?void 0:e.data)==null?void 0:t.meta)==null?void 0:o.count)||0,v=(n=(i=(r=_.service)==null?void 0:r.data)==null?void 0:i.meta)==null?void 0:n.page;return!f&&v?{simple:!0,current:((c=(l=(a=_.service)==null?void 0:a.data)==null?void 0:l.meta)==null?void 0:c.page)||1,pageSize:1,showSizeChanger:!1,align:"center",onChange(C){return q(this,null,function*(){var S,b;const y=(b=(S=_.service)==null?void 0:S.params)==null?void 0:b[0];_.service.run(P(x({},y),{page:C}))})},style:{marginTop:24,textAlign:"center"},showTotal:!1,showTitle:!1,total:(d=(m=(u=_.service)==null?void 0:u.data)==null?void 0:m.data)!=null&&d.length?1*v+1:1*v,className:import_css.css`
|
|
631
|
+
https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModules=r,o&&(i.originalError=o),i}if(typeof define<"u")return;if(typeof requirejs<"u"){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}typeof require<"u"&&!isFunction(require)&&(cfg=require,require=void 0);function newContext(e){var t,o,r,i,n,a={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},l={},c={},u={},m=[],d={},p={},h={},g=1,_=1;function f(I){var E,L;for(E=0;E<I.length;E++)if(L=I[E],L===".")I.splice(E,1),E-=1;else if(L===".."){if(E===0||E===1&&I[2]===".."||I[E-1]==="..")continue;E>0&&(I.splice(E-1,2),E-=2)}}function v(I,E,L){var O,V,U,z,G,W,H,K,X,Q,J,te,Z=E&&E.split("/"),re=a.map,ae=re&&re["*"];if(I&&(I=I.split("/"),H=I.length-1,a.nodeIdCompat&&jsSuffixRegExp.test(I[H])&&(I[H]=I[H].replace(jsSuffixRegExp,"")),I[0].charAt(0)==="."&&Z&&(te=Z.slice(0,Z.length-1),I=te.concat(I)),f(I),I=I.join("/")),L&&re&&(Z||ae)){U=I.split("/");e:for(z=U.length;z>0;z-=1){if(W=U.slice(0,z).join("/"),Z){for(G=Z.length;G>0;G-=1)if(V=getOwn(re,Z.slice(0,G).join("/")),V&&(V=getOwn(V,W),V)){K=V,X=z;break e}}!Q&&ae&&getOwn(ae,W)&&(Q=getOwn(ae,W),J=z)}!K&&Q&&(K=Q,X=J),K&&(U.splice(0,X,K),I=U.join("/"))}return O=getOwn(a.pkgs,I),O||I}function C(I){isBrowser&&each(scripts(),function(E){if(E.getAttribute("data-requiremodule")===I&&E.getAttribute("data-requirecontext")===r.contextName)return E.parentNode.removeChild(E),!0})}function S(I){var E=getOwn(a.paths,I);if(E&&isArray(E)&&E.length>1)return E.shift(),r.require.undef(I),r.makeRequire(null,{skipMap:!0})([I]),!0}function b(I){var E,L=I?I.indexOf("!"):-1;return L>-1&&(E=I.substring(0,L),I=I.substring(L+1,I.length)),[E,I]}function y(I,E,L,O){var V,U,z,G,W=null,H=E?E.name:null,K=I,X=!0,Q="";return I||(X=!1,I="_@r"+(g+=1)),G=b(I),W=G[0],I=G[1],W&&(W=v(W,H,O),U=getOwn(d,W)),I&&(W?L?Q=I:U&&U.normalize?Q=U.normalize(I,function(J){return v(J,H,O)}):Q=I.indexOf("!")===-1?v(I,H,O):I:(Q=v(I,H,O),G=b(Q),W=G[0],Q=G[1],L=!0,V=r.nameToUrl(Q))),z=W&&!U&&!L?"_unnormalized"+(_+=1):"",{prefix:W,name:Q,parentMap:E,unnormalized:!!z,url:V,originalName:K,isDefine:X,id:(W?W+"!"+Q:Q)+z}}function F(I){var E=I.id,L=getOwn(l,E);return L||(L=l[E]=new r.Module(I)),L}function j(I,E,L){var O=I.id,V=getOwn(l,O);hasProp(d,O)&&(!V||V.defineEmitComplete)?E==="defined"&&L(d[O]):(V=F(I),V.error&&E==="error"?L(V.error):V.on(E,L))}function A(I,E){var L=I.requireModules,O=!1;E?E(I):(each(L,function(V){var U=getOwn(l,V);U&&(U.error=I,U.events.error&&(O=!0,U.emit("error",I)))}),O||req.onError(I))}function D(){globalDefQueue.length&&(each(globalDefQueue,function(I){var E=I[0];typeof E=="string"&&(r.defQueueMap[E]=!0),m.push(I)}),globalDefQueue=[])}i={require:function(I){return I.require?I.require:I.require=r.makeRequire(I.map)},exports:function(I){if(I.usingExports=!0,I.map.isDefine)return I.exports?d[I.map.id]=I.exports:I.exports=d[I.map.id]={}},module:function(I){return I.module?I.module:I.module={id:I.map.id,uri:I.map.url,config:function(){return getOwn(a.config,I.map.id)||{}},exports:I.exports||(I.exports={})}}};function N(I){delete l[I],delete c[I]}function w(I,E,L){var O=I.map.id;I.error?I.emit("error",I.error):(E[O]=!0,each(I.depMaps,function(V,U){var z=V.id,G=getOwn(l,z);G&&!I.depMatched[U]&&!L[z]&&(getOwn(E,z)?(I.defineDep(U,d[z]),I.check()):w(G,E,L))}),L[O]=!0)}function B(){var I,E,L=a.waitSeconds*1e3,O=L&&r.startTime+L<new Date().getTime(),V=[],U=[],z=!1,G=!0;if(!t){if(t=!0,eachProp(c,function(W){var H=W.map,K=H.id;if(W.enabled&&(H.isDefine||U.push(W),!W.error)){if(!W.inited&&O)S(K)?(E=!0,z=!0):(V.push(K),C(K));else if(!W.inited&&W.fetched&&H.isDefine&&(z=!0,!H.prefix))return G=!1}}),O&&V.length)return I=makeError("timeout","Load timeout for modules: "+V,null,V),I.contextName=r.contextName,A(I);G&&each(U,function(W){w(W,{},{})}),(!O||E)&&z&&(isBrowser||isWebWorker)&&!n&&(n=setTimeout(function(){n=0,B()},50)),t=!1}}o=function(I){this.events=getOwn(u,I.id)||{},this.map=I,this.shim=getOwn(a.shim,I.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},o.prototype={init:function(I,E,L,O){O=O||{},!this.inited&&(this.factory=E,L?this.on("error",L):this.events.error&&(L=bind(this,function(V){this.emit("error",V)})),this.depMaps=I&&I.slice(0),this.errback=L,this.inited=!0,this.ignore=O.ignore,O.enabled||this.enabled?this.enable():this.check())},defineDep:function(I,E){this.depMatched[I]||(this.depMatched[I]=!0,this.depCount-=1,this.depExports[I]=E)},fetch:function(){if(!this.fetched){this.fetched=!0,r.startTime=new Date().getTime();var I=this.map;if(this.shim)r.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return I.prefix?this.callPlugin():this.load()}));else return I.prefix?this.callPlugin():this.load()}},load:function(){var I=this.map.url;p[I]||(p[I]=!0,r.load(this.map.id,I))},check:function(){if(!(!this.enabled||this.enabling)){var I,E,L=this.map.id,O=this.depExports,V=this.exports,U=this.factory;if(!this.inited)hasProp(r.defQueueMap,L)||this.fetch();else if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(U)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{V=r.execCb(L,U,O,V)}catch(G){I=G}else V=r.execCb(L,U,O,V);if(this.map.isDefine&&V===void 0&&(E=this.module,E?V=E.exports:this.usingExports&&(V=this.exports)),I)return I.requireMap=this.map,I.requireModules=this.map.isDefine?[this.map.id]:null,I.requireType=this.map.isDefine?"define":"require",A(this.error=I)}else V=U;if(this.exports=V,this.map.isDefine&&!this.ignore&&(d[L]=V,req.onResourceLoad)){var z=[];each(this.depMaps,function(G){z.push(G.normalizedMap||G)}),req.onResourceLoad(r,this.map,z)}N(L),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}},callPlugin:function(){var I=this.map,E=I.id,L=y(I.prefix);this.depMaps.push(L),j(L,"defined",bind(this,function(O){var V,U,z,G=getOwn(h,this.map.id),W=this.map.name,H=this.map.parentMap?this.map.parentMap.name:null,K=r.makeRequire(I.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){O.normalize&&(W=O.normalize(W,function(X){return v(X,H,!0)})||""),U=y(I.prefix+"!"+W,this.map.parentMap,!0),j(U,"defined",bind(this,function(X){this.map.normalizedMap=U,this.init([],function(){return X},null,{enabled:!0,ignore:!0})})),z=getOwn(l,U.id),z&&(this.depMaps.push(U),this.events.error&&z.on("error",bind(this,function(X){this.emit("error",X)})),z.enable());return}if(G){this.map.url=r.nameToUrl(G),this.load();return}V=bind(this,function(X){this.init([],function(){return X},null,{enabled:!0})}),V.error=bind(this,function(X){this.inited=!0,this.error=X,X.requireModules=[E],eachProp(l,function(Q){Q.map.id.indexOf(E+"_unnormalized")===0&&N(Q.map.id)}),A(X)}),V.fromText=bind(this,function(X,Q){var J=I.name,te=y(J),Z=useInteractive;Q&&(X=Q),Z&&(useInteractive=!1),F(te),hasProp(a.config,E)&&(a.config[J]=a.config[E]);try{req.exec(X)}catch(re){return A(makeError("fromtexteval","fromText eval for "+E+" failed: "+re,re,[E]))}Z&&(useInteractive=!0),this.depMaps.push(te),r.completeLoad(J),K([J],V)}),O.load(I.name,K,V,a)})),r.enable(L,this),this.pluginMaps[L.id]=L},enable:function(){c[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(I,E){var L,O,V;if(typeof I=="string"){if(I=y(I,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[E]=I,V=getOwn(i,I.id),V){this.depExports[E]=V(this);return}this.depCount+=1,j(I,"defined",bind(this,function(U){this.undefed||(this.defineDep(E,U),this.check())})),this.errback?j(I,"error",bind(this,this.errback)):this.events.error&&j(I,"error",bind(this,function(U){this.emit("error",U)}))}L=I.id,O=l[L],!hasProp(i,L)&&O&&!O.enabled&&r.enable(I,this)})),eachProp(this.pluginMaps,bind(this,function(I){var E=getOwn(l,I.id);E&&!E.enabled&&r.enable(I,this)})),this.enabling=!1,this.check()},on:function(I,E){var L=this.events[I];L||(L=this.events[I]=[]),L.push(E)},emit:function(I,E){each(this.events[I],function(L){L(E)}),I==="error"&&delete this.events[I]}};function R(I){hasProp(d,I[0])||F(y(I[0],null,!0)).init(I[1],I[2])}function T(I,E,L,O){I.detachEvent&&!isOpera?O&&I.detachEvent(O,E):I.removeEventListener(L,E,!1)}function $(I){var E=I.currentTarget||I.srcElement;return T(E,r.onScriptLoad,"load","onreadystatechange"),T(E,r.onScriptError,"error"),{node:E,id:E&&E.getAttribute("data-requiremodule")}}function M(){var I;for(D();m.length;){if(I=m.shift(),I[0]===null)return A(makeError("mismatch","Mismatched anonymous define() module: "+I[I.length-1]));R(I)}r.defQueueMap={}}return r={config:a,contextName:e,registry:l,defined:d,urlFetched:p,defQueue:m,defQueueMap:{},Module:o,makeModuleMap:y,nextTick:req.nextTick,onError:A,configure:function(I){if(I.baseUrl&&I.baseUrl.charAt(I.baseUrl.length-1)!=="/"&&(I.baseUrl+="/"),typeof I.urlArgs=="string"){var E=I.urlArgs;I.urlArgs=function(V,U){return(U.indexOf("?")===-1?"?":"&")+E}}var L=a.shim,O={paths:!0,bundles:!0,config:!0,map:!0};eachProp(I,function(V,U){O[U]?(a[U]||(a[U]={}),mixin(a[U],V,!0,!0)):a[U]=V}),I.bundles&&eachProp(I.bundles,function(V,U){each(V,function(z){z!==U&&(h[z]=U)})}),I.shim&&(eachProp(I.shim,function(V,U){isArray(V)&&(V={deps:V}),(V.exports||V.init)&&!V.exportsFn&&(V.exportsFn=r.makeShimExports(V)),L[U]=V}),a.shim=L),I.packages&&each(I.packages,function(V){var U,z;V=typeof V=="string"?{name:V}:V,z=V.name,U=V.location,U&&(a.paths[z]=V.location),a.pkgs[z]=V.name+"/"+(V.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(l,function(V,U){!V.inited&&!V.map.unnormalized&&(V.map=y(U,null,!0))}),(I.deps||I.callback)&&r.require(I.deps||[],I.callback)},makeShimExports:function(I){function E(){var L;return I.init&&(L=I.init.apply(global,arguments)),L||I.exports&&getGlobal(I.exports)}return E},makeRequire:function(I,E){E=E||{};function L(O,V,U){var z,G,W;return E.enableBuildCallback&&V&&isFunction(V)&&(V.__requireJsBuild=!0),typeof O=="string"?isFunction(V)?A(makeError("requireargs","Invalid require call"),U):I&&hasProp(i,O)?i[O](l[I.id]):req.get?req.get(r,O,I,L):(G=y(O,I,!1,!0),z=G.id,hasProp(d,z)?d[z]:A(makeError("notloaded",'Module name "'+z+'" has not been loaded yet for context: '+e+(I?"":". Use require([])")))):(M(),r.nextTick(function(){M(),W=F(y(null,I)),W.skipMap=E.skipMap,W.init(O,V,U,{enabled:!0}),B()}),L)}return mixin(L,{isBrowser,toUrl:function(O){var V,U=O.lastIndexOf("."),z=O.split("/")[0],G=z==="."||z==="..";return U!==-1&&(!G||U>1)&&(V=O.substring(U,O.length),O=O.substring(0,U)),r.nameToUrl(v(O,I&&I.id,!0),V,!0)},defined:function(O){return hasProp(d,y(O,I,!1,!0).id)},specified:function(O){return O=y(O,I,!1,!0).id,hasProp(d,O)||hasProp(l,O)}}),I||(L.undef=function(O){D();var V=y(O,I,!0),U=getOwn(l,O);U.undefed=!0,C(O),delete d[O],delete p[V.url],delete u[O],eachReverse(m,function(z,G){z[0]===O&&m.splice(G,1)}),delete r.defQueueMap[O],U&&(U.events.defined&&(u[O]=U.events),N(O))}),L},enable:function(I){var E=getOwn(l,I.id);E&&F(I).enable()},completeLoad:function(I){var E,L,O,V=getOwn(a.shim,I)||{},U=V.exports;for(D();m.length;){if(L=m.shift(),L[0]===null){if(L[0]=I,E)break;E=!0}else L[0]===I&&(E=!0);R(L)}if(r.defQueueMap={},O=getOwn(l,I),!E&&!hasProp(d,I)&&O&&!O.inited){if(a.enforceDefine&&(!U||!getGlobal(U)))return S(I)?void 0:A(makeError("nodefine","No define call for "+I,null,[I]));R([I,V.deps||[],V.exportsFn])}B()},nameToUrl:function(I,E,L){var O,V,U,z,G,W,H,K=getOwn(a.pkgs,I);if(K&&(I=K),H=getOwn(h,I),H)return r.nameToUrl(H,E,L);if(req.jsExtRegExp.test(I))G=I+(E||"");else{for(O=a.paths,V=I.split("/"),U=V.length;U>0;U-=1)if(z=V.slice(0,U).join("/"),W=getOwn(O,z),W){isArray(W)&&(W=W[0]),V.splice(0,U,W);break}G=V.join("/"),G+=E||(/^data\:|^blob\:|\?/.test(G)||L?"":".js"),G=(G.charAt(0)==="/"||G.match(/^[\w\+\.\-]+:/)?"":a.baseUrl)+G}return a.urlArgs&&!/^blob\:/.test(G)?G+a.urlArgs(I,G):G},load:function(I,E){req.load(r,I,E)},execCb:function(I,E,L,O){return E.apply(O,L)},onScriptLoad:function(I){if(I.type==="load"||readyRegExp.test((I.currentTarget||I.srcElement).readyState)){interactiveScript=null;var E=$(I);r.completeLoad(E.id)}},onScriptError:function(I){var E=$(I);if(!S(E.id)){var L=[];return eachProp(l,function(O,V){V.indexOf("_@r")!==0&&each(O.depMaps,function(U){if(U.id===E.id)return L.push(V),!0})}),A(makeError("scripterror",'Script error for "'+E.id+(L.length?'", needed by: '+L.join(", "):'"'),I,[E.id]))}}},r.require=r.makeRequire(),r}req=requirejs=function(e,t,o,r){var i,n,a=defContextName;return!isArray(e)&&typeof e!="string"&&(n=e,isArray(t)?(e=t,t=o,o=r):e=[]),n&&n.context&&(a=n.context),i=getOwn(contexts,a),i||(i=contexts[a]=req.s.newContext(a)),n&&i.configure(n),i.require(e,t,o)},req.config=function(e){return req(e)},req.nextTick=typeof setTimeout<"u"?function(e){setTimeout(e,4)}:function(e){e()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts,newContext},req({}),each(["toUrl","undef","defined","specified"],function(e){req[e]=function(){var t=contexts[defContextName];return t.require[e].apply(t,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,o){var r=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return r.type=e.scriptType||"text/javascript",r.charset="utf-8",r.async=!0,r},req.load=function(e,t,o){var r=e&&e.config||{},i;if(isBrowser)return i=req.createNode(r,t,o),i.setAttribute("data-requirecontext",e.contextName),i.setAttribute("data-requiremodule",t),i.attachEvent&&!(i.attachEvent.toString&&i.attachEvent.toString().indexOf("[native code")<0)&&!isOpera?(useInteractive=!0,i.attachEvent("onreadystatechange",e.onScriptLoad)):(i.addEventListener("load",e.onScriptLoad,!1),i.addEventListener("error",e.onScriptError,!1)),i.src=o,r.onNodeCreated&&r.onNodeCreated(i,r,t,o),currentlyAddingScript=i,baseElement?head.insertBefore(i,baseElement):head.appendChild(i),currentlyAddingScript=null,i;if(isWebWorker)try{setTimeout(function(){},0),importScripts(o),e.completeLoad(t)}catch(n){e.onError(makeError("importscripts","importScripts failed for "+t+" at "+o,n,[t]))}};function getInteractiveScript(){return interactiveScript&&interactiveScript.readyState==="interactive"||eachReverse(scripts(),function(e){if(e.readyState==="interactive")return interactiveScript=e}),interactiveScript}return isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head||(head=e.parentNode),dataMain=e.getAttribute("data-main"),dataMain)return mainScript=dataMain,!cfg.baseUrl&&mainScript.indexOf("!")===-1&&(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,t,o){var r,i;typeof e!="string"&&(o=t,t=e,e=null),isArray(t)||(o=t,t=null),!t&&isFunction(o)&&(t=[],o.length&&(o.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,function(n,a){t.push(a)}),t=(o.length===1?["require"]:["require","exports","module"]).concat(t))),useInteractive&&(r=currentlyAddingScript||getInteractiveScript(),r&&(e||(e=r.getAttribute("data-requiremodule")),i=contexts[r.getAttribute("data-requirecontext")])),i?(i.defQueue.push([e,t,o]),i.defQueueMap[e]=!0):globalDefQueue.push([e,t,o])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg),{requirejs,require,define}}const setFieldProps=(e,t,o)=>{(0,import_reactive.untracked)(()=>{e[t]===void 0&&(e[t]=o)})},setRequired=(e,t,o)=>{typeof t.required>"u"&&(e.required=!!o.required)},CollectionFieldInternalField_deprecated=e=>{var t;const o=useCompile(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{uiSchema:n,defaultValue:a}=useCollectionField(),{isAllowToSetDefaultValue:l}=useIsAllowToSetDefaultValue(),c=useComponent(((t=i["x-component-props"])==null?void 0:t.component)||(n==null?void 0:n["x-component"])||"Input"),u=useFormBlockContext(),m=useDynamicComponentProps(n==null?void 0:n["x-use-component-props"],e);return(0,import_react2.useEffect)(()=>{if(!n)return;const d=o(n);if(setFieldProps(r,"content",d["x-content"]),setFieldProps(r,"title",d.title),setFieldProps(r,"description",d.description),u!=null&&u.form){const h=l()?i.default||a:void 0;h!=null&&setFieldProps(r,"initialValue",h)}if(!r.validator&&(d["x-validator"]||i["x-validator"])){const h=(0,import_lodash.concat)([],d["x-validator"]||[],i["x-validator"]||[]);r.validator=h}i["x-disabled"]===!0&&(r.disabled=!0),i["x-read-pretty"]===!0&&(r.readPretty=!0),setRequired(r,i,d),r.dataSource=d.enum,r.data=r.data||{},r.data.dataSource=d==null?void 0:d.enum;const p=o(d["x-component-props"])||{};r.componentProps=(0,import_shared.merge)(p,r.componentProps||{},m||{})},[n]),n?(0,import_jsx_runtime.jsx)(c,x(x({},e),m)):null},CollectionFieldInternalField=e=>{var t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{uiSchema:i}=useCollectionFieldUISchema(),n=useComponent(((t=r["x-component-props"])==null?void 0:t.component)||(i==null?void 0:i["x-component"])||"Input"),a=useDynamicComponentProps(i==null?void 0:i["x-use-component-props"],e);if((0,import_react2.useEffect)(()=>{r["x-read-pretty"]===!0&&!o.readPretty&&(o.readPretty=!0),r["x-disabled"]===!0&&(o.disabled=!0),o.data=o.data||{},o.data.dataSource=i==null?void 0:i.enum},[o,r]),!i)return null;const l=x(x({},e),a);return isVariable$1(l.value)&&l.value===r.default&&(l.value=void 0),(0,import_jsx_runtime.jsx)(n,x({},l))},CollectionField$1=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)(),o=useIsInNocoBaseRecursionFieldContext();return(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t.name,children:o?(0,import_jsx_runtime.jsx)(CollectionFieldInternalField,x({},e)):(0,import_jsx_runtime.jsx)(CollectionFieldInternalField_deprecated,x({},e))})});CollectionField$1.displayName="CollectionField";const getKeyByName=e=>e?`nocobase_${e}_designable`.toUpperCase():"nocobase_designable".toUpperCase(),SchemaComponentProviderWithLocalStorageState=e=>{const[t,o]=(0,import_ahooks.useLocalStorageState)(getKeyByName(e.appName),{defaultValue:!!e.designable});return(0,import_jsx_runtime.jsx)(SchemaComponentProvider,P(x({},e),{designable:t,onDesignableChange:r=>{o(r)}}))},AppSchemaComponentProvider=e=>typeof e.designable=="boolean"?(0,import_jsx_runtime.jsx)(SchemaComponentProvider,x({},e)):(0,import_jsx_runtime.jsx)(SchemaComponentProviderWithLocalStorageState,x({},e));function getOperators(){Array.isArray||(Array.isArray=function(i){return Object.prototype.toString.call(i)==="[object Array]"});function e(i){for(var n=[],a=0,l=i.length;a<l;a++)n.indexOf(i[a])===-1&&n.push(i[a]);return n}function t(i,n){return JSON.stringify(i)===JSON.stringify(n)}var o={},r={$is:function(i,n){return i===n},$match:function(i,n){return Array.isArray(i)&&Array.isArray(n)&&i.some(a=>Array.isArray(a))?i.some(a=>(a==null?void 0:a.length)===n.length&&(a==null?void 0:a.every((l,c)=>l===n[c]))):JSON.stringify(i)===JSON.stringify(n)},$eq:function(i,n){return Array.isArray(i)&&Array.isArray(n)?t(i,n):Array.isArray(i)?i.includes(n):i==n},$ne:function(i,n){return i!=n},"!==":function(i,n){return i!==n},$gt:function(i,n){return Array.isArray(i)?i.some(a=>a>n):i>n},$gte:function(i,n){return i>=n},$lt:function(i,n,a){return Array.isArray(i)?i.some(l=>l<n):a===void 0?i<n:i<n&&n<a},$lte:function(i,n,a){return a===void 0?i<=n:i<=n&&n<=a},$exists:function(i){return o.truthy(i)},$notEmpty:function(i){return i===0||o.truthy(i)},$empty:function(i){return Array.isArray(i)||typeof i=="string"?i.length===0:i==null},$notExists:function(i){return!o.truthy(i)},"%":function(i,n){return i%n},log:function(i){return i},$in:function(i,n){return!n||typeof n.indexOf>"u"?!1:Array.isArray(i)&&Array.isArray(n)?n.some(a=>i.includes(a)):n.indexOf(i)!==-1},$notIn:function(i,n){return!n||typeof n.indexOf>"u"?!1:n.indexOf(i)===-1},$includes:function(i,n){return!i||typeof i.indexOf>"u"?!1:Array.isArray(i)?i.some(a=>a==null?void 0:a.includes(n)):i.indexOf(n)!==-1},$notIncludes:function(i,n){return Array.isArray(i)?!i.some(a=>(a||"").includes(n)):(i=i||"",!i.includes(n))},$anyOf:function(i,n){return i==null||i.length===0?!1:Array.isArray(i)&&Array.isArray(n)&&i.some(a=>Array.isArray(a))?i.some(a=>a.some(l=>n.includes(l))):i.some(a=>n.includes(a))},$noneOf:function(i,n){return!i||i.length===0||!n||n.length===0?!0:(Array.isArray(i)||(i=[i]),Array.isArray(n)||(n=[n]),!n.some(a=>i.includes(a)))},$notMatch:function(i,n){if((i==null?void 0:i.length)!==(n==null?void 0:n.length))return!0;for(let a=0;a<((i==null?void 0:i.length)||0);a++)if((i==null?void 0:i[a])!==(n==null?void 0:n[a]))return!0;return!1},$dateOn:function(i,n){if(!i||!n)return!1;if(n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n))return r.$dateBetween(i,n);const a=parseDate(i),l=parseDate(n);return!a||!l?!1:a.getTime()===l.getTime()},$dateBefore:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[0]);const a=parseDate(i),l=parseDate(n);return!a||!l?!1:a.getTime()<l.getTime()},$dateNotBefore:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[0]);const a=parseDate(i),l=parseDate(n);if(!a||!l)throw new Error("Invalid date format");return a.getTime()>=l.getTime()},$dateAfter:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[1]);const a=parseDate(i),l=parseDate(n);return a.getTime()>l.getTime()},$dateNotAfter:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n)&&(n=n[1]);const a=parseDate(i),l=parseDate(n);if(!a||!l)throw new Error("Invalid date format");return a.getTime()<=l.getTime()},$dateBetween:function(i,n){if(!i||!n)return!1;n.type&&(n=(0,import_client.getDayRangeByParams)(n));const a=parseDate(i),l=parseFullDate(n[0]),c=parseFullDate(n[1]);if(!a||!l||!c)throw new Error("Invalid date format");return a.getTime()>=l.getTime()&&a.getTime()<=c.getTime()},$dateNotOn:function(i,n){if(!i||!n)return!1;if(n.type&&(n=(0,import_client.getDayRangeByParams)(n)),Array.isArray(n))return!r.$dateBetween(i,n);const a=parseDate(i),l=parseDate(n);return a.getTime()!==l.getTime()},$isTruly:function(i){return Array.isArray(i)?i.some(n=>n===!0||n===1):i===!0||i===1},$isFalsy:function(i){return Array.isArray(i)?i.some(n=>!o.truthy(n)):!o.truthy(i)},cat:function(){return Array.prototype.join.call(arguments,"")},substr:function(i,n,a){if(a<0){var l=String(i).substr(n);return l.substr(0,l.length+a)}return String(i).substr(n,a)},"+":function(){return Array.prototype.reduce.call(arguments,function(i,n){return parseFloat(i,10)+parseFloat(n,10)},0)},"*":function(){return Array.prototype.reduce.call(arguments,function(i,n){return parseFloat(i,10)*parseFloat(n,10)})},"-":function(i,n){return n===void 0?-i:i-n},"/":function(i,n){return i/n},min:function(){return Math.min.apply(this,arguments)},max:function(){return Math.max.apply(this,arguments)},merge:function(){return Array.prototype.reduce.call(arguments,function(i,n){return i.concat(n)},[])},var:function(i,n){var a=n===void 0?null:n,l=this;if(typeof i>"u"||i===""||i===null)return l;for(var c=String(i).split("."),u=0;u<c.length;u++)if(l==null||(l=l[c[u]],l===void 0))return a;return l},missing:function(){for(var i=[],n=Array.isArray(arguments[0])?arguments[0]:arguments,a=0;a<n.length;a++){var l=n[a],c=o.apply({var:l},this);(c===null||c==="")&&i.push(l)}return i},missing_some:function(i,n){var a=o.apply({missing:n},this);return n.length-a.length>=i?[]:a}};return o.is_logic=function(i){return typeof i=="object"&&i!==null&&!Array.isArray(i)&&Object.keys(i).length===1&&!i.type},o.truthy=function(i){return Array.isArray(i)&&i.length===0?!1:!!i},o.getOperator=function(i){return Object.keys(i)[0]},o.getValues=function(i){return i[o.getOperator(i)]},o.apply=function(i,n){if(Array.isArray(i))return i.map(function(_){return o.apply(_,n)});if(!o.is_logic(i))return i;var a=o.getOperator(i),l=i[a],c,u,m,d,p;if(Array.isArray(l)||(l=[l]),a==="if"||a=="?:"){for(c=0;c<l.length-1;c+=2)if(o.truthy(o.apply(l[c],n)))return o.apply(l[c+1],n);return l.length===c+1?o.apply(l[c],n):null}else if(a==="$and"){for(c=0;c<l.length;c+=1)if(u=o.apply(l[c],n),!o.truthy(u))return u;return u}else if(a==="or"){for(c=0;c<l.length;c+=1)if(u=o.apply(l[c],n),o.truthy(u))return u;return u}else{if(a==="filter")return d=o.apply(l[0],n),m=l[1],Array.isArray(d)?d.filter(function(_){return o.truthy(o.apply(m,_))}):[];if(a==="map")return d=o.apply(l[0],n),m=l[1],Array.isArray(d)?d.map(function(_){return o.apply(m,_)}):[];if(a==="reduce")return d=o.apply(l[0],n),m=l[1],p=typeof l[2]<"u"?l[2]:null,Array.isArray(d)?d.reduce(function(_,f){return o.apply(m,{current:f,accumulator:_})},p):p;if(a==="all"){if(d=o.apply(l[0],n),m=l[1],!Array.isArray(d)||!d.length)return!1;for(c=0;c<d.length;c+=1)if(!o.truthy(o.apply(m,d[c])))return!1;return!0}else if(a==="none"){if(d=o.apply(l[0],n),m=l[1],!Array.isArray(d)||!d.length)return!0;for(c=0;c<d.length;c+=1)if(o.truthy(o.apply(m,d[c])))return!1;return!0}else if(a==="some"){if(d=o.apply(l[0],n),m=l[1],!Array.isArray(d)||!d.length)return!1;for(c=0;c<d.length;c+=1)if(o.truthy(o.apply(m,d[c])))return!0;return!1}}if(l=l.map(function(_){return o.apply(_,n)}),r.hasOwnProperty(a)&&typeof r[a]=="function")return r[a].apply(n,l);if(a.indexOf(".")>0){var h=String(a).split("."),g=r;for(c=0;c<h.length;c++){if(!g.hasOwnProperty(h[c]))throw new Error("Unrecognized operation "+a+" (failed at "+h.slice(0,c+1).join(".")+")");g=g[h[c]]}return g.apply(n,l)}throw new Error("Unrecognized operation "+a)},o.uses_data=function(i){var n=[];if(o.is_logic(i)){var a=o.getOperator(i),l=i[a];Array.isArray(l)||(l=[l]),a==="var"?n.push(l[0]):l.forEach(function(c){n.push.apply(n,o.uses_data(c))})}return e(n)},o.addOperation=function(i,n){r[i]=n},o.rmOperation=function(i){delete r[i]},o.rule_like=function(i,n){if(n===i||n==="@")return!0;if(n==="number")return typeof i=="number";if(n==="string")return typeof i=="string";if(n==="array")return Array.isArray(i)&&!o.is_logic(i);if(o.is_logic(n)){if(o.is_logic(i)){var a=o.getOperator(n),l=o.getOperator(i);if(a==="@"||a===l)return o.rule_like(o.get_values(i,!1),o.get_values(n,!1))}return!1}if(Array.isArray(n))if(Array.isArray(i)){if(n.length!==i.length)return!1;for(var c=0;c<n.length;c+=1)if(!o.rule_like(i[c],n[c]))return!1;return!0}else return!1;return!1},o}function parseFullDate(e){return e.includes("T")&&e.endsWith("Z")?new Date(e):e.includes(" ")?new Date(e.replace(" ","T")):new Date(`${e}T00:00:00`)}function parseMonth(e){const[t,o]=e.split("-").map(Number);return new Date(t,o-1)}function parseQuarter(e){const t=parseInt(e.slice(0,4)),o=(parseInt(e.slice(5,6))-1)*3;return new Date(t,o)}function parseYear(e){const t=parseInt(e);return new Date(t,0)}function parseDate(e){var t;let o=Array.isArray(e)?(t=e[1])!=null?t:e[0]:e;return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(o)?new Date(o):/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(o)?new Date(o.replace(" ","T")):/^\d{4}-\d{2}-\d{2}$/.test(o)?parseFullDate(o):/^\d{4}-\d{2}$/.test(o)?parseMonth(o):/^\d{4}Q[1-4]$/.test(o)?parseQuarter(o):/^\d{4}$/.test(o)?parseYear(o):null}class Application{constructor(t={}){k(this,"eventBus",new EventTarget),k(this,"providers",[]),k(this,"router"),k(this,"scopes",{}),k(this,"i18n"),k(this,"ws"),k(this,"apiClient"),k(this,"components",P(x(x({DataBlockProvider},defaultAppComponents),schemaInitializerComponents),{CollectionField:CollectionField$1})),k(this,"pluginManager"),k(this,"pluginSettingsManager"),k(this,"devDynamicImport"),k(this,"requirejs"),k(this,"notification"),k(this,"schemaInitializerManager"),k(this,"schemaSettingsManager"),k(this,"dataSourceManager"),k(this,"name"),k(this,"favicon"),k(this,"globalVars",{}),k(this,"globalVarCtxs",{}),k(this,"jsonLogic"),k(this,"loading",!0),k(this,"maintained",!1),k(this,"maintaining",!1),k(this,"error",null),k(this,"hasLoadError",!1),k(this,"wsAuthorized",!1),k(this,"variables",[]),this.options=t,this.initRequireJs(),(0,import_reactive.define)(this,{maintained:import_reactive.observable.ref,loading:import_reactive.observable.ref,maintaining:import_reactive.observable.ref,error:import_reactive.observable.ref}),this.devDynamicImport=t.devDynamicImport,this.scopes=(0,import_merge.default)(this.scopes,t.scopes),this.components=(0,import_merge.default)(this.components,t.components),this.apiClient=t.apiClient instanceof APIClient?t.apiClient:new APIClient(t.apiClient),this.apiClient.app=this,this.i18n=t.i18n||i18n,this.router=new RouterManager(t.router,this),this.schemaSettingsManager=new SchemaSettingsManager(t.schemaSettings,this),this.pluginManager=new PluginManager$1(t.plugins,t.loadRemotePlugins,this),this.schemaInitializerManager=new SchemaInitializerManager(t.schemaInitializers,this),this.dataSourceManager=new DataSourceManager(t.dataSourceManager,this),this.addDefaultProviders(),this.addReactRouterComponents(),this.addProviders(t.providers||[]),this.ws=new WebSocketClient(t.ws),this.ws.app=this,this.pluginSettingsManager=new PluginSettingsManager(t.pluginSettings,this),this.addRoutes(),this.name=this.options.name||(0,import_sdk.getSubAppName)(t.publicPath)||"main",this.i18n.on("languageChanged",o=>{this.apiClient.auth.locale=o}),this.initListeners(),this.jsonLogic=getOperators()}get pm(){return this.pluginManager}get disableAcl(){return this.options.disableAcl}get isWsAuthorized(){return this.wsAuthorized}updateFavicon(t){let o=document.querySelector('link[rel="shortcut icon"]');t&&(this.favicon=t),o?o.href=this.favicon||"/favicon/favicon.ico":(o=document.createElement("link"),o.rel="shortcut icon",o.href=this.favicon||"/favicon/favicon.ico",document.head.appendChild(o))}setWsAuthorized(t){this.wsAuthorized=t}initListeners(){this.eventBus.addEventListener("auth:tokenChanged",t=>{this.setTokenInWebSocket(t.detail)}),this.eventBus.addEventListener("maintaining:end",()=>{this.apiClient.auth.token&&this.setTokenInWebSocket({token:this.apiClient.auth.token,authenticator:this.apiClient.auth.getAuthenticator()})})}setTokenInWebSocket(t){const{token:o,authenticator:r}=t;this.maintaining||this.ws.send(JSON.stringify({type:"auth:token",payload:{token:o,authenticator:r}}))}setMaintaining(t){this.maintaining!==t&&(this.maintaining=t,t||this.eventBus.dispatchEvent(new Event("maintaining:end")))}initRequireJs(){this.requirejs=getRequireJs(),defineGlobalDeps(this.requirejs),window.define=this.requirejs.define}addDefaultProviders(){this.use(APIClientProvider,{apiClient:this.apiClient}),this.use(import_react_i18next.I18nextProvider,{i18n:this.i18n}),this.use(GlobalThemeProvider),this.use(CSSVariableProvider),this.use(AppSchemaComponentProvider,{designable:this.options.designable,appName:this.name,components:this.components,scope:this.scopes}),this.use(AntdAppProvider),this.use(DataSourceApplicationProvider,{dataSourceManager:this.dataSourceManager}),this.use(OpenModeProvider)}addReactRouterComponents(){this.addComponents({Link:import_react_router_dom.Link,Navigate:import_react_router_dom.Navigate,NavLink:import_react_router_dom.NavLink})}addRoutes(){this.router.add("not-found",{path:"*",Component:this.components.AppNotFound})}getOptions(){return this.options}getName(){return(0,import_sdk.getSubAppName)(this.getPublicPath())||null}getPublicPath(){let t=this.options.publicPath||"/";return t.endsWith("/")||(t+="/"),t}getApiUrl(t=""){let o=this.apiClient.axios.defaults.baseURL;if(!o.startsWith("http://")&&!o.startsWith("https://")){const{protocol:r,host:i}=window.location;o=`${r}//${i}${o}`}return o.replace(/\/$/g,"")+"/"+t.replace(/^\//g,"")}getRouteUrl(t){return this.getPublicPath()+t.replace(/^\//g,"")}getHref(t){const o=this.name;return o&&o!=="main"?this.getPublicPath()+"apps/"+o+"/"+t.replace(/^\//g,""):this.getPublicPath()+t.replace(/^\//g,"")}getCollectionManager(t){var o;return(o=this.dataSourceManager.getDataSource(t))==null?void 0:o.collectionManager}getComposeProviders(){const t=compose(...this.providers)(BlankComponent);return t.displayName="Providers",t}use(t,o){return this.addProvider(t,o)}addProvider(t,o){return this.providers.push([t,o])}addProviders(t){t.forEach(o=>{Array.isArray(o)?this.addProvider(o[0],o[1]):this.addProvider(o)})}load(){return q(this,null,function*(){var t,o,r,i,n;try{this.loading=!0,yield this.loadWebSocket(),yield this.pm.load()}catch(a){this.hasLoadError=!0,((i=(r=(o=(t=a==null?void 0:a.response)==null?void 0:t.data)==null?void 0:o.errors)==null?void 0:r[0])==null?void 0:i.code)==="BLOCKED_IP"&&(this.hasLoadError=!1),this.ws.enabled&&(yield new Promise(l=>{setTimeout(()=>l(null),1e3)})),this.error=x({code:"LOAD_ERROR"},(n=this.apiClient.toErrMessages(a))==null?void 0:n[0]),console.error(a,this.error)}this.loading=!1,this.updateFavicon()})}loadWebSocket(){return q(this,null,function*(){this.eventBus.addEventListener("ws:message:authorized",()=>{this.setWsAuthorized(!0)}),this.ws.on("message",t=>{var o,r,i;const n=JSON.parse(t.data);if((o=n==null?void 0:n.payload)!=null&&o.refresh){window.location.reload();return}if(n.type==="notification"){this.notification[((r=n.payload)==null?void 0:r.type)||"info"]({message:(i=n.payload)==null?void 0:i.message});return}if(n.type==="maintaining"&&n.payload.code!=="APP_RUNNING")this.setMaintaining(!0),this.error=n.payload;else{this.hasLoadError&&window.location.reload(),this.setMaintaining(!1),this.maintained=!0,this.error=null;const a=n.type;if(!a)return;const l=`ws:message:${a}`;this.eventBus.dispatchEvent(new CustomEvent(l,{detail:n.payload}))}}),this.ws.on("serverDown",()=>{this.maintaining=!0,this.maintained=!1}),this.ws.on("open",()=>{const t=this.apiClient.auth.token;t&&this.setTokenInWebSocket({token:t,authenticator:this.apiClient.auth.getAuthenticator()})}),this.ws.connect()})}getComponent(t,o=!0){const r=i=>o&&console.error(i);if(!t){r(`getComponent called with ${t}`);return}if(typeof t=="function")return t;if(typeof t=="string"){const i=(0,import_get.default)(this.components,t);if(!i){r(`Component ${t} not found`);return}return i}r(`Component ${t} should be a string or a React component`)}renderComponent(t,o,r){return import_react2.default.createElement(this.getComponent(t),o,r)}addComponent(t,o){const r=o||t.displayName||t.name;if(!r){console.error("Component must have a displayName or pass name as second argument");return}(0,import_set.default)(this.components,r,t)}addComponents(t){Object.keys(t).forEach(o=>{this.addComponent(t[o],o)})}addScopes(t){this.scopes=(0,import_merge.default)(this.scopes,t)}getRootComponent(){return({children:t})=>(0,import_jsx_runtime.jsx)(AppComponent,{app:this,children:t})}mount(t){const o=normalizeContainer(t);if(!o)return;const r=this.getRootComponent(),i=(0,import_client2.createRoot)(o);return i.render((0,import_jsx_runtime.jsx)(r,{})),i}addFieldInterfaces(t=[]){return this.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaces(t)}addFieldInterfaceComponentOption(t,o){return this.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceComponentOption(t,o)}addFieldInterfaceOperator(t,o){return this.dataSourceManager.collectionFieldInterfaceManager.addFieldInterfaceOperator(t,o)}addGlobalVar(t,o,r){(0,import_set.default)(this.globalVars,t,o),r&&(0,import_set.default)(this.globalVarCtxs,t,r)}getGlobalVar(t){return(0,import_get.default)(this.globalVars,t)}getGlobalVarCtx(t){return(0,import_get.default)(this.globalVarCtxs,t)}addUserCenterSettingsItem(t){const o=t.useVisible||(()=>!0),r=()=>{const{allow:i}=useAclSnippets();return o()?t.aclSnippet?i(t.aclSnippet):!0:!1};this.schemaSettingsManager.addItem("userCenterSettings",t.name,P(x({},t),{useVisible:r}))}registerVariable(t){if(this.variables.find(o=>o.name===t.name)){console.warn(`Variable ${t.name} already registered`);return}this.variables.push(t)}getVariables(){return this.variables}}function getNewSchema(e){const{fieldSchema:t,schemaKey:o,parentSchemaKey:r,value:i,valueKeys:n}=e;if(o)import_lodash.default.set(t,o,i);else if(r){if(i==null)return t;typeof i=="object"?Object.keys(i).forEach(a=>{n&&!n.includes(a)||import_lodash.default.set(t,`${r}.${a}`,i[a])}):console.error("value must be object")}return t}const useHookDefault=e=>e,useSchemaByType=(e="common")=>{const t=(0,import_react.useFieldSchema)(),{fieldSchema:o}=useColumnSchema$1()||{};return e==="field"&&o||t};function createModalSettingsItem(e){const{name:t,parentSchemaKey:o,valueKeys:r,schema:i,title:n,useSubmit:a=useHookDefault,useVisible:l,defaultValue:c,useDefaultValue:u=useHookDefault,width:m,type:d="common"}=e;return{name:t,type:"actionModal",useVisible:l,useComponentProps(){const p=useSchemaByType(d),{dn:h}=useDesignable(),g=u(c),_=o?import_lodash.default.get(p,o):void 0,f=useCompile(),{t:v}=(0,import_react_i18next.useTranslation)(),C=a(),{fieldSchema:S}=useColumnSchema$1()||{};return{title:typeof n=="function"?n(v):f(n),width:m,schema:i(x(x({},g),_)),onSubmit(b){const y=getNewSchema({fieldSchema:p,parentSchemaKey:o,value:b,valueKeys:r});return S?(h.emit("patch",{schema:y}),h.refresh()):h.deepMerge(y),C==null?void 0:C(b)}}}}}const createSelectSchemaSettingsItem=e=>{const{name:t,title:o,options:r,useOptions:i=useHookDefault,schemaKey:n,useVisible:a,type:l="common",defaultValue:c,useDefaultValue:u=useHookDefault}=e;return{name:t,type:"select",useVisible:a,useComponentProps(){const m=useSchemaByType(l),{fieldSchema:d}=useColumnSchema$1()||{},{dn:p}=useDesignable(),h=i(r),g=u(c),_=useCompile(),{t:f}=(0,import_react_i18next.useTranslation)();return{title:typeof o=="function"?o(f):_(o),options:h,value:import_lodash.default.get(m,n,g),onChange(v){const C=getNewSchema({fieldSchema:m,schemaKey:n,value:v});d?(p.emit("patch",{schema:C}),p.refresh()):p.deepMerge(C)}}}}};function createSwitchSettingsItem(e){const{name:t,useVisible:o,schemaKey:r,title:i,type:n="common",defaultValue:a,useDefaultValue:l=useHookDefault,useComponentProps:c}=e;return{name:t,useVisible:o,type:"switch",useComponentProps(){const u=useSchemaByType(n),{dn:m}=useDesignable(),d=l(a),p=useCompile(),{t:h}=(0,import_react_i18next.useTranslation)(),{fieldSchema:g}=useColumnSchema$1()||{},_=c==null?void 0:c();return{title:typeof i=="function"?i(h):p(i),checked:(_==null?void 0:_.checked)===void 0?!!import_lodash.default.get(u,r,d):_==null?void 0:_.checked,onChange(f){var v;(v=_==null?void 0:_.onChange)==null||v.call(_,f);const C=getNewSchema({fieldSchema:u,schemaKey:r,value:f});g?(m.emit("patch",{schema:C}),m.refresh()):m.deepMerge(C)}}}}}function createTextSettingsItem(e){const{name:t,useVisible:o,title:r,useTextClick:i=useHookDefault}=e;return{name:t,type:"item",useVisible:o,useComponentProps(){const n=useCompile(),{t:a}=(0,import_react_i18next.useTranslation)(),l=i();return{title:typeof r=="function"?r(a):n(r),onClick:l}}}}const linkageAction$1=(e,t)=>q(void 0,[e,t],function*({operator:o,condition:r,variables:i,localVariables:n,conditionType:a,displayResult:l},c){switch(o){case"visible":return(yield conditionAnalyses({ruleGroup:r,variables:i,localVariables:n,conditionType:a},c))&&l.push("visible"),l;case"hidden":return(yield conditionAnalyses({ruleGroup:r,variables:i,localVariables:n,conditionType:a},c))&&l.push("hidden"),l;default:return null}}),useReactiveLinkageEffect=(e,t,o,r)=>{const i=useApp().jsonLogic,[n,a]=(0,import_react2.useState)(null),l=useCollectionRecord();return(0,import_react2.useEffect)(()=>{q(void 0,null,function*(){const c=[];for(const u of e.filter(m=>!m.disabled))for(const m of u.actions||[])yield linkageAction$1({operator:m.operator,condition:u.condition,variables:t,localVariables:o,conditionType:u.conditionType,displayResult:c},i);a(c)})},[e,r,l]),n};function forEachLinkageRule(e,t){e.forEach(o=>{var r;(r=o.actions)==null||r.forEach(i=>{t(i,o)})})}const getLinkageRules$2=e=>{if(!e)return[];let t=(e==null?void 0:e["x-block-linkage-rules"])||[];return e.mapProperties(o=>{o["x-block-linkage-rules"]&&(t=o["x-block-linkage-rules"])}),t==null?void 0:t.filter(o=>!o.disabled)},BlockLinkageRuleProvider=e=>{const t=(0,import_react.useFieldSchema)(),o=useVariables$1(),r=useLocalVariables$1(),{designable:i}=useDesignable(),n=(0,import_react.useForm)(),a=(0,import_react2.useMemo)(()=>getLinkageRules$2(t),[t]),[l,c]=(0,import_react2.useState)(null),u=useReactiveLinkageEffect(a,o,r,l),m=(t==null?void 0:t["x-decorator"])==="FormItem"&&!n.readPretty&&a.length;return(0,import_react2.useEffect)(()=>{if(m){const d=(0,import_shared.uid)();return setTimeout(()=>{n.addEffects(d,()=>{forEachLinkageRule(a,(p,h)=>(0,import_reactive.reaction)(()=>{const g=getVariableValuesInCondition({linkageRules:a,localVariables:r}),_=getVariableValuesInExpression({action:p,localVariables:r});return[g,_].map(f=>JSON.stringify(f)).join(",")},()=>{c((0,import_shared.uid)())},{fireImmediately:!0,equals:import_lodash.isEqual}))})}),()=>{n.removeEffects(d)}}},[a,m]),a.length?u===null?null:(0,import_lodash.last)(u)==="hidden"?i?(0,import_jsx_runtime.jsx)("div",{style:{opacity:.3},children:e.children}):null:e.children:e.children},DataBlockContext=(0,import_react2.createContext)({});DataBlockContext.displayName="DataBlockContext";const DataBlockResourceContext=(0,import_react2.createContext)(null),RerenderDataBlockProvider=({children:e})=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_react2.useMemo)(()=>({rerenderDataBlock:()=>{o(!0),setTimeout(()=>{o(!1)})}}),[]);return t?null:(0,import_jsx_runtime.jsx)(DataBlockResourceContext.Provider,{value:r,children:e})},AssociationOrCollectionProvider=e=>{const{collection:t,association:o,allowNull:r=!1}=e,i=(0,import_react2.useMemo)(()=>o?{Component:AssociationProvider,name:o}:{Component:SanitizedCollectionProvider,name:t},[t,o]);return(0,import_jsx_runtime.jsx)(i.Component,{name:i.name,allowNull:r,children:e.children})},DataBlockProvider=withDynamicSchemaProps(import_react2.default.memo(e=>{const t=e,{collection:o,association:r,dataSource:i,children:n,hidden:a}=t,l=Y(t,["collection","association","dataSource","children","hidden"]),{dn:c}=useDesignable(),u=(0,import_react.useFieldSchema)();return a?null:(0,import_jsx_runtime.jsx)(VariableScope,{scopeId:u==null?void 0:u["x-uid"],type:"dataBlock",children:(0,import_jsx_runtime.jsx)(DataBlockContext.Provider,{value:{dn:c,props:P(x({},l),{collection:o,association:r,dataSource:i})},children:(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{dataSource:i,children:(0,import_jsx_runtime.jsx)(AssociationOrCollectionProvider,{collection:o,association:r,children:(0,import_jsx_runtime.jsx)(ACLCollectionProvider,{children:(0,import_jsx_runtime.jsx)(BlockLinkageRuleProvider,{children:(0,import_jsx_runtime.jsx)(DataBlockResourceProvider,{children:(0,import_jsx_runtime.jsx)(BlockRequestProvider,{children:(0,import_jsx_runtime.jsx)(DataBlockCollector,{params:e.params,children:(0,import_jsx_runtime.jsx)(RerenderDataBlockProvider,{children:n})})})})})})})})})})}),{displayName:"DataBlockProvider"}),useDataBlock=()=>{const e=(0,import_react2.useContext)(DataBlockContext);if(!e)throw new Error("useDataBlock() must be used within a DataBlockProvider");return e},useDataBlockProps=()=>useDataBlock().props,useRerenderDataBlock=()=>{const e=(0,import_react2.useContext)(DataBlockResourceContext);if(!e)throw new Error("useRerenderDataBlock() must be used within a DataBlockProvider");return e},BlockRequestRefContext=(0,import_react2.createContext)(null);BlockRequestRefContext.displayName="BlockRequestRefContext";const BlockRequestLoadingContext=(0,import_react2.createContext)(!1);BlockRequestLoadingContext.displayName="BlockRequestLoadingContext";const BlockRequestDataContext=(0,import_react2.createContext)(null);BlockRequestDataContext.displayName="BlockRequestDataContext";function useRecordRequest(e){const t=useDataLoadingMode(),o=useDataBlockResource(),{action:r,params:i={},record:n,requestService:a,requestOptions:l,sourceId:c,association:u,parentRecord:m}=e,d=useAPIClient(),p=useDataBlockProps(),h=useDataSourceHeaders(p.dataSource),g=useSourceKey(u),[_,f]=(0,import_react2.useMemo)(()=>[JSON.stringify(i),JSON.stringify(n)],[i,n]),{isBlockTemplate:v,templateFinished:C}=useTemplateBlockContext(),S=F=>{var j;if(n)return Promise.resolve({data:n});if(!r)throw new Error("[nocobase]: The 'action' parameter is missing in the 'DataBlockRequestProvider' component");if(r==="get"&&import_lodash.default.isNil(i.filterByTk))return console.warn('[nocobase]: The "filterByTk" parameter is missing in the "DataBlockRequestProvider" component');const A=i.filterByTk===void 0?import_lodash.default.omit(i,"filterByTk"):i,D=x(x({},A),F);return(j=o[r])==null?void 0:j.call(o,D).then(N=>N.data)},b=(...F)=>v!=null&&v()&&!C?null:(a||S)(...F),y=useRequest((...F)=>q(this,null,function*(){const[j,A]=yield Promise.all([b(...F),requestParentRecordData({sourceId:c,association:u,parentRecord:m,api:d,headers:h,sourceKey:g})]);return j&&(j.parentRecord=A==null?void 0:A.data),j}),P(x({},l),{manual:t==="manual",ready:!!r,refreshDeps:[r,_,f,o,u,m,c,C]}));return y._defaultParams=i,y}function requestParentRecordData(e){return q(this,arguments,function*({sourceId:t,association:o,parentRecord:r,api:i,headers:n,sourceKey:a}){if(r)return Promise.resolve({data:r});if(!o||!a||!t)return Promise.resolve({data:void 0});const l=`${o.split(".")[0]}:get?filter[${a}]=${t}`;return(yield i.request({url:l,headers:n})).data})}const BlockRequestContextProvider=e=>{var t,o,r,i,n,a;const l=(0,import_react2.useRef)(e.recordRequest),c=(0,import_react2.useRef)((t=e.recordRequest)==null?void 0:t.data),{active:u}=useKeepAlive(),m=(0,import_react2.useRef)(u),d=(0,import_react2.useDeferredValue)(u),p=useDataBlockProps();return d&&!m.current&&(import_lodash.default.isNil(p.dataLoadingMode)||p.dataLoadingMode==="auto")&&((o=e.recordRequest)==null||o.refresh()),d&&m.current&&!((r=e.recordRequest)!=null&&r.loading)&&!import_lodash.default.isEqual(c.current,(i=e.recordRequest)==null?void 0:i.data)&&(c.current=(n=e.recordRequest)==null?void 0:n.data),d!==m.current&&(m.current=d),l.current=e.recordRequest,(0,import_jsx_runtime.jsx)(BlockRequestRefContext.Provider,{value:l,children:(0,import_jsx_runtime.jsx)(BlockRequestLoadingContext.Provider,{value:(a=e.recordRequest)==null?void 0:a.loading,children:(0,import_jsx_runtime.jsx)(BlockRequestDataContext.Provider,{value:c.current,children:e.children})})})},BlockRequestProvider=import_react2.default.memo(({children:e})=>{var t,o;const r=useDataBlockProps(),{action:i,filterByTk:n,sourceId:a,params:l=EMPTY_OBJECT,association:c,collection:u,record:m,parentRecord:d,requestOptions:p,requestService:h}=r,g=(0,import_react2.useMemo)(()=>P(x({},l),{filterByTk:n||l.filterByTk}),[n,l]),_=useRecordRequest({action:i,sourceId:a,record:m,association:c,collection:u,requestOptions:p,requestService:h,params:g,parentRecord:d}),f=(t=_.data)==null?void 0:t.parentRecord,v=(0,import_react2.useMemo)(()=>f&&new CollectionRecord({isNew:!1,data:f instanceof CollectionRecord?f.data:f}),[f]);return(0,import_jsx_runtime.jsx)(BlockRequestContextProvider,{recordRequest:_,children:i!=="list"?(0,import_jsx_runtime.jsx)(CollectionRecordProvider,{isNew:i==null,record:((o=_.data)==null?void 0:o.data)||m,parentRecord:v||d,children:e}):(0,import_jsx_runtime.jsx)(CollectionRecordProvider,{isNew:!1,record:null,parentRecord:v||d,children:e})})});BlockRequestProvider.displayName="DataBlockRequestProvider";const useDataBlockRequest=()=>{const e=(0,import_react2.useContext)(BlockRequestRefContext),t=(0,import_react2.useContext)(BlockRequestLoadingContext),o=(0,import_react2.useContext)(BlockRequestDataContext);return(0,import_react2.useMemo)(()=>e?P(x({},e.current),{loading:t,data:o}):null,[e,o,t])},useDataBlockRequestGetter=()=>{const e=(0,import_react2.useContext)(BlockRequestRefContext);return(0,import_react2.useMemo)(()=>({getDataBlockRequest:()=>e?e.current:null}),[e])},useDataBlockRequestData=()=>(0,import_react2.useContext)(BlockRequestDataContext),FilterContext$1=(0,import_react2.createContext)(null);FilterContext$1.displayName="FilterContext";const FilterBlockProvider=import_react2.default.memo(({children:e})=>{const t=import_react2.default.useRef([]),o=(0,import_react2.useCallback)(n=>{typeof n=="function"?t.current=n(t.current):t.current=n},[]),r=(0,import_react2.useCallback)(()=>t.current,[]),i=(0,import_react2.useMemo)(()=>({getDataBlocks:r,setDataBlocks:o}),[r,o]);return(0,import_jsx_runtime.jsx)(FilterContext$1.Provider,{value:i,children:e})});FilterBlockProvider.displayName="FilterBlockProvider";const DataBlockCollector=({children:e,params:t})=>{const o=useCollection(),{recordDataBlocks:r}=useFilterBlock(),{getDataBlockRequest:i}=useDataBlockRequestGetter(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useAssociatedFields(),c=(0,import_react2.useRef)(null),u=useDataLoadingMode(),m=n&&n.decoratorType!=="FilterFormBlockProvider"&&n.decoratorType!=="FormBlockProvider"&&n.decoratorProps.blockType!=="filter",d=(0,import_react2.useCallback)(()=>{const p=i();r({uid:a["x-uid"],title:n.componentProps.title,doFilter:p.runAsync,collection:o,associatedFields:l,foreignKeyFields:o==null?void 0:o.getFields("isForeignKey"),defaultFilter:(t==null?void 0:t.filter)||{},service:p,dom:c.current,dataLoadingMode:u,clearFilter(h){var g,_,f;const v=((g=this.service.params)==null?void 0:g[0])||{},C=((f=(_=this.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};delete C[h];const S=mergeFilter([...Object.values(C).map(b=>removeNullCondition(b)),(t==null?void 0:t.filter)||{}]);this.service.run(P(x({},v),{page:1,filter:S}),{filters:C})},clearData(){this.service.mutate(void 0)},clearSelection(){var h,g;n&&((g=(h=n.data)==null?void 0:h.clearSelectedRowKeys)==null||g.call(h))},highlightBlock(){var h;const g=c.current;if(!g)return;const _=g.querySelector(".ant-nb-schema-toolbar");_&&_.classList.remove("hidden"),g.style.boxShadow="0 3px 12px rgba(0, 0, 0, 0.15)",g.style.transition="box-shadow 0.3s ease, transform 0.2s ease",(h=g.scrollIntoView)==null||h.call(g,{behavior:"smooth",block:"start"})},unhighlightBlock(){const h=c.current;if(!h)return;const g=h.querySelector(".ant-nb-schema-toolbar");g&&g.classList.add("hidden"),h.style.boxShadow="none",h.style.transition="box-shadow 0.3s ease, transform 0.2s ease"}})},[l,o,u,a,t==null?void 0:t.filter,r,i,n]);return(0,import_react2.useEffect)(()=>{m&&d()},[d,m]),(0,import_jsx_runtime.jsx)("div",{ref:c,children:e})},useFilterBlock=()=>{const e=import_react2.default.useContext(FilterContext$1),t=useAllDataBlocks(),o=(0,import_react2.useCallback)(()=>(e==null?void 0:e.getDataBlocks())||[],[e]),r=(0,import_react2.useCallback)(n=>{t.recordDataBlocks(n);const a=e==null?void 0:e.getDataBlocks().find(l=>l.uid===n.uid);if(a){Object.assign(a,n);return}e==null||e.setDataBlocks(l=>[...l,n])},[e]),i=(0,import_react2.useCallback)(n=>{t.removeDataBlock(n),!(e!=null&&e.getDataBlocks().every(a=>a.uid!==n))&&(e==null||e.setDataBlocks(a=>a.filter(l=>l.uid!==n)))},[e]);return e?{recordDataBlocks:r,getDataBlocks:o,removeDataBlock:i,inProvider:!0}:{inProvider:!1,recordDataBlocks:import_lodash.default.noop,getDataBlocks:o,removeDataBlock:import_lodash.default.noop}},MarkdownVoidDesigner=()=>{const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{children:[(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:t("Edit markdown"),onClick:()=>{e.editable=!0}}),(0,import_jsx_runtime.jsx)(SchemaSettingsRenderEngine,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsBlockHeightItem,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})};class QRCodeWebComponent extends HTMLElement{constructor(){super(),k(this,"root"),this.attachShadow({mode:"open"}),this.root=null}getProps(t,o={}){return[...t].filter(r=>r.name!=="style").map(r=>this.convert(o,r.name,r.value)).reduce((r,i)=>P(x({},r),{[i.name]:i.value}),{})}convert(t,o,r){const i=Object.keys(t).find(a=>a.toLowerCase()==o);let n=r;return r==="true"||r==="false"?n=r=="true":!isNaN(r)&&r!==""?n=+r:/^{.*}/.exec(r)&&(n=JSON.parse(r)),{name:i||o,value:n}}connectedCallback(){const t=x({},this.getProps(this.attributes));this.root=(0,import_client2.createRoot)(this.shadowRoot),this.root.render((0,import_jsx_runtime.jsx)(import_antd.QRCode,x({},t)))}disconnectedCallback(){this.root.unmount()}}function registerQrcodeWebComponent(){customElements.get("qr-code")||customElements.define("qr-code",QRCodeWebComponent)}const useStyles$a=genStyleHook("nb-markdown",(e,{isDarkTheme:t})=>{const{componentCls:o}=e,r=new import_tinycolor.TinyColor(e.colorFillAlter).onBackground(e.colorBgContainer).toHexShortString(),i={lineHeight:"inherit","&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:e.colorFillQuaternary,border:`1px solid ${e.colorBorder}`,borderRadius:e.borderRadiusSM},blockquote:{borderLeft:"4px solid #ccc",paddingLeft:"20px",marginLeft:"0",color:"#666",fontStyle:"italic"},img:{maxWidth:"100%"},".hljs":{background:"#f8f8f8",color:"#444"},".hljs-comment":{color:"#697070"},".hljs-punctuation,.hljs-tag":{color:"#444a"},".hljs-tag .hljs-attr,.hljs-tag .hljs-name":{color:"#444"},".hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag":{fontWeight:700},".hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type":{color:"#800"},".hljs-section,.hljs-title":{color:"#800",fontWeight:700},".hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable":{color:"#ab5656"},".hljs-literal":{color:"#695"},".hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code":{color:"#397300"},".hljs-meta":{color:"#1f7199"},".hljs-meta .hljs-string":{color:"#38a"},".hljs-emphasis":{fontStyle:"italic"},".hljs-strong":{fontWeight:700}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${e.colorBorderSecondary}`,padding:`${e.paddingContentVertical}px ${e.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:r,fontWeight:"bold",color:e.colorText},"tr:hover":{backgroundColor:e.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}},n={"&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:e.colorFillQuaternary,border:`1px solid ${e.colorBorder}`,borderRadius:e.borderRadiusSM},".hljs":{color:"#adbac7",background:"#22272e"},".hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_":{color:"#f47067"},".hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_":{color:"#dcbdfb"},".hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable":{color:"#6cb6ff"},".hljs-meta .hljs-string,.hljs-regexp,.hljs-string":{color:"#96d0ff"},".hljs-built_in,.hljs-symbol":{color:"#f69d50"},".hljs-code,.hljs-comment,.hljs-formula":{color:"#768390"},".hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag":{color:"#8ddb8c"},".hljs-subst":{color:"#adbac7"},".hljs-section":{color:"#316dca",fontWeight:700},".hljs-bullet":{color:"#eac55f"},".hljs-emphasis":{color:"#adbac7",fontStyle:"italic"},".hljs-strong":{color:"#adbac7",fontWeight:700},".hljs-addition":{color:"#b4f1b4",backgroundColor:"#1b4721"},".hljs-deletion":{color:"#ffd8d3",backgroundColor:"#78191b"}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${e.colorBorderSecondary}`,padding:`${e.paddingContentVertical}px ${e.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:r,fontWeight:"bold",color:e.colorText},"tr:hover":{backgroundColor:e.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}};return{[o]:x({lineHeight:e.lineHeight,"& > *:last-child":{marginBottom:"0"},".ant-description-textarea, .ant-description-input":{lineHeight:e.lineHeight},".field-interface-datetime":{minWidth:"100px"}},t?n:i)}}),parseMarkdown=import_lodash.default.memoize(e=>q(void 0,null,function*(){return e&&(yield Promise.resolve().then(()=>require("./md-oH2RssNY-IQIU5F3r.js"))).default.render(e)}));function useParseMarkdown(e){const[t,o]=(0,import_react2.useState)(""),[r,i]=(0,import_react2.useState)(!0);return(0,import_react2.useEffect)(()=>{i(!0),parseMarkdown(e).then(n=>{o(n),i(!1)}).catch(n=>console.log(n))},[e]),{html:t,loading:r}}function convertToText(e){const t=e;let o=document.createElement("div");o.innerHTML=t;const r=o.innerText;return o=null,(r==null?void 0:r.replace(/[\n\r]/g,""))||""}const MarkdownEditor=e=>{const{scope:t}=e,{t:o,i18n:r}=(0,import_react_i18next.useTranslation)(),[i,n]=(0,import_react2.useState)(e.defaultValue),a=(0,import_react2.useRef)(null),[l,c]=(0,import_react2.useState)([]),[u,m]=(0,import_react2.useState)(null);(0,import_react2.useEffect)(()=>{c(t)},[t]),(0,import_react2.useEffect)(()=>{var p,h;const g=(h=(p=a==null?void 0:a.current)==null?void 0:p.resizableTextArea)==null?void 0:h.textArea;u&&g&&g.setSelectionRange(u,u)},[u]);const d=(0,import_react2.useCallback)(function(p){var h;const g=p.filter(y=>!!y.trim()),{current:_}=a,f=(h=_==null?void 0:_.resizableTextArea)==null?void 0:h.textArea;if(!f||!g)return;_.focus();const v=`{{${p.join(".")}}}`,C=f.selectionStart||0,S=i.substring(0,C)+v+i.substring(C,i.length),b=C+v.length;n(S),m(b)},[i]);return(0,import_jsx_runtime.jsxs)("div",{className:"mb-markdown",style:{position:"relative",paddingTop:"20px"},children:[(0,import_jsx_runtime.jsx)(import_antd.Input.TextArea,P(x({ref:a,autoSize:{minRows:3}},e),{value:i,onChange:p=>{n(p.target.value)},style:{paddingBottom:"40px"}})),(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsxs)("span",{style:{marginLeft:".25em"},className:"ant-formily-item-extra",children:[o("Syntax references"),":"]}),(0,import_jsx_runtime.jsx)("a",{href:`https://${r.language==="zh-CN"?"docs-cn":"docs"}.nocobase.com/handbook/template-handlebars`,target:"_blank",rel:"noreferrer",children:"Handlebars.js"})]}),(0,import_jsx_runtime.jsx)("div",{style:{position:"absolute",top:21,right:1},children:(0,import_jsx_runtime.jsx)(VariableSelect,{options:l,setOptions:c,onInsert:d})}),(0,import_jsx_runtime.jsxs)(import_antd.Space,{style:{position:"absolute",bottom:30,right:5},children:[(0,import_jsx_runtime.jsx)(import_antd.Button,{onClick:p=>{var h;(h=e.onCancel)==null||h.call(e,p)},children:o("Cancel")}),(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"primary",onClick:()=>{var p;(p=e.onSubmit)==null||p.call(e,i)},children:o("Save")})]})]})},useMarkdownHeight=()=>{const{token:e}=import_antd.theme.useToken(),t=useBlockHeight();if(t)return t-2*e.paddingLG};function extractNFormPaths(e){const t=/\{\{\$nForm\.([\w.]+)\}\}/g;return[...e.matchAll(t)].map(o=>o[1])}function getValuesByPaths(e,t){const o={};for(const r of t){const i=r.split(".");let n=e;for(const a of i)if(n&&typeof n=="object"&&a in n)n=n[a];else{n=void 0;break}o[r]=n}return o}const MarkdownVoidInner=withDynamicSchemaProps((0,import_react.observer)(e=>{const{isDarkTheme:t}=useGlobalTheme(),{componentCls:o,hashId:r}=useStyles$a({isDarkTheme:t}),{content:i,className:n}=e,a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),{dn:c}=useDesignable(),{onSave:u,onCancel:m,form:d}=e,p=useCollectionRecord(),[h,g]=(0,import_react2.useState)(""),_=useVariables$1(),f=useLocalVariables$1(),{engine:v}=(l==null?void 0:l["x-decorator-props"])||{},[C,S]=(0,import_react2.useState)(!1),{t:b,i18n:y}=(0,import_react_i18next.useTranslation)(),F=(0,import_react.useForm)(),j=extractNFormPaths(i),[A,D]=(0,import_react2.useState)(null);(0,import_react2.useEffect)(()=>{if(j.length>0){const B=(0,import_shared.uid)();return setTimeout(()=>{F.addEffects(B,()=>(0,import_reactive.reaction)(()=>{const R=getValuesByPaths(F.values,j);return JSON.stringify(R)},()=>{D((0,import_shared.uid)())},{fireImmediately:!0,equals:import_lodash.isEqual}))}),()=>{F.removeEffects(B)}}},[]),(0,import_react2.useEffect)(()=>{S(!0),q(void 0,null,function*(){setTimeout(()=>q(void 0,null,function*(){const B=yield getRenderContent(v,i,_,f,parseMarkdown,b);g(B)})),S(!1)})},[i,_,f,v,A]);const N=useMarkdownHeight(),w=useVariableOptions({collectionField:{uiSchema:l},form:d,record:p,uiSchema:l,noDisabled:!0});return(0,import_react2.useEffect)(()=>{registerQrcodeWebComponent()},[]),C?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):a!=null&&a.editable?(0,import_jsx_runtime.jsx)(MarkdownEditor,P(x({scope:w},e),{className:!0,defaultValue:i,onCancel:()=>{a.editable=!1,m==null||m()},onSubmit:B=>q(void 0,null,function*(){a.editable=!1,l["x-component-props"]!=null||(l["x-component-props"]={}),l["x-component-props"].content=B,a.componentProps.content=B,u==null||u(l),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":{content:B}}})})})):(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)([o,r,"nb-markdown nb-markdown-default nb-markdown-table",n]),style:P(x({},e.style),{height:N||"100%",overflowY:N?"auto":"null"}),dangerouslySetInnerHTML:{__html:h}})}),{displayName:"MarkdownVoid"}),MarkdownVoid=e=>{const t=useFlag(),o=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(VariableScope,{scopeId:o==null?void 0:o["x-uid"],type:"markdownBlock",children:(0,import_jsx_runtime.jsx)(FlagProvider,P(x({},t),{collectionField:!0,children:(0,import_jsx_runtime.jsx)(MarkdownVoidInner,x({},e))}))})};MarkdownVoid.Designer=MarkdownVoidDesigner;const Markdown=(0,import_react.connect)(import_antd.Input.TextArea,(0,import_react.mapProps)((e,t)=>P(x({autoSize:{maxRows:10,minRows:3}},e),{suffix:(0,import_jsx_runtime.jsx)("span",{children:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffix})})),(0,import_react.mapReadPretty)(e=>(0,import_jsx_runtime.jsx)(MarkdownReadPretty,x({},e)))),MarkdownReadPretty=e=>{const{isDarkTheme:t}=useGlobalTheme(),{wrapSSR:o,hashId:r,componentCls:i}=useStyles$a({isDarkTheme:t}),{html:n="",loading:a}=useParseMarkdown(e.value),l=(0,import_react2.useMemo)(()=>convertToText(n),[n]);if(a)return o((0,import_jsx_runtime.jsx)(import_antd.Spin,{}));const c=(0,import_jsx_runtime.jsx)("div",{className:`${r} ${i} nb-markdown nb-markdown-default nb-markdown-table`,dangerouslySetInnerHTML:{__html:n}});return o((0,import_jsx_runtime.jsx)(ReadPretty$c.TextArea,P(x({},e),{autop:!1,text:l,value:c})))};Markdown.Void=MarkdownVoid;const BlockItemCardContext=(0,import_react2.createContext)({}),BlockItemCard=import_react2.default.forwardRef((e,t)=>{var o=e,{children:r}=o,i=Y(o,["children"]);const{token:n}=useToken(),a=i,{title:l,description:c}=a,u=Y(a,["title","description"]),m=(0,import_react2.useMemo)(()=>({marginBottom:n.marginBlock,height:"100%"}),[n.marginBlock]),[d,p]=(0,import_react2.useState)(0),h=(0,import_react2.useRef)(null),{t:g}=(0,import_react_i18next.useTranslation)(),_=(0,import_react.useFieldSchema)(),f=_==null?void 0:_["x-block-linkage-rules"];(0,import_react2.useEffect)(()=>{const S=setTimeout(()=>{if(h.current){const b=c?h.current.parentElement.parentElement.parentElement.offsetHeight:n.fontSizeLG*n.lineHeightLG+n.padding*2-1;p(b)}else d&&p(0)},500);return()=>clearTimeout(S)},[l,c]);const v=(l||c)&&(0,import_jsx_runtime.jsxs)("div",{ref:h,style:{padding:"8px 0px 8px"},children:[(0,import_jsx_runtime.jsxs)("span",{children:[" ",g(l,{ns:NAMESPACE_UI_SCHEMA})]}),c&&(0,import_jsx_runtime.jsx)(MarkdownReadPretty,{value:g(c,{ns:NAMESPACE_UI_SCHEMA}),style:{overflowWrap:"break-word",whiteSpace:"normal",fontWeight:400,color:n.colorTextDescription,borderRadius:"4px"}})]}),C=(0,import_jsx_runtime.jsx)(BlockItemCardContext.Provider,{value:{titleHeight:d},children:(0,import_jsx_runtime.jsx)(import_antd.Card,P(x({ref:t,variant:"borderless",style:m},u),{title:v,children:r}))});return f?(0,import_jsx_runtime.jsx)(BlockLinkageRuleProvider,{children:C}):C});BlockItemCard.displayName="BlockItemCard";const useBlockHeightProps=()=>{var e,t,o;const r=(0,import_react.useFieldSchema)(),i=getCardItemSchema(r),n=(e=useBlockTemplateContext())==null?void 0:e.fieldSchema,a=(0,import_react2.useMemo)(()=>getPageSchema(n||r),[]),{disablePageHeader:l,enablePageTabs:c,hidePageTitle:u}=(a==null?void 0:a["x-component-props"])||{},{titleHeight:m}=(0,import_react2.useContext)(BlockItemCardContext)||{},{allAccessRoutes:d}=useAllAccessDesktopRoutes(),p=useCurrentPageUid(),h=(0,import_react2.useMemo)(()=>findRouteBySchemaUid(p,d),[p,d]);return{heightProps:P(x({},i==null?void 0:i["x-component-props"]),{title:((t=i==null?void 0:i["x-component-props"])==null?void 0:t.title)||((o=i==null?void 0:i["x-component-props"])==null?void 0:o.description),disablePageHeader:l,enablePageTabs:(h==null?void 0:h.enableTabs)||c,hidePageTitle:u,titleHeight:m})}},getPageSchema=e=>e?e["x-component"]==="Page"?e:getPageSchema(e.parent):null,getCardItemSchema=e=>e?["BlockItem","CardItem"].includes(e["x-component"])?e:getCardItemSchema(e.parent):null,useDataBlockParentRecord=({association:e})=>{var t;const o=useCollectionRecordData(),r=useCollectionParentRecordData(),i=useCollectionManager(),n=useCollection();if(!e)return;const a=i.getCollection(e.split(".")[0]);return n.name===a.name||(t=n.getParentCollectionsName)!=null&&t.call(n).includes(a.name)?o:r},usePickActionProps$1=()=>{const e=(0,import_react.useForm)();return{onClick(){console.log("usePickActionProps",e.values)}}};function renderTemplate(e,t){const o=/\{\{\s*((\w+\.?)+)\s*\}\}/g;return e.replace(o,function(r,i){return(0,import_get.default)(t,i)||""})}function getFilteredFormValues(e){const t=import_lodash.default.cloneDeep(e.values),o=[];return e.query("*").forEach(r=>{r&&o.push(r)}),import_lodash.default.uniq(o.filter(r=>{var i,n;const a=((i=r.path)==null?void 0:i.segments)||[],l=a.length<=1?a.join("."):a.slice(0,-1).join(".");return((n=r==null?void 0:r.componentProps)==null?void 0:n.readOnlySubmit)&&!(0,import_get.default)(t,l)[r==null?void 0:r.componentProps.filterTargetKey]}).map(r=>{var i;const n=((i=r.path)==null?void 0:i.segments)||[];return n.length<=1?n.join("."):n.slice(0,-1).join(".")})).forEach((r,i)=>{(i!==0||r.includes("."))&&!t[r]&&import_lodash.default.unset(t,r)}),t}function getFormValues({filterByTk:e,field:t,form:o,fieldNames:r,getField:i,resource:n,actionFields:a}){if(e&&a){const l=Object.keys(o.values).filter(c=>{const u=i(c);return!a.includes(c)&&["hasOne","hasMany","belongsTo","belongsToMany"].includes(u==null?void 0:u.type)});return(0,import_omit.default)(x({},o.values),l)}return getFilteredFormValues(o)}function useCollectValuesToSubmit(e){const t=(0,import_react.useForm)(),o=e??t,r=useFilterByTk(),{field:i,resource:n}=useBlockRequestContext(),{fields:a,getField:l,getTreeParentField:c,name:u}=useCollection_deprecated(),m=a.map(v=>v.name),{fieldSchema:d}=useActionContext(),{getActiveFieldsName:p}=useFormActiveFields()||{},h=useVariables$1(),g=useLocalVariables$1({currentForm:o}),_=(0,import_react.useFieldSchema)(),f=useTreeParentRecord();return(0,import_react2.useCallback)(()=>q(this,null,function*(){var v,C,S,b;const{assignedValues:y={},overwriteValues:F}=(v=_==null?void 0:_["x-action-settings"])!=null?v:{},j=getFormValues({filterByTk:r,field:i,form:o,fieldNames:m,getField:l,resource:n,actionFields:(p==null?void 0:p("form"))||[]}),A={},D=Object.keys(y).map(N=>q(this,null,function*(){const w=y[N],B=l(N);if(isVariable$1(w)){const{value:R}=(yield h==null?void 0:h.parseVariable(w,g))||{};A[N]=transformVariableValue(R,{targetCollectionField:B})}else w!==""&&(A[N]=w)}));if(yield Promise.all(D),(C=d==null?void 0:d["x-component-props"])==null?void 0:C.addChild){const N=c();j[(S=N==null?void 0:N.name)!=null?S:"parent"]=f,j[(b=N==null?void 0:N.foreignKey)!=null?b:"parentId"]=f==null?void 0:f.id}return x(x(x({},j),F),A)}),[_,i,m,d,r,o,p,l,c,g,u,n,f,h])}const useCreateActionProps=()=>{var e;const t=useFilterByTk(),o=useCollectionRecord(),r=(0,import_react.useForm)(),{field:i,resource:n}=useBlockRequestContext(),{setVisible:a,setSubmitted:l,setFormValueChanged:c}=useActionContext(),u=useNavigateNoUpdate(),m=(0,import_react.useFieldSchema)(),d=(0,import_react.useField)(),p=useCompile(),{modal:h}=import_antd.App.useApp(),{t:g}=(0,import_react_i18next.useTranslation)(),{updateAssociationValues:_}=useFormBlockContext(),f=useCollectValuesToSubmit(),v=o.isNew?d.componentProps.saveMode||"create":"update",C=((e=d.componentProps.filterKeys)==null?void 0:e.checked)||[],S=useLocalVariables$1(),b=useVariables$1();return{onClick(){return q(this,null,function*(){var y,F;const{onSuccess:j,skipValidator:A,triggerWorkflows:D}=(y=m==null?void 0:m["x-action-settings"])!=null?y:{},{manualClose:N,redirecting:w,redirectTo:B,successMessage:R,actionAfterSuccess:T}=j||{};A||(yield r.submit());const $=yield f();d.data=i.data||{},d.data.loading=!0;try{const M=yield n[v]({values:$,filterKeys:C,filterByTk:t,triggerWorkflows:D!=null&&D.length?D.map(E=>[E.workflowKey,E.context].filter(Boolean).join("!")).join(","):void 0,updateAssociationValues:_});let I=B;if(B&&(I=yield getVariableValue(B,{variables:b,localVariables:[...S,{name:"$record",ctx:new Proxy((F=M==null?void 0:M.data)==null?void 0:F.data,{})}]})),(T==="previous"||!T&&w!==!0)&&(a==null||a(!1)),l==null||l(!0),c==null||c(!1),d.data.loading=!1,d.data.data=M,!R){import_antd.message.success(g("Saved successfully")),yield resetFormCorrectly(r),(w&&!T||T==="redirect")&&I&&((0,import_client.isURL)(I)?window.location.href=I:u(I));return}N?h.success({title:p(R),onOk:()=>q(this,null,function*(){yield resetFormCorrectly(r),(w&&!T||T==="redirect")&&I&&((0,import_client.isURL)(I)?window.location.href=I:u(I))})}):(import_antd.message.success(p(R)),yield resetFormCorrectly(r),(w&&!T||T==="redirect")&&I&&((0,import_client.isURL)(I)?window.location.href=I:u(I)))}catch{d.data.loading=!1}})}}},useAssociationCreateActionProps=()=>{var e;const t=(0,import_react.useForm)(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,fieldSchema:a,setSubmitted:l}=useActionContext(),c=(0,import_react.useFieldSchema)(),u=(0,import_react.useField)(),{fields:m,getField:d,getTreeParentField:p,name:h}=useCollection_deprecated(),g=useCompile(),_=useFilterByTk(),f=useRecord(),v=useVariables$1(),C=useLocalVariables$1({currentForm:t}),{getActiveFieldsName:S}=useFormActiveFields()||{},b=u.componentProps.saveMode||"create",y=((e=u.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return q(this,null,function*(){var F,j,A,D,N,w;const B=m.map(z=>z.name),{assignedValues:R={},onSuccess:T,overwriteValues:$,skipValidator:M,triggerWorkflows:I}=(F=c==null?void 0:c["x-action-settings"])!=null?F:{},E=(j=a==null?void 0:a["x-component-props"])==null?void 0:j.addChild,{successMessage:L}=T||{},O={},V=Object.keys(R).map(z=>q(this,null,function*(){const G=R[z],W=d(z);if(isVariable$1(G)){const{value:H}=(yield v==null?void 0:v.parseVariable(G,C))||{};O[z]=transformVariableValue(H,{targetCollectionField:W})}else G!==""&&(O[z]=G)}));yield Promise.all(V),M||(yield t.submit());const U=getFormValues({filterByTk:_,field:o,form:t,fieldNames:B,getField:d,resource:r,actionFields:(S==null?void 0:S("form"))||[]});if(E){const z=p();U[(A=z==null?void 0:z.name)!=null?A:"parent"]=f,U[(D=z==null?void 0:z.foreignKey)!=null?D:"parentId"]=f.id}u.data=o.data||{},u.data.loading=!0;try{const z=yield r[b]({values:x(x(x({},U),$),O),filterKeys:y,triggerWorkflows:I!=null&&I.length?I.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0});if(u.data.loading=!1,u.data.data=z,(w=(N=i==null?void 0:i.service)==null?void 0:N.refresh)==null||w.call(N),n==null||n(!1),l==null||l(!0),!L)return;import_antd.message.success(g(L))}catch{u.data.data=null,u.data.loading=!1}})}}},findFilterTargets=e=>{for(;e;){if(e["x-filter-targets"])return{targets:e["x-filter-targets"],uid:e["x-uid"]};e=e.parent}return{}},updateFilterTargets=(e,t)=>{for(;e;){if(e["x-filter-targets"]){e["x-filter-targets"]=t;return}e=e.parent}},useDoFilter=()=>{const e=(0,import_react.useForm)(),{getDataBlocks:t}=useFilterBlock(),o=useCollectionManager(),{getOperators:r}=useOperators(),i=(0,import_react.useFieldSchema)(),{name:n}=useCollection(),{targets:a=[],uid:l}=(0,import_react2.useMemo)(()=>findFilterTargets(i),[i]),c=(0,import_react2.useCallback)(()=>removeNullCondition(transformToFilter(e.values,r(),o.getCollectionField.bind(o),n)),[e.values,o,r,n]),u=(0,import_react2.useCallback)((...m)=>q(void 0,[...m],function*({doNothingWhenFilterIsEmpty:d=!1}={}){try{yield Promise.all(t().map(p=>q(void 0,null,function*(){var h,g,_,f;if(!a.find(b=>b.uid===p.uid))return;const v=((h=p.service.params)==null?void 0:h[0])||{},C=((_=(g=p.service.params)==null?void 0:g[1])==null?void 0:_.filters)||{};C[l]=c();const S=mergeFilter([...Object.values(C).map(b=>removeNullCondition(b)),p.defaultFilter]);if(import_lodash.default.isEmpty(C[l])&&((f=p.clearSelection)==null||f.call(p)),!(d&&import_lodash.default.isEmpty(C[l])))return p.dataLoadingMode==="manual"&&import_lodash.default.isEmpty(C[l])?p.clearData():(import_lodash.default.set(p.service.params,"1.filters",C),p.doFilter(P(x({},v),{page:1,filter:S}),{filters:C}))})))}catch(p){console.error(p)}}),[t,c,a,l]);return(0,import_react2.useEffect)(()=>{setTimeout(()=>{u({doNothingWhenFilterIsEmpty:!0})},500)},[u]),{doFilter:u,getFilterFromCurrentForm:c}},useFilterBlockActionProps=()=>{const{doFilter:e}=useDoFilter(),t=(0,import_react.useField)();return t.data=t.data||{},{onClick(){return q(this,null,function*(){t.data.loading=!0,yield e(),t.data.loading=!1})}}},useDoReset=()=>{const e=(0,import_react.useForm)(),t=(0,import_react.useFieldSchema)(),{getDataBlocks:o}=useFilterBlock(),{targets:r,uid:i}=findFilterTargets(t),{doFilter:n,getFilterFromCurrentForm:a}=useDoFilter();return{doReset:()=>q(void 0,null,function*(){var l;if(yield e.reset(void 0,{forceClear:!!((l=t==null?void 0:t["x-component-props"])!=null&&l.clearDefaultValue)}),import_lodash.default.isEmpty(a()))return doReset({getDataBlocks:o,targets:r,uid:i});yield n()})}},useResetBlockActionProps=()=>{const e=(0,import_react.useField)(),{doReset:t}=useDoReset();return e.data=e.data||{},{onClick(){return q(this,null,function*(){e.data.loading=!0,yield t(),e.data.loading=!1})}}},useCustomizeUpdateActionProps=()=>{const{resource:e,__parent:t,service:o}=useBlockRequestContext(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useNavigateNoUpdate(),a=useCompile(),l=(0,import_react.useForm)(),{modal:c}=import_antd.App.useApp(),u=useVariables$1(),m=useLocalVariables$1({currentForm:l}),{name:d,getField:p}=useCollection_deprecated(),{setVisible:h}=useActionContext();return{onClick(g,_){return q(this,null,function*(){var f,v,C,S;const{assignedValues:b={},onSuccess:y,skipValidator:F,triggerWorkflows:j}=(f=i==null?void 0:i["x-action-settings"])!=null?f:{},{manualClose:A,redirecting:D,redirectTo:N,successMessage:w,actionAfterSuccess:B}=y||{},R={},T=Object.keys(b).map(I=>q(this,null,function*(){const E=b[I],L=p(I);if(isVariable$1(E)){const{value:O}=(yield u==null?void 0:u.parseVariable(E,m))||{};R[I]=transformVariableValue(O,{targetCollectionField:L})}else E!==""&&(R[I]=E)}));yield Promise.all(T),F===!1&&(yield l.submit());const $=yield e.update({filterByTk:r,values:x({},R),triggerWorkflows:j!=null&&j.length?j.map(I=>[I.workflowKey,I.context].filter(Boolean).join("!")).join(","):void 0});let M=N;N&&(M=yield getVariableValue(N,{variables:u,localVariables:[...m,{name:"$record",ctx:new Proxy((v=$==null?void 0:$.data)==null?void 0:v.data,{})}]})),(B==="previous"||!B&&D!==!0)&&(h==null||h(!1)),_&&(_==null||_()),e instanceof TableFieldResource||(S=(C=t==null?void 0:t.service)==null?void 0:C.refresh)==null||S.call(C),w&&(A?c.success({title:a(w),onOk:()=>q(this,null,function*(){(D&&!B||B==="redirect")&&M&&((0,import_client.isURL)(M)?window.location.href=M:n(M))})}):(import_antd.message.success(a(w)),(D&&!B||B==="redirect")&&M&&((0,import_client.isURL)(M)?window.location.href=M:n(M))))})}}},useCustomizeBulkUpdateActionProps=()=>{var e,t,o,r;const{field:i,resource:n,__parent:a,service:l}=useBlockRequestContext(),c=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),u=(0,import_react.useFieldSchema)(),m=useTableBlockContext(),{rowKey:d}=m,p=(r=(o=(t=(e=m.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys)!=null?o:c==null?void 0:c.selectedRecordKeys)!=null?r:{},h=useNavigateNoUpdate(),g=useCompile(),{t:_}=(0,import_react_i18next.useTranslation)(),f=(0,import_react.useField)(),{modal:v}=import_antd.App.useApp(),C=useVariables$1();useRecord();const{name:S,getField:b}=useCollection_deprecated(),y=useLocalVariables$1(),{setVisible:F}=useActionContext();return{onClick(){return q(this,null,function*(){var j;const{assignedValues:A={},onSuccess:D,updateMode:N}=(j=u==null?void 0:u["x-action-settings"])!=null?j:{},{manualClose:w,redirecting:B,redirectTo:R,successMessage:T,actionAfterSuccess:$}=D||{};f.data=i.data||{},f.data.loading=!0;const M={},I=Object.keys(A).map(E=>q(this,null,function*(){const L=A[E],O=b(E);if(isVariable$1(L)){const{value:V}=(yield C==null?void 0:C.parseVariable(L,y))||{};M[E]=transformVariableValue(V,{targetCollectionField:O})}else L!==""&&(M[E]=L)}));yield Promise.all(I),($==="previous"||!$&&B!==!0)&&(F==null||F(!1)),v.confirm({title:_("Bulk update"),content:_(N==="selected"?"Update selected data?":"Update all data?"),onOk(){return q(this,null,function*(){var E,L,O,V;const{filter:U}=(L=(E=l.params)==null?void 0:E[0])!=null?L:{},z={values:x({},M),filter:U,forceUpdate:!1};if(N==="selected"){if(!(p!=null&&p.length)){import_antd.message.error(_("Please select the records to be updated")),f.data.loading=!1;return}z.filter={$and:[{[d||"id"]:{$in:p}}]}}z.filter||(z.forceUpdate=!0);try{yield n.update(z)}catch{}finally{f.data.loading=!1}n instanceof TableFieldResource||(V=(O=a==null?void 0:a.service)==null?void 0:O.refresh)==null||V.call(O),T&&(w?v.success({title:g(T),onOk:()=>q(this,null,function*(){(B&&!$||$==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:h(R))})}):(import_antd.message.success(g(T)),(B&&!$||$==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:h(R))))})},onCancel(){return q(this,null,function*(){f.data.loading=!1})}})})}}},useCustomizeRequestActionProps=()=>{var e;const t=useAPIClient(),o=useNavigateNoUpdate(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useCompile(),a=(0,import_react.useForm)(),{fields:l,getField:c}=useCollection_deprecated(),{field:u,resource:m,__parent:d,service:p}=useBlockRequestContext(),h=useRecord(),g=useCurrentUserContext(),_=(e=g==null?void 0:g.data)==null?void 0:e.data,f=(0,import_react.useField)(),{t:v}=(0,import_react_i18next.useTranslation)(),{setVisible:C}=useActionContext(),{modal:S}=import_antd.App.useApp(),{getActiveFieldsName:b}=useFormActiveFields()||{};return{onClick(){return q(this,null,function*(){var y,F,j,A;const{skipValidator:D,onSuccess:N,requestSettings:w}=(y=i==null?void 0:i["x-action-settings"])!=null?y:{},{manualClose:B,redirecting:R,redirectTo:T,successMessage:$,actionAfterSuccess:M}=N||{},I=i==null?void 0:i["x-action"];if(!w.url)return;D!==!0&&I==="customize:form:request"&&(yield a.submit());const E=w.headers?JSON.parse(w.headers):{},L=w.params?JSON.parse(w.params):{},O=w.data?JSON.parse(w.data):{};if(I==="customize:form:request"&&["POST","PUT","PATCH"].includes(w.method)){const U=l.map(G=>G.name),z=getFormValues({filterByTk:r,field:u,form:a,fieldNames:U,getField:c,resource:m,actionFields:(b==null?void 0:b("form"))||[]});Object.assign(O,z)}const V={url:renderTemplate(w.url,{currentRecord:h,currentUser:_}),method:w.method,headers:(0,import_client.parse)(E)({currentRecord:h,currentUser:_}),params:(0,import_client.parse)(L)({currentRecord:h,currentUser:_}),data:(0,import_client.parse)(O)({currentRecord:h,currentUser:_})};f.data=u.data||{},f.data.loading=!0;try{yield t.request(x({},V)),f.data.loading=!1,m instanceof TableFieldResource||(j=(F=d==null?void 0:d.service)==null?void 0:F.refresh)==null||j.call(F),(A=p==null?void 0:p.refresh)==null||A.call(p),I==="customize:form:request"&&(M==="previous"||!M&&R!==!0)&&(C==null||C(!1)),$||(import_antd.message.success(v("Saved successfully")),yield resetFormCorrectly(a),(R&&!M||M==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:o(T))),B?S.success({title:n($),onOk:()=>q(this,null,function*(){(R&&!M||M==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:o(T))})}):import_antd.message.success(n($))}finally{f.data.loading=!1}})}}},useUpdateActionProps=()=>{const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setFormValueChanged:a}=useActionContext(),l=(0,import_react.useFieldSchema)(),c=useNavigateNoUpdate(),{fields:u,getField:m,name:d}=useCollection_deprecated(),p=useCompile(),h=(0,import_react.useField)(),{updateAssociationValues:g}=useFormBlockContext(),{modal:_}=import_antd.App.useApp(),f=useParamsFromRecord(),v=useVariables$1(),C=useLocalVariables$1({currentForm:e}),{getActiveFieldsName:S}=useFormActiveFields()||{};return{onClick(b,y){return q(this,null,function*(){var F,j;const{assignedValues:A={},onSuccess:D,overwriteValues:N,skipValidator:w,triggerWorkflows:B}=(F=l==null?void 0:l["x-action-settings"])!=null?F:{},{manualClose:R,redirecting:T,redirectTo:$,successMessage:M,actionAfterSuccess:I}=D||{},E={},L=Object.keys(A).map(U=>q(this,null,function*(){const z=A[U],G=m(U);if(isVariable$1(z)){const{value:W}=(yield v==null?void 0:v.parseVariable(z,C))||{};E[U]=transformVariableValue(W,{targetCollectionField:G})}else z!==""&&(E[U]=z)}));yield Promise.all(L),w||(yield e.submit());const O=u.map(U=>U.name),V=getFormValues({filterByTk:t,field:o,form:e,fieldNames:O,getField:m,resource:r,actionFields:(S==null?void 0:S("form"))||[]});h.data=o.data||{},h.data.loading=!0;try{const U=yield r.update(P(x({filterByTk:t,values:x(x(x({},V),N),E)},f),{updateAssociationValues:g,triggerWorkflows:B!=null&&B.length?B.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0}));h.data.loading=!1,y&&(y==null||y());let z=$;if($&&(z=yield getVariableValue($,{variables:v,localVariables:[...C,{name:"$record",ctx:new Proxy((j=U==null?void 0:U.data)==null?void 0:j.data,{})}]})),(I==="previous"||!I&&T!==!0)&&(n==null||n(!1)),a==null||a(!1),!M)return;R?_.success({title:p(M),onOk:()=>q(this,null,function*(){yield e.reset(),(T&&!I||I==="redirect")&&z&&((0,import_client.isURL)(z)?window.location.href=z:c(z))})}):(import_antd.message.success(p(M)),(T&&!I||I==="redirect"||I==="redirect")&&z&&((0,import_client.isURL)(z)?window.location.href=z:c(z)))}catch{h.data.loading=!1}})}}},useDestroyActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a}=useActionContext(),l=useParamsFromRecord(),c=(0,import_react.useFieldSchema)();return{onClick(u,m){return q(this,null,function*(){var d,p,h,g,_,f,v;const{triggerWorkflows:C}=(d=c==null?void 0:c["x-action-settings"])!=null?d:{};yield t.destroy(x({filterByTk:e,triggerWorkflows:C!=null&&C.length?C.map(F=>[F.workflowKey,F.context].filter(Boolean).join("!")).join(","):void 0},l));const{count:S=0,page:b=0,pageSize:y=0}=((p=o==null?void 0:o.data)==null?void 0:p.meta)||{};if(S%y===1&&b!==1){const F=(h=o.params[0])==null?void 0:h.page,j=(_=(g=o.data)==null?void 0:g.meta)==null?void 0:_.totalPage;F===j&&o.params[0]&&F!==1&&(o.params[0].page=F-1)}m&&(m==null||m()),a==null||a(!0),r&&r!=="TableField"&&((v=(f=i==null?void 0:i.service)==null?void 0:f.refresh)==null||v.call(f),n==null||n(!1),a==null||a(!0))})}}},useRemoveActionProps=e=>{const t=useFilterByTk(),o=useAPIClient().resource(e,t);return{onClick(r){return q(this,null,function*(){yield o.remove({values:[r.id]})})}}},useDisassociateActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a,setFormValueChanged:l}=useActionContext();return{onClick(c,u){return q(this,null,function*(){var m,d,p,h;yield t.remove({values:[e]});const{count:g=0,page:_=0,pageSize:f=0}=((m=o==null?void 0:o.data)==null?void 0:m.meta)||{};g%f===1&&_!==1?o.run(P(x({},(d=o==null?void 0:o.params)==null?void 0:d[0]),{page:_-1})):u&&(u==null||u()),a==null||a(!0),r&&r!=="TableField"&&((h=(p=i==null?void 0:i.service)==null?void 0:p.refresh)==null||h.call(p),n==null||n(!1),l==null||l(!1))})}}},useBulkDestroyActionProps=()=>{const{field:e}=useBlockRequestContext(),{resource:t,service:o}=useBlockRequestContext(),{setSubmitted:r}=useActionContext(),i=useCollection_deprecated(),{filterTargetKey:n}=i;return{onClick(a,l){return q(this,null,function*(){var c,u,m,d,p,h,g;let _=(c=e.data)==null?void 0:c.selectedRowKeys;if(Array.isArray(n)&&(_=e.data.selectedRowData.map(C=>{const S={};return n.map(b=>{S[b]=C[b]}),S})),!((m=(u=e==null?void 0:e.data)==null?void 0:u.selectedRowKeys)!=null&&m.length))return;yield t.destroy({filterByTk:_}),e.data.selectedRowKeys=[];const f=(d=o.params[0])==null?void 0:d.page,v=(h=(p=o.data)==null?void 0:p.meta)==null?void 0:h.totalPage;f===v&&o.params[0]&&f!==1&&(o.params[0].page=f-1),l&&(l==null||l()),r==null||r(!0),(g=o==null?void 0:o.refresh)==null||g.call(o)})}}},useRefreshActionProps=()=>{const{service:e}=useBlockRequestContext();return{onClick(){return q(this,null,function*(){var t;(t=e==null?void 0:e.refresh)==null||t.call(e)})}}},useTableColumns$2=()=>{const e=(0,import_react.useFieldSchema)(),t=useCompile(),{t:o}=(0,import_react_i18next.useTranslation)(),r=useCollection();return(0,import_react2.useMemo)(()=>{const i=[],n=c=>{let u=c;for(;u&&!((u==null?void 0:u["x-component"])==="ActionBar"||!u.parent);)u=u.parent;const m=u.parent;if(m){const d=m==null?void 0:m.reduceProperties((p,h)=>(h==null?void 0:h["x-component"])==="TableV2"?p.concat([h]):p,[]);return d==null?void 0:d[0]}return null},a=(c,u=0)=>{var m,d,p,h,g,_,f,v,C;if(!(!c||u>1)){if((d=(m=c==null?void 0:c["x-component"])==null?void 0:m.includes)!=null&&d.call(m,"Table.Column")||(h=(p=c==null?void 0:c["x-decorator"])==null?void 0:p.includes)!=null&&h.call(p,"Table.Column")||(c==null?void 0:c["x-component"])==="TableV2.Column"){const S=c.reduceProperties?c.reduceProperties((A,D)=>(D==null?void 0:D["x-component"])==="CollectionField"?A.concat([D]):A,[]):[],b=(S==null?void 0:S.length)>0?S[0].name:c.name,y=(g=r==null?void 0:r.getField)==null?void 0:g.call(r,b);let F=o(c==null?void 0:c.title,{ns:NAMESPACE_UI_SCHEMA})||c.title;!F&&c.name==="actions"&&(F=o("Actions")),!F&&y&&(F=o((_=y.uiSchema)==null?void 0:_.title,{ns:NAMESPACE_UI_SCHEMA})||((f=y.uiSchema)==null?void 0:f.title)||y.name),F||(F=c.name||`Column ${i.length+1}`),F=t(F)||F;const j={key:c["x-uid"]||c.name||`column-${i.length}`,title:F,dataIndex:b||`column-${i.length}`,visible:c["x-display"]!=="hidden",fixed:((v=c["x-component-props"])==null?void 0:v.fixed)||!1,width:(C=c["x-component-props"])==null?void 0:C.width,order:c["x-index"]||i.length};i.push(j)}c.properties&&Object.keys(c.properties).forEach(S=>{a(c.properties[S],u+1)}),c.items&&a(c.items,u+1)}},l=n(e);return a(l),i.sort((c,u)=>(c.order||0)-(u.order||0))},[e,t,o,r])},useEditTableActionProps=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=useTableColumns$2(),r=(0,import_react2.useCallback)(()=>{let g=t;for(;g;){const _=v=>{if(!(v!=null&&v.properties))return null;for(const C in v.properties){const S=v.properties[C];if(S["x-component"]==="TableV2")return S;const b=_(S);if(b)return b}return null},f=_(g);if(f)return f;if(!g.parent)break;g=g.parent}return g},[t]),i=(0,import_react2.useMemo)(()=>r(),[r]),n=(0,import_react2.useMemo)(()=>(i==null?void 0:i["x-uid"])||"default",[i]),{getSettings:a,saveSettings:l,clearSettings:c}=useColumnSettings(n),[u,m]=(0,import_react2.useState)(a()),d=(0,import_react2.useMemo)(()=>{if(o.length===0)return[];if(!u||u.length===0)return o;const g=new Map;return u.forEach(_=>{g.set(_.key,_)}),o.map(_=>{const f=g.get(_.key);return f?P(x({},_),{visible:f.visible,order:f.order,width:f.width||_.width,fixed:f.fixed||_.fixed}):_}).sort((_,f)=>(_.order||0)-(f.order||0))},[o,u]);(0,import_react2.useEffect)(()=>{d.length>0&&(e.dataSource=d)},[d,e]);const p=(0,import_react2.useCallback)(g=>{if(!(g!=null&&g.columns)||!Array.isArray(g.columns))return;const _=g.columns.map((f,v)=>({key:f.key,title:f.title,dataIndex:f.dataIndex,visible:f.visible,fixed:f.fixed,width:f.width,order:v}));l(_)},[l]),h=(0,import_react2.useCallback)(()=>{c(),m(a())},[c]);return{columns:d,onSubmit:p,onReset:h}},useDetailsPaginationProps=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,h,g,_,f;const v=useDetailsBlockContext(),C=((o=(t=(e=v.service)==null?void 0:e.data)==null?void 0:t.meta)==null?void 0:o.count)||0,S=(n=(i=(r=v.service)==null?void 0:r.data)==null?void 0:i.meta)==null?void 0:n.page,{hasNext:b}=((l=(a=v.service)==null?void 0:a.data)==null?void 0:l.meta)||{};return!C&&S?{simple:!0,current:((m=(u=(c=v.service)==null?void 0:c.data)==null?void 0:u.meta)==null?void 0:m.page)||1,pageSize:1,showSizeChanger:!1,align:"center",onChange(y){return q(this,null,function*(){var F,j;const A=(j=(F=v.service)==null?void 0:F.params)==null?void 0:j[0];v.service.run(P(x({},A),{page:y}))})},style:{marginTop:24,textAlign:"center"},showTotal:!1,showTitle:!1,total:((h=(p=(d=v.service)==null?void 0:d.data)==null?void 0:p.data)==null?void 0:h.length)<1||!b?1*S:1*S+1,className:import_css.css`
|
|
632
632
|
.ant-pagination-simple-pager {
|
|
633
633
|
display: none !important;
|
|
634
634
|
}
|
|
635
|
-
`}:{simple:!0,hidden:f<=1,current:((g=(h=(p=_.service)==null?void 0:p.data)==null?void 0:h.meta)==null?void 0:g.page)||1,total:f,pageSize:1,showSizeChanger:!1,align:"center",onChange(C){return q(this,null,function*(){var S,b;const y=(b=(S=_.service)==null?void 0:S.params)==null?void 0:b[0];_.service.run(P(x({},y),{page:C}))})},style:{marginTop:24,textAlign:"center"}}},useAssociationFilterProps=()=>{var e,t,o,r,i;const n=AssociationFilter.useAssociationField(),{service:a,props:l}=useBlockRequestContext(),c=(0,import_react.useFieldSchema)(),u=useCollectionManager_deprecated(),m=n!=null&&n.target?(e=u.getCollection(n.target))==null?void 0:e.getPrimaryKey():"id",d=((o=(t=c["x-component-props"])==null?void 0:t.fieldNames)==null?void 0:o.label)||m,p=(0,import_react.useField)(),h=n.name,g=useDataSourceHeaders(l==null?void 0:l.dataSource),{data:_,params:f,run:v}=useRequest({headers:g,resource:n.target,action:"list",params:x({fields:[d,m],pageSize:200,page:1},(r=p.componentProps)==null?void 0:r.params)},{refreshDeps:[d,m,JSON.stringify(((i=p.componentProps)==null?void 0:i.params)||{})],debounceWait:300});return{list:(_==null?void 0:_.data)||[],onSelected:C=>{var S,b,y,F;const j=((b=(S=a.params)==null?void 0:S[1])==null?void 0:b.filters)||{};C.length?j[`af.${h}`]={[`${h}.${m}.$in`]:C}:delete j[`af.${h}`],a.run(P(x({},(y=a.params)==null?void 0:y[0]),{pageSize:200,page:1,filter:mergeFilter([...Object.values(j),(F=l==null?void 0:l.params)==null?void 0:F.filter])}),{filters:j})},handleSearchInput:C=>{v(P(x({},f==null?void 0:f[0]),{filter:{[`${d}.$includes`]:C.target.value}}))},params:f,run:v}},useOptionalFieldList=()=>{const{currentFields:e=[]}=useCollection_deprecated();return e.filter(t=>isOptionalField(t))},isOptionalField=e=>{var t;return["select","multipleSelect","checkbox","checkboxGroup","chinaRegion"].includes(e==null?void 0:e.interface)&&((t=e==null?void 0:e.uiSchema)==null?void 0:t.enum)},useAssociationFilterBlockProps=()=>{var e,t,o,r,i,n,a,l,c,u;const m=AssociationFilter.useAssociationField(),d=(0,import_react.useFieldSchema)(),p=useOptionalFieldList(),{getDataBlocks:h}=useFilterBlock(),g=m==null?void 0:m.name,_=(0,import_react.useField)(),{props:f}=useBlockRequestContext(),v=useDataSourceHeaders(f==null?void 0:f.dataSource),C=useCollectionManager(),{filter:S,parseVariableLoading:b}=useParsedFilter({filterOption:(t=(e=_.componentProps)==null?void 0:e.params)==null?void 0:t.filter});let y,F,j,A,D,N,w,B;N=m!=null&&m.target?(o=C==null?void 0:C.getCollection(m.target))==null?void 0:o.getPrimaryKey():"id",w=((i=(r=d["x-component-props"])==null?void 0:r.fieldNames)==null?void 0:i.label)||N,{data:D,params:j,run:A}=useRequest({headers:v,resource:m==null?void 0:m.target,action:"list",params:P(x({fields:[w,N],pageSize:200,page:1},(n=_.componentProps)==null?void 0:n.params),{filter:S})},{manual:!0,debounceWait:300}),(0,import_react2.useEffect)(()=>{m&&!isOptionalField(m)&&b===!1&&A()},[m,w,A,N,(a=_.componentProps)==null?void 0:a.params,(c=(l=_.componentProps)==null?void 0:l.params)==null?void 0:c.sort,b]);const R=(0,import_react2.useCallback)(T=>{const{targets:$,uid:M}=findFilterTargets(d);h().forEach(I=>{var E,L,O,V;if(!$.find(H=>H.uid===I.uid))return;const U=`${M}${d.name}`,z=((E=I.service.params)==null?void 0:E[0])||{};(O=(L=I.service.params)==null?void 0:L[1])!=null&&O.filters||import_lodash.default.set(I.service.params,"[1].filters",{});const G=I.service.params[1].filters;if(T.length)G[U]={[B]:T};else{if((V=I.clearSelection)==null||V.call(I),I.dataLoadingMode==="manual")return I.clearData();delete G[U]}const W=mergeFilter([...Object.values(G),I.defaultFilter]);return I.doFilter(P(x({},z),{page:1,filter:W}),{filters:G})})},[d,B,h]);if(!m)return{};if(isOptionalField(m)){const T=p.find(I=>I.name===d.name),$={select:"$in",multipleSelect:"$anyOf",checkbox:"$in",checkboxGroup:"$anyOf"},M=((u=T==null?void 0:T.uiSchema)==null?void 0:u.enum)||[];N="value",w="label",y=M,j={},A=()=>{},B=`${T.name}.${$[T.interface]}`,F=I=>{const E=I.target.value;if(!E){y=M;return}y=M.filter(L=>L.label.includes(E))}}else B=`${g}.${N}.$in`,y=(D==null?void 0:D.data)||[],F=T=>{A(P(x({},j==null?void 0:j[0]),{filter:{[`${w}.$includes`]:T.target.value}}))};return{list:y,onSelected:R,handleSearchInput:F,params:j,run:A,valueKey:N,labelKey:w,dataScopeFilter:S}};function doReset(e){return q(this,arguments,function*({getDataBlocks:t,targets:o,uid:r}){try{yield Promise.all(t().map(i=>q(this,null,function*(){var n,a,l,c;if(!o.find(p=>p.uid===i.uid))return;if((n=i.clearSelection)==null||n.call(i),i.dataLoadingMode==="manual")return i.clearData();const u=((a=i.service.params)==null?void 0:a[0])||{},m=((c=(l=i.service.params)==null?void 0:l[1])==null?void 0:c.filters)||{};delete m[r];const d=mergeFilter([...Object.values(m),i.defaultFilter]);return i.doFilter(P(x({},u),{page:1,filter:d}),{filters:m})})))}catch(i){console.error(i)}})}function getAssociationPath(e){const t=e.lastIndexOf(".");return t!==-1?e.substring(0,t):e}const getAppends=({schema:e,prefix:t,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})=>{e.reduceProperties((l,c)=>{var u,m,d;const p=l||t,h=c["x-collection-field"]&&i(c["x-collection-field"],a),g=c.name.includes("."),_=h&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(h.type);if(c["x-linkage-rules"]&&!isSubMode(c)){const v=C=>{const S=Object.keys(C)[0]||"$and";C[S].forEach(b=>{if("$and"in b||"$or"in b)return v(b);const y=getTargetField(b);y.length>1&&!b.op&&r.add(y.join("."))})};c["x-linkage-rules"].forEach(({condition:C})=>{v(C)})}const f=_&&((u=n(h.target,a))==null?void 0:u.template)==="tree";if(h&&(_||g)&&c["x-component"]!=="TableField"){const v=!_&&g?getAssociationPath(c.name):c.name,C=p===""||!p?v:p+"."+v;if(f)r.add(C),r.add(`${C}.parent(recursively=true)`);else if((m=c["x-component-props"])!=null&&m.sortArr){const S=(d=c["x-component-props"])==null?void 0:d.sortArr;r.add(`${C}(sort=${S})`)}else r.add(C);if(isSubMode(c)){o.add(C);const S=p&&p!==""?p+"."+c.name:c.name;getAppends({schema:c,prefix:S,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})}}else["Action","Action.Link","Action.Modal","Selector","Viewer","AddNewer","AssociationField.Selector","AssociationField.AddNewer","TableField","Kanban.CardViewer","Action.Container"].includes(c["x-component"])||getAppends({schema:c,prefix:t,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})},t)},useAssociationNames=e=>{const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(e),r=(0,import_react.useFieldSchema)(),i=(0,import_react2.useRef)(null);return{getAssociationAppends:(0,import_react2.useCallback)(()=>{const n=new Set([]);let a=new Set([]);getAppends({schema:r,prefix:"",updateAssociationValues:n,appends:a,getCollectionJoinField:t,getCollection:o,dataSource:e}),a=fillParentFields(a);const l=[...a],c=[...n],u={appends:import_lodash.default.isEqual(i.current,l)?i.current:l,updateAssociationValues:c};return i.current=u.appends,u},[e,r,o,t])}};function getTargetField(e){function t(i){const n=[];function a(l){Object.keys(l).sort().forEach(function(c){n.push(c),l[c]&&typeof l[c]=="object"&&a(l[c])})}return a(i),n}const o=t(e),r=import_lodash.default.findIndex(o,(i,n)=>{if(i.includes("$")&&n>0)return!0});return o.slice(0,r)}function resetFormCorrectly(e){return q(this,null,function*(){(0,import_reactive.untracked)(()=>{Object.keys(e.fields).forEach(t=>{isSubMode(e.fields[t])&&(e.fields[t].initialValue=null)})}),yield e.reset()})}function appendQueryStringToUrl(e,t){return t?e+(e.includes("?")?"&":"?")+t:e}const useParseURLAndParams=()=>{const e=useVariables$1(),t=useLocalVariables$1();return{parseURLAndParams:(0,import_react2.useCallback)((o,r)=>q(void 0,null,function*(){const i=yield parseVariablesAndChangeParamsToQueryString({searchParams:r,variables:e,localVariables:t,replaceVariableValue}),n=yield replaceVariableValue(o,e,t);return appendQueryStringToUrl(n,i)}),[e,t])}};function useLinkActionProps(e){var t;const o=useNavigateNoUpdate(),r=(0,import_react.useFieldSchema)(),i=(r==null?void 0:r["x-component-props"])||e,{t:n}=(0,import_react_i18next.useTranslation)(),a=i==null?void 0:i.url,l=(i==null?void 0:i.params)||[],c=(i==null?void 0:i.type)||"default",u=(t=r==null?void 0:r["x-component-props"])==null?void 0:t.openInNewWindow,{parseURLAndParams:m}=useParseURLAndParams(),d=useRouterBasename();return{type:c,onClick(){return q(this,null,function*(){if(!a){import_antd.message.warning(n("Please configure the URL"));return}const p=yield m(a,l);p?u?window.open(completeURL(p),"_blank"):navigateWithinSelf(p,o,window.location.origin+d):console.error("link should be a string")})}}}function replaceVariableValue(e,t,o){return q(this,null,function*(){if(!e)return;const{evaluate:r}=import_client3.evaluators.get("string"),{exp:i,scope:n}=yield replaceVariables(e,{variables:t,localVariables:o});try{return r(i,x({now:()=>new Date().toString()},n))}catch(a){console.error(a)}})}function parseVariablesAndChangeParamsToQueryString(e){return q(this,arguments,function*({searchParams:t,variables:o,localVariables:r,replaceVariableValue:i}){const n=yield Promise.all(t.map(l=>q(this,[l],function*({name:c,value:u}){if(typeof u=="string"){if(isVariable$1(u)){const{value:d}=(yield o.parseVariable(u,r))||{};return{name:c,value:d}}const m=yield i(u,o,r);return{name:c,value:m}}return{name:c,value:u}}))),a={};for(const{name:l,value:c}of n)l&&c&&(a[l]=reduceValueSize(c));return import_qs.default.stringify(a)})}function reduceValueSize(e){if(import_lodash.default.isPlainObject(e)){const t={};return Object.keys(e).forEach(o=>{import_lodash.default.isPlainObject(e[o])||import_lodash.default.isArray(e[o])||import_lodash.default.isString(e[o])&&e[o].length>100||(t[o]=e[o])}),t}return import_lodash.default.isArray(e)?e.map(t=>import_lodash.default.isPlainObject(t)||import_lodash.default.isArray(t)?reduceValueSize(t):t):e}function completeURL(e,t=window.location.origin){return e?(0,import_client.isURL)(e)?e:e.startsWith("/")?`${t}${e}`:`${t}/${e}`:""}function navigateWithinSelf(e,t,o=window.location.origin){if(!import_lodash.default.isString(e))return console.error("link should be a string");(0,import_client.isURL)(e)?e.startsWith(o)?t(completeURL(e.replace(o,""),"")):window.open(e,"_self"):t(completeURL(e,""))}function fillParentFields(e){return Array.from(e).filter(t=>t.includes(".")).forEach(t=>{const o=t.split(".");o.pop();const r=o.join(".");e.add(r)}),e}const useSyncFromForm=(e,t,o)=>{const{getCollectionJoinField:r,getCollectionFields:i}=useCollectionManager_deprecated(),n=import_antd_v5.ArrayBase.useArray(),a=import_antd_v5.ArrayBase.useIndex(),l=import_antd_v5.ArrayBase.useRecord(),c=useCompile(),{t:u}=(0,import_react_i18next.useTranslation)(),m=(0,import_react.useForm)(),d=(g=>(_,{exclude:f=[],depth:v=0,maxDepth:C,prefix:S="",disabled:b=!1},y)=>{const F=`${_}-${f.join(",")}-${v}-${C}-${S}`,j=g.get(F);if(j)return j;if(v>C)return[];const A=i(_).map(D=>{var N;if(f.includes(D.name)||!D.interface||["sort","password","sequence"].includes(D.type))return;const w={type:"duplicate",tag:c((N=D.uiSchema)==null?void 0:N.title)||D.name},B=P(x({},w),{title:import_react2.default.createElement(TreeNode,w),key:S?`${S}.${D.name}`:D.name,isLeaf:!0,field:D,disabled:b}),R=y.find(T=>T.name===B.key);if(["belongsTo","belongsToMany"].includes(D.type)&&(!R||["Select","Picker"].includes(R==null?void 0:R.fieldMode)))w.type="reference",B.type="reference",B.title=import_react2.default.createElement(TreeNode,P(x({},w),{type:"reference"})),B.isLeaf=!1,B.children=p(D.target,{depth:v+1,maxDepth:C,prefix:B.key,exclude:systemKeys});else if(["hasOne","hasMany"].includes(D.type)||["Nester","SubTable"].includes(R==null?void 0:R.fieldMode)){let T=!1;["hasOne","hasMany"].includes(D.type)&&["Select","Picker"].includes(R==null?void 0:R.fieldMode)&&(T=!0),B.disabled=!0,B.isLeaf=!1,B.children=d(D.target,{depth:v+1,maxDepth:C,prefix:B.key,exclude:["id",...systemKeys],disabled:T},y)}return B}).filter(Boolean);return g.set(F,A),A})(new import_lru_cache.default({max:100})),p=(g=>(_,{prefix:f,maxDepth:v,depth:C=0,exclude:S=[]})=>{const b=`${_}-${S.join(",")}-${C}-${v}-${f}`,y=g.get(b);if(y)return y;if(C>v)return[];const F=i(_).map(j=>{var A,D;if(!j.target||!j.interface||S.includes(j.name))return;const N={type:"preloading",tag:c((A=j.uiSchema)==null?void 0:A.title)||j.name},w=f?`${f}.${j.name}`:j.name;return{type:"preloading",tag:c((D=j.uiSchema)==null?void 0:D.title)||j.name,title:import_react2.default.createElement(TreeNode,N),key:w,isLeaf:!1,field:j,children:p(j.target,{prefix:w,depth:C+1,maxDepth:v,exclude:S})}}).filter(Boolean);return g.set(b,F),F})(new import_lru_cache.default({max:100})),h=(0,import_react2.useCallback)((g,_)=>{if(!g)return[];try{return d(g,{exclude:["id",...systemKeys],maxDepth:1,disabled:!1},_)}catch(f){return console.error(f),[]}},[]);return{run(){return q(this,null,function*(){var g;const _=new Set([]),f=new Set([]),v=(S,b)=>{var y;(y=S==null?void 0:S.reduceProperties)==null||y.call(S,(F,j)=>{var A,D,N;const w=F||b,B=j["x-collection-field"]&&r(j["x-collection-field"]),R=j.name.includes("."),T=B&&["hasOne","hasMany","belongsTo","belongsToMany"].includes(B.type),$=!T&&R?getAssociationPath(j.name):j.name,M=w===""||!w?$:w+"."+$;if(B&&!(["hasOne","hasMany"].includes(B.type)||["SubForm","Nester"].includes((A=j["x-component-props"])==null?void 0:A.mode))&&f.add(M),B&&(T||R)&&j["x-component"]!=="TableField"){if(_.add({name:M,fieldMode:((D=j["x-component-props"])==null?void 0:D.mode)||"Select"}),["Nester","SubTable"].includes((N=j["x-component-props"])==null?void 0:N.mode)){const I=w&&w!==""?w+"."+j.name:j.name;v(j,I)}}else["ActionBar","Action","Action.Link","Action.Modal","Selector","Viewer","AddNewer","AssociationField.Selector","AssociationField.AddNewer","TableField"].includes(j["x-component"])||v(j,b)},b)};v(e,"");const C=h((l==null?void 0:l.collection)||t,[..._]);o?o(C,[...f],m):(n==null||n.field.form.query(`fieldReaction.items.${a}.layout.fields`).take(S=>{S.componentProps.treeData=[],setTimeout(()=>S.componentProps.treeData=C)}),n==null||n.field.value.splice(a,1,P(x({},(g=n==null?void 0:n.field)==null?void 0:g.value[a]),{fields:[...f],treeData:C}))),import_antd.message.success(u("Sync successfully"))})}}};function SchemaSettingsBlockTitleItem(){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("Edit block title & description"),schema:{type:"object",title:n("Edit block title & description"),properties:{title:{title:n("title"),type:"string",default:(e=r==null?void 0:r["x-component-props"])==null?void 0:e.title,"x-decorator":"FormItem","x-component":"Input","x-component-props":{"aria-label":"block-title"}},description:{title:n("Description"),type:"string",default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.description,"x-decorator":"FormItem","x-component":"Markdown"}}},onSubmit:({title:a,description:l})=>{const c=r["x-component-props"]||{};c.title=a,c.description=l,r["x-component-props"]=c,o.componentProps.title=a,o.componentProps.description=l,i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}})}})}const getTargetKey=e=>(e==null?void 0:e.targetKey)||"id";function SchemaSettingsConnectDataBlocks(e){const{type:t,emptyDescription:o}=e,r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)(),a=useCollection(),{inProvider:l}=useFilterBlock(),c=useSupportedBlocks(t);let{targets:u=[],uid:m}=findFilterTargets(r);const d=useCompile(),{getAllCollectionsInheritChain:p}=useAllCollectionsInheritChainGetter();if(!l)return null;const h=c.map(g=>{const _=`${d(g.collection.title)} #${g.uid.slice(0,4)}`,f=()=>{g.highlightBlock()},v=()=>{g.unhighlightBlock()};if(isSameCollection(g.collection,a))return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:_,checked:u.some(S=>S.uid===g.uid),onChange:S=>{S?u.push({uid:g.uid}):(u=u.filter(b=>b.uid!==g.uid),g.clearFilter(m)),updateFilterTargets(r,u),i.emit("patch",{schema:{"x-uid":m,"x-filter-targets":u}}).catch(import_client.error),i.refresh()},onMouseEnter:f,onMouseLeave:v},g.uid);const C=u.find(S=>S.uid===g.uid);return(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:_,value:(C==null?void 0:C.field)||"",options:[...getSupportFieldsByAssociation(p(a.name),g).map(S=>({label:d(S.uiSchema.title)||S.name,value:`${S.name}.${getTargetKey(S)}`})),...getSupportFieldsByForeignKey(a,g).map(S=>({label:`${d(S.uiSchema.title)||S.name} [${n("Foreign key")}]`,value:S.name})),{label:n("Unconnected"),value:""}],onChange:S=>{S===""?(u=u.filter(b=>b.uid!==g.uid),g.clearFilter(m)):(u=u.filter(b=>b.uid!==g.uid),u.push({uid:g.uid,field:S})),updateFilterTargets(r,u),i.emit("patch",{schema:{"x-uid":m,"x-filter-targets":u}}),i.refresh()},onMouseEnter:f,onMouseLeave:v},g.uid)});return(0,import_jsx_runtime.jsx)(SchemaSettingsSubMenu,{title:n("Connect data blocks"),children:h.length?h:(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:"empty",children:(0,import_jsx_runtime.jsx)(import_antd.Empty,{style:{width:160,padding:"0 1em"},description:o,image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE})})})}const UnitConversion=({unitConversionType:e})=>{const t=(0,import_react.useForm)(),{t:o}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)(import_antd.Select,{defaultValue:e||"*",style:{width:160},onChange:r=>{t.setValuesIn("unitConversionType",r)},children:[(0,import_jsx_runtime.jsx)(import_antd.Select.Option,{value:"*",children:o("Multiply by")}),(0,import_jsx_runtime.jsx)(import_antd.Select.Option,{value:"/",children:o("Divide by")})]})},SchemaSettingsNumberFormat=function e(t){var o;const{fieldSchema:r}=t,i=(0,import_react.useField)(),{dn:n}=useDesignable(),{t:a}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:l}=useCollectionManager_deprecated(),c=l(r==null?void 0:r["x-collection-field"])||{},{formatStyle:u,unitConversion:m,unitConversionType:d,separator:p,step:h,addonBefore:g,addonAfter:_}=r["x-component-props"]||{},{step:f}=((o=c==null?void 0:c.uiSchema)==null?void 0:o["x-component-props"])||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:a("Format"),schema:{type:"object",properties:{formatStyle:{type:"string",default:u||"normal",enum:[{value:"normal",label:a("Normal")},{value:"scientifix",label:a("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"InputNumber",title:"{{t('Unit conversion')}}",default:m,"x-component-props":{style:{width:"100%"},addonBefore:(0,import_jsx_runtime.jsx)(UnitConversion,{unitConversionType:d})}},separator:{type:"string",default:p||"0,0.00",enum:[{value:"0,0.00",label:a("100,000.00")},{value:"0.0,00",label:a("100.000,00")},{value:"0 0,00",label:a("100 000.00")},{value:"0.00",label:a("100000.00")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},step:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",default:h||f||"1",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem",default:g},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem",default:_}}},onSubmit:v=>{const C={"x-uid":r["x-uid"]};C["x-component-props"]=r["x-component-props"]||{},r["x-component-props"]=x(x({},r["x-component-props"]||{}),v),C["x-component-props"]=r["x-component-props"],i.componentProps=r["x-component-props"];const S=i.path.entire.split(".");S.pop();const b=S.join(".");i.query(`${b}.*[0:].${r.name}`).forEach(y=>{y.props.name===r.name&&y.setComponentProps(x({},v))}),n.emit("patch",{schema:C}),n.refresh()}})},DraggableContext=(0,import_react2.createContext)(null);DraggableContext.displayName="DraggableContext";const SortableContext=(0,import_react2.createContext)(null);SortableContext.displayName="SortableContext";const SortableProvider=e=>{const{id:t,data:o,children:r}=e,i=(0,import_core2.useDraggable)({id:t,data:o}),n=(0,import_core2.useDroppable)({id:t,data:o}),a=(0,import_react2.useMemo)(()=>({draggable:i,droppable:n}),[i,n]);return(0,import_jsx_runtime.jsx)(SortableContext.Provider,{value:a,children:r})},getComputedColor=e=>new import_tinycolor.TinyColor(e).setAlpha(.15).toHex8String(),Sortable=e=>{var t,o;const r=e,{component:i,overStyle:n,style:a,children:l,openMode:c}=r,u=Y(r,["component","overStyle","style","children","openMode"]),{token:m}=useToken$1(),{draggable:d,droppable:p}=(0,import_react2.useContext)(SortableContext),{isOver:h,setNodeRef:g}=p,_=x({},a),f=(0,import_react.useFieldSchema)(),v=(f==null?void 0:f["x-component"])==="Action.Link"||i==="a";return h&&((t=d==null?void 0:d.active)==null?void 0:t.id)!==((o=p==null?void 0:p.over)==null?void 0:o.id)&&(_[v?"color":"background"]=getComputedColor(m.colorSettings),Object.assign(_,n)),import_react2.default.createElement(i||"div",P(x({role:"none"},u),{className:(0,import_css.cx)("nb-sortable-designer",e.className),ref:g,style:_}),l)},useSortableItemProps=e=>{const t=useSortableItemId(e),o=(0,import_react.useFieldSchema)();return e.schema?P(x({},e),{id:t}):P(x({},e),{id:t,schema:o})},useSortableItemId=e=>{var t;const o=(0,import_react.useField)();return e.id?e.id:(t=o.address)==null?void 0:t.toString()},InternalSortableItem=(0,import_react.observer)(e=>{const t=useSortableItemProps(e),{schema:o,id:r,eid:i,removeParentsIfNoChildren:n}=t,a=Y(t,["schema","id","eid","removeParentsIfNoChildren"]),l=(0,import_react2.useMemo)(()=>({insertAdjacent:"afterEnd",schema:o,removeParentsIfNoChildren:n??!0}),[o,n]);return(0,import_jsx_runtime.jsx)(SortableProvider,{id:r,data:l,children:(0,import_jsx_runtime.jsx)(Sortable,P(x({id:i},a),{children:e.children}))})},{displayName:"InternalSortableItem"}),SortableItem=import_react2.default.memo(e=>{const t=e,{component:o}=t,r=Y(t,["component"]),{designable:i}=useDesignable();return i?(0,import_jsx_runtime.jsx)(InternalSortableItem,x({},e)):import_react2.default.createElement(o||"div",import_lodash.default.omit(r,["children","schema","overStyle","openMode","id","eid","removeParentsIfNoChildren"]),e.children)});SortableItem.displayName="SortableItem";const DragHandler=e=>{const{draggable:t}=(0,import_react2.useContext)(SortableContext)||{};if(!t)return null;const{attributes:o,listeners:r,setNodeRef:i}=t;return(0,import_jsx_runtime.jsx)("div",{style:{display:"inline-block",width:14,height:14,lineHeight:"14px",textAlign:"left"},children:(0,import_jsx_runtime.jsx)("div",P(x(x({ref:i,style:{position:"relative",zIndex:1,lineHeight:0,fontSize:0,display:"inline-block"}},r),o),{role:"none",children:(0,import_jsx_runtime.jsx)("span",{style:{cursor:"move",fontSize:14},children:e.children})}))})},ShowFormData=(0,import_react.observer)(({children:e})=>{const t=(0,import_react.useForm)();return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("pre",{style:{marginBottom:20},"data-testid":"form-data",children:JSON.stringify(t.values,null,2)}),e]})}),options=[{value:"exact",label:'{{t("Exact day")}}'},{value:"past",label:'{{t("Past")}}'},{value:"next",label:'{{t("Next")}}'},{value:"today",label:'{{t("Today")}}'},{value:"yesterday",label:'{{t("Yesterday")}}'},{value:"tomorrow",label:'{{t("Tomorrow")}}'},{value:"thisWeek",label:'{{t("This Week")}}'},{value:"lastWeek",label:'{{t("Last Week")}}'},{value:"nextWeek",label:'{{t("Next Week")}}'},{value:"thisMonth",label:'{{t("This Month")}}'},{value:"lastMonth",label:'{{t("Last Month")}}'},{value:"nextMonth",label:'{{t("Next Month")}}'},{value:"thisQuarter",label:'{{t("This Quarter")}}'},{value:"lastQuarter",label:'{{t("Last Quarter")}}'},{value:"nextQuarter",label:'{{t("Next Quarter")}}'},{value:"thisYear",label:'{{t("This Year")}}'},{value:"lastYear",label:'{{t("Last Year")}}'},{value:"nextYear",label:'{{t("Next Year")}}'}],SmartDatePicker=e=>{const t=e,{isRange:o,defaultValue:r}=t,i=Y(t,["isRange","defaultValue"]);return o?(0,import_jsx_runtime.jsx)(DatePicker.RangePicker,x({},i)):(0,import_jsx_runtime.jsx)(DatePicker.FilterWithPicker,x({},i))},DateFilterDynamicComponent=e=>{const{value:t,onChange:o}=e,r=useCompile(),{t:i}=(0,import_react_i18next.useTranslation)(),{token:n}=import_antd.theme.useToken(),[a,l]=(0,import_react2.useState)(!1),c=m=>{if(l(!1),m==="exact")return o(void 0);const d={type:m};["past","next"].includes(m)&&(d.number=1,d.unit="day"),o(d)},u=()=>{const m=options.slice(0,3),d=options.slice(3),p=import_css.css`
|
|
635
|
+
`}:{simple:!0,hidden:C<=1,current:((f=(_=(g=v.service)==null?void 0:g.data)==null?void 0:_.meta)==null?void 0:f.page)||1,total:C,pageSize:1,showSizeChanger:!1,align:"center",onChange(y){return q(this,null,function*(){var F,j;const A=(j=(F=v.service)==null?void 0:F.params)==null?void 0:j[0];v.service.run(P(x({},A),{page:y}))})},style:{marginTop:24,textAlign:"center"}}},useAssociationFilterProps=()=>{var e,t,o,r,i;const n=AssociationFilter.useAssociationField(),{service:a,props:l}=useBlockRequestContext(),c=(0,import_react.useFieldSchema)(),u=useCollectionManager_deprecated(),m=n!=null&&n.target?(e=u.getCollection(n.target))==null?void 0:e.getPrimaryKey():"id",d=((o=(t=c["x-component-props"])==null?void 0:t.fieldNames)==null?void 0:o.label)||m,p=(0,import_react.useField)(),h=n.name,g=useDataSourceHeaders(l==null?void 0:l.dataSource),{data:_,params:f,run:v}=useRequest({headers:g,resource:n.target,action:"list",params:x({fields:[d,m],pageSize:200,page:1},(r=p.componentProps)==null?void 0:r.params)},{refreshDeps:[d,m,JSON.stringify(((i=p.componentProps)==null?void 0:i.params)||{})],debounceWait:300});return{list:(_==null?void 0:_.data)||[],onSelected:C=>{var S,b,y,F;const j=((b=(S=a.params)==null?void 0:S[1])==null?void 0:b.filters)||{};C.length?j[`af.${h}`]={[`${h}.${m}.$in`]:C}:delete j[`af.${h}`],a.run(P(x({},(y=a.params)==null?void 0:y[0]),{pageSize:200,page:1,filter:mergeFilter([...Object.values(j),(F=l==null?void 0:l.params)==null?void 0:F.filter])}),{filters:j})},handleSearchInput:C=>{v(P(x({},f==null?void 0:f[0]),{filter:{[`${d}.$includes`]:C.target.value}}))},params:f,run:v}},useOptionalFieldList=()=>{const{currentFields:e=[]}=useCollection_deprecated();return e.filter(t=>isOptionalField(t))},isOptionalField=e=>{var t;return["select","multipleSelect","checkbox","checkboxGroup","chinaRegion"].includes(e==null?void 0:e.interface)&&((t=e==null?void 0:e.uiSchema)==null?void 0:t.enum)},useAssociationFilterBlockProps=()=>{var e,t,o,r,i,n,a,l,c,u;const m=AssociationFilter.useAssociationField(),d=(0,import_react.useFieldSchema)(),p=useOptionalFieldList(),{getDataBlocks:h}=useFilterBlock(),g=m==null?void 0:m.name,_=(0,import_react.useField)(),{props:f}=useBlockRequestContext(),v=useDataSourceHeaders(f==null?void 0:f.dataSource),C=useCollectionManager(),{filter:S,parseVariableLoading:b}=useParsedFilter({filterOption:(t=(e=_.componentProps)==null?void 0:e.params)==null?void 0:t.filter});let y,F,j,A,D,N,w,B;N=m!=null&&m.target?(o=C==null?void 0:C.getCollection(m.target))==null?void 0:o.getPrimaryKey():"id",w=((i=(r=d["x-component-props"])==null?void 0:r.fieldNames)==null?void 0:i.label)||N,{data:D,params:j,run:A}=useRequest({headers:v,resource:m==null?void 0:m.target,action:"list",params:P(x({fields:[w,N],pageSize:200,page:1},(n=_.componentProps)==null?void 0:n.params),{filter:S})},{manual:!0,debounceWait:300}),(0,import_react2.useEffect)(()=>{m&&!isOptionalField(m)&&b===!1&&A()},[m,w,A,N,(a=_.componentProps)==null?void 0:a.params,(c=(l=_.componentProps)==null?void 0:l.params)==null?void 0:c.sort,b]);const R=(0,import_react2.useCallback)(T=>{const{targets:$,uid:M}=findFilterTargets(d);h().forEach(I=>{var E,L,O,V;if(!$.find(H=>H.uid===I.uid))return;const U=`${M}${d.name}`,z=((E=I.service.params)==null?void 0:E[0])||{};(O=(L=I.service.params)==null?void 0:L[1])!=null&&O.filters||import_lodash.default.set(I.service.params,"[1].filters",{});const G=I.service.params[1].filters;if(T.length)G[U]={[B]:T};else{if((V=I.clearSelection)==null||V.call(I),I.dataLoadingMode==="manual")return I.clearData();delete G[U]}const W=mergeFilter([...Object.values(G),I.defaultFilter]);return I.doFilter(P(x({},z),{page:1,filter:W}),{filters:G})})},[d,B,h]);if(!m)return{};if(isOptionalField(m)){const T=p.find(I=>I.name===d.name),$={select:"$in",multipleSelect:"$anyOf",checkbox:"$in",checkboxGroup:"$anyOf"},M=((u=T==null?void 0:T.uiSchema)==null?void 0:u.enum)||[];N="value",w="label",y=M,j={},A=()=>{},B=`${T.name}.${$[T.interface]}`,F=I=>{const E=I.target.value;if(!E){y=M;return}y=M.filter(L=>L.label.includes(E))}}else B=`${g}.${N}.$in`,y=(D==null?void 0:D.data)||[],F=T=>{A(P(x({},j==null?void 0:j[0]),{filter:{[`${w}.$includes`]:T.target.value}}))};return{list:y,onSelected:R,handleSearchInput:F,params:j,run:A,valueKey:N,labelKey:w,dataScopeFilter:S}};function doReset(e){return q(this,arguments,function*({getDataBlocks:t,targets:o,uid:r}){try{yield Promise.all(t().map(i=>q(this,null,function*(){var n,a,l,c;if(!o.find(p=>p.uid===i.uid))return;if((n=i.clearSelection)==null||n.call(i),i.dataLoadingMode==="manual")return i.clearData();const u=((a=i.service.params)==null?void 0:a[0])||{},m=((c=(l=i.service.params)==null?void 0:l[1])==null?void 0:c.filters)||{};delete m[r];const d=mergeFilter([...Object.values(m),i.defaultFilter]);return i.doFilter(P(x({},u),{page:1,filter:d}),{filters:m})})))}catch(i){console.error(i)}})}function getAssociationPath(e){const t=e.lastIndexOf(".");return t!==-1?e.substring(0,t):e}const getAppends=({schema:e,prefix:t,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})=>{e.reduceProperties((l,c)=>{var u,m,d;const p=l||t,h=c["x-collection-field"]&&i(c["x-collection-field"],a),g=c.name.includes("."),_=h&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(h.type);if(c["x-linkage-rules"]&&!isSubMode(c)){const v=C=>{const S=Object.keys(C)[0]||"$and";C[S].forEach(b=>{if("$and"in b||"$or"in b)return v(b);const y=getTargetField(b);y.length>1&&!b.op&&r.add(y.join("."))})};c["x-linkage-rules"].forEach(({condition:C})=>{v(C)})}const f=_&&((u=n(h.target,a))==null?void 0:u.template)==="tree";if(h&&(_||g)&&c["x-component"]!=="TableField"){const v=!_&&g?getAssociationPath(c.name):c.name,C=p===""||!p?v:p+"."+v;if(f)r.add(C),r.add(`${C}.parent(recursively=true)`);else if((m=c["x-component-props"])!=null&&m.sortArr){const S=(d=c["x-component-props"])==null?void 0:d.sortArr;r.add(`${C}(sort=${S})`)}else r.add(C);if(isSubMode(c)){o.add(C);const S=p&&p!==""?p+"."+c.name:c.name;getAppends({schema:c,prefix:S,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})}}else["Action","Action.Link","Action.Modal","Selector","Viewer","AddNewer","AssociationField.Selector","AssociationField.AddNewer","TableField","Kanban.CardViewer","Action.Container"].includes(c["x-component"])||getAppends({schema:c,prefix:t,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})},t)},useAssociationNames=e=>{const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(e),r=(0,import_react.useFieldSchema)(),i=(0,import_react2.useRef)(null);return{getAssociationAppends:(0,import_react2.useCallback)(()=>{const n=new Set([]);let a=new Set([]);getAppends({schema:r,prefix:"",updateAssociationValues:n,appends:a,getCollectionJoinField:t,getCollection:o,dataSource:e}),a=fillParentFields(a);const l=[...a],c=[...n],u={appends:import_lodash.default.isEqual(i.current,l)?i.current:l,updateAssociationValues:c};return i.current=u.appends,u},[e,r,o,t])}};function getTargetField(e){function t(i){const n=[];function a(l){Object.keys(l).sort().forEach(function(c){n.push(c),l[c]&&typeof l[c]=="object"&&a(l[c])})}return a(i),n}const o=t(e),r=import_lodash.default.findIndex(o,(i,n)=>{if(i.includes("$")&&n>0)return!0});return o.slice(0,r)}function resetFormCorrectly(e){return q(this,null,function*(){(0,import_reactive.untracked)(()=>{Object.keys(e.fields).forEach(t=>{isSubMode(e.fields[t])&&(e.fields[t].initialValue=null)})}),yield e.reset()})}function appendQueryStringToUrl(e,t){return t?e+(e.includes("?")?"&":"?")+t:e}const useParseURLAndParams=()=>{const e=useVariables$1(),t=useLocalVariables$1();return{parseURLAndParams:(0,import_react2.useCallback)((o,r)=>q(void 0,null,function*(){const i=yield parseVariablesAndChangeParamsToQueryString({searchParams:r,variables:e,localVariables:t,replaceVariableValue}),n=yield replaceVariableValue(o,e,t);return appendQueryStringToUrl(n,i)}),[e,t])}};function useLinkActionProps(e){var t;const o=useNavigateNoUpdate(),r=(0,import_react.useFieldSchema)(),i=(r==null?void 0:r["x-component-props"])||e,{t:n}=(0,import_react_i18next.useTranslation)(),a=i==null?void 0:i.url,l=(i==null?void 0:i.params)||[],c=(i==null?void 0:i.type)||"default",u=(t=r==null?void 0:r["x-component-props"])==null?void 0:t.openInNewWindow,{parseURLAndParams:m}=useParseURLAndParams(),d=useRouterBasename();return{type:c,onClick(){return q(this,null,function*(){if(!a){import_antd.message.warning(n("Please configure the URL"));return}const p=yield m(a,l);p?u?window.open(completeURL(p),"_blank"):navigateWithinSelf(p,o,window.location.origin+d):console.error("link should be a string")})}}}function replaceVariableValue(e,t,o){return q(this,null,function*(){if(!e)return;const{evaluate:r}=import_client3.evaluators.get("string"),{exp:i,scope:n}=yield replaceVariables(e,{variables:t,localVariables:o});try{return r(i,x({now:()=>new Date().toString()},n))}catch(a){console.error(a)}})}function parseVariablesAndChangeParamsToQueryString(e){return q(this,arguments,function*({searchParams:t,variables:o,localVariables:r,replaceVariableValue:i}){const n=yield Promise.all(t.map(l=>q(this,[l],function*({name:c,value:u}){if(typeof u=="string"){if(isVariable$1(u)){const{value:d}=(yield o.parseVariable(u,r))||{};return{name:c,value:d}}const m=yield i(u,o,r);return{name:c,value:m}}return{name:c,value:u}}))),a={};for(const{name:l,value:c}of n)l&&c&&(a[l]=reduceValueSize(c));return import_qs.default.stringify(a)})}function reduceValueSize(e){if(import_lodash.default.isPlainObject(e)){const t={};return Object.keys(e).forEach(o=>{import_lodash.default.isPlainObject(e[o])||import_lodash.default.isArray(e[o])||import_lodash.default.isString(e[o])&&e[o].length>100||(t[o]=e[o])}),t}return import_lodash.default.isArray(e)?e.map(t=>import_lodash.default.isPlainObject(t)||import_lodash.default.isArray(t)?reduceValueSize(t):t):e}function completeURL(e,t=window.location.origin){return e?(0,import_client.isURL)(e)?e:e.startsWith("/")?`${t}${e}`:`${t}/${e}`:""}function navigateWithinSelf(e,t,o=window.location.origin){if(!import_lodash.default.isString(e))return console.error("link should be a string");(0,import_client.isURL)(e)?e.startsWith(o)?t(completeURL(e.replace(o,""),"")):window.open(e,"_self"):t(completeURL(e,""))}function fillParentFields(e){return Array.from(e).filter(t=>t.includes(".")).forEach(t=>{const o=t.split(".");o.pop();const r=o.join(".");e.add(r)}),e}const useSyncFromForm=(e,t,o)=>{const{getCollectionJoinField:r,getCollectionFields:i}=useCollectionManager_deprecated(),n=import_antd_v5.ArrayBase.useArray(),a=import_antd_v5.ArrayBase.useIndex(),l=import_antd_v5.ArrayBase.useRecord(),c=useCompile(),{t:u}=(0,import_react_i18next.useTranslation)(),m=(0,import_react.useForm)(),d=(g=>(_,{exclude:f=[],depth:v=0,maxDepth:C,prefix:S="",disabled:b=!1},y)=>{const F=`${_}-${f.join(",")}-${v}-${C}-${S}`,j=g.get(F);if(j)return j;if(v>C)return[];const A=i(_).map(D=>{var N;if(f.includes(D.name)||!D.interface||["sort","password","sequence"].includes(D.type))return;const w={type:"duplicate",tag:c((N=D.uiSchema)==null?void 0:N.title)||D.name},B=P(x({},w),{title:import_react2.default.createElement(TreeNode,w),key:S?`${S}.${D.name}`:D.name,isLeaf:!0,field:D,disabled:b}),R=y.find(T=>T.name===B.key);if(["belongsTo","belongsToMany"].includes(D.type)&&(!R||["Select","Picker"].includes(R==null?void 0:R.fieldMode)))w.type="reference",B.type="reference",B.title=import_react2.default.createElement(TreeNode,P(x({},w),{type:"reference"})),B.isLeaf=!1,B.children=p(D.target,{depth:v+1,maxDepth:C,prefix:B.key,exclude:systemKeys});else if(["hasOne","hasMany"].includes(D.type)||["Nester","SubTable"].includes(R==null?void 0:R.fieldMode)){let T=!1;["hasOne","hasMany"].includes(D.type)&&["Select","Picker"].includes(R==null?void 0:R.fieldMode)&&(T=!0),B.disabled=!0,B.isLeaf=!1,B.children=d(D.target,{depth:v+1,maxDepth:C,prefix:B.key,exclude:["id",...systemKeys],disabled:T},y)}return B}).filter(Boolean);return g.set(F,A),A})(new import_lru_cache.default({max:100})),p=(g=>(_,{prefix:f,maxDepth:v,depth:C=0,exclude:S=[]})=>{const b=`${_}-${S.join(",")}-${C}-${v}-${f}`,y=g.get(b);if(y)return y;if(C>v)return[];const F=i(_).map(j=>{var A,D;if(!j.target||!j.interface||S.includes(j.name))return;const N={type:"preloading",tag:c((A=j.uiSchema)==null?void 0:A.title)||j.name},w=f?`${f}.${j.name}`:j.name;return{type:"preloading",tag:c((D=j.uiSchema)==null?void 0:D.title)||j.name,title:import_react2.default.createElement(TreeNode,N),key:w,isLeaf:!1,field:j,children:p(j.target,{prefix:w,depth:C+1,maxDepth:v,exclude:S})}}).filter(Boolean);return g.set(b,F),F})(new import_lru_cache.default({max:100})),h=(0,import_react2.useCallback)((g,_)=>{if(!g)return[];try{return d(g,{exclude:["id",...systemKeys],maxDepth:1,disabled:!1},_)}catch(f){return console.error(f),[]}},[]);return{run(){return q(this,null,function*(){var g;const _=new Set([]),f=new Set([]),v=(S,b)=>{var y;(y=S==null?void 0:S.reduceProperties)==null||y.call(S,(F,j)=>{var A,D,N;const w=F||b,B=j["x-collection-field"]&&r(j["x-collection-field"]),R=j.name.includes("."),T=B&&["hasOne","hasMany","belongsTo","belongsToMany"].includes(B.type),$=!T&&R?getAssociationPath(j.name):j.name,M=w===""||!w?$:w+"."+$;if(B&&!(["hasOne","hasMany"].includes(B.type)||["SubForm","Nester"].includes((A=j["x-component-props"])==null?void 0:A.mode))&&f.add(M),B&&(T||R)&&j["x-component"]!=="TableField"){if(_.add({name:M,fieldMode:((D=j["x-component-props"])==null?void 0:D.mode)||"Select"}),["Nester","SubTable"].includes((N=j["x-component-props"])==null?void 0:N.mode)){const I=w&&w!==""?w+"."+j.name:j.name;v(j,I)}}else["ActionBar","Action","Action.Link","Action.Modal","Selector","Viewer","AddNewer","AssociationField.Selector","AssociationField.AddNewer","TableField"].includes(j["x-component"])||v(j,b)},b)};v(e,"");const C=h((l==null?void 0:l.collection)||t,[..._]);o?o(C,[...f],m):(n==null||n.field.form.query(`fieldReaction.items.${a}.layout.fields`).take(S=>{S.componentProps.treeData=[],setTimeout(()=>S.componentProps.treeData=C)}),n==null||n.field.value.splice(a,1,P(x({},(g=n==null?void 0:n.field)==null?void 0:g.value[a]),{fields:[...f],treeData:C}))),import_antd.message.success(u("Sync successfully"))})}}};function SchemaSettingsBlockTitleItem(){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("Edit block title & description"),schema:{type:"object",title:n("Edit block title & description"),properties:{title:{title:n("title"),type:"string",default:(e=r==null?void 0:r["x-component-props"])==null?void 0:e.title,"x-decorator":"FormItem","x-component":"Input","x-component-props":{"aria-label":"block-title"}},description:{title:n("Description"),type:"string",default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.description,"x-decorator":"FormItem","x-component":"Markdown"}}},onSubmit:({title:a,description:l})=>{const c=r["x-component-props"]||{};c.title=a,c.description=l,r["x-component-props"]=c,o.componentProps.title=a,o.componentProps.description=l,i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}})}})}const getTargetKey=e=>(e==null?void 0:e.targetKey)||"id";function SchemaSettingsConnectDataBlocks(e){const{type:t,emptyDescription:o}=e,r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)(),a=useCollection(),{inProvider:l}=useFilterBlock(),c=useSupportedBlocks(t);let{targets:u=[],uid:m}=findFilterTargets(r);const d=useCompile(),{getAllCollectionsInheritChain:p}=useAllCollectionsInheritChainGetter();if(!l)return null;const h=c.map(g=>{const _=`${d(g.collection.title)} #${g.uid.slice(0,4)}`,f=()=>{g.highlightBlock()},v=()=>{g.unhighlightBlock()};if(isSameCollection(g.collection,a))return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:_,checked:u.some(S=>S.uid===g.uid),onChange:S=>{S?u.push({uid:g.uid}):(u=u.filter(b=>b.uid!==g.uid),g.clearFilter(m)),updateFilterTargets(r,u),i.emit("patch",{schema:{"x-uid":m,"x-filter-targets":u}}).catch(import_client.error),i.refresh()},onMouseEnter:f,onMouseLeave:v},g.uid);const C=u.find(S=>S.uid===g.uid);return(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:_,value:(C==null?void 0:C.field)||"",options:[...getSupportFieldsByAssociation(p(a.name),g).map(S=>({label:d(S.uiSchema.title)||S.name,value:`${S.name}.${getTargetKey(S)}`})),...getSupportFieldsByForeignKey(a,g).map(S=>({label:`${d(S.uiSchema.title)||S.name} [${n("Foreign key")}]`,value:S.name})),{label:n("Unconnected"),value:""}],onChange:S=>{S===""?(u=u.filter(b=>b.uid!==g.uid),g.clearFilter(m)):(u=u.filter(b=>b.uid!==g.uid),u.push({uid:g.uid,field:S})),updateFilterTargets(r,u),i.emit("patch",{schema:{"x-uid":m,"x-filter-targets":u}}),i.refresh()},onMouseEnter:f,onMouseLeave:v},g.uid)});return(0,import_jsx_runtime.jsx)(SchemaSettingsSubMenu,{title:n("Connect data blocks"),children:h.length?h:(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:"empty",children:(0,import_jsx_runtime.jsx)(import_antd.Empty,{style:{width:160,padding:"0 1em"},description:o,image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE})})})}const UnitConversion=({unitConversionType:e})=>{const t=(0,import_react.useForm)(),{t:o}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)(import_antd.Select,{defaultValue:e||"*",style:{width:160},onChange:r=>{t.setValuesIn("unitConversionType",r)},children:[(0,import_jsx_runtime.jsx)(import_antd.Select.Option,{value:"*",children:o("Multiply by")}),(0,import_jsx_runtime.jsx)(import_antd.Select.Option,{value:"/",children:o("Divide by")})]})},SchemaSettingsNumberFormat=function e(t){var o;const{fieldSchema:r}=t,i=(0,import_react.useField)(),{dn:n}=useDesignable(),{t:a}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:l}=useCollectionManager_deprecated(),c=l(r==null?void 0:r["x-collection-field"])||{},{formatStyle:u,unitConversion:m,unitConversionType:d,separator:p,step:h,addonBefore:g,addonAfter:_}=r["x-component-props"]||{},{step:f}=((o=c==null?void 0:c.uiSchema)==null?void 0:o["x-component-props"])||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:a("Format"),schema:{type:"object",properties:{formatStyle:{type:"string",default:u||"normal",enum:[{value:"normal",label:a("Normal")},{value:"scientifix",label:a("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"InputNumber",title:"{{t('Unit conversion')}}",default:m,"x-component-props":{style:{width:"100%"},addonBefore:(0,import_jsx_runtime.jsx)(UnitConversion,{unitConversionType:d})}},separator:{type:"string",default:p||"0,0.00",enum:[{value:"0,0.00",label:a("100,000.00")},{value:"0.0,00",label:a("100.000,00")},{value:"0 0,00",label:a("100 000.00")},{value:"0.00",label:a("100000.00")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},step:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",default:h||f||"1",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem",default:g},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem",default:_}}},onSubmit:v=>{const C={"x-uid":r["x-uid"]};C["x-component-props"]=r["x-component-props"]||{},r["x-component-props"]=x(x({},r["x-component-props"]||{}),v),C["x-component-props"]=r["x-component-props"],i.componentProps=r["x-component-props"];const S=i.path.entire.split(".");S.pop();const b=S.join(".");i.query(`${b}.*[0:].${r.name}`).forEach(y=>{y.props.name===r.name&&y.setComponentProps(x({},v))}),n.emit("patch",{schema:C}),n.refresh()}})},DraggableContext=(0,import_react2.createContext)(null);DraggableContext.displayName="DraggableContext";const SortableContext=(0,import_react2.createContext)(null);SortableContext.displayName="SortableContext";const SortableProvider=e=>{const{id:t,data:o,children:r}=e,i=(0,import_core2.useDraggable)({id:t,data:o}),n=(0,import_core2.useDroppable)({id:t,data:o}),a=(0,import_react2.useMemo)(()=>({draggable:i,droppable:n}),[i,n]);return(0,import_jsx_runtime.jsx)(SortableContext.Provider,{value:a,children:r})},getComputedColor=e=>new import_tinycolor.TinyColor(e).setAlpha(.15).toHex8String(),Sortable=e=>{var t,o;const r=e,{component:i,overStyle:n,style:a,children:l,openMode:c}=r,u=Y(r,["component","overStyle","style","children","openMode"]),{token:m}=useToken$1(),{draggable:d,droppable:p}=(0,import_react2.useContext)(SortableContext),{isOver:h,setNodeRef:g}=p,_=x({},a),f=(0,import_react.useFieldSchema)(),v=(f==null?void 0:f["x-component"])==="Action.Link"||i==="a";return h&&((t=d==null?void 0:d.active)==null?void 0:t.id)!==((o=p==null?void 0:p.over)==null?void 0:o.id)&&(_[v?"color":"background"]=getComputedColor(m.colorSettings),Object.assign(_,n)),import_react2.default.createElement(i||"div",P(x({role:"none"},u),{className:(0,import_css.cx)("nb-sortable-designer",e.className),ref:g,style:_}),l)},useSortableItemProps=e=>{const t=useSortableItemId(e),o=(0,import_react.useFieldSchema)();return e.schema?P(x({},e),{id:t}):P(x({},e),{id:t,schema:o})},useSortableItemId=e=>{var t;const o=(0,import_react.useField)();return e.id?e.id:(t=o.address)==null?void 0:t.toString()},InternalSortableItem=(0,import_react.observer)(e=>{const t=useSortableItemProps(e),{schema:o,id:r,eid:i,removeParentsIfNoChildren:n}=t,a=Y(t,["schema","id","eid","removeParentsIfNoChildren"]),l=(0,import_react2.useMemo)(()=>({insertAdjacent:"afterEnd",schema:o,removeParentsIfNoChildren:n??!0}),[o,n]);return(0,import_jsx_runtime.jsx)(SortableProvider,{id:r,data:l,children:(0,import_jsx_runtime.jsx)(Sortable,P(x({id:i},a),{children:e.children}))})},{displayName:"InternalSortableItem"}),SortableItem=import_react2.default.memo(e=>{const t=e,{component:o}=t,r=Y(t,["component"]),{designable:i}=useDesignable();return i?(0,import_jsx_runtime.jsx)(InternalSortableItem,x({},e)):import_react2.default.createElement(o||"div",import_lodash.default.omit(r,["children","schema","overStyle","openMode","id","eid","removeParentsIfNoChildren"]),e.children)});SortableItem.displayName="SortableItem";const DragHandler=e=>{const{draggable:t}=(0,import_react2.useContext)(SortableContext)||{};if(!t)return null;const{attributes:o,listeners:r,setNodeRef:i}=t;return(0,import_jsx_runtime.jsx)("div",{style:{display:"inline-block",width:14,height:14,lineHeight:"14px",textAlign:"left"},children:(0,import_jsx_runtime.jsx)("div",P(x(x({ref:i,style:{position:"relative",zIndex:1,lineHeight:0,fontSize:0,display:"inline-block"}},r),o),{role:"none",children:(0,import_jsx_runtime.jsx)("span",{style:{cursor:"move",fontSize:14},children:e.children})}))})},ShowFormData=(0,import_react.observer)(({children:e})=>{const t=(0,import_react.useForm)();return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("pre",{style:{marginBottom:20},"data-testid":"form-data",children:JSON.stringify(t.values,null,2)}),e]})}),options=[{value:"exact",label:'{{t("Exact day")}}'},{value:"past",label:'{{t("Past")}}'},{value:"next",label:'{{t("Next")}}'},{value:"today",label:'{{t("Today")}}'},{value:"yesterday",label:'{{t("Yesterday")}}'},{value:"tomorrow",label:'{{t("Tomorrow")}}'},{value:"thisWeek",label:'{{t("This Week")}}'},{value:"lastWeek",label:'{{t("Last Week")}}'},{value:"nextWeek",label:'{{t("Next Week")}}'},{value:"thisMonth",label:'{{t("This Month")}}'},{value:"lastMonth",label:'{{t("Last Month")}}'},{value:"nextMonth",label:'{{t("Next Month")}}'},{value:"thisQuarter",label:'{{t("This Quarter")}}'},{value:"lastQuarter",label:'{{t("Last Quarter")}}'},{value:"nextQuarter",label:'{{t("Next Quarter")}}'},{value:"thisYear",label:'{{t("This Year")}}'},{value:"lastYear",label:'{{t("Last Year")}}'},{value:"nextYear",label:'{{t("Next Year")}}'}],SmartDatePicker=e=>{const t=e,{isRange:o,defaultValue:r}=t,i=Y(t,["isRange","defaultValue"]);return o?(0,import_jsx_runtime.jsx)(DatePicker.RangePicker,x({},i)):(0,import_jsx_runtime.jsx)(DatePicker.FilterWithPicker,x({},i))},DateFilterDynamicComponent=e=>{const{value:t,onChange:o}=e,r=useCompile(),{t:i}=(0,import_react_i18next.useTranslation)(),{token:n}=import_antd.theme.useToken(),[a,l]=(0,import_react2.useState)(!1),c=m=>{if(l(!1),m==="exact")return o(void 0);const d={type:m};["past","next"].includes(m)&&(d.number=1,d.unit="day"),o(d)},u=()=>{const m=options.slice(0,3),d=options.slice(3),p=import_css.css`
|
|
636
636
|
padding: 3px 10px;
|
|
637
637
|
cursor: pointer;
|
|
638
638
|
white-space: nowrap;
|
|
@@ -641,7 +641,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
641
641
|
&:hover {
|
|
642
642
|
background-color: ${n.colorFillSecondary};
|
|
643
643
|
}
|
|
644
|
-
`;return(0,import_jsx_runtime.jsxs)("div",{style:{maxHeight:300,overflowY:"auto"},children:[m.map(h=>(0,import_jsx_runtime.jsx)("div",{role:"option",onClick:()=>c(h.value),className:p,children:r(h.label)},h.value)),(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{margin:"4px 0"}}),d.map(h=>(0,import_jsx_runtime.jsx)("div",{role:"option",className:p,onClick:()=>c(h.value),title:r(h.label),children:r(h.label)},h.value))]})};return(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{style:P(x({},e.style),{width:"100%"}),children:[(0,import_jsx_runtime.jsx)(import_antd.Select,P(x({options:r(options),open:a,onDropdownVisibleChange:l},e),{allowClear:!1,style:{width:"100%",minWidth:100,maxWidth:["past","next","exact",void 0].includes(t==null?void 0:t.type)?100:null},value:(t==null?void 0:t.type)||"exact",onChange:c,dropdownRender:u})),["past","next"].includes(t==null?void 0:t.type)&&[(0,import_jsx_runtime.jsx)(import_antd.InputNumber,{value:t==null?void 0:t.number,onChange:m=>{const d=P(x({},t),{number:m});o(d)}},"number"),(0,import_jsx_runtime.jsx)(import_antd.Select,{value:t==null?void 0:t.unit,style:{minWidth:130,maxWidth:140},onChange:m=>{const d=P(x({},t),{unit:m});o(d)},options:[{value:"day",label:i("Day")},{value:"week",label:i("Calendar week")},{value:"month",label:i("Calendar Month")},{value:"year",label:i("Calendar Year")}],popupMatchSelectWidth:!0},"unit")],((t==null?void 0:t.type)==="exact"||!(t!=null&&t.type))&&(0,import_jsx_runtime.jsx)(SmartDatePicker,x({},e))]})},common=Object.freeze(Object.defineProperty({__proto__:null,DateFilterDynamicComponent,DndContext,DragHandler,DraggableContext,ShowFormData,Sortable,SortableContext,SortableItem,SortableProvider,getRenderContent},Symbol.toStringTag,{value:"Module"})),useStyles$9=genStyleHook("nb-block-item",e=>{const{componentCls:t}=e;return{[t]:{position:"relative","&:hover":{"> .general-schema-designer":{display:"block"}},"&.nb-form-item:hover":{"> .general-schema-designer":{background:"var(--colorBgSettingsHover) !important",border:"0 !important",top:"-5px !important",bottom:"-5px !important",left:"-5px !important",right:"-5px !important"}},"> .general-schema-designer":{position:"absolute",zIndex:999,top:0,bottom:0,left:0,right:0,display:"none",border:"2px solid var(--colorBorderSettingsHover)",pointerEvents:"none","> .general-schema-designer-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"}}},".ant-card":{borderRadius:e.borderRadiusBlock}}}}),useGetAriaLabelOfBlockItem=e=>{var t,o;const r=(0,import_react.useFieldSchema)(),i=useCompile(),n=r["x-component"],a=typeof n=="string"?n:n==null?void 0:n.displayName,l=i(r["x-collection-field"]);let{name:c}=useBlockContext()||{},{name:u,getField:m}=useCollection_deprecated();c=e||(c!=="action"?c:"");const d=i(r.title)||i((o=(t=m(r.name))==null?void 0:t.uiSchema)==null?void 0:o.title);return{getAriaLabel:(0,import_react2.useCallback)(p=>(p=p?`-${p}`:"",["block-item",a,u,c,l,d,p].filter(Boolean).join("-")),[a,u,c,l,d])}},BlockItem=withDynamicSchemaProps(e=>{const{className:t,children:o,style:r}=useProps(e),{componentCls:i,hashId:n}=useStyles$9(),a=(0,import_react.useFieldSchema)(),{render:l}=useSchemaToolbarRender(a),{getAriaLabel:c}=useGetAriaLabelOfBlockItem(e.name),u=(0,import_react2.useMemo)(()=>c(),[c]),m=useCollection(),d=a["x-decorator"]==="FormItem"&&a["x-block-linkage-rules"],p=a["x-component"]==="Iframe"&&a["x-block-linkage-rules"],h=(0,import_jsx_runtime.jsxs)(SortableItem,{role:"button","aria-label":u,className:(0,import_classnames.default)("nb-block-item",t,i,n),style:r,children:[l(),(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback,onError:console.log,children:o})]});return m&&!d&&!p?h:(0,import_jsx_runtime.jsx)(BlockLinkageRuleProvider,{children:h})},{displayName:"BlockItem"}),TestDesigner=()=>{const{remove:e}=useDesignable();return(0,import_jsx_runtime.jsxs)("div",{children:[(0,import_jsx_runtime.jsx)("a",{onClick:()=>{e()},children:"删除"}),(0,import_jsx_runtime.jsx)(DragHandler,{})]})},FilterFormDesigner=()=>(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FilterFormItemSettings"}),useOperatorList=()=>{const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection_deprecated(),{getCollectionFields:o,getInterface:r}=useCollectionManager_deprecated();return(0,import_react2.useMemo)(()=>{var i,n,a,l,c;const u=(i=e["x-designer-props"])==null?void 0:i.interface,m=o(t);if(u)return((a=(n=r(u))==null?void 0:n.filterable)==null?void 0:a.operators)||[];const d=m.find(p=>p.name===e.name);return(((c=(l=r(d==null?void 0:d.interface))==null?void 0:l.filterable)==null?void 0:c.operators)||[]).filter(p=>typeof p.visible!="function"||p.visible(d))},[e.name])},EditTitle=()=>{var e;const{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable(),l=useCompile(),c=o(i.name)||t(i["x-collection-field"]);return c?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit field title"),schema:{type:"object",title:n("Edit field title"),properties:{title:{title:n("Field title"),default:r==null?void 0:r.title,description:`${n("Original field title: ")}${(e=c==null?void 0:c.uiSchema)==null?void 0:e.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:u})=>{var m;const d=u.trim()===""?(m=c==null?void 0:c.uiSchema)==null?void 0:m.title:u;r.title=l(d),i.title=u,a.emit("patch",{schema:{"x-uid":i["x-uid"],title:i.title}}),a.refresh()}},"edit-field-title"):null},EditDescription=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return e.readPretty?null:(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:o("Edit description"),schema:{type:"object",title:o("Edit description"),properties:{description:{default:e==null?void 0:e.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit:({description:i})=>{e.description=i,t.description=i,r.emit("patch",{schema:{"x-uid":t["x-uid"],description:t.description}}),r.refresh()}},"edit-description")},EditTooltip=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return t.readPretty?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:r("Edit tooltip"),schema:{type:"object",title:r("Edit description"),properties:{tooltip:{default:(e=o==null?void 0:o["x-decorator-props"])==null?void 0:e.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit:({tooltip:n})=>{t.decoratorProps.tooltip=n,o["x-decorator-props"]=o["x-decorator-props"]||{},o["x-decorator-props"].tooltip=n,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}}),i.refresh()}},"edit-tooltip"):null},EditRequired=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r,refresh:i}=useDesignable();return!e.readPretty&&t["x-component"]!=="FormField"?(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:o("Required"),checked:t.required,onChange:n=>{const a={"x-uid":t["x-uid"]};e.required=n,t.required=n,a.required=n,r.emit("patch",{schema:a}),i()}},"required"):null},EditValidationRules=()=>{var e;const{getInterface:t,getCollectionJoinField:o}=useCollectionManager_deprecated(),{getField:r}=useCollection_deprecated(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),{t:l}=(0,import_react_i18next.useTranslation)(),{dn:c,refresh:u}=useDesignable(),m=r(a.name)||o(a["x-collection-field"]),d=t(m==null?void 0:m.interface),p=(e=d==null?void 0:d.validateSchema)==null?void 0:e.call(d,a),h=g=>g!=null&&!Number.isNaN(g);return i&&!(i!=null&&i.readPretty)&&p?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:l("Set validation rules"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:l("Set validation rules"),properties:{rules:{type:"array",default:a==null?void 0:a["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({},p),{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:g=>{var _;const f=[];for(const S of g.rules)f.push(import_lodash.default.pickBy(S,h));const v={"x-uid":a["x-uid"]};if(["percent"].includes(m==null?void 0:m.interface))for(const S of f)(S.maxValue||S.minValue)&&(S.percentMode=!0),S.percentFormat&&(S.percentFormats=!0);const C=import_lodash.default.concat([],((_=m==null?void 0:m.uiSchema)==null?void 0:_["x-validator"])||[],f);n.validator=C,n.required=a.required,a["x-validator"]=f,v["x-validator"]=f,c.emit("patch",{schema:v}),u()}}):null},EditDefaultValue=()=>{var e;const{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),{form:r}=useFormBlockContext(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l,refresh:c}=useDesignable(),u=o(n.name)||t(n["x-collection-field"]);return r&&!(r!=null&&r.readPretty)&&(e=u==null?void 0:u.uiSchema)!=null&&e.type?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:a("Set default value"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:a("Set default value"),properties:{default:P(x({},u==null?void 0:u.uiSchema),{name:"default",title:a("Default value"),"x-decorator":"FormItem",default:n.default||(u==null?void 0:u.defaultValue)})}},onSubmit:m=>{const d={"x-uid":n["x-uid"]};i.value!==m.default&&(i.value=m.default),n.default=m.default,d.default=m.default,l.emit("patch",{schema:d}),c()}}):null},EditComponent=()=>{var e;const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(),{getField:r}=useCollection_deprecated(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=r(n.name)||t(n["x-collection-field"]),u=useFieldModeOptions(),m=["belongsTo","hasOne","hasMany","belongsToMany"].includes(c==null?void 0:c.type),d=o(c==null?void 0:c.target),p=isFileCollection(d);return m&&u?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:a("Field component"),options:u,value:((e=i==null?void 0:i.componentProps)==null?void 0:e.mode)||(p?"FileManager":"Select"),onChange:h=>{const g={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=h,g["x-component-props"]=n["x-component-props"],i.componentProps=i.componentProps||{},i.componentProps.mode=h,l.emit("patch",{schema:g}),l.refresh()}},"field-mode"):null},EditPattern=()=>{const{getCollectionJoinField:e}=useCollectionManager_deprecated(),{getField:t}=useCollection_deprecated(),{form:o}=useFormBlockContext(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable(),l=t(i.name)||e(i["x-collection-field"]);let c="editable";return i["x-disabled"]===!0&&(c="readonly"),i["x-read-pretty"]===!0&&(c="read-pretty"),o&&!(o!=null&&o.readPretty)&&(l==null?void 0:l.interface)!=="o2m"&&!isPatternDisabled(i)?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:n("Pattern"),options:[{label:n("Editable"),value:"editable"},{label:n("Readonly"),value:"readonly"},{label:n("Easy-reading"),value:"read-pretty"}],value:c,onChange:u=>{const m={"x-uid":i["x-uid"]};switch(u){case"readonly":{i["x-read-pretty"]=!1,i["x-disabled"]=!0,m["x-read-pretty"]=!1,m["x-disabled"]=!0,r.readPretty=!1,r.disabled=!0;break}case"read-pretty":{i["x-read-pretty"]=!0,i["x-disabled"]=!1,m["x-read-pretty"]=!0,m["x-disabled"]=!1,r.readPretty=!0;break}default:{i["x-read-pretty"]=!1,i["x-disabled"]=!1,m["x-read-pretty"]=!1,m["x-disabled"]=!1,r.readPretty=!1,r.disabled=!1;break}}a.emit("patch",{schema:m}),a.refresh()}},"pattern"):null},useEnsureOperatorsValid=()=>{useCollectOperator();const e=(0,import_react.useFieldSchema)(),t=useOperatorList(),{getOperators:o,collectOperator:r}=useOperators(),i=o();i&&t.length&&!i[e.name]&&r(e.name,t[0].value)},EditOperator=()=>{const e=useCompile(),t=(0,import_react.useFieldSchema)(),o=(0,import_react.useField)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable(),n=useOperatorList(),{getOperator:a,collectOperator:l}=useOperators();return n.length&&!a(t.name)&&l(t.name,n[0].value),n.length?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:r("Operator"),value:a(t.name),options:e(n),onChange:c=>{var u,m,d,p,h,g;l(t.name,c),import_lodash.default.set(t,"x-filter-operator",c);const _=n.find(v=>v.value===c);let f=x({},t["x-component-props"]);o.value=void 0,(u=_==null?void 0:_.schema)!=null&&u["x-component"]&&!(_!=null&&_.onlyFilterAction)?(import_lodash.default.set(t,"x-component-props.component",(m=_.schema)==null?void 0:m["x-component"]),import_lodash.default.set(o,"componentProps.component",(d=_.schema)==null?void 0:d["x-component"]),f=x(x(P(x({},t["x-component-props"]),{component:_.schema["x-component"]}),o.componentProps),(p=_.schema)==null?void 0:p["x-component-props"])):(h=t["x-component-props"])!=null&&h.component&&(import_lodash.default.set(t,"x-component-props.component",null),import_lodash.default.set(o,"componentProps.component",null),f=x(P(x({},t["x-component-props"]),{component:null}),(g=_.schema)==null?void 0:g["x-component-props"])),o.componentProps=f,t["x-component-props"]=f,t.default=null,o.value=null,o.initialValue=null,i.emit("patch",{schema:{"x-uid":t["x-uid"],"x-component-props":f,"x-filter-operator":c,default:null}}),i.refresh()}},"operator"):null},EditTitleField=()=>{var e,t,o;const{getCollectionFields:r,getCollectionJoinField:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),{t:c}=(0,import_react_i18next.useTranslation)(),{dn:u}=useDesignable(),m=useCompile(),d=n(l.name)||i(l["x-collection-field"]),p=(d!=null&&d.target?r(d==null?void 0:d.target):(e=r(d==null?void 0:d.targetCollection))!=null?e:[]).filter(h=>!(h!=null&&h.target)&&h.type!=="boolean").map(h=>{var g;return{value:h==null?void 0:h.name,label:m((g=h==null?void 0:h.uiSchema)==null?void 0:g.title)||(h==null?void 0:h.name)}});return p.length>0&&l["x-component"]==="CollectionField"?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:c("Title field"),options:p,value:(o=(t=a==null?void 0:a.componentProps)==null?void 0:t.fieldNames)==null?void 0:o.label,onChange:h=>{var g,_;const f={"x-uid":l["x-uid"]},v=P(x(x({},(_=(g=d==null?void 0:d.uiSchema)==null?void 0:g["x-component-props"])==null?void 0:_.fieldNames),a.componentProps.fieldNames),{label:h});l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].fieldNames=v,f["x-component-props"]=l["x-component-props"],a.componentProps.fieldNames=l["x-component-props"].fieldNames,u.emit("patch",{schema:f}),u.refresh()}},"title-field"):null},isDisplayField=e=>e.includes("."),useLazyLoadDisplayAssociationFieldsOfForm=()=>{var e;const{name:t}=useCollection_deprecated(),{getCollectionJoinField:o,getCollection:r}=useCollectionManager_deprecated(),i=(0,import_react.useForm)(),n=(0,import_react.useFieldSchema)(),a=useVariables$1(),l=(0,import_react.useField)(),{formValue:c}=useSubFormValue(),{isInSubForm:u,isInSubTable:m}=useFlag()||{},{getAssociationAppends:d}=useAssociationNames(),p=n.name.toString(),h=(0,import_react2.useRef)(null),g=(0,import_react2.useRef)(null);h.current==null&&isDisplayField(p)&&(h.current=o(`${t}.${p}`)),g.current==null&&isDisplayField(p)&&(g.current=o(`${t}.${p.split(".")[0]}`));const _=(0,import_react2.useMemo)(()=>!isDisplayField(p)||!a||t==="fields"||!h.current,[p,a,t,h.current]),f=_?{}:(0,import_reactive.untracked)(()=>import_lodash.default.cloneDeep(u||m?c:i.values)),v=isDisplayField(p)&&g.current?import_lodash.default.get(f,`${p.split(".")[0]}.${((e=g.current)==null?void 0:e.targetKey)||"id"}`):void 0;(0,import_react2.useEffect)(()=>{var C;if(_||import_lodash.default.isEmpty(f))return;const S={name:"$nForm",ctx:f,collectionName:t},b=`{{ $nForm.${p} }}`;if(v==null)return;const{appends:y}=d(),F=r((C=h.current)==null?void 0:C.collectionName);a.parseVariable(b,S,{appends:y}).then(({value:j})=>{(0,import_client.nextTick)(()=>{const A=transformVariableValue(j,{targetCollectionField:h.current});A==null?l.value=null:(l.value=A,l.componentProps=P(x({},l.componentProps),{readOnlySubmit:!0,filterTargetKey:(F==null?void 0:F.filterTargetKey)||"id"}))})}).catch(j=>{console.error(j)})},[v,_])},useContextVariable=()=>{var e,t;let o;const{isPopupVisibleControlledByURL:r}=usePopupSettings(),{params:i}=useCurrentPopupContext(),n=useCollection(),a=useDataBlockRequestData(),l=useTableBlockContextBasicValue()||{};r()?o=(e=getStoredPopupContext(i==null?void 0:i.popupuid))==null?void 0:e.tableBlockContext:o=P(x({},l),{collection:n,blockData:a});const{field:c,blockData:u,rowKey:m,collection:d}=o||{},p=(0,import_react2.useMemo)(()=>{var h,g;return(g=(h=u==null?void 0:u.data)==null?void 0:h.filter)==null?void 0:g.call(h,_=>{var f,v;return(v=((f=c==null?void 0:c.data)==null?void 0:f.selectedRowKeys)||[])==null?void 0:v.includes(_[m])})},[(t=c==null?void 0:c.data)==null?void 0:t.selectedRowKeys,m,u]);return(0,import_react2.useMemo)(()=>({name:"$context",ctx:p||[],collectionName:d}),[d,p])},useLocalVariables=e=>{var t;const{parentObjectCtx:o,shouldDisplayParentObject:r,collectionName:i}=useParentObjectContext(),{currentObjectCtx:n,shouldDisplayCurrentObject:a}=useCurrentObjectContext(),{currentRecordCtx:l,collectionName:c}=useCurrentRecordContext(),{currentParentRecordCtx:u,collectionName:m,dataSource:d}=useCurrentParentRecordContext(),{popupRecordCtx:p,collectionName:h,dataSource:g,defaultValue:_}=usePopupVariableContext(),{parentPopupRecordCtx:f,collectionName:v,dataSource:C,defaultValue:S}=useParentPopupVariableContext(),{urlSearchParamsCtx:b,shouldDisplay:y,defaultValue:F}=useURLSearchParamsVariable(),{datetimeCtx:j}=useDatetimeVariableContext(),{currentFormCtx:A}=useCurrentFormContext({form:e==null?void 0:e.currentForm}),{name:D}=useCollection_deprecated(),N=useContextVariable();let{name:w}=useBlockCollection();e!=null&&e.collectionName&&(w=e.collectionName);const B=useApp(),R=((t=B.getVariables)==null?void 0:t.call(B).map(T=>({name:T.name,ctx:T.useCtx()})))||[];return(0,import_react2.useMemo)(()=>[{name:"currentRecord",ctx:l,collectionName:c},{name:w,ctx:A||l,collectionName:w},{name:"$form",ctx:A,collectionName:w},{name:"$nRecord",ctx:l,collectionName:c,dataSource:d},{name:"$nParentRecord",ctx:u,collectionName:m,dataSource:d},{name:"$nPopupRecord",ctx:p,collectionName:h,dataSource:g,defaultValue:_},{name:"$nParentPopupRecord",ctx:f,collectionName:v,dataSource:C,defaultValue:S},{name:"$nForm",ctx:A,collectionName:w},{name:"$nDate",ctx:j},{name:"$date",ctx:j},N,a&&{name:"$iteration",ctx:n,collectionName:D},r&&{name:"$nParentIteration",ctx:o,collectionName:i},y&&{name:"$nURLSearchParams",ctx:b,defaultValue:F},...R].filter(Boolean),[l,c,w,A,u,m,d,p,f,h,g,j,a,n,D,_,S,r,o,i,N,b,...R.map(T=>T.ctx)])},useLocalVariables$1=useLocalVariables,useVariables=()=>(0,import_react2.useContext)(VariablesContext),useVariables$1=useVariables,isSubFormOrSubTableField=e=>{for(;e;){if(isSubMode(e))return!0;if(e["x-component"]==="FormV2")return!1;e=e.parent}return!1},useLinkageRulesForSubTableOrSubForm=()=>{const e=(0,import_react.useFieldSchema)(),t=(0,import_react.useField)(),{fieldSchema:o,formValue:r}=useSubFormValue(),i=useLocalVariables$1(),n=useVariables$1(),a=getLinkageRules$1(o),l=useApp();(0,import_react2.useEffect)(()=>{if(!isSubFormOrSubTableField(e))return;if(!t.onUnmount.__rested){const u=t.onUnmount;t.onUnmount=()=>{var m;(m=t.__disposes)==null||m.forEach(d=>{d()}),u()},t.onUnmount.__rested=!0}if(!a)return;t.__disposes&&t.__disposes.forEach(u=>{u()});const c=t.__disposes=[];forEachLinkageRule(a,(u,m)=>{var d;(d=u.targetFields)!=null&&d.includes(e.name)&&c.push(bindLinkageRulesToFiled({field:t,linkageRules:a,formValues:r,localVariables:i,action:u,rule:m,variables:n,variableNameOfLeftCondition:"$iteration"},l.jsonLogic))}),t.__linkageRules=a},[t,e==null?void 0:e.name,r,JSON.stringify(a),i,n])};function getLinkageRules$1(e){var t;if(!e)return;const o=e["x-linkage-rules"]||((t=e==null?void 0:e.parent)==null?void 0:t["x-linkage-rules"])||[];return o==null?void 0:o.filter(r=>!r.disabled)}const useParseDefaultValue=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=useVariables$1(),r=useLocalVariables$1(),i=useCollectionRecord(),{isInAssignFieldValues:n,isInSetDefaultValueDialog:a,isInFormDataTemplate:l,isInSubTable:c,isInSubForm:u}=useFlag()||{},m=useCollection(),{isSpecialCase:d,setDefaultValue:p}=useSpecialCase(),h=useRecordIndex(),{type:g,form:_}=useFormBlockContext(),{getOperator:f}=useOperators(),v=useDataSourceManager(),C=(0,import_react2.useCallback)(S=>{let b=o==null?void 0:o.getVariable(S);return b||(b=r.find(y=>y.name===S)),b},[r,o]);(0,import_react2.useEffect)(()=>{var S,b;if(g==="update"&&t.default&&e.form===_&&((b=e.setValue)==null||b.call(e,(S=i==null?void 0:i.data)==null?void 0:S[t.name])),t.default==null||a||l||isSubMode(t)||!(i!=null&&i.isNew)&&!n)return;const y=(...j)=>q(void 0,[...j],function*({forceUpdate:A=!1}={}){if(o&&e&&(isVariable$1(t.default)&&e.value==null||e.value===t.default||A)){e.loading=!0;const D=!t.name.toString().includes(".")&&(m==null?void 0:m.getField(t.name)),{value:N,collectionName:w,dataSource:B="main"}=yield o.parseVariable(t.default,r,{fieldOperator:f(t.name)});if(D!=null&&D.target&&w&&D.target!==w&&!isInherit({collectionName:D.target,targetCollectionName:w,dm:v,dataSource:B})){e.loading=!1;return}const R=transformVariableValue(N,{targetCollectionField:D});R==null||R===""?e.mounted&&(e.setInitialValue(void 0),e.setValue(void 0)):d()?h===0&&p(R):(e.setInitialValue(R),e.setValue(R)),e.loading=!1}else!/\{\{.+\}\}/g.test(t.default)&&e.setInitialValue&&e.setInitialValue(t.default)}),F=import_lodash.default.debounce(y,DEBOUNCE_WAIT);if(isVariable$1(t.default)){const j=getVariableName(t.default),A=C(j);return A?(y({forceUpdate:!0}),(0,import_reactive.reaction)(()=>{const D={[j]:(A==null?void 0:A.ctx)||{}},N=getPath(t.default),w=(0,import_client.getValuesByPath)(D,N);return w===void 0?Math.random():w},()=>F({forceUpdate:!0}),{equals:import_lodash.default.isEqual})):console.error(`useParseDefaultValue: can not find variable ${j}`)}else e.value==null&&(c||u)&&e.setValue(t.default)},[t.default,r,g,f,v,m])},isInherit=({collectionName:e,targetCollectionName:t,dm:o,dataSource:r})=>{var i,n,a;const l=(i=o==null?void 0:o.getDataSource(r))==null?void 0:i.collectionManager;return(a=(n=l==null?void 0:l.getCollection(e))==null?void 0:n.getAllCollectionsInheritChain())==null?void 0:a.includes(t)};import_antd_v5.FormItem.displayName="FormilyFormItem";const formItemWrapCss=import_css.css`
|
|
644
|
+
`;return(0,import_jsx_runtime.jsxs)("div",{style:{maxHeight:300,overflowY:"auto"},children:[m.map(h=>(0,import_jsx_runtime.jsx)("div",{role:"option",onClick:()=>c(h.value),className:p,children:r(h.label)},h.value)),(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{margin:"4px 0"}}),d.map(h=>(0,import_jsx_runtime.jsx)("div",{role:"option",className:p,onClick:()=>c(h.value),title:r(h.label),children:r(h.label)},h.value))]})};return(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{style:P(x({},e.style),{width:"100%"}),children:[(0,import_jsx_runtime.jsx)(import_antd.Select,P(x({options:r(options),open:a,onDropdownVisibleChange:l},e),{allowClear:!1,style:{width:"100%",minWidth:100,maxWidth:["past","next","exact",void 0].includes(t==null?void 0:t.type)?100:null},value:(t==null?void 0:t.type)||"exact",onChange:c,dropdownRender:u})),["past","next"].includes(t==null?void 0:t.type)&&[(0,import_jsx_runtime.jsx)(import_antd.InputNumber,{value:t==null?void 0:t.number,onChange:m=>{const d=P(x({},t),{number:m});o(d)}},"number"),(0,import_jsx_runtime.jsx)(import_antd.Select,{value:t==null?void 0:t.unit,style:{minWidth:130,maxWidth:140},onChange:m=>{const d=P(x({},t),{unit:m});o(d)},options:[{value:"day",label:i("Day")},{value:"week",label:i("Calendar week")},{value:"month",label:i("Calendar Month")},{value:"year",label:i("Calendar Year")}],popupMatchSelectWidth:!0},"unit")],((t==null?void 0:t.type)==="exact"||!(t!=null&&t.type))&&(0,import_jsx_runtime.jsx)(SmartDatePicker,x({},e))]})},common=Object.freeze(Object.defineProperty({__proto__:null,DateFilterDynamicComponent,DndContext,DragHandler,DraggableContext,ShowFormData,Sortable,SortableContext,SortableItem,SortableProvider,getRenderContent},Symbol.toStringTag,{value:"Module"})),useStyles$9=genStyleHook("nb-block-item",e=>{const{componentCls:t}=e;return{[t]:{position:"relative","&:hover":{"> .general-schema-designer":{display:"block"}},"&.nb-form-item:hover":{"> .general-schema-designer":{background:"var(--colorBgSettingsHover) !important",border:"0 !important",top:"-5px !important",bottom:"-5px !important",left:"-5px !important",right:"-5px !important"}},"> .general-schema-designer":{position:"absolute",zIndex:999,top:0,bottom:0,left:0,right:0,display:"none",border:"2px solid var(--colorBorderSettingsHover)",pointerEvents:"none","> .general-schema-designer-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"}}},".ant-card":{borderRadius:e.borderRadiusBlock}}}}),useGetAriaLabelOfBlockItem=e=>{var t,o;const r=(0,import_react.useFieldSchema)(),i=useCompile(),n=r["x-component"],a=typeof n=="string"?n:n==null?void 0:n.displayName,l=i(r["x-collection-field"]);let{name:c}=useBlockContext()||{},{name:u,getField:m}=useCollection_deprecated();c=e||(c!=="action"?c:"");const d=i(r.title)||i((o=(t=m(r.name))==null?void 0:t.uiSchema)==null?void 0:o.title);return{getAriaLabel:(0,import_react2.useCallback)(p=>(p=p?`-${p}`:"",["block-item",a,u,c,l,d,p].filter(Boolean).join("-")),[a,u,c,l,d])}},BlockItem=withDynamicSchemaProps(e=>{const{className:t,children:o,style:r}=useProps(e),{componentCls:i,hashId:n}=useStyles$9(),a=(0,import_react.useFieldSchema)(),{render:l}=useSchemaToolbarRender(a),{getAriaLabel:c}=useGetAriaLabelOfBlockItem(e.name),u=(0,import_react2.useMemo)(()=>c(),[c]),m=useCollection(),d=a["x-decorator"]==="FormItem"&&a["x-block-linkage-rules"],p=a["x-component"]==="Iframe"&&a["x-block-linkage-rules"],h=(0,import_jsx_runtime.jsxs)(SortableItem,{role:"button","aria-label":u,className:(0,import_classnames.default)("nb-block-item",t,i,n),style:r,children:[l(),(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback,onError:console.log,children:o})]});return m&&!d&&!p?h:(0,import_jsx_runtime.jsx)(BlockLinkageRuleProvider,{children:h})},{displayName:"BlockItem"}),TestDesigner=()=>{const{remove:e}=useDesignable();return(0,import_jsx_runtime.jsxs)("div",{children:[(0,import_jsx_runtime.jsx)("a",{onClick:()=>{e()},children:"删除"}),(0,import_jsx_runtime.jsx)(DragHandler,{})]})},FilterFormDesigner=()=>(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FilterFormItemSettings"}),useOperatorList=()=>{const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection_deprecated(),{getCollectionFields:o,getInterface:r}=useCollectionManager_deprecated();return(0,import_react2.useMemo)(()=>{var i,n,a,l,c;const u=(i=e["x-designer-props"])==null?void 0:i.interface,m=o(t);if(u)return((a=(n=r(u))==null?void 0:n.filterable)==null?void 0:a.operators)||[];const d=m.find(p=>p.name===e.name);return(((c=(l=r(d==null?void 0:d.interface))==null?void 0:l.filterable)==null?void 0:c.operators)||[]).filter(p=>typeof p.visible!="function"||p.visible(d))},[e.name])},EditTitle=()=>{var e;const{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable(),l=useCompile(),c=o(i.name)||t(i["x-collection-field"]);return c?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit field title"),schema:{type:"object",title:n("Edit field title"),properties:{title:{title:n("Field title"),default:r==null?void 0:r.title,description:`${n("Original field title: ")}${(e=c==null?void 0:c.uiSchema)==null?void 0:e.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:u})=>{var m;const d=u.trim()===""?(m=c==null?void 0:c.uiSchema)==null?void 0:m.title:u;r.title=l(d),i.title=u,a.emit("patch",{schema:{"x-uid":i["x-uid"],title:i.title}}),a.refresh()}},"edit-field-title"):null},EditDescription=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return e.readPretty?null:(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:o("Edit description"),schema:{type:"object",title:o("Edit description"),properties:{description:{default:e==null?void 0:e.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit:({description:i})=>{e.description=i,t.description=i,r.emit("patch",{schema:{"x-uid":t["x-uid"],description:t.description}}),r.refresh()}},"edit-description")},EditTooltip=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return t.readPretty?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:r("Edit tooltip"),schema:{type:"object",title:r("Edit description"),properties:{tooltip:{default:(e=o==null?void 0:o["x-decorator-props"])==null?void 0:e.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit:({tooltip:n})=>{t.decoratorProps.tooltip=n,o["x-decorator-props"]=o["x-decorator-props"]||{},o["x-decorator-props"].tooltip=n,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}}),i.refresh()}},"edit-tooltip"):null},EditRequired=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r,refresh:i}=useDesignable();return!e.readPretty&&t["x-component"]!=="FormField"?(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:o("Required"),checked:t.required,onChange:n=>{const a={"x-uid":t["x-uid"]};e.required=n,t.required=n,a.required=n,r.emit("patch",{schema:a}),i()}},"required"):null},EditValidationRules=()=>{var e;const{getInterface:t,getCollectionJoinField:o}=useCollectionManager_deprecated(),{getField:r}=useCollection_deprecated(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),{t:l}=(0,import_react_i18next.useTranslation)(),{dn:c,refresh:u}=useDesignable(),m=r(a.name)||o(a["x-collection-field"]),d=t(m==null?void 0:m.interface),p=(e=d==null?void 0:d.validateSchema)==null?void 0:e.call(d,a),h=g=>g!=null&&!Number.isNaN(g);return i&&!(i!=null&&i.readPretty)&&p?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:l("Set validation rules"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:l("Set validation rules"),properties:{rules:{type:"array",default:a==null?void 0:a["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({},p),{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:g=>{var _;const f=[];for(const S of g.rules)f.push(import_lodash.default.pickBy(S,h));const v={"x-uid":a["x-uid"]};if(["percent"].includes(m==null?void 0:m.interface))for(const S of f)(S.maxValue||S.minValue)&&(S.percentMode=!0),S.percentFormat&&(S.percentFormats=!0);const C=import_lodash.default.concat([],((_=m==null?void 0:m.uiSchema)==null?void 0:_["x-validator"])||[],f);n.validator=C,n.required=a.required,a["x-validator"]=f,v["x-validator"]=f,c.emit("patch",{schema:v}),u()}}):null},EditDefaultValue=()=>{var e;const{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),{form:r}=useFormBlockContext(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l,refresh:c}=useDesignable(),u=o(n.name)||t(n["x-collection-field"]);return r&&!(r!=null&&r.readPretty)&&(e=u==null?void 0:u.uiSchema)!=null&&e.type?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:a("Set default value"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:a("Set default value"),properties:{default:P(x({},u==null?void 0:u.uiSchema),{name:"default",title:a("Default value"),"x-decorator":"FormItem",default:n.default||(u==null?void 0:u.defaultValue)})}},onSubmit:m=>{const d={"x-uid":n["x-uid"]};i.value!==m.default&&(i.value=m.default),n.default=m.default,d.default=m.default,l.emit("patch",{schema:d}),c()}}):null},EditComponent=()=>{var e;const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(),{getField:r}=useCollection_deprecated(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=r(n.name)||t(n["x-collection-field"]),u=useFieldModeOptions(),m=["belongsTo","hasOne","hasMany","belongsToMany"].includes(c==null?void 0:c.type),d=o(c==null?void 0:c.target),p=isFileCollection(d);return m&&u?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:a("Field component"),options:u,value:((e=i==null?void 0:i.componentProps)==null?void 0:e.mode)||(p?"FileManager":"Select"),onChange:h=>{const g={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=h,g["x-component-props"]=n["x-component-props"],i.componentProps=i.componentProps||{},i.componentProps.mode=h,l.emit("patch",{schema:g}),l.refresh()}},"field-mode"):null},EditPattern=()=>{const{getCollectionJoinField:e}=useCollectionManager_deprecated(),{getField:t}=useCollection_deprecated(),{form:o}=useFormBlockContext(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable(),l=t(i.name)||e(i["x-collection-field"]);let c="editable";return i["x-disabled"]===!0&&(c="readonly"),i["x-read-pretty"]===!0&&(c="read-pretty"),o&&!(o!=null&&o.readPretty)&&(l==null?void 0:l.interface)!=="o2m"&&!isPatternDisabled(i)?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:n("Pattern"),options:[{label:n("Editable"),value:"editable"},{label:n("Readonly"),value:"readonly"},{label:n("Easy-reading"),value:"read-pretty"}],value:c,onChange:u=>{const m={"x-uid":i["x-uid"]};switch(u){case"readonly":{i["x-read-pretty"]=!1,i["x-disabled"]=!0,m["x-read-pretty"]=!1,m["x-disabled"]=!0,r.readPretty=!1,r.disabled=!0;break}case"read-pretty":{i["x-read-pretty"]=!0,i["x-disabled"]=!1,m["x-read-pretty"]=!0,m["x-disabled"]=!1,r.readPretty=!0;break}default:{i["x-read-pretty"]=!1,i["x-disabled"]=!1,m["x-read-pretty"]=!1,m["x-disabled"]=!1,r.readPretty=!1,r.disabled=!1;break}}a.emit("patch",{schema:m}),a.refresh()}},"pattern"):null},useEnsureOperatorsValid=()=>{useCollectOperator();const e=(0,import_react.useFieldSchema)(),t=useOperatorList(),{getOperators:o,collectOperator:r}=useOperators(),i=o();i&&t.length&&!i[e.name]&&r(e.name,t[0].value)},EditOperator=()=>{const e=useCompile(),t=(0,import_react.useFieldSchema)(),o=(0,import_react.useField)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable(),n=useOperatorList(),{getOperator:a,collectOperator:l}=useOperators();return n.length&&!a(t.name)&&l(t.name,n[0].value),n.length?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:r("Operator"),value:a(t.name),options:e(n),onChange:c=>{var u,m,d,p,h,g;l(t.name,c),import_lodash.default.set(t,"x-filter-operator",c);const _=n.find(v=>v.value===c);let f=x({},t["x-component-props"]);o.value=void 0,(u=_==null?void 0:_.schema)!=null&&u["x-component"]&&!(_!=null&&_.onlyFilterAction)?(import_lodash.default.set(t,"x-component-props.component",(m=_.schema)==null?void 0:m["x-component"]),import_lodash.default.set(o,"componentProps.component",(d=_.schema)==null?void 0:d["x-component"]),f=x(x(P(x({},t["x-component-props"]),{component:_.schema["x-component"]}),o.componentProps),(p=_.schema)==null?void 0:p["x-component-props"])):(h=t["x-component-props"])!=null&&h.component&&(import_lodash.default.set(t,"x-component-props.component",null),import_lodash.default.set(o,"componentProps.component",null),f=x(P(x({},t["x-component-props"]),{component:null}),(g=_.schema)==null?void 0:g["x-component-props"])),o.componentProps=f,t["x-component-props"]=f,t.default=null,o.value=null,o.initialValue=null,i.emit("patch",{schema:{"x-uid":t["x-uid"],"x-component-props":f,"x-filter-operator":c,default:null}}),i.refresh()}},"operator"):null},EditTitleField=()=>{var e,t,o;const{getCollectionFields:r,getCollectionJoinField:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),{t:c}=(0,import_react_i18next.useTranslation)(),{dn:u}=useDesignable(),m=useCompile(),d=n(l.name)||i(l["x-collection-field"]),p=(d!=null&&d.target?r(d==null?void 0:d.target):(e=r(d==null?void 0:d.targetCollection))!=null?e:[]).filter(h=>!(h!=null&&h.target)&&h.type!=="boolean").map(h=>{var g;return{value:h==null?void 0:h.name,label:m((g=h==null?void 0:h.uiSchema)==null?void 0:g.title)||(h==null?void 0:h.name)}});return p.length>0&&l["x-component"]==="CollectionField"?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:c("Title field"),options:p,value:(o=(t=a==null?void 0:a.componentProps)==null?void 0:t.fieldNames)==null?void 0:o.label,onChange:h=>{var g,_;const f={"x-uid":l["x-uid"]},v=P(x(x({},(_=(g=d==null?void 0:d.uiSchema)==null?void 0:g["x-component-props"])==null?void 0:_.fieldNames),a.componentProps.fieldNames),{label:h});l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].fieldNames=v,f["x-component-props"]=l["x-component-props"],a.componentProps.fieldNames=l["x-component-props"].fieldNames,u.emit("patch",{schema:f}),u.refresh()}},"title-field"):null},isDisplayField=e=>e.includes("."),useLazyLoadDisplayAssociationFieldsOfForm=()=>{var e;const{name:t}=useCollection_deprecated(),{getCollectionJoinField:o,getCollection:r}=useCollectionManager_deprecated(),i=(0,import_react.useForm)(),n=(0,import_react.useFieldSchema)(),a=useVariables$1(),l=(0,import_react.useField)(),{formValue:c}=useSubFormValue(),{isInSubForm:u,isInSubTable:m}=useFlag()||{},{getAssociationAppends:d}=useAssociationNames(),p=n.name.toString(),h=(0,import_react2.useRef)(null),g=(0,import_react2.useRef)(null);h.current==null&&isDisplayField(p)&&(h.current=o(`${t}.${p}`)),g.current==null&&isDisplayField(p)&&(g.current=o(`${t}.${p.split(".")[0]}`));const _=(0,import_react2.useMemo)(()=>!isDisplayField(p)||!a||t==="fields"||!h.current,[p,a,t,h.current]),f=_?{}:(0,import_reactive.untracked)(()=>import_lodash.default.cloneDeep(u||m?c:i.values)),v=isDisplayField(p)&&g.current?import_lodash.default.get(f,`${p.split(".")[0]}.${((e=g.current)==null?void 0:e.targetKey)||"id"}`):void 0;(0,import_react2.useEffect)(()=>{var C;if(_||import_lodash.default.isEmpty(f))return;const S={name:"$nForm",ctx:f,collectionName:t},b=`{{ $nForm.${p} }}`;if(v==null)return;const{appends:y}=d(),F=r((C=h.current)==null?void 0:C.collectionName);a.parseVariable(b,S,{appends:y}).then(({value:j})=>{(0,import_client.nextTick)(()=>{const A=transformVariableValue(j,{targetCollectionField:h.current});A==null?l.value=null:(l.value=A,l.componentProps=P(x({},l.componentProps),{readOnlySubmit:!0,filterTargetKey:(F==null?void 0:F.filterTargetKey)||"id"}))})}).catch(j=>{console.error(j)})},[v,_])},useContextVariable=()=>{var e,t;let o;const{isPopupVisibleControlledByURL:r}=usePopupSettings(),{params:i}=useCurrentPopupContext(),n=useCollection(),a=useDataBlockRequestData(),l=useTableBlockContextBasicValue()||{};r()?o=(e=getStoredPopupContext(i==null?void 0:i.popupuid))==null?void 0:e.tableBlockContext:o=P(x({},l),{collection:n,blockData:a});const{field:c,blockData:u,rowKey:m,collection:d}=o||{},p=(0,import_react2.useMemo)(()=>{var h,g;return(g=(h=u==null?void 0:u.data)==null?void 0:h.filter)==null?void 0:g.call(h,_=>{var f,v;return(v=((f=c==null?void 0:c.data)==null?void 0:f.selectedRowKeys)||[])==null?void 0:v.includes(_[m])})},[(t=c==null?void 0:c.data)==null?void 0:t.selectedRowKeys,m,u]);return(0,import_react2.useMemo)(()=>({name:"$context",ctx:p||[],collectionName:d}),[d,p])},useLocalVariables=e=>{var t;const{parentObjectCtx:o,shouldDisplayParentObject:r,collectionName:i}=useParentObjectContext(),{currentObjectCtx:n,shouldDisplayCurrentObject:a}=useCurrentObjectContext(),{currentRecordCtx:l,collectionName:c}=useCurrentRecordContext(),{currentParentRecordCtx:u,collectionName:m,dataSource:d}=useCurrentParentRecordContext(),{popupRecordCtx:p,collectionName:h,dataSource:g,defaultValue:_}=usePopupVariableContext(),{parentPopupRecordCtx:f,collectionName:v,dataSource:C,defaultValue:S}=useParentPopupVariableContext(),{urlSearchParamsCtx:b,shouldDisplay:y,defaultValue:F}=useURLSearchParamsVariable(),{datetimeCtx:j}=useDatetimeVariableContext(),{currentFormCtx:A}=useCurrentFormContext({form:e==null?void 0:e.currentForm}),{name:D}=useCollection_deprecated(),N=useContextVariable();let{name:w}=useBlockCollection();e!=null&&e.collectionName&&(w=e.collectionName);const B=useApp(),R=((t=B.getVariables)==null?void 0:t.call(B).map(T=>({name:T.name,ctx:T.useCtx()})))||[];return(0,import_react2.useMemo)(()=>[{name:"currentRecord",ctx:l,collectionName:c},{name:w,ctx:A||l,collectionName:w},{name:"$form",ctx:A,collectionName:w},{name:"$nRecord",ctx:l,collectionName:c,dataSource:d},{name:"$nParentRecord",ctx:u,collectionName:m,dataSource:d},{name:"$nPopupRecord",ctx:p,collectionName:h,dataSource:g,defaultValue:_},{name:"$nParentPopupRecord",ctx:f,collectionName:v,dataSource:C,defaultValue:S},{name:"$nForm",ctx:A,collectionName:w},{name:"$nDate",ctx:j},{name:"$date",ctx:j},N,a&&{name:"$iteration",ctx:n,collectionName:D},r&&{name:"$nParentIteration",ctx:o,collectionName:i},y&&{name:"$nURLSearchParams",ctx:b,defaultValue:F},...R].filter(Boolean),[l,c,w,A,u,m,d,p,f,h,g,j,a,n,D,_,S,r,o,i,N,b,...R.map(T=>T.ctx)])},useLocalVariables$1=useLocalVariables,useVariables=()=>(0,import_react2.useContext)(VariablesContext),useVariables$1=useVariables,isSubFormOrSubTableField=e=>{for(;e;){if(isSubMode(e))return!0;if(e["x-component"]==="FormV2")return!1;e=e.parent}return!1},useLinkageRulesForSubTableOrSubForm=()=>{const e=(0,import_react.useFieldSchema)(),t=(0,import_react.useField)(),{fieldSchema:o,formValue:r}=useSubFormValue(),i=useLocalVariables$1(),n=useVariables$1(),a=getLinkageRules$1(o),l=useApp();(0,import_react2.useEffect)(()=>{if(!isSubFormOrSubTableField(e))return;if(!t.onUnmount.__rested){const u=t.onUnmount;t.onUnmount=()=>{var m;(m=t.__disposes)==null||m.forEach(d=>{d()}),u()},t.onUnmount.__rested=!0}if(!a)return;t.__disposes&&t.__disposes.forEach(u=>{u()});const c=t.__disposes=[];forEachLinkageRule(a,(u,m)=>{var d;(d=u.targetFields)!=null&&d.includes(e.name)&&c.push(bindLinkageRulesToFiled({field:t,linkageRules:a,formValues:r,localVariables:i,action:u,rule:m,variables:n,variableNameOfLeftCondition:"$iteration"},l.jsonLogic))}),t.__linkageRules=a},[t,e==null?void 0:e.name,r,JSON.stringify(a),i,n])};function getLinkageRules$1(e){var t;if(!e)return;const o=e["x-linkage-rules"]||((t=e==null?void 0:e.parent)==null?void 0:t["x-linkage-rules"])||[];return o==null?void 0:o.filter(r=>!r.disabled)}const useParseDefaultValue=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=useVariables$1(),r=useLocalVariables$1(),i=useCollectionRecord(),{isInAssignFieldValues:n,isInSetDefaultValueDialog:a,isInFormDataTemplate:l,isInSubTable:c,isInSubForm:u}=useFlag()||{},m=useCollection(),{isSpecialCase:d,setDefaultValue:p}=useSpecialCase(),h=useRecordIndex(),{type:g,form:_}=useFormBlockContext(),{getOperator:f}=useOperators(),v=useDataSourceManager(),C=(0,import_react2.useCallback)(S=>{let b=o==null?void 0:o.getVariable(S);return b||(b=r.find(y=>y.name===S)),b},[r,o]);(0,import_react2.useEffect)(()=>{var S,b;if(g==="update"&&t.default&&e.form===_&&((b=e.setValue)==null||b.call(e,(S=i==null?void 0:i.data)==null?void 0:S[t.name])),t.default==null||a||l||isSubMode(t)||!(i!=null&&i.isNew)&&!n)return;const y=(...j)=>q(void 0,[...j],function*({forceUpdate:A=!1}={}){if(o&&e&&(isVariable$1(t.default)&&e.value==null||e.value===t.default||A)){e.loading=!0;const D=!t.name.toString().includes(".")&&(m==null?void 0:m.getField(t.name)),{value:N,collectionName:w,dataSource:B="main"}=yield o.parseVariable(t.default,r,{fieldOperator:f(t.name)});if(D!=null&&D.target&&w&&D.target!==w&&!isInherit({collectionName:D.target,targetCollectionName:w,dm:v,dataSource:B})){e.loading=!1;return}const R=transformVariableValue(N,{targetCollectionField:D});R==null||R===""?e.mounted&&(e.setInitialValue(void 0),e.setValue(void 0)):d()?h===0&&p(R):c?e.setValue(R):e.setInitialValue(R),e.loading=!1}else!/\{\{.+\}\}/g.test(t.default)&&e.setInitialValue&&e.setInitialValue(t.default)}),F=import_lodash.default.debounce(y,DEBOUNCE_WAIT);if(isVariable$1(t.default)){const j=getVariableName(t.default),A=C(j);return A?(y({forceUpdate:!0}),(0,import_reactive.reaction)(()=>{const D={[j]:(A==null?void 0:A.ctx)||{}},N=getPath(t.default),w=(0,import_client.getValuesByPath)(D,N);return w===void 0?Math.random():w},()=>F({forceUpdate:!0}),{equals:import_lodash.default.isEqual})):console.error(`useParseDefaultValue: can not find variable ${j}`)}else e.value==null&&(c||u)&&e.setValue(t.default)},[t.default,r,g,f,v,m])},isInherit=({collectionName:e,targetCollectionName:t,dm:o,dataSource:r})=>{var i,n,a;const l=(i=o==null?void 0:o.getDataSource(r))==null?void 0:i.collectionManager;return(a=(n=l==null?void 0:l.getCollection(e))==null?void 0:n.getAllCollectionsInheritChain())==null?void 0:a.includes(t)};import_antd_v5.FormItem.displayName="FormilyFormItem";const formItemWrapCss=import_css.css`
|
|
645
645
|
& .ant-space {
|
|
646
646
|
flex-wrap: wrap;
|
|
647
647
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/client",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.4",
|
|
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.4",
|
|
30
|
+
"@nocobase/sdk": "1.9.4",
|
|
31
|
+
"@nocobase/utils": "1.9.4",
|
|
32
32
|
"ahooks": "^3.7.2",
|
|
33
33
|
"antd": "5.24.2",
|
|
34
34
|
"antd-style": "3.7.1",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
"dumi": "2.2.14",
|
|
84
84
|
"dumi-theme-nocobase": "^0.2.28"
|
|
85
85
|
},
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "7431e8b3b3b9e06c21b05dc0af68349f7cfbe04f"
|
|
87
87
|
}
|