@nocobase/client 1.6.31 → 1.6.32
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 +21 -17
- package/lib/index.js +5 -5
- package/package.json +5 -5
package/es/index.mjs
CHANGED
|
@@ -9218,7 +9218,7 @@ function addAppVersion(e, t) {
|
|
|
9218
9218
|
addAppVersion((o = e.properties) == null ? void 0 : o[n], t);
|
|
9219
9219
|
}), e;
|
|
9220
9220
|
}
|
|
9221
|
-
const name = "@nocobase/client", version = "1.6.
|
|
9221
|
+
const name = "@nocobase/client", version = "1.6.32", license = "AGPL-3.0", main = "lib/index.js", module = "es/index.mjs", types = "es/index.d.ts", dependencies = {
|
|
9222
9222
|
"@ahooksjs/use-url-state": "3.5.1",
|
|
9223
9223
|
"@ant-design/cssinjs": "^1.11.1",
|
|
9224
9224
|
"@ant-design/icons": "^5.6.1",
|
|
@@ -9240,9 +9240,9 @@ const name = "@nocobase/client", version = "1.6.31", license = "AGPL-3.0", main
|
|
|
9240
9240
|
"@formily/reactive-react": "^2.2.27",
|
|
9241
9241
|
"@formily/shared": "^2.2.27",
|
|
9242
9242
|
"@formily/validator": "^2.2.27",
|
|
9243
|
-
"@nocobase/evaluators": "1.6.
|
|
9244
|
-
"@nocobase/sdk": "1.6.
|
|
9245
|
-
"@nocobase/utils": "1.6.
|
|
9243
|
+
"@nocobase/evaluators": "1.6.32",
|
|
9244
|
+
"@nocobase/sdk": "1.6.32",
|
|
9245
|
+
"@nocobase/utils": "1.6.32",
|
|
9246
9246
|
ahooks: "^3.7.2",
|
|
9247
9247
|
antd: "5.12.8",
|
|
9248
9248
|
"antd-style": "3.7.1",
|
|
@@ -27915,17 +27915,19 @@ const useCreateActionProps = () => {
|
|
|
27915
27915
|
return {
|
|
27916
27916
|
onClick(d, p) {
|
|
27917
27917
|
return V(this, null, function* () {
|
|
27918
|
-
var C, b, S, y, v;
|
|
27918
|
+
var C, b, S, y, v, F, I;
|
|
27919
27919
|
const { triggerWorkflows: m } = (C = c == null ? void 0 : c["x-action-settings"]) != null ? C : {};
|
|
27920
27920
|
yield t.destroy(x({
|
|
27921
27921
|
filterByTk: e,
|
|
27922
27922
|
// TODO(refactor): should change to inject by plugin
|
|
27923
|
-
triggerWorkflows: m != null && m.length ? m.map((
|
|
27923
|
+
triggerWorkflows: m != null && m.length ? m.map((R) => [R.workflowKey, R.context].filter(Boolean).join("!")).join(",") : void 0
|
|
27924
27924
|
}, l));
|
|
27925
27925
|
const { count: h = 0, page: g = 0, pageSize: f = 0 } = ((b = n == null ? void 0 : n.data) == null ? void 0 : b.meta) || {};
|
|
27926
|
-
h % f === 1 && g !== 1
|
|
27927
|
-
page:
|
|
27928
|
-
|
|
27926
|
+
if (h % f === 1 && g !== 1) {
|
|
27927
|
+
const R = (S = n.params[0]) == null ? void 0 : S.page, T = (v = (y = n.data) == null ? void 0 : y.meta) == null ? void 0 : v.totalPage;
|
|
27928
|
+
R === T && n.params[0] && R !== 1 && (n.params[0].page = R - 1);
|
|
27929
|
+
}
|
|
27930
|
+
p && (p == null || p()), a == null || a(!0), o && o !== "TableField" && ((I = (F = r == null ? void 0 : r.service) == null ? void 0 : F.refresh) == null || I.call(F), i == null || i(!1), a == null || a(!0));
|
|
27929
27931
|
});
|
|
27930
27932
|
}
|
|
27931
27933
|
};
|
|
@@ -40803,7 +40805,7 @@ const InternalAssociationSelect$1 = observer$1(
|
|
|
40803
40805
|
service: a,
|
|
40804
40806
|
onChange: (j) => {
|
|
40805
40807
|
var B;
|
|
40806
|
-
const N = (j
|
|
40808
|
+
const N = Array.isArray(j) && j.length === 0 ? null : j;
|
|
40807
40809
|
(B = e.onChange) == null || B.call(e, N);
|
|
40808
40810
|
},
|
|
40809
40811
|
CustomDropdownRender: m === "quickAdd" && T
|
|
@@ -41941,8 +41943,10 @@ const InternalFileManager = (e) => {
|
|
|
41941
41943
|
}) });
|
|
41942
41944
|
}), AssociationCascadeSelect = connect((e) => /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(CascadeSelect, x({}, e)) })), InternalCascadeSelect = observer$1(
|
|
41943
41945
|
(e) => {
|
|
41944
|
-
|
|
41945
|
-
|
|
41946
|
+
const { options: t } = useAssociationFieldContext(), n = useMemo(() => createForm(), []), { t: o } = useTranslation(), r = useField(), i = useFieldSchema(), { loading: a, data: l } = useDataBlockRequest() || {}, c = useMemo(() => {
|
|
41947
|
+
var g;
|
|
41948
|
+
return (g = l == null ? void 0 : l.data) == null ? void 0 : g[i.name];
|
|
41949
|
+
}, [a]), u = !l || i.name in ((l == null ? void 0 : l.data) || {}), d = debounce((g) => {
|
|
41946
41950
|
var f, C;
|
|
41947
41951
|
if (t.interface === "m2o") {
|
|
41948
41952
|
const b = extractLastNonNullValueObjects((f = g.values) == null ? void 0 : f[i.name]);
|
|
@@ -41962,13 +41966,13 @@ const InternalFileManager = (e) => {
|
|
|
41962
41966
|
const g = uid();
|
|
41963
41967
|
return n.addEffects(g, () => {
|
|
41964
41968
|
onFormValuesChange((f) => {
|
|
41965
|
-
|
|
41969
|
+
d(f);
|
|
41966
41970
|
});
|
|
41967
41971
|
}), () => {
|
|
41968
|
-
n.removeEffects(g),
|
|
41972
|
+
n.removeEffects(g), d.cancel();
|
|
41969
41973
|
};
|
|
41970
41974
|
}, []);
|
|
41971
|
-
const
|
|
41975
|
+
const h = {
|
|
41972
41976
|
type: "object",
|
|
41973
41977
|
properties: {
|
|
41974
41978
|
select_array: {
|
|
@@ -42026,7 +42030,7 @@ const InternalFileManager = (e) => {
|
|
|
42026
42030
|
}
|
|
42027
42031
|
}
|
|
42028
42032
|
};
|
|
42029
|
-
return !a && /* @__PURE__ */ jsx(FormProvider$1, { form: n, children: t.interface === "m2o" ? /* @__PURE__ */ jsx(
|
|
42033
|
+
return !a && u && /* @__PURE__ */ jsx(FormProvider$1, { form: n, children: t.interface === "m2o" ? /* @__PURE__ */ jsx(
|
|
42030
42034
|
SchemaComponent,
|
|
42031
42035
|
{
|
|
42032
42036
|
components: { FormItem: FormItem$1 },
|
|
@@ -42037,7 +42041,7 @@ const InternalFileManager = (e) => {
|
|
|
42037
42041
|
"x-component-props": x({}, e)
|
|
42038
42042
|
})
|
|
42039
42043
|
}
|
|
42040
|
-
) : /* @__PURE__ */ jsx(SchemaField, { schema:
|
|
42044
|
+
) : /* @__PURE__ */ jsx(SchemaField, { schema: h }) });
|
|
42041
42045
|
},
|
|
42042
42046
|
{ displayName: "InternalCascadeSelect" }
|
|
42043
42047
|
);
|
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]),g=(t=i||r)==null?void 0:t.filter(f=>f.useVisible?f.useVisible():!0),h=useSchemaInitializerMenuItems(g,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:h})],[h,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:()=>V(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:!0,children:(0,import_jsx_runtime.jsx)(Text$1,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:e.stack})})})})};ErrorFallback.Modal=ErrorFallbackModal;const designableStyle={backgroundColor:"var(--colorSettings) !important"},unDesignableStyle={backgroundColor:"transparent"},DesignableSwitch=()=>{const{designable:e,setDesignable:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),{token:r}=useToken(),i=e?designableStyle:unDesignableStyle;return(0,import_react_hotkeys_hook.useHotkeys)("Ctrl+Shift+U",()=>t(!e),[e]),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:o("UI Editor"),children:(0,import_jsx_runtime.jsx)(import_antd.Button,{"data-testid":"ui-editor-button",icon:(0,import_jsx_runtime.jsx)(import_icons.HighlightOutlined,{style:{color:r.colorTextHeaderMenu}}),title:o("UI Editor"),style:i,onClick:()=>{t(!e)}})})},WithForm$1=e=>{const t=e,{children:o,form:r}=t,i=Y(t,["children","form"]),n=(0,import_react2.useContext)(import_react.SchemaOptionsContext),a=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),l=x(x({},n==null?void 0:n.scope),a),c=x({},n==null?void 0:n.components);return(0,import_jsx_runtime.jsx)(import_react.FormProvider,P(x({},i),{form:r,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:c,scope:l,children:o})}))},WithoutForm$1=e=>{const t=e,{children:o}=t,r=Y(t,["children"]),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),a=x(x({},i==null?void 0:i.scope),n),l=x({},i==null?void 0:i.components),c=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[]);return(0,import_jsx_runtime.jsx)(import_react.FormProvider,P(x({},r),{form:c,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:l,scope:a,children:o})}))},FormProvider=e=>e.form?(0,import_jsx_runtime.jsx)(WithForm$1,x({},e)):(0,import_jsx_runtime.jsx)(WithoutForm$1,x({},e)),CollectionHistoryContext=(0,import_react2.createContext)({historyCollections:[],refreshCH:()=>{}});CollectionHistoryContext.displayName="CollectionHistoryContext";const options$1={resource:"collectionsHistory",action:"list",params:{paginate:!1,appends:["fields"],filter:{},sort:["sort"]}},CollectionHistoryProvider=e=>{var t;const o=useAPIClient(),r=useIsAdminPage(),i=o.auth.getToken()||"",n=useRequest(options$1,{refreshDeps:[r,i],ready:!!(r&&i)}),a=(0,import_react2.useCallback)(()=>V(void 0,null,function*(){const{data:c}=yield o.request(options$1);return n.mutate(c),(c==null?void 0:c.data)||[]}),[n]),l=(0,import_react2.useMemo)(()=>{var c;return{historyCollections:(c=n.data)==null?void 0:c.data,refreshCH:a}},[a,(t=n.data)==null?void 0:t.data]);return(0,import_jsx_runtime.jsx)(CollectionHistoryContext.Provider,{value:l,children:e.children})},useHistoryCollectionsByNames=e=>{const{historyCollections:t}=(0,import_react2.useContext)(CollectionHistoryContext);return(t==null?void 0:t.filter(o=>e.includes(o.name)))||[]},useCollectionHistory=()=>(0,import_react2.useContext)(CollectionHistoryContext),CollectionProvider_deprecated=({children:e,allowNull:t,name:o,dataSource:r,collection:i})=>r?(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{dataSource:r,children:(0,import_jsx_runtime.jsx)(CollectionProvider,{allowNull:t,name:o||i,children:e})}):(0,import_jsx_runtime.jsx)(CollectionProvider,{allowNull:t,name:o||i,children:e}),ResourceActionContext=(0,import_react2.createContext)(null);ResourceActionContext.displayName="ResourceActionContext";const ResourceContext=(0,import_react2.createContext)(null);ResourceContext.displayName="ResourceContext";const CollectionResourceActionProvider=e=>{var t,o,r,i;const{collection:n,request:a,uid:l,dragSort:c}=e,u=useAPIClient(),m=useRecord(),d=a==null?void 0:a.action,p={};d==="get"&&(p.filterByTk=m[n.targetKey||n.filterTargetKey||"id"]);const g=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],h=useRequest(P(x({},a),{params:P(x(x({},p),a==null?void 0:a.params),{appends:[...((r=(o=n==null?void 0:n.fields)==null?void 0:o.filter)==null?void 0:r.call(o,b=>b.target).map(b=>b.name))||[],...g],sort:c?[n.sortable===!0?"sort":n.sortable]:(i=a==null?void 0:a.params)==null?void 0:i.sort})}),{uid:l}),_=u.resource(a.resource),f=(0,import_react2.useMemo)(()=>P(x({},h),{defaultRequest:a,dragSort:c}),[c,a,h]),v=(0,import_react2.useMemo)(()=>({type:"collection",resource:_,collection:n}),[n,_]);return(0,import_jsx_runtime.jsx)(ResourceContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(ResourceActionContext.Provider,{value:f,children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:n,children:e.children})})})},AssociationResourceActionProvider=e=>{var t,o,r;const{collection:i,association:n,request:a,uid:l,dragSort:c}=e,u=useAPIClient(),m=useRecord()[n.sourceKey],d=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],p=useRequest(P(x({resourceOf:m},a),{params:P(x({},a==null?void 0:a.params),{appends:[...((r=(o=i==null?void 0:i.fields)==null?void 0:o.filter)==null?void 0:r.call(o,f=>f.target).map(f=>f.name))||[],...d]})}),{uid:l}),g=u.resource(a.resource,m),h=(0,import_react2.useMemo)(()=>({type:"association",resource:g,association:n,collection:i}),[n,i,g]),_=(0,import_react2.useMemo)(()=>P(x({},p),{defaultRequest:a,dragSort:c}),[c,a,p]);return(0,import_jsx_runtime.jsx)(ResourceContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)(ResourceActionContext.Provider,{value:_,children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:i,children:e.children})})})},ResourceActionProvider=e=>{var t;let{collection:o,request:r}=e;const{getCollection:i}=useCollectionManager_deprecated();return typeof o=="string"&&(o=i(o)),o?(t=r==null?void 0:r.resource)!=null&&t.includes(".")?(0,import_jsx_runtime.jsx)(AssociationResourceActionProvider,P(x({},e),{collection:o})):(0,import_jsx_runtime.jsx)(CollectionResourceActionProvider,P(x({},e),{collection:o})):null},useResourceActionContext=()=>(0,import_react2.useContext)(ResourceActionContext)||{},useDataSourceFromRAC=e=>{const t=(0,import_react2.useContext)(ResourceActionContext),o=(0,import_react.useField)();return(0,import_react2.useEffect)(()=>{t.loading||(e==null||e.onSuccess(t.data),o.componentProps.dragSort=!!t.dragSort)},[t.loading]),t},useResourceContext=()=>{const{type:e,resource:t,collection:o,association:r}=(0,import_react2.useContext)(ResourceContext)||{};return{type:e,resource:t,collection:o,association:r,targetKey:(r==null?void 0:r.targetKey)||(o==null?void 0:o.filterTargetKey)||(o==null?void 0:o.targetKey)||"id"}},collection$1={name:"fields",targetKey:"name",fields:[{type:"string",name:"type",interface:"input",uiSchema:{title:'{{ t("Storage type") }}',type:"string","x-component":"Select",enum:[{label:"String",value:"string"}],required:!0}},{type:"string",name:"interface",interface:"input",uiSchema:{title:'{{ t("Field interface") }}',type:"string","x-component":"Select",enum:"{{interfaces}}"}},{type:"string",name:"title",interface:"input",uiSchema:{title:'{{ t("Field display name") }}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Field name") }}',type:"string","x-component":"Input"}}]},DataSourceContext_deprecated=(0,import_react2.createContext)(null);DataSourceContext_deprecated.displayName="DataSourceContext_deprecated";const useSelectedRowKeys=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated);return[e.selectedRowKeys,e.setSelectedRowKeys]},useDataSource_deprecated=e=>{const t=(0,import_react2.useContext)(DataSourceContext_deprecated);return useRequest(()=>Promise.resolve({data:t.dataSource}),P(x({},e),{refreshDeps:[JSON.stringify(t.dataSource)]}))},useCreateAction$1=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated),t=(0,import_react.useForm)(),{setVisible:o}=useActionContext();return{run(){return V(this,null,function*(){console.log("form.values",t.values);const r=e.dataSource||[];r.push((0,import_lodash.cloneDeep)(t.values)),e.setDataSource([...r]),o(!1),yield t.reset()})}}},useBulkDestroyAction$2=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated),{selectedRowKeys:t,setSelectedRowKeys:o}=e;return{run(){return V(this,null,function*(){const r=e.dataSource||[];e.setDataSource(r.filter((i,n)=>!t.includes(n))),o([])})}}},useUpdateAction$1=()=>{const e=useRecordIndex(),t=(0,import_react.useForm)(),{setVisible:o}=useActionContext(),r=(0,import_react2.useContext)(DataSourceContext_deprecated);return{run(){return V(this,null,function*(){const i=((r==null?void 0:r.dataSource)||[]).map((n,a)=>a===e?x({},t.values):n);r.setDataSource([...i]),o(!1)})}}},useDestroyAction$2=()=>{const e=useRecordIndex(),t=(0,import_react2.useContext)(DataSourceContext_deprecated);return{run(){return V(this,null,function*(){const o=t.dataSource||[];t.setDataSource(o.filter((r,i)=>e!==i))})}}},ds={useSelectedRowKeys,useDataSource_deprecated,useCreateAction:useCreateAction$1,useBulkDestroyAction:useBulkDestroyAction$2,useUpdateAction:useUpdateAction$1,useDestroyAction:useDestroyAction$2},SubFieldDataSourceProvider_deprecated=(0,import_react.observer)(e=>{const[t,o]=(0,import_react2.useState)([]),[r,i]=(0,import_react2.useState)([]),n=useRecord(),a=useAPIClient(),l=useRequest(()=>{var c;return n.interface==="subTable"?(c=n==null?void 0:n.children)!=null&&c.length?Promise.resolve({data:(n==null?void 0:n.children)||[]}):a.resource("fields").list({paginate:!1,sort:"sort",filter:{parentKey:n.key}}).then(u=>u==null?void 0:u.data):Promise.resolve({data:[]})},{onSuccess(c){console.log("dataSource1",c==null?void 0:c.data),i(c==null?void 0:c.data)}});return(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:collection$1,children:(0,import_jsx_runtime.jsx)(DataSourceContext_deprecated.Provider,{value:{rowKey:"name",service:l,dataSource:r,setDataSource:i,selectedRowKeys:t,setSelectedRowKeys:o},children:e.children})})},{displayName:"SubFieldDataSourceProvider_deprecated"}),DataSourceProvider_deprecated=(0,import_react.observer)(e=>{const{rowKey:t,collection:o,association:r}=e,[i,n]=(0,import_react2.useState)([]),[a,l]=(0,import_react2.useState)([]),c=useRecord(),u=useAPIClient(),{getCollection:m}=useCollectionManager_deprecated(),d=m(o),p=c==null?void 0:c[r.targetKey||"id"],g=useRequest(()=>{var h,_;return p?u.request({resource:`${r.collectionName}.${r.name}`,resourceOf:p,action:"list",params:{appends:(_=(h=d==null?void 0:d.fields)==null?void 0:h.filter(f=>f.target))==null?void 0:_.map(f=>f.name)}}).then(f=>f.data):Promise.resolve({data:(c==null?void 0:c[r.name])||[]})},{onSuccess(h){l(h==null?void 0:h.data)}});return(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:d,children:(0,import_jsx_runtime.jsx)(DataSourceContext_deprecated.Provider,{value:{rowKey:t,service:g,dataSource:a,setDataSource:l,selectedRowKeys:i,setSelectedRowKeys:n},children:e.children})})},{displayName:"DataSourceProvider_deprecated"}),components$6={SubFieldDataSourceProvider_deprecated,DataSourceProvider_deprecated,CollectionProvider_deprecated,ResourceActionProvider},CollectionManagerSchemaComponentProvider=e=>{const t=(0,import_react2.useMemo)(()=>({cm:P(x({},hooks),{useDataSourceFromRAC}),ds}),[]);return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:t,components:components$6,children:e.children})},CollectionCategoriesContext=(0,import_react2.createContext)({data:[],refresh:()=>{}});CollectionCategoriesContext.displayName="CollectionCategoriesContext";const CollectionManagerProvider_deprecated=e=>(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{children:(0,import_jsx_runtime.jsx)(CollectionManagerSchemaComponentProvider,{children:e.children})}),RemoteCollectionManagerLoadingContext=(0,import_react2.createContext)(!1),useRemoteCollectionManagerLoading=()=>(0,import_react2.useContext)(RemoteCollectionManagerLoadingContext),RemoteCollectionManagerProvider=e=>{const t=useDataSourceManager(),{refreshCH:o}=useCollectionHistory(),r=useRequest(()=>t.reload().then(o));return(0,import_jsx_runtime.jsx)(RemoteCollectionManagerLoadingContext.Provider,{value:r.loading,children:(0,import_jsx_runtime.jsx)(CollectionManagerProvider_deprecated,x({},e))})},CollectionCategoriesProvider=e=>{var t;const{service:o,refreshCategory:r}=e,i=(0,import_react2.useMemo)(()=>{var n;return x({data:(n=o==null?void 0:o.data)==null?void 0:n.data,refresh:r},e)},[(t=o==null?void 0:o.data)==null?void 0:t.data,r,e]);return(0,import_jsx_runtime.jsx)(CollectionCategoriesContext.Provider,{value:i,children:e.children})},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.6.31",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":"^5.0.1","@dnd-kit/modifiers":"^6.0.0","@dnd-kit/sortable":"^6.0.0","@emotion/css":"^11.7.1","@formily/antd-v5":"1.1.9","@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.6.31","@nocobase/sdk":"1.6.31","@nocobase/utils":"1.6.31",ahooks:"^3.7.2",antd:"5.12.8","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",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-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){A(this,"current"),A(this,"options"),A(this,"appVersion"),A(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=>V(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:m,removed:d}){var p;let g=[];if((m==null?void 0:m["x-component"])==="Grid.Col"&&(g=g.concat(r(m.parent))),(d==null?void 0:d["x-component"])==="Grid.Col"&&(g=g.concat(r(d.parent))),this.refresh(),!a["x-uid"])return;const h=yield t.request({url:`/uiSchemas:insertAdjacent/${a["x-uid"]}?position=${l}`,method:"post",data:{schema:addAppVersion(c,this.appVersion),wrap:u}});g.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:g})),d!=null&&d["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${d["x-uid"]}`,method:"post"})),n==null||n((p=h==null?void 0:h.data)==null?void 0:p.data),import_antd.message.success(o("Saved successfully"),.2)})),this.on("patch",i=>V(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=>V(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=>V(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=>V(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 V(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[g,h]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"beforeBegin",schema:h,wrapped:d,wrap:g},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((g,h)=>{g["x-index"]=c,++c,l[h]=g}),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[g,h]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:h,wrap:g,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)(f=>{o==null||o(),l(),c==null||c(f),u==null||u()},[o,l,c,u]),d=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),g=useAPIClient(),{t:h}=(0,import_react_i18next.useTranslation)(),_=(0,import_react2.useMemo)(()=>createDesignable({t:h,api:g,refresh:m,current:p,model:d,appVersion:clientPkg.version}),[h,g,m,p,d]);return(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]),{dn:_,designable:e,reset:r,refresh:m,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(f=>{var v;if(!f)return null;if(typeof f!="string")return f;const b=(0,import_get.default)(n,f);return(v=b==null?void 0:b[LAZY_COMPONENT_KEY])!=null?v:b},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((f,v)=>{const b=S=>{Object.keys(S).forEach(C=>{const y=S[C];C==="title"&&(d.title=y,p.title=y),C==="x-decorator-props"&&(d.decoratorProps||(d.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(y).forEach(F=>{d.decoratorProps[F]=y[F],p["x-decorator-props"][F]=y[F]})),C==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(y).forEach(F=>{d.componentProps[F]=y[F],p["x-component-props"][F]=y[F]}))})};if(typeof f=="string"){const S={};return(0,import_set.default)(S,f,v),b(S)}b(f),m()},[_]),shallowMerge:(0,import_react2.useCallback)(f=>{_.shallowMerge(f)},[_]),deepMerge:(0,import_react2.useCallback)(f=>{_.deepMerge(f)},[_]),remove:(0,import_react2.useCallback)((f,v)=>{_.remove(f,v)},[_]),insertAdjacent:(0,import_react2.useCallback)((f,v,b)=>{_.insertAdjacent(f,v,b)},[_]),insertBeforeBegin:(0,import_react2.useCallback)(f=>{_.insertBeforeBegin(f)},[_]),insertAfterBegin:(0,import_react2.useCallback)(f=>{_.insertAfterBegin(f)},[_]),insertBeforeEnd:(0,import_react2.useCallback)(f=>{_.insertBeforeEnd(f)},[_]),insertAfterEnd:(0,import_react2.useCallback)(f=>{_.insertAfterEnd(f)},[_])}}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$3=()=>({}),useProps=(e={})=>{const t=e,{useProps:o=useDef$3}=t,r=Y(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$3);const n=i();return x(x({},r),n)};function useParsedFilter({filterOption:e}){const{parseFilter:t,findVariable:o}=useParseDataScopeFilter(),[r,i]=(0,import_react2.useState)({}),[n,a]=(0,import_react2.useState)(!!e);return(0,import_react2.useEffect)(()=>{if(!e)return;const l=()=>V(this,null,function*(){a(!0);const u=yield t(e);a(!1),i(u)});l();const c=import_lodash.default.debounce(l,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:u}){return u.startsWith("$")&&u!=="$and"&&u!=="$or"},transformValue(u){if(!isVariable$1(u))return u;const m=getVariableName(u),d=o(m);let p=null;const g=getPath(u).split(".");return g.forEach((h,_)=>{const f=g.slice(0,_+1).join("."),v=(0,import_client.getValuesByPath)({[m]:(d==null?void 0:d.ctx)||{}},f);import_lodash.default.isEmpty(v)||(p=v)}),p}}),c,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),t,o]),{filter:r,parseVariableLoading:n}}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);return!c.current&&l?(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].includes(e):return o(t);default:return null}},getSatisfiedActions=(e,t)=>V(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>V(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:a.condition,variables:r,localVariables:i},n))?a:null})))).filter(Boolean).map(a=>a.actions).flat()}),getSatisfiedValues=(e,t)=>V(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)=>V(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]],p=useApp(),g=(0,import_react2.useCallback)(()=>{d&&e&&getSatisfiedValueMap({rules:d,variables:c,localVariables:u},p.jsonLogic).then(h=>{(0,import_lodash.isEmpty)(h)?a({}):a(h)}).catch(h=>{throw new Error(h.message)})},[c,u,d,e]);return(0,import_react2.useEffect)(()=>{if(g(),i){const h=(0,import_shared.uid)();return i.addEffects(h,()=>{(0,import_core.onFormValuesChange)(()=>{g()})}),()=>{i.removeEffects(h)}}},[i,g]),{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$4={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$4})),(0,import_jsx_runtime.jsx)("div",{style:e.spinning?opacityStyle:null,children:e.children})]})),AssociationFieldContext=(0,import_react2.createContext)({});AssociationFieldContext.displayName="AssociationFieldContext";const useInsertSchema$1=e=>{const t=(0,import_react.useFieldSchema)(),{insertAfterBegin:o}=useDesignable();return(0,import_react2.useCallback)(r=>{t.reduceProperties((i,n)=>n["x-component"]==="AssociationField."+e?n:i,null)||o((0,import_cloneDeep.default)(r))},[e,t,o])};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:g}=e,h=(0,import_react.useFieldSchema)(),_=(0,import_react.useField)(),{getField:f}=useCollection_deprecated(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),b=useRecord(),S=((0,import_lodash.isString)((r=(o=(t=h==null?void 0:h["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=h==null?void 0:h["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:C}=useParsedFilter({filterOption:S}),y=(0,import_react2.useMemo)(()=>f(h.name)||v(h==null?void 0:h["x-collection-field"]),[h]),F=b==null?void 0:b[y==null?void 0:y.sourceKey],j=(0,import_react2.useMemo)(()=>{const k=["oho","o2m"].includes(y==null?void 0:y.interface);return mergeFilter([mergeFilter([k&&!isInFilterFormBlock(h)&&y!=null&&y.foreignKey&&!g?{[y.foreignKey]:{$is:null}}:null,C]),k&&F!==void 0&&F!==null&&!isInFilterFormBlock(h)&&y!=null&&y.foreignKey&&!g?{[y.foreignKey]:{$eq:F}}:null],"$or")},[y==null?void 0:y.interface,y==null?void 0:y.foreignKey,h,C,F,g]);return(0,import_react2.useMemo)(()=>P(x({resource:y==null?void 0:y.target,action:d},p),{params:P(x({},p==null?void 0:p.params),{filter:j})}),[y==null?void 0:y.target,d,j,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}},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]),g=(t=i||r)==null?void 0:t.filter(f=>f.useVisible?f.useVisible():!0),h=useSchemaInitializerMenuItems(g,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:h})],[h,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:()=>V(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:!0,children:(0,import_jsx_runtime.jsx)(Text$1,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:e.stack})})})})};ErrorFallback.Modal=ErrorFallbackModal;const designableStyle={backgroundColor:"var(--colorSettings) !important"},unDesignableStyle={backgroundColor:"transparent"},DesignableSwitch=()=>{const{designable:e,setDesignable:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),{token:r}=useToken(),i=e?designableStyle:unDesignableStyle;return(0,import_react_hotkeys_hook.useHotkeys)("Ctrl+Shift+U",()=>t(!e),[e]),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:o("UI Editor"),children:(0,import_jsx_runtime.jsx)(import_antd.Button,{"data-testid":"ui-editor-button",icon:(0,import_jsx_runtime.jsx)(import_icons.HighlightOutlined,{style:{color:r.colorTextHeaderMenu}}),title:o("UI Editor"),style:i,onClick:()=>{t(!e)}})})},WithForm$1=e=>{const t=e,{children:o,form:r}=t,i=Y(t,["children","form"]),n=(0,import_react2.useContext)(import_react.SchemaOptionsContext),a=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),l=x(x({},n==null?void 0:n.scope),a),c=x({},n==null?void 0:n.components);return(0,import_jsx_runtime.jsx)(import_react.FormProvider,P(x({},i),{form:r,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:c,scope:l,children:o})}))},WithoutForm$1=e=>{const t=e,{children:o}=t,r=Y(t,["children"]),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),a=x(x({},i==null?void 0:i.scope),n),l=x({},i==null?void 0:i.components),c=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[]);return(0,import_jsx_runtime.jsx)(import_react.FormProvider,P(x({},r),{form:c,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:l,scope:a,children:o})}))},FormProvider=e=>e.form?(0,import_jsx_runtime.jsx)(WithForm$1,x({},e)):(0,import_jsx_runtime.jsx)(WithoutForm$1,x({},e)),CollectionHistoryContext=(0,import_react2.createContext)({historyCollections:[],refreshCH:()=>{}});CollectionHistoryContext.displayName="CollectionHistoryContext";const options$1={resource:"collectionsHistory",action:"list",params:{paginate:!1,appends:["fields"],filter:{},sort:["sort"]}},CollectionHistoryProvider=e=>{var t;const o=useAPIClient(),r=useIsAdminPage(),i=o.auth.getToken()||"",n=useRequest(options$1,{refreshDeps:[r,i],ready:!!(r&&i)}),a=(0,import_react2.useCallback)(()=>V(void 0,null,function*(){const{data:c}=yield o.request(options$1);return n.mutate(c),(c==null?void 0:c.data)||[]}),[n]),l=(0,import_react2.useMemo)(()=>{var c;return{historyCollections:(c=n.data)==null?void 0:c.data,refreshCH:a}},[a,(t=n.data)==null?void 0:t.data]);return(0,import_jsx_runtime.jsx)(CollectionHistoryContext.Provider,{value:l,children:e.children})},useHistoryCollectionsByNames=e=>{const{historyCollections:t}=(0,import_react2.useContext)(CollectionHistoryContext);return(t==null?void 0:t.filter(o=>e.includes(o.name)))||[]},useCollectionHistory=()=>(0,import_react2.useContext)(CollectionHistoryContext),CollectionProvider_deprecated=({children:e,allowNull:t,name:o,dataSource:r,collection:i})=>r?(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{dataSource:r,children:(0,import_jsx_runtime.jsx)(CollectionProvider,{allowNull:t,name:o||i,children:e})}):(0,import_jsx_runtime.jsx)(CollectionProvider,{allowNull:t,name:o||i,children:e}),ResourceActionContext=(0,import_react2.createContext)(null);ResourceActionContext.displayName="ResourceActionContext";const ResourceContext=(0,import_react2.createContext)(null);ResourceContext.displayName="ResourceContext";const CollectionResourceActionProvider=e=>{var t,o,r,i;const{collection:n,request:a,uid:l,dragSort:c}=e,u=useAPIClient(),m=useRecord(),d=a==null?void 0:a.action,p={};d==="get"&&(p.filterByTk=m[n.targetKey||n.filterTargetKey||"id"]);const g=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],h=useRequest(P(x({},a),{params:P(x(x({},p),a==null?void 0:a.params),{appends:[...((r=(o=n==null?void 0:n.fields)==null?void 0:o.filter)==null?void 0:r.call(o,b=>b.target).map(b=>b.name))||[],...g],sort:c?[n.sortable===!0?"sort":n.sortable]:(i=a==null?void 0:a.params)==null?void 0:i.sort})}),{uid:l}),_=u.resource(a.resource),f=(0,import_react2.useMemo)(()=>P(x({},h),{defaultRequest:a,dragSort:c}),[c,a,h]),v=(0,import_react2.useMemo)(()=>({type:"collection",resource:_,collection:n}),[n,_]);return(0,import_jsx_runtime.jsx)(ResourceContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(ResourceActionContext.Provider,{value:f,children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:n,children:e.children})})})},AssociationResourceActionProvider=e=>{var t,o,r;const{collection:i,association:n,request:a,uid:l,dragSort:c}=e,u=useAPIClient(),m=useRecord()[n.sourceKey],d=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],p=useRequest(P(x({resourceOf:m},a),{params:P(x({},a==null?void 0:a.params),{appends:[...((r=(o=i==null?void 0:i.fields)==null?void 0:o.filter)==null?void 0:r.call(o,f=>f.target).map(f=>f.name))||[],...d]})}),{uid:l}),g=u.resource(a.resource,m),h=(0,import_react2.useMemo)(()=>({type:"association",resource:g,association:n,collection:i}),[n,i,g]),_=(0,import_react2.useMemo)(()=>P(x({},p),{defaultRequest:a,dragSort:c}),[c,a,p]);return(0,import_jsx_runtime.jsx)(ResourceContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)(ResourceActionContext.Provider,{value:_,children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:i,children:e.children})})})},ResourceActionProvider=e=>{var t;let{collection:o,request:r}=e;const{getCollection:i}=useCollectionManager_deprecated();return typeof o=="string"&&(o=i(o)),o?(t=r==null?void 0:r.resource)!=null&&t.includes(".")?(0,import_jsx_runtime.jsx)(AssociationResourceActionProvider,P(x({},e),{collection:o})):(0,import_jsx_runtime.jsx)(CollectionResourceActionProvider,P(x({},e),{collection:o})):null},useResourceActionContext=()=>(0,import_react2.useContext)(ResourceActionContext)||{},useDataSourceFromRAC=e=>{const t=(0,import_react2.useContext)(ResourceActionContext),o=(0,import_react.useField)();return(0,import_react2.useEffect)(()=>{t.loading||(e==null||e.onSuccess(t.data),o.componentProps.dragSort=!!t.dragSort)},[t.loading]),t},useResourceContext=()=>{const{type:e,resource:t,collection:o,association:r}=(0,import_react2.useContext)(ResourceContext)||{};return{type:e,resource:t,collection:o,association:r,targetKey:(r==null?void 0:r.targetKey)||(o==null?void 0:o.filterTargetKey)||(o==null?void 0:o.targetKey)||"id"}},collection$1={name:"fields",targetKey:"name",fields:[{type:"string",name:"type",interface:"input",uiSchema:{title:'{{ t("Storage type") }}',type:"string","x-component":"Select",enum:[{label:"String",value:"string"}],required:!0}},{type:"string",name:"interface",interface:"input",uiSchema:{title:'{{ t("Field interface") }}',type:"string","x-component":"Select",enum:"{{interfaces}}"}},{type:"string",name:"title",interface:"input",uiSchema:{title:'{{ t("Field display name") }}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Field name") }}',type:"string","x-component":"Input"}}]},DataSourceContext_deprecated=(0,import_react2.createContext)(null);DataSourceContext_deprecated.displayName="DataSourceContext_deprecated";const useSelectedRowKeys=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated);return[e.selectedRowKeys,e.setSelectedRowKeys]},useDataSource_deprecated=e=>{const t=(0,import_react2.useContext)(DataSourceContext_deprecated);return useRequest(()=>Promise.resolve({data:t.dataSource}),P(x({},e),{refreshDeps:[JSON.stringify(t.dataSource)]}))},useCreateAction$1=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated),t=(0,import_react.useForm)(),{setVisible:o}=useActionContext();return{run(){return V(this,null,function*(){console.log("form.values",t.values);const r=e.dataSource||[];r.push((0,import_lodash.cloneDeep)(t.values)),e.setDataSource([...r]),o(!1),yield t.reset()})}}},useBulkDestroyAction$2=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated),{selectedRowKeys:t,setSelectedRowKeys:o}=e;return{run(){return V(this,null,function*(){const r=e.dataSource||[];e.setDataSource(r.filter((i,n)=>!t.includes(n))),o([])})}}},useUpdateAction$1=()=>{const e=useRecordIndex(),t=(0,import_react.useForm)(),{setVisible:o}=useActionContext(),r=(0,import_react2.useContext)(DataSourceContext_deprecated);return{run(){return V(this,null,function*(){const i=((r==null?void 0:r.dataSource)||[]).map((n,a)=>a===e?x({},t.values):n);r.setDataSource([...i]),o(!1)})}}},useDestroyAction$2=()=>{const e=useRecordIndex(),t=(0,import_react2.useContext)(DataSourceContext_deprecated);return{run(){return V(this,null,function*(){const o=t.dataSource||[];t.setDataSource(o.filter((r,i)=>e!==i))})}}},ds={useSelectedRowKeys,useDataSource_deprecated,useCreateAction:useCreateAction$1,useBulkDestroyAction:useBulkDestroyAction$2,useUpdateAction:useUpdateAction$1,useDestroyAction:useDestroyAction$2},SubFieldDataSourceProvider_deprecated=(0,import_react.observer)(e=>{const[t,o]=(0,import_react2.useState)([]),[r,i]=(0,import_react2.useState)([]),n=useRecord(),a=useAPIClient(),l=useRequest(()=>{var c;return n.interface==="subTable"?(c=n==null?void 0:n.children)!=null&&c.length?Promise.resolve({data:(n==null?void 0:n.children)||[]}):a.resource("fields").list({paginate:!1,sort:"sort",filter:{parentKey:n.key}}).then(u=>u==null?void 0:u.data):Promise.resolve({data:[]})},{onSuccess(c){console.log("dataSource1",c==null?void 0:c.data),i(c==null?void 0:c.data)}});return(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:collection$1,children:(0,import_jsx_runtime.jsx)(DataSourceContext_deprecated.Provider,{value:{rowKey:"name",service:l,dataSource:r,setDataSource:i,selectedRowKeys:t,setSelectedRowKeys:o},children:e.children})})},{displayName:"SubFieldDataSourceProvider_deprecated"}),DataSourceProvider_deprecated=(0,import_react.observer)(e=>{const{rowKey:t,collection:o,association:r}=e,[i,n]=(0,import_react2.useState)([]),[a,l]=(0,import_react2.useState)([]),c=useRecord(),u=useAPIClient(),{getCollection:m}=useCollectionManager_deprecated(),d=m(o),p=c==null?void 0:c[r.targetKey||"id"],g=useRequest(()=>{var h,_;return p?u.request({resource:`${r.collectionName}.${r.name}`,resourceOf:p,action:"list",params:{appends:(_=(h=d==null?void 0:d.fields)==null?void 0:h.filter(f=>f.target))==null?void 0:_.map(f=>f.name)}}).then(f=>f.data):Promise.resolve({data:(c==null?void 0:c[r.name])||[]})},{onSuccess(h){l(h==null?void 0:h.data)}});return(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:d,children:(0,import_jsx_runtime.jsx)(DataSourceContext_deprecated.Provider,{value:{rowKey:t,service:g,dataSource:a,setDataSource:l,selectedRowKeys:i,setSelectedRowKeys:n},children:e.children})})},{displayName:"DataSourceProvider_deprecated"}),components$6={SubFieldDataSourceProvider_deprecated,DataSourceProvider_deprecated,CollectionProvider_deprecated,ResourceActionProvider},CollectionManagerSchemaComponentProvider=e=>{const t=(0,import_react2.useMemo)(()=>({cm:P(x({},hooks),{useDataSourceFromRAC}),ds}),[]);return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:t,components:components$6,children:e.children})},CollectionCategoriesContext=(0,import_react2.createContext)({data:[],refresh:()=>{}});CollectionCategoriesContext.displayName="CollectionCategoriesContext";const CollectionManagerProvider_deprecated=e=>(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{children:(0,import_jsx_runtime.jsx)(CollectionManagerSchemaComponentProvider,{children:e.children})}),RemoteCollectionManagerLoadingContext=(0,import_react2.createContext)(!1),useRemoteCollectionManagerLoading=()=>(0,import_react2.useContext)(RemoteCollectionManagerLoadingContext),RemoteCollectionManagerProvider=e=>{const t=useDataSourceManager(),{refreshCH:o}=useCollectionHistory(),r=useRequest(()=>t.reload().then(o));return(0,import_jsx_runtime.jsx)(RemoteCollectionManagerLoadingContext.Provider,{value:r.loading,children:(0,import_jsx_runtime.jsx)(CollectionManagerProvider_deprecated,x({},e))})},CollectionCategoriesProvider=e=>{var t;const{service:o,refreshCategory:r}=e,i=(0,import_react2.useMemo)(()=>{var n;return x({data:(n=o==null?void 0:o.data)==null?void 0:n.data,refresh:r},e)},[(t=o==null?void 0:o.data)==null?void 0:t.data,r,e]);return(0,import_jsx_runtime.jsx)(CollectionCategoriesContext.Provider,{value:i,children:e.children})},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.6.32",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":"^5.0.1","@dnd-kit/modifiers":"^6.0.0","@dnd-kit/sortable":"^6.0.0","@emotion/css":"^11.7.1","@formily/antd-v5":"1.1.9","@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.6.32","@nocobase/sdk":"1.6.32","@nocobase/utils":"1.6.32",ahooks:"^3.7.2",antd:"5.12.8","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",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-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){A(this,"current"),A(this,"options"),A(this,"appVersion"),A(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=>V(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:m,removed:d}){var p;let g=[];if((m==null?void 0:m["x-component"])==="Grid.Col"&&(g=g.concat(r(m.parent))),(d==null?void 0:d["x-component"])==="Grid.Col"&&(g=g.concat(r(d.parent))),this.refresh(),!a["x-uid"])return;const h=yield t.request({url:`/uiSchemas:insertAdjacent/${a["x-uid"]}?position=${l}`,method:"post",data:{schema:addAppVersion(c,this.appVersion),wrap:u}});g.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:g})),d!=null&&d["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${d["x-uid"]}`,method:"post"})),n==null||n((p=h==null?void 0:h.data)==null?void 0:p.data),import_antd.message.success(o("Saved successfully"),.2)})),this.on("patch",i=>V(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=>V(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=>V(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=>V(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 V(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[g,h]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"beforeBegin",schema:h,wrapped:d,wrap:g},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((g,h)=>{g["x-index"]=c,++c,l[h]=g}),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[g,h]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:h,wrap:g,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)(f=>{o==null||o(),l(),c==null||c(f),u==null||u()},[o,l,c,u]),d=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),g=useAPIClient(),{t:h}=(0,import_react_i18next.useTranslation)(),_=(0,import_react2.useMemo)(()=>createDesignable({t:h,api:g,refresh:m,current:p,model:d,appVersion:clientPkg.version}),[h,g,m,p,d]);return(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]),{dn:_,designable:e,reset:r,refresh:m,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(f=>{var v;if(!f)return null;if(typeof f!="string")return f;const b=(0,import_get.default)(n,f);return(v=b==null?void 0:b[LAZY_COMPONENT_KEY])!=null?v:b},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((f,v)=>{const b=S=>{Object.keys(S).forEach(C=>{const y=S[C];C==="title"&&(d.title=y,p.title=y),C==="x-decorator-props"&&(d.decoratorProps||(d.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(y).forEach(F=>{d.decoratorProps[F]=y[F],p["x-decorator-props"][F]=y[F]})),C==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(y).forEach(F=>{d.componentProps[F]=y[F],p["x-component-props"][F]=y[F]}))})};if(typeof f=="string"){const S={};return(0,import_set.default)(S,f,v),b(S)}b(f),m()},[_]),shallowMerge:(0,import_react2.useCallback)(f=>{_.shallowMerge(f)},[_]),deepMerge:(0,import_react2.useCallback)(f=>{_.deepMerge(f)},[_]),remove:(0,import_react2.useCallback)((f,v)=>{_.remove(f,v)},[_]),insertAdjacent:(0,import_react2.useCallback)((f,v,b)=>{_.insertAdjacent(f,v,b)},[_]),insertBeforeBegin:(0,import_react2.useCallback)(f=>{_.insertBeforeBegin(f)},[_]),insertAfterBegin:(0,import_react2.useCallback)(f=>{_.insertAfterBegin(f)},[_]),insertBeforeEnd:(0,import_react2.useCallback)(f=>{_.insertBeforeEnd(f)},[_]),insertAfterEnd:(0,import_react2.useCallback)(f=>{_.insertAfterEnd(f)},[_])}}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$3=()=>({}),useProps=(e={})=>{const t=e,{useProps:o=useDef$3}=t,r=Y(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$3);const n=i();return x(x({},r),n)};function useParsedFilter({filterOption:e}){const{parseFilter:t,findVariable:o}=useParseDataScopeFilter(),[r,i]=(0,import_react2.useState)({}),[n,a]=(0,import_react2.useState)(!!e);return(0,import_react2.useEffect)(()=>{if(!e)return;const l=()=>V(this,null,function*(){a(!0);const u=yield t(e);a(!1),i(u)});l();const c=import_lodash.default.debounce(l,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:u}){return u.startsWith("$")&&u!=="$and"&&u!=="$or"},transformValue(u){if(!isVariable$1(u))return u;const m=getVariableName(u),d=o(m);let p=null;const g=getPath(u).split(".");return g.forEach((h,_)=>{const f=g.slice(0,_+1).join("."),v=(0,import_client.getValuesByPath)({[m]:(d==null?void 0:d.ctx)||{}},f);import_lodash.default.isEmpty(v)||(p=v)}),p}}),c,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),t,o]),{filter:r,parseVariableLoading:n}}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);return!c.current&&l?(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].includes(e):return o(t);default:return null}},getSatisfiedActions=(e,t)=>V(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>V(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:a.condition,variables:r,localVariables:i},n))?a:null})))).filter(Boolean).map(a=>a.actions).flat()}),getSatisfiedValues=(e,t)=>V(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)=>V(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]],p=useApp(),g=(0,import_react2.useCallback)(()=>{d&&e&&getSatisfiedValueMap({rules:d,variables:c,localVariables:u},p.jsonLogic).then(h=>{(0,import_lodash.isEmpty)(h)?a({}):a(h)}).catch(h=>{throw new Error(h.message)})},[c,u,d,e]);return(0,import_react2.useEffect)(()=>{if(g(),i){const h=(0,import_shared.uid)();return i.addEffects(h,()=>{(0,import_core.onFormValuesChange)(()=>{g()})}),()=>{i.removeEffects(h)}}},[i,g]),{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$4={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$4})),(0,import_jsx_runtime.jsx)("div",{style:e.spinning?opacityStyle:null,children:e.children})]})),AssociationFieldContext=(0,import_react2.createContext)({});AssociationFieldContext.displayName="AssociationFieldContext";const useInsertSchema$1=e=>{const t=(0,import_react.useFieldSchema)(),{insertAfterBegin:o}=useDesignable();return(0,import_react2.useCallback)(r=>{t.reduceProperties((i,n)=>n["x-component"]==="AssociationField."+e?n:i,null)||o((0,import_cloneDeep.default)(r))},[e,t,o])};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:g}=e,h=(0,import_react.useFieldSchema)(),_=(0,import_react.useField)(),{getField:f}=useCollection_deprecated(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),b=useRecord(),S=((0,import_lodash.isString)((r=(o=(t=h==null?void 0:h["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=h==null?void 0:h["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:C}=useParsedFilter({filterOption:S}),y=(0,import_react2.useMemo)(()=>f(h.name)||v(h==null?void 0:h["x-collection-field"]),[h]),F=b==null?void 0:b[y==null?void 0:y.sourceKey],j=(0,import_react2.useMemo)(()=>{const k=["oho","o2m"].includes(y==null?void 0:y.interface);return mergeFilter([mergeFilter([k&&!isInFilterFormBlock(h)&&y!=null&&y.foreignKey&&!g?{[y.foreignKey]:{$is:null}}:null,C]),k&&F!==void 0&&F!==null&&!isInFilterFormBlock(h)&&y!=null&&y.foreignKey&&!g?{[y.foreignKey]:{$eq:F}}:null],"$or")},[y==null?void 0:y.interface,y==null?void 0:y.foreignKey,h,C,F,g]);return(0,import_react2.useMemo)(()=>P(x({resource:y==null?void 0:y.target,action:d},p),{params:P(x({},p==null?void 0:p.params),{filter:j})}),[y==null?void 0:y.target,d,j,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}},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};
|
|
@@ -613,7 +613,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
613
613
|
z-index: 200;
|
|
614
614
|
transition: left 0.2s;
|
|
615
615
|
}
|
|
616
|
-
`,children:e.children}),document.body)}),collapsedButtonRender=(e,t)=>(0,import_jsx_runtime.jsx)(CollapsedButton,{collapsed:e,children:t}),headerContextValue={inHeader:!0},headerRender=(e,t)=>(0,import_jsx_runtime.jsx)(headerContext.Provider,{value:headerContextValue,children:t}),InternalAdminLayout=()=>{const{allAccessRoutes:e}=useAllAccessDesktopRoutes(),{designable:t}=useDesignable(),o=(0,import_react_router_dom.useLocation)(),{onDragEnd:r}=useMenuDragEnd(),{token:i}=useToken(),[n,a]=(0,import_react2.useState)(!1),[l,c]=(0,import_react2.useState)(!1),u=(0,import_react2.useRef)(!1),{t:m}=useMenuTranslation(),d=(0,import_react2.useMemo)(()=>({path:"/",children:convertRoutesToLayout(e,{designable:t,isMobile:n,t:m})}),[e,t,n,m]),p=(0,import_react2.useMemo)(()=>({header:{colorBgHeader:i.colorBgHeader,colorTextMenu:i.colorTextHeaderMenu,colorTextMenuSelected:i.colorTextHeaderMenuActive,colorTextMenuActive:i.colorTextHeaderMenuActive,colorBgMenuItemHover:i.colorBgHeaderMenuHover,colorBgMenuItemSelected:i.colorBgHeaderMenuActive,heightLayoutHeader:46,colorHeaderTitle:i.colorTextHeaderMenu},sider:{colorMenuBackground:i.colorBgContainer,colorTextMenu:i.colorText,colorTextMenuSelected:i.colorPrimary,colorBgMenuItemSelected:i.colorPrimaryBg,colorBgMenuItemActive:i.colorPrimaryBg,colorBgMenuItemHover:i.colorBgTextHover},bgLayout:i.colorBgLayout}),[i]),g=(0,import_react2.useCallback)(_=>{u.current||c(_)},[]),h=(0,import_react2.useCallback)(()=>{u.current=!0,setTimeout(()=>{u.current=!1})},[]);return(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:r,children:(0,import_jsx_runtime.jsx)(import_pro_layout.default,{contentStyle,siderWidth:200,className:resetStyle,location:o,route:d,actionsRender,logo:(0,import_jsx_runtime.jsx)(NocoBaseLogo,{}),title:"",layout:"mix",splitMenus:!0,token:p,headerRender,menuItemRender,subMenuItemRender,collapsedButtonRender,onCollapse:g,collapsed:l,onPageChange:h,children:(0,import_jsx_runtime.jsx)(import_pro_layout.RouteContext.Consumer,{children:_=>{const{isMobile:f}=_;return f!==n&&a(f),(0,import_jsx_runtime.jsx)(LayoutContent,{})}})})})},NavigateToDefaultPage=e=>{var t;const{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=useLocationNoUpdate(),i=(t=findFirstPageRoute(o))==null?void 0:t.schemaUid;return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[e.children,i&&(r.pathname==="/admin"||r.pathname==="/admin/")&&(0,import_jsx_runtime.jsx)(import_react_router_dom.Navigate,{replace:!0,to:`/admin/${i}`})]})},findRouteByMenuSchemaUid=(e,t)=>{var o;if(t)for(const r of t){if(r.menuSchemaUid===e)return r;if((o=r.children)!=null&&o.length){const i=findRouteByMenuSchemaUid(e,r.children);if(i)return i}}},LegacyRouteCompat=e=>{const t=useCurrentPageUid(),{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=(0,import_react_router_dom.useLocation)(),i=(0,import_react_router_dom.useNavigate)();return(0,import_react2.useEffect)(()=>{const n=findRouteByMenuSchemaUid(t,o);n&&i(r.pathname.replace(t,n.schemaUid)+r.search)},[o,t,r.pathname,r.search,i]),(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children})},AdminProvider=e=>(0,import_jsx_runtime.jsx)(CurrentPageUidProvider,{children:(0,import_jsx_runtime.jsx)(CurrentTabUidProvider,{children:(0,import_jsx_runtime.jsx)(IsSubPageClosedByPageMenuProvider,{children:(0,import_jsx_runtime.jsx)(ACLRolesCheckProvider,{children:(0,import_jsx_runtime.jsx)(RoutesRequestProvider,{children:(0,import_jsx_runtime.jsx)(NavigateToDefaultPage,{children:(0,import_jsx_runtime.jsx)(LegacyRouteCompat,{children:(0,import_jsx_runtime.jsx)(RemoteCollectionManagerProvider,{children:(0,import_jsx_runtime.jsx)(CurrentAppInfoProvider,{children:(0,import_jsx_runtime.jsx)(RemoteSchemaTemplateManagerProvider,{children:e.children})})})})})})})})})}),AdminLayout=e=>(0,import_jsx_runtime.jsx)(AdminProvider,{children:(0,import_jsx_runtime.jsx)(InternalAdminLayout,x({},e))});class AdminLayoutPlugin extends Plugin{afterAdd(){return V(this,null,function*(){yield this.app.pm.add(RemoteSchemaTemplateManagerPlugin)})}load(){return V(this,null,function*(){this.app.schemaSettingsManager.add(userCenterSettings),this.app.addComponents({AdminLayout,AdminDynamicPage})})}}function findRouteBySchemaUid(e,t){var o;if(t){for(const r of t){if(e===r.schemaUid||e===r.menuSchemaUid)return r;if((o=r.children)!=null&&o.length){const i=findRouteBySchemaUid(e,r.children);if(i)return i}}return null}}const MenuDesignerButton=e=>{const{render:t}=useSchemaInitializerRender(menuItemInitializer);return t({style:{background:"none"},"data-testid":e.testId})},MenuTitleWithIcon=e=>e.icon?(0,import_jsx_runtime.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,import_jsx_runtime.jsx)(Icon,{type:e.icon}),(0,import_jsx_runtime.jsx)("span",{children:e.title})]}):e.title;function convertRoutesToLayout(e,{designable:t,parentRoute:o,isMobile:r,t:i,depth:n=0}){if(!e)return;const a=c=>({key:"x-designer-button",name:(0,import_jsx_runtime.jsx)(MenuDesignerButton,{testId:c}),path:"/",disabled:!0,_route:{},_parentRoute:{},icon:(0,import_jsx_runtime.jsx)(Icon,{type:"setting"})}),l=e.map(c=>{var u,m;const d=n>1?(0,import_jsx_runtime.jsx)(MenuTitleWithIcon,{icon:c.icon,title:i(c.title)}):i(c.title);if(c.type===NocoBaseDesktopRouteType.link)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:"/",hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.page)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.schemaUid}`,redirect:`/admin/${c.schemaUid}`,hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.group){const p=convertRoutesToLayout(c.children,{designable:t,parentRoute:c,depth:n+1,t:i})||[];return t&&n===0&&p.push(P(x({},a("schema-initializer-Menu-side")),{_parentRoute:c})),{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.id}`,redirect:((u=p[0])==null?void 0:u.key)==="x-designer-button"?void 0:`/admin/${((m=findFirstPageRoute(c.children))==null?void 0:m.schemaUid)||c.id}`,routes:p.length===0?[{path:"/",name:" ",disabled:!0,_hidden:!0}]:p,hideInMenu:c.hideInMenu,_route:c,_depth:n}}});return t&&n===0&&(r?l.push(x({},a("schema-initializer-Menu-header"))):l.unshift(x({},a("schema-initializer-Menu-header")))),l}function isGroup(e,t){const o=findRouteById(e,t);return(o==null?void 0:o.type)===NocoBaseDesktopRouteType.group}function findRouteById(e,t){var o;for(const r of t){if(Number(e)===Number(r.id))return r;if((o=r.children)!=null&&o.length){const i=findRouteById(e,r.children);if(i)return i}}return null}function findFirstPageRoute(e){var t;if(e)for(const o of e.filter(r=>!r.hideInMenu)){if(o.type===NocoBaseDesktopRouteType.page)return o;if(o.type===NocoBaseDesktopRouteType.group&&(t=o.children)!=null&&t.length){const r=findFirstPageRoute(o.children);if(r)return r}}}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(),g=(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:(g==null?void 0:g.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(){const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r}=useBlockRequestContext(),{fields:i,getField:n,getTreeParentField:a,name:l}=useCollection_deprecated(),c=i.map(_=>_.name),{fieldSchema:u}=useActionContext(),{getActiveFieldsName:m}=useFormActiveFields()||{},d=useVariables$1(),p=useLocalVariables$1({currentForm:e}),g=(0,import_react.useFieldSchema)(),h=useTreeParentRecord();return(0,import_react2.useCallback)(()=>V(this,null,function*(){var _,f,v,b;const{assignedValues:S={},overwriteValues:C}=(_=g==null?void 0:g["x-action-settings"])!=null?_:{},y=getFormValues({filterByTk:t,field:o,form:e,fieldNames:c,getField:n,resource:r,actionFields:(m==null?void 0:m("form"))||[]}),F={},j=Object.keys(S).map(k=>V(this,null,function*(){const R=S[k],N=n(k);if(isVariable$1(R)){const{value:w}=(yield d==null?void 0:d.parseVariable(R,p))||{};w!=null&&(F[k]=transformVariableValue(w,{targetCollectionField:N}))}else R!==""&&(F[k]=R)}));if(yield Promise.all(j),(f=u==null?void 0:u["x-component-props"])==null?void 0:f.addChild){const k=a();y[(v=k==null?void 0:k.name)!=null?v:"parent"]=h,y[(b=k==null?void 0:k.foreignKey)!=null?b:"parentId"]=h==null?void 0:h.id}return x(x(x({},y),C),F)}),[g,o,c,u,t,e,m,n,a,p,l,r,h,d])}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:g}=import_antd.App.useApp(),{t:h}=(0,import_react_i18next.useTranslation)(),{updateAssociationValues:_}=useFormBlockContext(),f=useCollectValuesToSubmit(),v=o.isNew?d.componentProps.saveMode||"create":"update",b=((e=d.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return V(this,null,function*(){var S;const{onSuccess:C,skipValidator:y,triggerWorkflows:F}=(S=m==null?void 0:m["x-action-settings"])!=null?S:{},{manualClose:j,redirecting:k,redirectTo:R,successMessage:N,actionAfterSuccess:w}=C||{};y||(yield r.submit());const O=yield f();d.data=i.data||{},d.data.loading=!0;try{const D=yield n[v]({values:O,filterKeys:b,filterByTk:t,triggerWorkflows:F!=null&&F.length?F.map(T=>[T.workflowKey,T.context].filter(Boolean).join("!")).join(","):void 0,updateAssociationValues:_});if((w==="previous"||!w&&k!==!0)&&(a==null||a(!1)),l==null||l(!0),c==null||c(!1),d.data.loading=!1,d.data.data=D,!N){import_antd.message.success(h("Saved successfully")),yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R));return}j?g.success({title:p(N),onOk:()=>V(this,null,function*(){yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R))})}):(import_antd.message.success(p(N)),yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R)))}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:g}=useCollection_deprecated(),h=useCompile(),_=useFilterByTk(),f=useRecord(),v=useVariables$1(),b=useLocalVariables$1({currentForm:t}),{getActiveFieldsName:S}=useFormActiveFields()||{},C=u.componentProps.saveMode||"create",y=((e=u.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return V(this,null,function*(){var F,j,k,R,N,w;const O=m.map(q=>q.name),{assignedValues:D={},onSuccess:T,overwriteValues:$,skipValidator:B,triggerWorkflows:I}=(F=c==null?void 0:c["x-action-settings"])!=null?F:{},M=(j=a==null?void 0:a["x-component-props"])==null?void 0:j.addChild,{successMessage:z}=T||{},E={},L=Object.keys(D).map(q=>V(this,null,function*(){const G=D[q],W=d(q);if(isVariable$1(G)){const{value:H}=(yield v==null?void 0:v.parseVariable(G,b))||{};H&&(E[q]=transformVariableValue(H,{targetCollectionField:W}))}else G!==""&&(E[q]=G)}));yield Promise.all(L),B||(yield t.submit());const U=getFormValues({filterByTk:_,field:o,form:t,fieldNames:O,getField:d,resource:r,actionFields:(S==null?void 0:S("form"))||[]});if(M){const q=p();U[(k=q==null?void 0:q.name)!=null?k:"parent"]=f,U[(R=q==null?void 0:q.foreignKey)!=null?R:"parentId"]=f.id}u.data=o.data||{},u.data.loading=!0;try{const q=yield r[C]({values:x(x(x({},U),$),E),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=q,(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),!z)return;import_antd.message.success(h(z))}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)=>V(void 0,[...m],function*({doNothingWhenFilterIsEmpty:d=!1}={}){try{yield Promise.all(t().map(p=>V(void 0,null,function*(){var g,h,_,f;if(!a.find(C=>C.uid===p.uid))return;const v=((g=p.service.params)==null?void 0:g[0])||{},b=((_=(h=p.service.params)==null?void 0:h[1])==null?void 0:_.filters)||{};b[l]=c();const S=mergeFilter([...Object.values(b).map(C=>removeNullCondition(C)),p.defaultFilter]);if(import_lodash.default.isEmpty(b[l])&&((f=p.clearSelection)==null||f.call(p)),!(d&&import_lodash.default.isEmpty(b[l])))return p.dataLoadingMode==="manual"&&import_lodash.default.isEmpty(b[l])?p.clearData():p.doFilter(P(x({},v),{page:1,filter:S}),{filters:b})})))}catch(p){console.error(p)}}),[t,c,a,l]);return(0,import_react2.useEffect)(()=>{setTimeout(()=>{u({doNothingWhenFilterIsEmpty:!0})},100)},[t().length]),{doFilter:u,getFilterFromCurrentForm:c}},useFilterBlockActionProps=()=>{const{doFilter:e}=useDoFilter(),t=(0,import_react.useField)();t.data=t.data||{};const o=(0,import_react.useForm)();return{onClick(){return V(this,null,function*(){yield o.submit(),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:()=>V(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 V(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:g}=useActionContext();return{onClick(h,_){return V(this,null,function*(){var f,v,b;const{assignedValues:S={},onSuccess:C,skipValidator:y,triggerWorkflows:F}=(f=i==null?void 0:i["x-action-settings"])!=null?f:{},{manualClose:j,redirecting:k,redirectTo:R,successMessage:N,actionAfterSuccess:w}=C||{},O={},D=Object.keys(S).map(T=>V(this,null,function*(){const $=S[T],B=p(T);if(isVariable$1($)){const{value:I}=(yield u==null?void 0:u.parseVariable($,m))||{};I&&(O[T]=transformVariableValue(I,{targetCollectionField:B}))}else $!==""&&(O[T]=$)}));yield Promise.all(D),y===!1&&(yield l.submit()),yield e.update({filterByTk:r,values:x({},O),triggerWorkflows:F!=null&&F.length?F.map(T=>[T.workflowKey,T.context].filter(Boolean).join("!")).join(","):void 0}),(w==="previous"||!w&&k!==!0)&&(g==null||g(!1)),_&&(_==null||_()),e instanceof TableFieldResource||(b=(v=t==null?void 0:t.service)==null?void 0:v.refresh)==null||b.call(v),N&&(j?c.success({title:a(N),onOk:()=>V(this,null,function*(){(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:n(R))})}):(import_antd.message.success(a(N)),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:n(R))))})}}},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:{},g=useNavigateNoUpdate(),h=useCompile(),{t:_}=(0,import_react_i18next.useTranslation)(),f=(0,import_react.useField)(),{modal:v}=import_antd.App.useApp(),b=useVariables$1();useRecord();const{name:S,getField:C}=useCollection_deprecated(),y=useLocalVariables$1(),{setVisible:F}=useActionContext();return{onClick(){return V(this,null,function*(){var j;const{assignedValues:k={},onSuccess:R,updateMode:N}=(j=u==null?void 0:u["x-action-settings"])!=null?j:{},{manualClose:w,redirecting:O,redirectTo:D,successMessage:T,actionAfterSuccess:$}=R||{};f.data=i.data||{},f.data.loading=!0;const B={},I=Object.keys(k).map(M=>V(this,null,function*(){const z=k[M],E=C(M);if(isVariable$1(z)){const{value:L}=(yield b==null?void 0:b.parseVariable(z,y))||{};L&&(B[M]=transformVariableValue(L,{targetCollectionField:E}))}else z!==""&&(B[M]=z)}));yield Promise.all(I),($==="previous"||!$&&O!==!0)&&(F==null||F(!1)),v.confirm({title:_("Bulk update"),content:_(N==="selected"?"Update selected data?":"Update all data?"),onOk(){return V(this,null,function*(){var M,z,E,L;const{filter:U}=(z=(M=l.params)==null?void 0:M[0])!=null?z:{},q={values:x({},B),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}q.filter={$and:[{[d||"id"]:{$in:p}}]}}q.filter||(q.forceUpdate=!0);try{yield n.update(q)}catch{}finally{f.data.loading=!1}n instanceof TableFieldResource||(L=(E=a==null?void 0:a.service)==null?void 0:E.refresh)==null||L.call(E),T&&(w?v.success({title:h(T),onOk:()=>V(this,null,function*(){(O&&!$||$==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:g(D))})}):(import_antd.message.success(h(T)),(O&&!$||$==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:g(D))))})},onCancel(){return V(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(),g=useRecord(),h=useCurrentUserContext(),_=(e=h==null?void 0:h.data)==null?void 0:e.data,f=(0,import_react.useField)(),{t:v}=(0,import_react_i18next.useTranslation)(),{setVisible:b}=useActionContext(),{modal:S}=import_antd.App.useApp(),{getActiveFieldsName:C}=useFormActiveFields()||{};return{onClick(){return V(this,null,function*(){var y,F,j,k;const{skipValidator:R,onSuccess:N,requestSettings:w}=(y=i==null?void 0:i["x-action-settings"])!=null?y:{},{manualClose:O,redirecting:D,redirectTo:T,successMessage:$,actionAfterSuccess:B}=N||{},I=i==null?void 0:i["x-action"];if(!w.url)return;R!==!0&&I==="customize:form:request"&&(yield a.submit());const M=w.headers?JSON.parse(w.headers):{},z=w.params?JSON.parse(w.params):{},E=w.data?JSON.parse(w.data):{};if(I==="customize:form:request"&&["POST","PUT","PATCH"].includes(w.method)){const U=l.map(G=>G.name),q=getFormValues({filterByTk:r,field:u,form:a,fieldNames:U,getField:c,resource:m,actionFields:(C==null?void 0:C("form"))||[]});Object.assign(E,q)}const L={url:renderTemplate(w.url,{currentRecord:g,currentUser:_}),method:w.method,headers:(0,import_client.parse)(M)({currentRecord:g,currentUser:_}),params:(0,import_client.parse)(z)({currentRecord:g,currentUser:_}),data:(0,import_client.parse)(E)({currentRecord:g,currentUser:_})};f.data=u.data||{},f.data.loading=!0;try{yield t.request(x({},L)),f.data.loading=!1,m instanceof TableFieldResource||(j=(F=d==null?void 0:d.service)==null?void 0:F.refresh)==null||j.call(F),(k=p==null?void 0:p.refresh)==null||k.call(p),I==="customize:form:request"&&(B==="previous"||!B&&D!==!0)&&(b==null||b(!1)),$||(import_antd.message.success(v("Saved successfully")),yield resetFormCorrectly(a),(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:o(T))),O?S.success({title:n($),onOk:()=>V(this,null,function*(){(D&&!B||B==="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(),g=(0,import_react.useField)(),{updateAssociationValues:h}=useFormBlockContext(),{modal:_}=import_antd.App.useApp(),f=useParamsFromRecord(),v=useVariables$1(),b=useLocalVariables$1({currentForm:e}),{getActiveFieldsName:S}=useFormActiveFields()||{};return{onClick(C,y){return V(this,null,function*(){var F;const{assignedValues:j={},onSuccess:k,overwriteValues:R,skipValidator:N,triggerWorkflows:w}=(F=l==null?void 0:l["x-action-settings"])!=null?F:{},{manualClose:O,redirecting:D,redirectTo:T,successMessage:$,actionAfterSuccess:B}=k||{},I={},M=Object.keys(j).map(L=>V(this,null,function*(){const U=j[L],q=m(L);if(isVariable$1(U)){const{value:G}=(yield v==null?void 0:v.parseVariable(U,b))||{};G&&(I[L]=transformVariableValue(G,{targetCollectionField:q}))}else U!==""&&(I[L]=U)}));yield Promise.all(M),N||(yield e.submit());const z=u.map(L=>L.name),E=getFormValues({filterByTk:t,field:o,form:e,fieldNames:z,getField:m,resource:r,actionFields:(S==null?void 0:S("form"))||[]});g.data=o.data||{},g.data.loading=!0;try{if(yield r.update(P(x({filterByTk:t,values:x(x(x({},E),R),I)},f),{updateAssociationValues:h,triggerWorkflows:w!=null&&w.length?w.map(L=>[L.workflowKey,L.context].filter(Boolean).join("!")).join(","):void 0})),g.data.loading=!1,y&&(y==null||y()),(B==="previous"||!B&&D!==!0)&&(n==null||n(!1)),a==null||a(!1),!$)return;O?_.success({title:p($),onOk:()=>V(this,null,function*(){yield e.reset(),(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:c(T))})}):(import_antd.message.success(p($)),(D&&!B||B==="redirect"||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:c(T)))}catch{g.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 V(this,null,function*(){var d,p,g,h,_;const{triggerWorkflows:f}=(d=c==null?void 0:c["x-action-settings"])!=null?d:{};yield t.destroy(x({filterByTk:e,triggerWorkflows:f!=null&&f.length?f.map(C=>[C.workflowKey,C.context].filter(Boolean).join("!")).join(","):void 0},l));const{count:v=0,page:b=0,pageSize:S=0}=((p=o==null?void 0:o.data)==null?void 0:p.meta)||{};v%S===1&&b!==1&&o.run(P(x({},(g=o==null?void 0:o.params)==null?void 0:g[0]),{page:b-1})),m&&(m==null||m()),a==null||a(!0),r&&r!=="TableField"&&((_=(h=i==null?void 0:i.service)==null?void 0:h.refresh)==null||_.call(h),n==null||n(!1),a==null||a(!0))})}}},useRemoveActionProps=e=>{const t=useFilterByTk(),o=useAPIClient().resource(e,t);return{onClick(r){return V(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 V(this,null,function*(){var m,d,p,g;yield t.remove({values:[e]});const{count:h=0,page:_=0,pageSize:f=0}=((m=o==null?void 0:o.data)==null?void 0:m.meta)||{};h%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"&&((g=(p=i==null?void 0:i.service)==null?void 0:p.refresh)==null||g.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 V(this,null,function*(){var c,u,m,d,p,g,h;let _=(c=e.data)==null?void 0:c.selectedRowKeys;if(Array.isArray(n)&&(_=e.data.selectedRowData.map(b=>{const S={};return n.map(C=>{S[C]=b[C]}),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=(g=(p=o.data)==null?void 0:p.meta)==null?void 0:g.totalPage;f===v&&o.params[0]&&f!==1&&(o.params[0].page=f-1),l&&(l==null||l()),r==null||r(!0),(h=o==null?void 0:o.refresh)==null||h.call(o)})}}},useRefreshActionProps=()=>{const{service:e}=useBlockRequestContext();return{onClick(){return V(this,null,function*(){var t;(t=e==null?void 0:e.refresh)==null||t.call(e)})}}},useDetailsPaginationProps=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,g,h;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,onChange(b){return V(this,null,function*(){var S,C;const y=(C=(S=_.service)==null?void 0:S.params)==null?void 0:C[0];_.service.run(P(x({},y),{page:b}))})},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`
|
|
616
|
+
`,children:e.children}),document.body)}),collapsedButtonRender=(e,t)=>(0,import_jsx_runtime.jsx)(CollapsedButton,{collapsed:e,children:t}),headerContextValue={inHeader:!0},headerRender=(e,t)=>(0,import_jsx_runtime.jsx)(headerContext.Provider,{value:headerContextValue,children:t}),InternalAdminLayout=()=>{const{allAccessRoutes:e}=useAllAccessDesktopRoutes(),{designable:t}=useDesignable(),o=(0,import_react_router_dom.useLocation)(),{onDragEnd:r}=useMenuDragEnd(),{token:i}=useToken(),[n,a]=(0,import_react2.useState)(!1),[l,c]=(0,import_react2.useState)(!1),u=(0,import_react2.useRef)(!1),{t:m}=useMenuTranslation(),d=(0,import_react2.useMemo)(()=>({path:"/",children:convertRoutesToLayout(e,{designable:t,isMobile:n,t:m})}),[e,t,n,m]),p=(0,import_react2.useMemo)(()=>({header:{colorBgHeader:i.colorBgHeader,colorTextMenu:i.colorTextHeaderMenu,colorTextMenuSelected:i.colorTextHeaderMenuActive,colorTextMenuActive:i.colorTextHeaderMenuActive,colorBgMenuItemHover:i.colorBgHeaderMenuHover,colorBgMenuItemSelected:i.colorBgHeaderMenuActive,heightLayoutHeader:46,colorHeaderTitle:i.colorTextHeaderMenu},sider:{colorMenuBackground:i.colorBgContainer,colorTextMenu:i.colorText,colorTextMenuSelected:i.colorPrimary,colorBgMenuItemSelected:i.colorPrimaryBg,colorBgMenuItemActive:i.colorPrimaryBg,colorBgMenuItemHover:i.colorBgTextHover},bgLayout:i.colorBgLayout}),[i]),g=(0,import_react2.useCallback)(_=>{u.current||c(_)},[]),h=(0,import_react2.useCallback)(()=>{u.current=!0,setTimeout(()=>{u.current=!1})},[]);return(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:r,children:(0,import_jsx_runtime.jsx)(import_pro_layout.default,{contentStyle,siderWidth:200,className:resetStyle,location:o,route:d,actionsRender,logo:(0,import_jsx_runtime.jsx)(NocoBaseLogo,{}),title:"",layout:"mix",splitMenus:!0,token:p,headerRender,menuItemRender,subMenuItemRender,collapsedButtonRender,onCollapse:g,collapsed:l,onPageChange:h,children:(0,import_jsx_runtime.jsx)(import_pro_layout.RouteContext.Consumer,{children:_=>{const{isMobile:f}=_;return f!==n&&a(f),(0,import_jsx_runtime.jsx)(LayoutContent,{})}})})})},NavigateToDefaultPage=e=>{var t;const{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=useLocationNoUpdate(),i=(t=findFirstPageRoute(o))==null?void 0:t.schemaUid;return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[e.children,i&&(r.pathname==="/admin"||r.pathname==="/admin/")&&(0,import_jsx_runtime.jsx)(import_react_router_dom.Navigate,{replace:!0,to:`/admin/${i}`})]})},findRouteByMenuSchemaUid=(e,t)=>{var o;if(t)for(const r of t){if(r.menuSchemaUid===e)return r;if((o=r.children)!=null&&o.length){const i=findRouteByMenuSchemaUid(e,r.children);if(i)return i}}},LegacyRouteCompat=e=>{const t=useCurrentPageUid(),{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=(0,import_react_router_dom.useLocation)(),i=(0,import_react_router_dom.useNavigate)();return(0,import_react2.useEffect)(()=>{const n=findRouteByMenuSchemaUid(t,o);n&&i(r.pathname.replace(t,n.schemaUid)+r.search)},[o,t,r.pathname,r.search,i]),(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children})},AdminProvider=e=>(0,import_jsx_runtime.jsx)(CurrentPageUidProvider,{children:(0,import_jsx_runtime.jsx)(CurrentTabUidProvider,{children:(0,import_jsx_runtime.jsx)(IsSubPageClosedByPageMenuProvider,{children:(0,import_jsx_runtime.jsx)(ACLRolesCheckProvider,{children:(0,import_jsx_runtime.jsx)(RoutesRequestProvider,{children:(0,import_jsx_runtime.jsx)(NavigateToDefaultPage,{children:(0,import_jsx_runtime.jsx)(LegacyRouteCompat,{children:(0,import_jsx_runtime.jsx)(RemoteCollectionManagerProvider,{children:(0,import_jsx_runtime.jsx)(CurrentAppInfoProvider,{children:(0,import_jsx_runtime.jsx)(RemoteSchemaTemplateManagerProvider,{children:e.children})})})})})})})})})}),AdminLayout=e=>(0,import_jsx_runtime.jsx)(AdminProvider,{children:(0,import_jsx_runtime.jsx)(InternalAdminLayout,x({},e))});class AdminLayoutPlugin extends Plugin{afterAdd(){return V(this,null,function*(){yield this.app.pm.add(RemoteSchemaTemplateManagerPlugin)})}load(){return V(this,null,function*(){this.app.schemaSettingsManager.add(userCenterSettings),this.app.addComponents({AdminLayout,AdminDynamicPage})})}}function findRouteBySchemaUid(e,t){var o;if(t){for(const r of t){if(e===r.schemaUid||e===r.menuSchemaUid)return r;if((o=r.children)!=null&&o.length){const i=findRouteBySchemaUid(e,r.children);if(i)return i}}return null}}const MenuDesignerButton=e=>{const{render:t}=useSchemaInitializerRender(menuItemInitializer);return t({style:{background:"none"},"data-testid":e.testId})},MenuTitleWithIcon=e=>e.icon?(0,import_jsx_runtime.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,import_jsx_runtime.jsx)(Icon,{type:e.icon}),(0,import_jsx_runtime.jsx)("span",{children:e.title})]}):e.title;function convertRoutesToLayout(e,{designable:t,parentRoute:o,isMobile:r,t:i,depth:n=0}){if(!e)return;const a=c=>({key:"x-designer-button",name:(0,import_jsx_runtime.jsx)(MenuDesignerButton,{testId:c}),path:"/",disabled:!0,_route:{},_parentRoute:{},icon:(0,import_jsx_runtime.jsx)(Icon,{type:"setting"})}),l=e.map(c=>{var u,m;const d=n>1?(0,import_jsx_runtime.jsx)(MenuTitleWithIcon,{icon:c.icon,title:i(c.title)}):i(c.title);if(c.type===NocoBaseDesktopRouteType.link)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:"/",hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.page)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.schemaUid}`,redirect:`/admin/${c.schemaUid}`,hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.group){const p=convertRoutesToLayout(c.children,{designable:t,parentRoute:c,depth:n+1,t:i})||[];return t&&n===0&&p.push(P(x({},a("schema-initializer-Menu-side")),{_parentRoute:c})),{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.id}`,redirect:((u=p[0])==null?void 0:u.key)==="x-designer-button"?void 0:`/admin/${((m=findFirstPageRoute(c.children))==null?void 0:m.schemaUid)||c.id}`,routes:p.length===0?[{path:"/",name:" ",disabled:!0,_hidden:!0}]:p,hideInMenu:c.hideInMenu,_route:c,_depth:n}}});return t&&n===0&&(r?l.push(x({},a("schema-initializer-Menu-header"))):l.unshift(x({},a("schema-initializer-Menu-header")))),l}function isGroup(e,t){const o=findRouteById(e,t);return(o==null?void 0:o.type)===NocoBaseDesktopRouteType.group}function findRouteById(e,t){var o;for(const r of t){if(Number(e)===Number(r.id))return r;if((o=r.children)!=null&&o.length){const i=findRouteById(e,r.children);if(i)return i}}return null}function findFirstPageRoute(e){var t;if(e)for(const o of e.filter(r=>!r.hideInMenu)){if(o.type===NocoBaseDesktopRouteType.page)return o;if(o.type===NocoBaseDesktopRouteType.group&&(t=o.children)!=null&&t.length){const r=findFirstPageRoute(o.children);if(r)return r}}}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(),g=(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:(g==null?void 0:g.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(){const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r}=useBlockRequestContext(),{fields:i,getField:n,getTreeParentField:a,name:l}=useCollection_deprecated(),c=i.map(_=>_.name),{fieldSchema:u}=useActionContext(),{getActiveFieldsName:m}=useFormActiveFields()||{},d=useVariables$1(),p=useLocalVariables$1({currentForm:e}),g=(0,import_react.useFieldSchema)(),h=useTreeParentRecord();return(0,import_react2.useCallback)(()=>V(this,null,function*(){var _,f,v,b;const{assignedValues:S={},overwriteValues:C}=(_=g==null?void 0:g["x-action-settings"])!=null?_:{},y=getFormValues({filterByTk:t,field:o,form:e,fieldNames:c,getField:n,resource:r,actionFields:(m==null?void 0:m("form"))||[]}),F={},j=Object.keys(S).map(k=>V(this,null,function*(){const R=S[k],N=n(k);if(isVariable$1(R)){const{value:w}=(yield d==null?void 0:d.parseVariable(R,p))||{};w!=null&&(F[k]=transformVariableValue(w,{targetCollectionField:N}))}else R!==""&&(F[k]=R)}));if(yield Promise.all(j),(f=u==null?void 0:u["x-component-props"])==null?void 0:f.addChild){const k=a();y[(v=k==null?void 0:k.name)!=null?v:"parent"]=h,y[(b=k==null?void 0:k.foreignKey)!=null?b:"parentId"]=h==null?void 0:h.id}return x(x(x({},y),C),F)}),[g,o,c,u,t,e,m,n,a,p,l,r,h,d])}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:g}=import_antd.App.useApp(),{t:h}=(0,import_react_i18next.useTranslation)(),{updateAssociationValues:_}=useFormBlockContext(),f=useCollectValuesToSubmit(),v=o.isNew?d.componentProps.saveMode||"create":"update",b=((e=d.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return V(this,null,function*(){var S;const{onSuccess:C,skipValidator:y,triggerWorkflows:F}=(S=m==null?void 0:m["x-action-settings"])!=null?S:{},{manualClose:j,redirecting:k,redirectTo:R,successMessage:N,actionAfterSuccess:w}=C||{};y||(yield r.submit());const O=yield f();d.data=i.data||{},d.data.loading=!0;try{const D=yield n[v]({values:O,filterKeys:b,filterByTk:t,triggerWorkflows:F!=null&&F.length?F.map(T=>[T.workflowKey,T.context].filter(Boolean).join("!")).join(","):void 0,updateAssociationValues:_});if((w==="previous"||!w&&k!==!0)&&(a==null||a(!1)),l==null||l(!0),c==null||c(!1),d.data.loading=!1,d.data.data=D,!N){import_antd.message.success(h("Saved successfully")),yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R));return}j?g.success({title:p(N),onOk:()=>V(this,null,function*(){yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R))})}):(import_antd.message.success(p(N)),yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R)))}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:g}=useCollection_deprecated(),h=useCompile(),_=useFilterByTk(),f=useRecord(),v=useVariables$1(),b=useLocalVariables$1({currentForm:t}),{getActiveFieldsName:S}=useFormActiveFields()||{},C=u.componentProps.saveMode||"create",y=((e=u.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return V(this,null,function*(){var F,j,k,R,N,w;const O=m.map(q=>q.name),{assignedValues:D={},onSuccess:T,overwriteValues:$,skipValidator:B,triggerWorkflows:I}=(F=c==null?void 0:c["x-action-settings"])!=null?F:{},M=(j=a==null?void 0:a["x-component-props"])==null?void 0:j.addChild,{successMessage:z}=T||{},E={},L=Object.keys(D).map(q=>V(this,null,function*(){const G=D[q],W=d(q);if(isVariable$1(G)){const{value:H}=(yield v==null?void 0:v.parseVariable(G,b))||{};H&&(E[q]=transformVariableValue(H,{targetCollectionField:W}))}else G!==""&&(E[q]=G)}));yield Promise.all(L),B||(yield t.submit());const U=getFormValues({filterByTk:_,field:o,form:t,fieldNames:O,getField:d,resource:r,actionFields:(S==null?void 0:S("form"))||[]});if(M){const q=p();U[(k=q==null?void 0:q.name)!=null?k:"parent"]=f,U[(R=q==null?void 0:q.foreignKey)!=null?R:"parentId"]=f.id}u.data=o.data||{},u.data.loading=!0;try{const q=yield r[C]({values:x(x(x({},U),$),E),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=q,(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),!z)return;import_antd.message.success(h(z))}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)=>V(void 0,[...m],function*({doNothingWhenFilterIsEmpty:d=!1}={}){try{yield Promise.all(t().map(p=>V(void 0,null,function*(){var g,h,_,f;if(!a.find(C=>C.uid===p.uid))return;const v=((g=p.service.params)==null?void 0:g[0])||{},b=((_=(h=p.service.params)==null?void 0:h[1])==null?void 0:_.filters)||{};b[l]=c();const S=mergeFilter([...Object.values(b).map(C=>removeNullCondition(C)),p.defaultFilter]);if(import_lodash.default.isEmpty(b[l])&&((f=p.clearSelection)==null||f.call(p)),!(d&&import_lodash.default.isEmpty(b[l])))return p.dataLoadingMode==="manual"&&import_lodash.default.isEmpty(b[l])?p.clearData():p.doFilter(P(x({},v),{page:1,filter:S}),{filters:b})})))}catch(p){console.error(p)}}),[t,c,a,l]);return(0,import_react2.useEffect)(()=>{setTimeout(()=>{u({doNothingWhenFilterIsEmpty:!0})},100)},[t().length]),{doFilter:u,getFilterFromCurrentForm:c}},useFilterBlockActionProps=()=>{const{doFilter:e}=useDoFilter(),t=(0,import_react.useField)();t.data=t.data||{};const o=(0,import_react.useForm)();return{onClick(){return V(this,null,function*(){yield o.submit(),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:()=>V(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 V(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:g}=useActionContext();return{onClick(h,_){return V(this,null,function*(){var f,v,b;const{assignedValues:S={},onSuccess:C,skipValidator:y,triggerWorkflows:F}=(f=i==null?void 0:i["x-action-settings"])!=null?f:{},{manualClose:j,redirecting:k,redirectTo:R,successMessage:N,actionAfterSuccess:w}=C||{},O={},D=Object.keys(S).map(T=>V(this,null,function*(){const $=S[T],B=p(T);if(isVariable$1($)){const{value:I}=(yield u==null?void 0:u.parseVariable($,m))||{};I&&(O[T]=transformVariableValue(I,{targetCollectionField:B}))}else $!==""&&(O[T]=$)}));yield Promise.all(D),y===!1&&(yield l.submit()),yield e.update({filterByTk:r,values:x({},O),triggerWorkflows:F!=null&&F.length?F.map(T=>[T.workflowKey,T.context].filter(Boolean).join("!")).join(","):void 0}),(w==="previous"||!w&&k!==!0)&&(g==null||g(!1)),_&&(_==null||_()),e instanceof TableFieldResource||(b=(v=t==null?void 0:t.service)==null?void 0:v.refresh)==null||b.call(v),N&&(j?c.success({title:a(N),onOk:()=>V(this,null,function*(){(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:n(R))})}):(import_antd.message.success(a(N)),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:n(R))))})}}},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:{},g=useNavigateNoUpdate(),h=useCompile(),{t:_}=(0,import_react_i18next.useTranslation)(),f=(0,import_react.useField)(),{modal:v}=import_antd.App.useApp(),b=useVariables$1();useRecord();const{name:S,getField:C}=useCollection_deprecated(),y=useLocalVariables$1(),{setVisible:F}=useActionContext();return{onClick(){return V(this,null,function*(){var j;const{assignedValues:k={},onSuccess:R,updateMode:N}=(j=u==null?void 0:u["x-action-settings"])!=null?j:{},{manualClose:w,redirecting:O,redirectTo:D,successMessage:T,actionAfterSuccess:$}=R||{};f.data=i.data||{},f.data.loading=!0;const B={},I=Object.keys(k).map(M=>V(this,null,function*(){const z=k[M],E=C(M);if(isVariable$1(z)){const{value:L}=(yield b==null?void 0:b.parseVariable(z,y))||{};L&&(B[M]=transformVariableValue(L,{targetCollectionField:E}))}else z!==""&&(B[M]=z)}));yield Promise.all(I),($==="previous"||!$&&O!==!0)&&(F==null||F(!1)),v.confirm({title:_("Bulk update"),content:_(N==="selected"?"Update selected data?":"Update all data?"),onOk(){return V(this,null,function*(){var M,z,E,L;const{filter:U}=(z=(M=l.params)==null?void 0:M[0])!=null?z:{},q={values:x({},B),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}q.filter={$and:[{[d||"id"]:{$in:p}}]}}q.filter||(q.forceUpdate=!0);try{yield n.update(q)}catch{}finally{f.data.loading=!1}n instanceof TableFieldResource||(L=(E=a==null?void 0:a.service)==null?void 0:E.refresh)==null||L.call(E),T&&(w?v.success({title:h(T),onOk:()=>V(this,null,function*(){(O&&!$||$==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:g(D))})}):(import_antd.message.success(h(T)),(O&&!$||$==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:g(D))))})},onCancel(){return V(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(),g=useRecord(),h=useCurrentUserContext(),_=(e=h==null?void 0:h.data)==null?void 0:e.data,f=(0,import_react.useField)(),{t:v}=(0,import_react_i18next.useTranslation)(),{setVisible:b}=useActionContext(),{modal:S}=import_antd.App.useApp(),{getActiveFieldsName:C}=useFormActiveFields()||{};return{onClick(){return V(this,null,function*(){var y,F,j,k;const{skipValidator:R,onSuccess:N,requestSettings:w}=(y=i==null?void 0:i["x-action-settings"])!=null?y:{},{manualClose:O,redirecting:D,redirectTo:T,successMessage:$,actionAfterSuccess:B}=N||{},I=i==null?void 0:i["x-action"];if(!w.url)return;R!==!0&&I==="customize:form:request"&&(yield a.submit());const M=w.headers?JSON.parse(w.headers):{},z=w.params?JSON.parse(w.params):{},E=w.data?JSON.parse(w.data):{};if(I==="customize:form:request"&&["POST","PUT","PATCH"].includes(w.method)){const U=l.map(G=>G.name),q=getFormValues({filterByTk:r,field:u,form:a,fieldNames:U,getField:c,resource:m,actionFields:(C==null?void 0:C("form"))||[]});Object.assign(E,q)}const L={url:renderTemplate(w.url,{currentRecord:g,currentUser:_}),method:w.method,headers:(0,import_client.parse)(M)({currentRecord:g,currentUser:_}),params:(0,import_client.parse)(z)({currentRecord:g,currentUser:_}),data:(0,import_client.parse)(E)({currentRecord:g,currentUser:_})};f.data=u.data||{},f.data.loading=!0;try{yield t.request(x({},L)),f.data.loading=!1,m instanceof TableFieldResource||(j=(F=d==null?void 0:d.service)==null?void 0:F.refresh)==null||j.call(F),(k=p==null?void 0:p.refresh)==null||k.call(p),I==="customize:form:request"&&(B==="previous"||!B&&D!==!0)&&(b==null||b(!1)),$||(import_antd.message.success(v("Saved successfully")),yield resetFormCorrectly(a),(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:o(T))),O?S.success({title:n($),onOk:()=>V(this,null,function*(){(D&&!B||B==="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(),g=(0,import_react.useField)(),{updateAssociationValues:h}=useFormBlockContext(),{modal:_}=import_antd.App.useApp(),f=useParamsFromRecord(),v=useVariables$1(),b=useLocalVariables$1({currentForm:e}),{getActiveFieldsName:S}=useFormActiveFields()||{};return{onClick(C,y){return V(this,null,function*(){var F;const{assignedValues:j={},onSuccess:k,overwriteValues:R,skipValidator:N,triggerWorkflows:w}=(F=l==null?void 0:l["x-action-settings"])!=null?F:{},{manualClose:O,redirecting:D,redirectTo:T,successMessage:$,actionAfterSuccess:B}=k||{},I={},M=Object.keys(j).map(L=>V(this,null,function*(){const U=j[L],q=m(L);if(isVariable$1(U)){const{value:G}=(yield v==null?void 0:v.parseVariable(U,b))||{};G&&(I[L]=transformVariableValue(G,{targetCollectionField:q}))}else U!==""&&(I[L]=U)}));yield Promise.all(M),N||(yield e.submit());const z=u.map(L=>L.name),E=getFormValues({filterByTk:t,field:o,form:e,fieldNames:z,getField:m,resource:r,actionFields:(S==null?void 0:S("form"))||[]});g.data=o.data||{},g.data.loading=!0;try{if(yield r.update(P(x({filterByTk:t,values:x(x(x({},E),R),I)},f),{updateAssociationValues:h,triggerWorkflows:w!=null&&w.length?w.map(L=>[L.workflowKey,L.context].filter(Boolean).join("!")).join(","):void 0})),g.data.loading=!1,y&&(y==null||y()),(B==="previous"||!B&&D!==!0)&&(n==null||n(!1)),a==null||a(!1),!$)return;O?_.success({title:p($),onOk:()=>V(this,null,function*(){yield e.reset(),(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:c(T))})}):(import_antd.message.success(p($)),(D&&!B||B==="redirect"||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:c(T)))}catch{g.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 V(this,null,function*(){var d,p,g,h,_,f,v;const{triggerWorkflows:b}=(d=c==null?void 0:c["x-action-settings"])!=null?d:{};yield t.destroy(x({filterByTk:e,triggerWorkflows:b!=null&&b.length?b.map(F=>[F.workflowKey,F.context].filter(Boolean).join("!")).join(","):void 0},l));const{count:S=0,page:C=0,pageSize:y=0}=((p=o==null?void 0:o.data)==null?void 0:p.meta)||{};if(S%y===1&&C!==1){const F=(g=o.params[0])==null?void 0:g.page,j=(_=(h=o.data)==null?void 0:h.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 V(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 V(this,null,function*(){var m,d,p,g;yield t.remove({values:[e]});const{count:h=0,page:_=0,pageSize:f=0}=((m=o==null?void 0:o.data)==null?void 0:m.meta)||{};h%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"&&((g=(p=i==null?void 0:i.service)==null?void 0:p.refresh)==null||g.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 V(this,null,function*(){var c,u,m,d,p,g,h;let _=(c=e.data)==null?void 0:c.selectedRowKeys;if(Array.isArray(n)&&(_=e.data.selectedRowData.map(b=>{const S={};return n.map(C=>{S[C]=b[C]}),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=(g=(p=o.data)==null?void 0:p.meta)==null?void 0:g.totalPage;f===v&&o.params[0]&&f!==1&&(o.params[0].page=f-1),l&&(l==null||l()),r==null||r(!0),(h=o==null?void 0:o.refresh)==null||h.call(o)})}}},useRefreshActionProps=()=>{const{service:e}=useBlockRequestContext();return{onClick(){return V(this,null,function*(){var t;(t=e==null?void 0:e.refresh)==null||t.call(e)})}}},useDetailsPaginationProps=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,g,h;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,onChange(b){return V(this,null,function*(){var S,C;const y=(C=(S=_.service)==null?void 0:S.params)==null?void 0:C[0];_.service.run(P(x({},y),{page:b}))})},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`
|
|
617
617
|
.ant-pagination-simple-pager {
|
|
618
618
|
display: none !important;
|
|
619
619
|
}
|
|
@@ -884,7 +884,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
884
884
|
display: none;
|
|
885
885
|
}
|
|
886
886
|
}
|
|
887
|
-
`,displayBlock={display:"block"},displayNone$1={display:"none"},TabPane=import_react2.default.memo(({active:e,uid:t})=>{const o=(0,import_react2.useRef)(!1),{active:r}=useKeepAlive();return e&&!o.current&&(o.current=!0),o.current?(0,import_jsx_runtime.jsx)("div",{style:e?displayBlock:displayNone$1,children:(0,import_jsx_runtime.jsx)(KeepAliveProvider,{active:r&&e,children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{uid:t})})}):null}),InternalPageContent=e=>{var t,o,r,i;const{loading:n,disablePageHeader:a,enablePageTabs:l,activeKey:c}=e,u=useCurrentRoute(),m=useNavigateNoUpdate(),d=useLocationNoUpdate(),p=((u==null?void 0:u.children)||[]).every(h=>h.schemaUid!==c&&h.tabSchemaName!==c);if(c&&p)return(0,import_jsx_runtime.jsx)(AppNotFound$1,{});const g=(t=u==null?void 0:u.children)==null?void 0:t.find(h=>h.tabSchemaName===c);if(g){const h=new URLSearchParams(d.search);h.has("tab")&&h.get("tab")===c&&h.delete("tab");const _=h.toString()?`?${h.toString()}`:"",f=d.pathname+(d.pathname.endsWith("/")?`tabs/${g.schemaUid}`:`/tabs/${g.schemaUid}`);return m(f+_),null}return!a&&l?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:(o=u.children)==null?void 0:o.map(h=>(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)(TabPane,{active:h.schemaUid===c,uid:h.schemaUid})},h.schemaUid))}):(0,import_jsx_runtime.jsx)("div",{className:className1,children:(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:(r=u==null?void 0:u.children)==null?void 0:r[0],children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{uid:(i=u==null?void 0:u.children)==null?void 0:i[0].schemaUid})})})},PageContent=(0,import_react2.memo)(e=>(0,import_jsx_runtime.jsx)(PopupRouteContextResetter,{children:(0,import_jsx_runtime.jsx)(InternalPageContent,x({},e))})),NocoBasePageHeaderTabs=({className:e,activeKey:t})=>{const o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{t:i}=useRouteTranslation(),{token:n}=useToken$1(),a=useRouterBasename(),l=useNavigateNoUpdate(),c=(0,import_react2.useCallback)(y=>{navigateToTab({activeKey:y,navigate:l,basename:a})},[a,l]),u=useDesignable(),{getAriaLabel:m}=useGetAriaLabelOfSchemaInitializer(),d=(0,import_react2.useContext)(import_react.SchemaOptionsContext),{theme:p}=useGlobalTheme(),g=useCurrentRoute(),{createRoute:h}=useNocoBaseRoutes(),_=useCompile(),f=(0,import_react2.useMemo)(()=>u.designable&&(0,import_jsx_runtime.jsx)(import_antd.Button,{"aria-label":m("tabs"),icon:(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),className:"addTabBtn",type:"dashed",onClick:()=>V(void 0,null,function*(){const y=yield FormDialog(r("Add tab"),()=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:d.scope,components:x({},d.components),children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{properties:{title:{title:r("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},icon:{title:r("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}}})})}),p).open({initialValues:{}}),{title:F,icon:j}=y,k=(0,import_shared.uid)(),R=(0,import_shared.uid)();yield h({type:NocoBaseDesktopRouteType.tabs,schemaUid:k,title:F||'{{t("Unnamed")}}',icon:j,parentId:g.id,tabSchemaName:R}),u.insertBeforeEnd(getTabSchema({title:F,icon:j,schemaUid:k,tabSchemaName:R}))}),children:r("Add tab")}),[u,m,d==null?void 0:d.components,d==null?void 0:d.scope,r,p]),v=g.enableTabs,b=(0,import_react2.useMemo)(()=>({paddingLeft:n.paddingLG-n.paddingPageHorizontal,paddingRight:n.paddingLG-n.paddingPageHorizontal,marginLeft:n.paddingPageHorizontal-n.paddingLG,marginRight:n.paddingPageHorizontal-n.paddingLG}),[n.paddingLG,n.paddingPageHorizontal]),S=(0,import_react2.useMemo)(()=>{var y;return(y=g==null?void 0:g.children)==null?void 0:y.map(F=>{if(!F||F.hideInMenu)return null;const j={__route__:F};return{label:(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:F,children:(0,import_jsx_runtime.jsxs)(SortableItem,{id:String(F.id),className:(0,import_classnames.default)("nb-action-link","designerCss",e),schema:j,children:[F.icon&&(0,import_jsx_runtime.jsx)(Icon,{style:{marginRight:8},type:F.icon}),(0,import_jsx_runtime.jsx)("span",{children:F.title&&i(_(F.title))||r("Unnamed")}),(0,import_jsx_runtime.jsx)(PageTabDesigner,{})]})}),key:F.schemaUid}}).filter(Boolean)},[o,e,r,o.mapProperties(y=>y.title||r("Unnamed")).join(),g]),{onDragEnd:C}=useMenuDragEnd();return v?(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:C,children:(0,import_jsx_runtime.jsx)(import_antd.Tabs,{size:"small",activeKey:t,tabBarStyle:b,onChange:c,tabBarExtraContent:f,items:S})}):null},NocoBasePageHeader=import_react2.default.memo(({activeKey:e,className:t})=>{var o,r;const i=(0,import_react.useFieldSchema)(),{setTitle:n}=useDocumentTitle(),{t:a}=(0,import_react_i18next.useTranslation)(),{t:l}=useRouteTranslation(),[c,u]=(0,import_react2.useState)(()=>a(i.title)),m=(o=i["x-component-props"])==null?void 0:o.disablePageHeader,d=useCurrentRoute(),p=d.enableTabs,g=(r=i["x-component-props"])==null?void 0:r.hidePageTitle,{token:h}=useToken$1();return(0,import_react2.useEffect)(()=>{const _=a(i.title)||a(d==null?void 0:d.title);_&&(n(_),u(_))},[i.title,c,n,a,d==null?void 0:d.title]),(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(PageDesigner,{title:c}),!m&&(0,import_jsx_runtime.jsx)(import_pro_layout.PageHeader,{className:(0,import_classnames.default)("pageHeaderCss",c||p?"":"height0"),style:{paddingBottom:d.enableTabs||g?0:h.paddingSM},ghost:!1,title:g?" ":(!i.title&&c?l(c):c)||" ",footer:(0,import_jsx_runtime.jsx)(NocoBasePageHeaderTabs,{className:t,activeKey:e})})]})});NocoBasePageHeader.displayName="NocoBasePageHeader";function navigateToTab({activeKey:e,navigate:t,basename:o,pathname:r=window.location.pathname}){r=r.replace(o,""),r.endsWith("/")&&(r=r.slice(0,-1)),r.startsWith("/")||(r=`/${r}`),isTabPage(r)?t(withSearchParams(`${r.replace(/\/tabs\/[^/]+$/,`/tabs/${e}`)}`),{replace:!0}):t(withSearchParams(`${r}/tabs/${e}`),{replace:!0})}function isTabPage(e){e.endsWith("/")&&(e=e.slice(0,-1));const t=e.split("/");return t[t.length-2]==="tabs"}function getTabSchema({title:e,icon:t,schemaUid:o,tabSchemaName:r}){return{type:"void",name:r,title:e,"x-icon":t,"x-component":"Grid","x-initializer":"page:addBlock",properties:{},"x-uid":o,"x-async":!0}}function RouteSchemaComponent(){const e=useCurrentPageUid();return(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{onlyRenderProperties:!0,uid:e})}function useNotDisableHeader(){var e;return!((e=(0,import_react.useFieldSchema)()["x-component-props"])!=null&&e.disablePageHeader)}const pageSettings=new SchemaSettings({name:"PageSettings",items:[{name:"enablePageHeader",type:"switch",useComponentProps(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return{title:o("Enable page header"),checked:!((e=r["x-component-props"])!=null&&e.disablePageHeader),onChange(i){r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].disablePageHeader=!i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),t.refresh()}}}},{name:"divider",type:"divider",useVisible:useNotDisableHeader},{name:"displayPageTitle",type:"switch",useVisible:useNotDisableHeader,useComponentProps(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return{title:o("Display page title"),checked:!((e=r["x-component-props"])!=null&&e.hidePageTitle),onChange(i){r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].hidePageTitle=!i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),t.refresh()}}}},{name:"editPageTitle",type:"modal",useVisible(){var e;const t=useNotDisableHeader(),o=!((e=(0,import_react.useFieldSchema)()["x-component-props"])!=null&&e.hidePageTitle);return t&&o},useComponentProps(){const{dn:e}=useDesignable(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{title:i}=useSchemaToolbar();return{hide:!0,title:t("Edit page title"),schema:{type:"object",title:t("Edit page title"),properties:{title:{title:t("Title"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},initialValues:{title:i},onSubmit({title:n}){o.title=n,r.title=n,e.emit("patch",{schema:{"x-uid":r["x-uid"],title:n}})}}}},{name:"enablePageTabs",type:"switch",useVisible:useNotDisableHeader,useComponentProps(){const{dn:e}=useDesignable(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),r=useCurrentRoute(),{updateRoute:i}=useNocoBaseRoutes();return{title:t("Enable page tabs"),checked:r.enableTabs,onChange(n){return V(this,null,function*(){yield i(r.id,{enableTabs:n}),o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].enablePageTabs=n,e.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})})}}}}]}),pageTabSettings=new SchemaSettings({name:"PageTabSettings",items:[{name:"edit",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{updateRoute:t}=useNocoBaseRoutes(),o=useCurrentRoute();return{title:e("Edit"),schema:{type:"object",title:e("Edit tab"),properties:{title:{title:e("Tab name"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}},icon:{title:e("Icon"),"x-decorator":"FormItem","x-component":"IconPicker","x-component-props":{}}}},initialValues:{title:o.title,icon:o.icon},onSubmit:({title:r,icon:i})=>{t(o.id,{title:r,icon:i})}}}},{name:"hidden",type:"switch",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{updateRoute:t}=useNocoBaseRoutes(),o=useCurrentRoute();return{title:e("Hidden"),checked:o.hideInMenu,onChange:r=>{import_antd.Modal.confirm({title:e("Are you sure you want to hide this tab?"),icon:(0,import_jsx_runtime.jsx)(import_icons.ExclamationCircleFilled,{}),content:e("After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it."),onOk(){return V(this,null,function*(){yield t(o.id,{hideInMenu:!!r})})}})}}}},{name:"divider",type:"divider"},{name:"delete",type:"item",useComponentProps(){const{modal:e}=import_antd.App.useApp(),{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),{deleteRoute:r}=useNocoBaseRoutes(),i=useCurrentRoute(),n=useNavigateNoUpdate(),a=(0,import_react.useFieldSchema)();return{title:o("Delete"),eventKey:"remove",onClick(){e.confirm(P(x({title:o("Delete block"),content:o("Are you sure you want to delete it?")},confirm),{onOk(){return V(this,null,function*(){yield r(i.id),t.emit("remove",{removed:{"x-uid":i.schemaUid}}),window.location.pathname.includes(i.schemaUid)&&n(`/admin/${a["x-uid"]}`)})}}))},children:o("Delete")}}}]}),AntdSchemaComponentProvider=e=>{const{children:t}=e;return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{requestChartData,useFilterActionProps:useFilterActionProps$1},components:x(x({},components$2),common),children:t})};class AntdSchemaComponentPlugin extends Plugin{load(){return V(this,null,function*(){this.addComponents(),this.addScopes(),this.addSchemaSettings()})}addComponents(){this.app.addComponents(x(x({},components$2),common))}addScopes(){this.app.addScopes({requestChartData,useFilterActionProps:useFilterActionProps$1})}addSchemaSettings(){this.app.schemaSettingsManager.add(pageSettings),this.app.schemaSettingsManager.add(pageTabSettings),this.app.schemaSettingsManager.add(formItemSettings),this.app.schemaSettingsManager.add(filterFormItemSettings),this.app.schemaSettingsManager.add(formV1Settings),this.app.schemaSettingsManager.add(formSettings),this.app.schemaSettingsManager.add(readPrettyFormSettings),this.app.schemaSettingsManager.add(formDetailsSettings),this.app.schemaSettingsManager.add(actionSettings)}}function usePropsCollection({collection:e}){return e}function loadChildren(e){const t=getCollectionFieldOptions.call(this,e.field.target,e);return t.length&&t.some(o=>isAssociation(o.field))||(e.isLeaf=!0),t}function isAssociation(e){return e.target&&e.interface}function trueFilter(e){return!0}function getCollectionFieldOptions(e,t){const o=this.getCollectionFields(e).filter(isAssociation),r=loadChildren.bind(this);return o.filter(this.filter).map(i=>{var n,a,l;const c=t?`${t.value?`${t.value}.`:""}${i.name}`:i.name,u=(a=this.compile((n=i.uiSchema)==null?void 0:n.title))!=null?a:i.name,m=!this.getCollectionFields(i.target).filter(isAssociation).filter(this.filter).length;return{pId:(l=t==null?void 0:t.key)!=null?l:null,id:c,key:c,value:c,title:u,isLeaf:m,loadChildren:m?null:r,field:i,fullTitle:t?[...t.fullTitle,u]:[u]}})}const AppendsTreeSelect=e=>{const t=e,{title:o,value:r,onChange:i,collection:n,useCollection:a=usePropsCollection,filter:l=trueFilter,rootOption:c,loadData:u}=t,m=Y(t,["title","value","onChange","collection","useCollection","filter","rootOption","loadData"]),d=useCompile(),{t:p}=(0,import_react_i18next.useTranslation)(),[g,h]=(0,import_react2.useState)({}),_=a({collection:n}),[f,v]=parseCollectionName(_),b=useApp(),{collectionManager:S}=b.dataSourceManager.getDataSource(f),C=(O,D)=>{const T=S.getCollection(O);return T?T.getAllFields(D):[]},y=Object.values(g),F=(0,import_react2.useMemo)(()=>e.multiple?(r||[]).map(O=>g[O]).filter(Boolean):r,[r,e.multiple,g]),j=(0,import_react2.useCallback)(O=>V(void 0,null,function*(){if(u!=null)return u(O);if(!O.isLeaf&&O.loadChildren){const D=O.loadChildren(O);h(T=>D.reduce(($,B)=>Object.assign($,{[B.value]:B}),x({},T)))}}),[u]);(0,import_react2.useEffect)(()=>{const O=c?P(x({},c),{id:c.value,key:c.value,title:c.label,fullTitle:c.label,isLeaf:!1}):null,D=(u===null?[]:getCollectionFieldOptions.call({compile:d,getCollectionFields:C,filter:l},v,O)).reduce((T,$)=>Object.assign(T,{[$.value]:$}),{});O&&(D[O.value]=O),h(D)},[_,c,l,u]),(0,import_react2.useEffect)(()=>{const O=e.multiple?r:r?[r]:[];if(!(O!=null&&O.length)||O.every(T=>!!g[T]))return;const D=[];O.forEach(T=>{const $=T.split(".");let B=g[$[0]];for(let I=1;I<$.length&&B;I++){const M=$.slice(0,I+1).join(".");if(g[M]){B=g[M];break}if(!B.isLeaf&&B.loadChildren){const z=B.loadChildren(B);z!=null&&z.length&&(D.push(...z),B=z.find(E=>E.value===$.slice(0,I+1).join(".")))}}}),h(T=>D.reduce(($,B)=>Object.assign($,{[B.value]:B}),x({},T)))},[r,y.length,e.multiple]);const k=(0,import_react2.useCallback)(O=>{if(!e.multiple){i(O);return}const D=O.map(B=>B.value).filter(Boolean),T=new Set(D),$=F.find(B=>!T.has(B.value));if($){const B=`${$.value}.`;Object.keys(g).forEach(I=>{I.startsWith(B)&&T.delete(I)})}else D.forEach(B=>{const I=B.split(".");if(I.length)for(let M=1;M<=I.length;M++)T.add(I.slice(0,M).join("."))});i(Array.from(T))},[e.multiple,F,i,g]),R=(0,import_react2.useCallback)(O=>{var D;const{value:T,onClose:$,disabled:B,closable:I}=O;if(!T)return null;const{fullTitle:M}=(D=g[T])!=null?D:{};return(0,import_jsx_runtime.jsx)(import_antd.Tag,{closable:I&&!B,onClose:$,children:M==null?void 0:M.join(" / ")})},[g]),N=Array.isArray(F)?F.filter(O=>O.value in g):F,w=e.multiple?r:r!=null?[r]:[];return(0,import_jsx_runtime.jsx)(import_antd.TreeSelect,x({role:"button","data-testid":`select-field${o?`-${o}`:""}`,value:N,placeholder:p("Select field"),showCheckedStrategy:import_antd.TreeSelect.SHOW_ALL,treeDefaultExpandedKeys:w,allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close"})},treeCheckStrictly:e.multiple,treeCheckable:e.multiple,tagRender:R,onChange:k,treeDataSimpleMode:!0,treeData:y,loadData:j},m))},removeIfKeyEmpty=(e,t)=>!e||typeof e!="object"||!t||Array.isArray(e)||e[t]?e:void 0,AssociationFieldAddNewer=e=>{const t=(0,import_react2.useContext)(SchemaComponentContext);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},t),{draggable:!0}),children:(0,import_jsx_runtime.jsx)(Action.Container,x({},e))})},filterAnalyses=e=>{if(!e)return;const t=Object.keys(e)[0]||"$and",o=e[t],r=[];return o==null||o.map(i=>{var n,a,l;const c=getInnermostKeyAndValue(i);if(!(c!=null&&c.key))return!0;const u=/\{\{\$[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\.(\w+)\.id\}\}/,m=(l=(a=(n=c==null?void 0:c.value)==null?void 0:n.match)==null?void 0:a.call(n,u))==null?void 0:l[1];m&&r.push(m)}),r};function getFieldPath(e){const t=e.lastIndexOf(".");return t===-1?e:e.slice(0,t)}const InternalAssociationSelect$1=(0,import_react.observer)(e=>{var t;const o=e,{objectValue:r=!0,addMode:i}=o,n=Y(o,["objectValue","addMode"]),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useServiceOptions$1((l==null?void 0:l["x-component-props"])||e),{options:u}=useAssociationFieldContext(),m=isVariable$1(e.value)?void 0:e.value,d=Array.isArray(m)?m.filter(Boolean):m,[p,g]=(0,import_react2.useState)(d),h=(t=l["x-component-props"])==null?void 0:t.addMode,{t:_}=(0,import_react_i18next.useTranslation)(),{multiple:f}=e,v=(0,import_react.useForm)(),b=useAPIClient().resource(u.target),S=useCollectionRecordData(),C=(0,import_react2.useContext)(SchemaComponentContext),{getCollection:y}=useCollectionManager_deprecated(),F=y(u.target),{filterTargetKey:j}=F;(0,import_react2.useEffect)(()=>{const N=isVariable$1(a.value)?void 0:a.value,w=Array.isArray(N)?N.filter(Boolean):N,O=removeIfKeyEmpty(w,j);g(O),(0,import_lodash.isEqual)(a.value,O)||(a.value=O)},[a.value,j]),(0,import_react2.useEffect)(()=>{const N=(0,import_shared.uid)();return v.addEffects(N,()=>{(0,import_core.onFieldInputValueChange)("*",w=>{var O,D,T,$,B,I;const M=filterAnalyses((T=(D=(O=a.componentProps)==null?void 0:O.service)==null?void 0:D.params)==null?void 0:T.filter)||[],z=getFieldPath(w.address.entire),E=getFieldPath(a.address.entire);M.includes(($=w==null?void 0:w.props)==null?void 0:$.name)&&a.value&&(0,import_lodash.isEqual)(w==null?void 0:w.indexes,a==null?void 0:a.indexes)&&((B=w==null?void 0:w.props)==null?void 0:B.name)!==a.props.name&&(!((I=a==null?void 0:a.indexes)!=null&&I.length)||(0,import_lodash.isEqual)(z,E))&&(a.setValue(null),g(null))})}),()=>{v.removeEffects(N)}},[]);const k=N=>V(void 0,null,function*(){var w,O;const{search:D,callBack:T}=N,{data:{data:$}}=yield b.create({values:{[((O=(w=a==null?void 0:a.componentProps)==null?void 0:w.fieldNames)==null?void 0:O.label)||"id"]:D}});if($){if(["m2m","o2m"].includes(u==null?void 0:u.interface)&&f!==!1){const B=v.getValuesIn(a.path)||[];B.push($),v.setValuesIn(a.path,B),a.onInput(B)}else v.setValuesIn(a.path,$),a.onInput($);(0,import_mathjs.isFunction)(T)&&(T==null||T()),import_antd.message.success(_("Saved successfully"))}}),R=N=>(0,import_jsx_runtime.jsxs)("div",{onClick:()=>k(N),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),(0,import_jsx_runtime.jsx)("span",{style:{paddingLeft:5},children:_("Add")+` “${N.search}” `})]});return(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{style:{display:"flex"},children:[(0,import_jsx_runtime.jsx)(RemoteSelect,P(x({style:{width:"100%"}},n),{size:"middle",objectValue:r,value:removeIfKeyEmpty(d||p,j),service:c,onChange:N=>{var w;const O=(N==null?void 0:N.length)!==0?N:null;(w=e.onChange)==null||w.call(e,O)},CustomDropdownRender:h==="quickAdd"&&R})),h==="modalAdd"&&(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},C),{draggable:!1}),children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:!0,record:null,parent:S,children:(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:(0,import_jsx_runtime.jsx)(ClearCollectionFieldContext,{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:a.address,schema:l,filterProperties:N=>N["x-component"]==="Action"})})})})})]})},l.name)},{displayName:"AssociationSelect"}),AssociationSelect$1=InternalAssociationSelect$1;(0,import_react.connect)(e=>{const t=useServiceOptions$1(e);return e.fieldNames?(0,import_jsx_runtime.jsx)(RemoteSelect.ReadPretty,P(x({},e),{service:t})):null},(0,import_react.mapProps)({dataSource:"options",loading:!0},(e,t)=>P(x({},e),{fieldNames:e.fieldNames&&x(x({},e.fieldNames),t.componentProps.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})));const publicPath=window.__nocobase_dev_public_path__||window.__nocobase_public_path__||"/",UPLOAD_PLACEHOLDER=[{ext:/\.docx?$/i,icon:"/file-placeholder/docx-200-200.png"},{ext:/\.pptx?$/i,icon:"/file-placeholder/pptx-200-200.png"},{ext:/\.jpe?g$/i,icon:"/file-placeholder/jpeg-200-200.png"},{ext:/\.pdf$/i,icon:"/file-placeholder/pdf-200-200.png"},{ext:/\.png$/i,icon:"/file-placeholder/png-200-200.png"},{ext:/\.eps$/i,icon:"/file-placeholder/eps-200-200.png"},{ext:/\.ai$/i,icon:"/file-placeholder/ai-200-200.png"},{ext:/\.gif$/i,icon:"/file-placeholder/gif-200-200.png"},{ext:/\.svg$/i,icon:"/file-placeholder/svg-200-200.png"},{ext:/\.xlsx?$/i,icon:"/file-placeholder/xlsx-200-200.png"},{ext:/\.psd?$/i,icon:"/file-placeholder/psd-200-200.png"},{ext:/\.(wav|aif|aiff|au|mp1|mp2|mp3|ra|rm|ram|mid|rmi)$/i,icon:"/file-placeholder/audio-200-200.png"},{ext:/\.(avi|wmv|mpg|mpeg|vob|dat|3gp|mp4|mkv|rm|rmvb|mov|flv)$/i,icon:"/file-placeholder/video-200-200.png"},{ext:/\.(zip|rar|arj|z|gz|iso|jar|ace|tar|uue|dmg|pkg|lzh|cab)$/i,icon:"/file-placeholder/zip-200-200.png"}].map(e=>({ext:e.ext,icon:publicPath+e.icon.slice(1)})),UNKNOWN_FILE_ICON=publicPath+"file-placeholder/unknown-200-200.png",FILE_SIZE_LIMIT_DEFAULT=1024*1024*20;class AttachmentFileTypes{constructor(){A(this,"types",[])}add(t){this.types.unshift(t)}getTypeByFile(t){return this.types.find(o=>o.match(t))}}const attachmentFileTypes=new AttachmentFileTypes;function matchMimetype(e,t){if(!e)return!1;if(e.originFileObj)return(0,import_mime_match.default)(e.type,t);if(e.mimetype)return(0,import_mime_match.default)(e.mimetype,t);if(e.url){const[o]=e.url.split("?");return(0,import_mime_match.default)(import_mime.default.getType(o)||"",t)}return!1}const toArr$1=e=>(0,import_shared.isValid)(e)?Object.keys(e).length===0?[]:(0,import_shared.toArr)(e):[],testOpts=(e,t)=>t&&(0,import_shared.isArr)(t.include)?t.include.some(o=>e.test(o)):t&&(0,import_shared.isArr)(t.exclude)?!t.exclude.some(o=>e.test(o)):!0;function getThumbnailPlaceholderURL(e,t={}){for(let o=0;o<UPLOAD_PLACEHOLDER.length;o++)if(UPLOAD_PLACEHOLDER[o].ext.test(e.extname||e.filename||e.url||e.name))return testOpts(UPLOAD_PLACEHOLDER[o].ext,t)?UPLOAD_PLACEHOLDER[o].icon||UNKNOWN_FILE_ICON:e.name;return UNKNOWN_FILE_ICON}function getResponseMessage({error:e,response:t}){var o,r,i,n;if(e instanceof Error&&"isAxiosError"in e)return e.response?(i=(r=(o=e.response.data)==null?void 0:o.errors)==null?void 0:r.map)==null?void 0:i.call(r,l=>l==null?void 0:l.message).join(", "):e.message;if(!t)return"";if(typeof t=="string")return t;const{errors:a}=(n=t.data)!=null?n:{};return a!=null&&a.length?a.map(l=>l==null?void 0:l.message).join(", "):""}function normalizeFile(e){const t=getResponseMessage(e);return P(x({},e),{title:e.name,response:t})}function useUploadProps(e){const t=useAPIClient();return x({customRequest({action:o,data:r,file:i,filename:n,headers:a,onError:l,onProgress:c,onSuccess:u,withCredentials:m}){const d=new FormData;return r&&Object.keys(r).forEach(p=>{d.append(p,r[p])}),d.append(n,i),t.axios.post(o,d,{withCredentials:m,headers:a,onUploadProgress:({total:p,loaded:g})=>{c({percent:Math.round(g/p*100).toFixed(2)},i)}}).then(({data:p})=>{u(p,i)}).catch(l).finally(()=>{}),{abort(){console.log("upload progress is aborted.")}}}},e)}function toValueItem(e){return e}const toItem=e=>{var t;return typeof e=="string"?{url:e}:((t=e==null?void 0:e.response)!=null&&t.data&&(e=x({uid:e.uid},e.response.data)),P(x({},e),{id:e.id||e.uid,title:e.title||e.name}))},toFileList=e=>toArr$1(e).filter(Boolean).map(toItem),Rules={size(e,t){const o=t??FILE_SIZE_LIMIT_DEFAULT;return o===0||e.size<=o?null:"File size exceeds the limit"},mimetype(e,t="*"){const o=t.toString().trim();return!o||o==="*"||o.split(",").filter(Boolean).some((0,import_mime_match.default)(e.type))?null:"File type is not allowed"}};function validate(e,t){if(!t)return null;const o=Object.keys(t);if(!o.length)return null;for(const r of o){const i=Rules[r](e,t[r]);if(i)return i}return null}function useBeforeUpload(e){const{t}=(0,import_react_i18next.useTranslation)();return(0,import_react2.useCallback)(o=>{const r=validate(o,e);return r?(o.status="error",o.response=t(r)):o.status==="error"&&(delete o.status,delete o.response),!r},[e])}const useStyles$6=genStyleHook("upload",e=>{const{componentCls:t,antCls:o}=e;return{[`${t}-wrapper`]:{"&.nb-upload.nb-upload-small":{[`${t}-list-picture-card-container`]:{margin:"0 3px 3px 0 !important",height:"32px !important",width:"32px !important",marginBlock:"0 !important"},[`${t}-list-picture-card ${t}-list-item-name${t}-list-item-name`]:{display:"none !important"},[`${t}-list-picture ${t}-list-item, ${t}-list-picture-card ${t}-list-item`]:{borderRadius:"4px",padding:"1px !important",[`${t}-list-item-image`]:{borderRadius:"2px"}}},"&.nb-upload-large":{[`${t}-list-picture-card-container`]:{margin:"0 3px 3px 0 !important",height:"160px !important",width:"160px !important",marginBlock:"0 28px !important"}},"&.nb-upload":{[`${t}-list-item, ${t}-list-item-list-type-picture-card`]:{padding:"3px !important"},[`${t}-list-item-thumbnail`]:{img:{objectFit:"cover !important"}},[`${t}-list-item-actions`]:{left:"auto !important",right:"2px !important",top:"2px !important",transform:"none !important",width:"fit-content !important",[`${o}-btn-text:hover, ${o}-btn-text:focus`]:{background:"rgba(0, 0, 0, 0.4)"}},[`${t}-list-picture-card ${t}-list-item-info`]:{overflow:"inherit",width:"100%",height:"100%"},[`${t}-list-picture-card ${t}-list-item-name`]:{display:"block !important",marginTop:"5px",fontSize:"13px",color:"#636363"},[`${t}-list-picture-card ${t}-list-item::before`]:{display:"none !important"},[`${t}-list-picture-card ${t}-list-item-progress`]:{bottom:"calc(50% - 11px)",left:`${e.margin/2}px`,pointerEvents:"none"},[`${o}-btn`]:{background:"rgba(0, 0, 0, 0.5)"},[`${t}-list-picture-card-container`]:{}},[`${t}-list-item-error`]:{[`${t}-list-item-info img`]:{opacity:.6}},[`${t}-drag`]:{[`${t}-drag-container`]:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100%",ul:{color:e.colorTextSecondary,[`${t}-hint`]:{textAlign:"left"}}}}}}}),useUploadStyles=useStyles$6,LightBoxGlobalStyle=import_antd_style.createGlobalStyle`
|
|
887
|
+
`,displayBlock={display:"block"},displayNone$1={display:"none"},TabPane=import_react2.default.memo(({active:e,uid:t})=>{const o=(0,import_react2.useRef)(!1),{active:r}=useKeepAlive();return e&&!o.current&&(o.current=!0),o.current?(0,import_jsx_runtime.jsx)("div",{style:e?displayBlock:displayNone$1,children:(0,import_jsx_runtime.jsx)(KeepAliveProvider,{active:r&&e,children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{uid:t})})}):null}),InternalPageContent=e=>{var t,o,r,i;const{loading:n,disablePageHeader:a,enablePageTabs:l,activeKey:c}=e,u=useCurrentRoute(),m=useNavigateNoUpdate(),d=useLocationNoUpdate(),p=((u==null?void 0:u.children)||[]).every(h=>h.schemaUid!==c&&h.tabSchemaName!==c);if(c&&p)return(0,import_jsx_runtime.jsx)(AppNotFound$1,{});const g=(t=u==null?void 0:u.children)==null?void 0:t.find(h=>h.tabSchemaName===c);if(g){const h=new URLSearchParams(d.search);h.has("tab")&&h.get("tab")===c&&h.delete("tab");const _=h.toString()?`?${h.toString()}`:"",f=d.pathname+(d.pathname.endsWith("/")?`tabs/${g.schemaUid}`:`/tabs/${g.schemaUid}`);return m(f+_),null}return!a&&l?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:(o=u.children)==null?void 0:o.map(h=>(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)(TabPane,{active:h.schemaUid===c,uid:h.schemaUid})},h.schemaUid))}):(0,import_jsx_runtime.jsx)("div",{className:className1,children:(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:(r=u==null?void 0:u.children)==null?void 0:r[0],children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{uid:(i=u==null?void 0:u.children)==null?void 0:i[0].schemaUid})})})},PageContent=(0,import_react2.memo)(e=>(0,import_jsx_runtime.jsx)(PopupRouteContextResetter,{children:(0,import_jsx_runtime.jsx)(InternalPageContent,x({},e))})),NocoBasePageHeaderTabs=({className:e,activeKey:t})=>{const o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{t:i}=useRouteTranslation(),{token:n}=useToken$1(),a=useRouterBasename(),l=useNavigateNoUpdate(),c=(0,import_react2.useCallback)(y=>{navigateToTab({activeKey:y,navigate:l,basename:a})},[a,l]),u=useDesignable(),{getAriaLabel:m}=useGetAriaLabelOfSchemaInitializer(),d=(0,import_react2.useContext)(import_react.SchemaOptionsContext),{theme:p}=useGlobalTheme(),g=useCurrentRoute(),{createRoute:h}=useNocoBaseRoutes(),_=useCompile(),f=(0,import_react2.useMemo)(()=>u.designable&&(0,import_jsx_runtime.jsx)(import_antd.Button,{"aria-label":m("tabs"),icon:(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),className:"addTabBtn",type:"dashed",onClick:()=>V(void 0,null,function*(){const y=yield FormDialog(r("Add tab"),()=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:d.scope,components:x({},d.components),children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{properties:{title:{title:r("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},icon:{title:r("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}}})})}),p).open({initialValues:{}}),{title:F,icon:j}=y,k=(0,import_shared.uid)(),R=(0,import_shared.uid)();yield h({type:NocoBaseDesktopRouteType.tabs,schemaUid:k,title:F||'{{t("Unnamed")}}',icon:j,parentId:g.id,tabSchemaName:R}),u.insertBeforeEnd(getTabSchema({title:F,icon:j,schemaUid:k,tabSchemaName:R}))}),children:r("Add tab")}),[u,m,d==null?void 0:d.components,d==null?void 0:d.scope,r,p]),v=g.enableTabs,b=(0,import_react2.useMemo)(()=>({paddingLeft:n.paddingLG-n.paddingPageHorizontal,paddingRight:n.paddingLG-n.paddingPageHorizontal,marginLeft:n.paddingPageHorizontal-n.paddingLG,marginRight:n.paddingPageHorizontal-n.paddingLG}),[n.paddingLG,n.paddingPageHorizontal]),S=(0,import_react2.useMemo)(()=>{var y;return(y=g==null?void 0:g.children)==null?void 0:y.map(F=>{if(!F||F.hideInMenu)return null;const j={__route__:F};return{label:(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:F,children:(0,import_jsx_runtime.jsxs)(SortableItem,{id:String(F.id),className:(0,import_classnames.default)("nb-action-link","designerCss",e),schema:j,children:[F.icon&&(0,import_jsx_runtime.jsx)(Icon,{style:{marginRight:8},type:F.icon}),(0,import_jsx_runtime.jsx)("span",{children:F.title&&i(_(F.title))||r("Unnamed")}),(0,import_jsx_runtime.jsx)(PageTabDesigner,{})]})}),key:F.schemaUid}}).filter(Boolean)},[o,e,r,o.mapProperties(y=>y.title||r("Unnamed")).join(),g]),{onDragEnd:C}=useMenuDragEnd();return v?(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:C,children:(0,import_jsx_runtime.jsx)(import_antd.Tabs,{size:"small",activeKey:t,tabBarStyle:b,onChange:c,tabBarExtraContent:f,items:S})}):null},NocoBasePageHeader=import_react2.default.memo(({activeKey:e,className:t})=>{var o,r;const i=(0,import_react.useFieldSchema)(),{setTitle:n}=useDocumentTitle(),{t:a}=(0,import_react_i18next.useTranslation)(),{t:l}=useRouteTranslation(),[c,u]=(0,import_react2.useState)(()=>a(i.title)),m=(o=i["x-component-props"])==null?void 0:o.disablePageHeader,d=useCurrentRoute(),p=d.enableTabs,g=(r=i["x-component-props"])==null?void 0:r.hidePageTitle,{token:h}=useToken$1();return(0,import_react2.useEffect)(()=>{const _=a(i.title)||a(d==null?void 0:d.title);_&&(n(_),u(_))},[i.title,c,n,a,d==null?void 0:d.title]),(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(PageDesigner,{title:c}),!m&&(0,import_jsx_runtime.jsx)(import_pro_layout.PageHeader,{className:(0,import_classnames.default)("pageHeaderCss",c||p?"":"height0"),style:{paddingBottom:d.enableTabs||g?0:h.paddingSM},ghost:!1,title:g?" ":(!i.title&&c?l(c):c)||" ",footer:(0,import_jsx_runtime.jsx)(NocoBasePageHeaderTabs,{className:t,activeKey:e})})]})});NocoBasePageHeader.displayName="NocoBasePageHeader";function navigateToTab({activeKey:e,navigate:t,basename:o,pathname:r=window.location.pathname}){r=r.replace(o,""),r.endsWith("/")&&(r=r.slice(0,-1)),r.startsWith("/")||(r=`/${r}`),isTabPage(r)?t(withSearchParams(`${r.replace(/\/tabs\/[^/]+$/,`/tabs/${e}`)}`),{replace:!0}):t(withSearchParams(`${r}/tabs/${e}`),{replace:!0})}function isTabPage(e){e.endsWith("/")&&(e=e.slice(0,-1));const t=e.split("/");return t[t.length-2]==="tabs"}function getTabSchema({title:e,icon:t,schemaUid:o,tabSchemaName:r}){return{type:"void",name:r,title:e,"x-icon":t,"x-component":"Grid","x-initializer":"page:addBlock",properties:{},"x-uid":o,"x-async":!0}}function RouteSchemaComponent(){const e=useCurrentPageUid();return(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{onlyRenderProperties:!0,uid:e})}function useNotDisableHeader(){var e;return!((e=(0,import_react.useFieldSchema)()["x-component-props"])!=null&&e.disablePageHeader)}const pageSettings=new SchemaSettings({name:"PageSettings",items:[{name:"enablePageHeader",type:"switch",useComponentProps(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return{title:o("Enable page header"),checked:!((e=r["x-component-props"])!=null&&e.disablePageHeader),onChange(i){r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].disablePageHeader=!i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),t.refresh()}}}},{name:"divider",type:"divider",useVisible:useNotDisableHeader},{name:"displayPageTitle",type:"switch",useVisible:useNotDisableHeader,useComponentProps(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return{title:o("Display page title"),checked:!((e=r["x-component-props"])!=null&&e.hidePageTitle),onChange(i){r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].hidePageTitle=!i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),t.refresh()}}}},{name:"editPageTitle",type:"modal",useVisible(){var e;const t=useNotDisableHeader(),o=!((e=(0,import_react.useFieldSchema)()["x-component-props"])!=null&&e.hidePageTitle);return t&&o},useComponentProps(){const{dn:e}=useDesignable(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{title:i}=useSchemaToolbar();return{hide:!0,title:t("Edit page title"),schema:{type:"object",title:t("Edit page title"),properties:{title:{title:t("Title"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},initialValues:{title:i},onSubmit({title:n}){o.title=n,r.title=n,e.emit("patch",{schema:{"x-uid":r["x-uid"],title:n}})}}}},{name:"enablePageTabs",type:"switch",useVisible:useNotDisableHeader,useComponentProps(){const{dn:e}=useDesignable(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),r=useCurrentRoute(),{updateRoute:i}=useNocoBaseRoutes();return{title:t("Enable page tabs"),checked:r.enableTabs,onChange(n){return V(this,null,function*(){yield i(r.id,{enableTabs:n}),o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].enablePageTabs=n,e.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})})}}}}]}),pageTabSettings=new SchemaSettings({name:"PageTabSettings",items:[{name:"edit",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{updateRoute:t}=useNocoBaseRoutes(),o=useCurrentRoute();return{title:e("Edit"),schema:{type:"object",title:e("Edit tab"),properties:{title:{title:e("Tab name"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}},icon:{title:e("Icon"),"x-decorator":"FormItem","x-component":"IconPicker","x-component-props":{}}}},initialValues:{title:o.title,icon:o.icon},onSubmit:({title:r,icon:i})=>{t(o.id,{title:r,icon:i})}}}},{name:"hidden",type:"switch",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{updateRoute:t}=useNocoBaseRoutes(),o=useCurrentRoute();return{title:e("Hidden"),checked:o.hideInMenu,onChange:r=>{import_antd.Modal.confirm({title:e("Are you sure you want to hide this tab?"),icon:(0,import_jsx_runtime.jsx)(import_icons.ExclamationCircleFilled,{}),content:e("After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it."),onOk(){return V(this,null,function*(){yield t(o.id,{hideInMenu:!!r})})}})}}}},{name:"divider",type:"divider"},{name:"delete",type:"item",useComponentProps(){const{modal:e}=import_antd.App.useApp(),{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),{deleteRoute:r}=useNocoBaseRoutes(),i=useCurrentRoute(),n=useNavigateNoUpdate(),a=(0,import_react.useFieldSchema)();return{title:o("Delete"),eventKey:"remove",onClick(){e.confirm(P(x({title:o("Delete block"),content:o("Are you sure you want to delete it?")},confirm),{onOk(){return V(this,null,function*(){yield r(i.id),t.emit("remove",{removed:{"x-uid":i.schemaUid}}),window.location.pathname.includes(i.schemaUid)&&n(`/admin/${a["x-uid"]}`)})}}))},children:o("Delete")}}}]}),AntdSchemaComponentProvider=e=>{const{children:t}=e;return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{requestChartData,useFilterActionProps:useFilterActionProps$1},components:x(x({},components$2),common),children:t})};class AntdSchemaComponentPlugin extends Plugin{load(){return V(this,null,function*(){this.addComponents(),this.addScopes(),this.addSchemaSettings()})}addComponents(){this.app.addComponents(x(x({},components$2),common))}addScopes(){this.app.addScopes({requestChartData,useFilterActionProps:useFilterActionProps$1})}addSchemaSettings(){this.app.schemaSettingsManager.add(pageSettings),this.app.schemaSettingsManager.add(pageTabSettings),this.app.schemaSettingsManager.add(formItemSettings),this.app.schemaSettingsManager.add(filterFormItemSettings),this.app.schemaSettingsManager.add(formV1Settings),this.app.schemaSettingsManager.add(formSettings),this.app.schemaSettingsManager.add(readPrettyFormSettings),this.app.schemaSettingsManager.add(formDetailsSettings),this.app.schemaSettingsManager.add(actionSettings)}}function usePropsCollection({collection:e}){return e}function loadChildren(e){const t=getCollectionFieldOptions.call(this,e.field.target,e);return t.length&&t.some(o=>isAssociation(o.field))||(e.isLeaf=!0),t}function isAssociation(e){return e.target&&e.interface}function trueFilter(e){return!0}function getCollectionFieldOptions(e,t){const o=this.getCollectionFields(e).filter(isAssociation),r=loadChildren.bind(this);return o.filter(this.filter).map(i=>{var n,a,l;const c=t?`${t.value?`${t.value}.`:""}${i.name}`:i.name,u=(a=this.compile((n=i.uiSchema)==null?void 0:n.title))!=null?a:i.name,m=!this.getCollectionFields(i.target).filter(isAssociation).filter(this.filter).length;return{pId:(l=t==null?void 0:t.key)!=null?l:null,id:c,key:c,value:c,title:u,isLeaf:m,loadChildren:m?null:r,field:i,fullTitle:t?[...t.fullTitle,u]:[u]}})}const AppendsTreeSelect=e=>{const t=e,{title:o,value:r,onChange:i,collection:n,useCollection:a=usePropsCollection,filter:l=trueFilter,rootOption:c,loadData:u}=t,m=Y(t,["title","value","onChange","collection","useCollection","filter","rootOption","loadData"]),d=useCompile(),{t:p}=(0,import_react_i18next.useTranslation)(),[g,h]=(0,import_react2.useState)({}),_=a({collection:n}),[f,v]=parseCollectionName(_),b=useApp(),{collectionManager:S}=b.dataSourceManager.getDataSource(f),C=(O,D)=>{const T=S.getCollection(O);return T?T.getAllFields(D):[]},y=Object.values(g),F=(0,import_react2.useMemo)(()=>e.multiple?(r||[]).map(O=>g[O]).filter(Boolean):r,[r,e.multiple,g]),j=(0,import_react2.useCallback)(O=>V(void 0,null,function*(){if(u!=null)return u(O);if(!O.isLeaf&&O.loadChildren){const D=O.loadChildren(O);h(T=>D.reduce(($,B)=>Object.assign($,{[B.value]:B}),x({},T)))}}),[u]);(0,import_react2.useEffect)(()=>{const O=c?P(x({},c),{id:c.value,key:c.value,title:c.label,fullTitle:c.label,isLeaf:!1}):null,D=(u===null?[]:getCollectionFieldOptions.call({compile:d,getCollectionFields:C,filter:l},v,O)).reduce((T,$)=>Object.assign(T,{[$.value]:$}),{});O&&(D[O.value]=O),h(D)},[_,c,l,u]),(0,import_react2.useEffect)(()=>{const O=e.multiple?r:r?[r]:[];if(!(O!=null&&O.length)||O.every(T=>!!g[T]))return;const D=[];O.forEach(T=>{const $=T.split(".");let B=g[$[0]];for(let I=1;I<$.length&&B;I++){const M=$.slice(0,I+1).join(".");if(g[M]){B=g[M];break}if(!B.isLeaf&&B.loadChildren){const z=B.loadChildren(B);z!=null&&z.length&&(D.push(...z),B=z.find(E=>E.value===$.slice(0,I+1).join(".")))}}}),h(T=>D.reduce(($,B)=>Object.assign($,{[B.value]:B}),x({},T)))},[r,y.length,e.multiple]);const k=(0,import_react2.useCallback)(O=>{if(!e.multiple){i(O);return}const D=O.map(B=>B.value).filter(Boolean),T=new Set(D),$=F.find(B=>!T.has(B.value));if($){const B=`${$.value}.`;Object.keys(g).forEach(I=>{I.startsWith(B)&&T.delete(I)})}else D.forEach(B=>{const I=B.split(".");if(I.length)for(let M=1;M<=I.length;M++)T.add(I.slice(0,M).join("."))});i(Array.from(T))},[e.multiple,F,i,g]),R=(0,import_react2.useCallback)(O=>{var D;const{value:T,onClose:$,disabled:B,closable:I}=O;if(!T)return null;const{fullTitle:M}=(D=g[T])!=null?D:{};return(0,import_jsx_runtime.jsx)(import_antd.Tag,{closable:I&&!B,onClose:$,children:M==null?void 0:M.join(" / ")})},[g]),N=Array.isArray(F)?F.filter(O=>O.value in g):F,w=e.multiple?r:r!=null?[r]:[];return(0,import_jsx_runtime.jsx)(import_antd.TreeSelect,x({role:"button","data-testid":`select-field${o?`-${o}`:""}`,value:N,placeholder:p("Select field"),showCheckedStrategy:import_antd.TreeSelect.SHOW_ALL,treeDefaultExpandedKeys:w,allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close"})},treeCheckStrictly:e.multiple,treeCheckable:e.multiple,tagRender:R,onChange:k,treeDataSimpleMode:!0,treeData:y,loadData:j},m))},removeIfKeyEmpty=(e,t)=>!e||typeof e!="object"||!t||Array.isArray(e)||e[t]?e:void 0,AssociationFieldAddNewer=e=>{const t=(0,import_react2.useContext)(SchemaComponentContext);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},t),{draggable:!0}),children:(0,import_jsx_runtime.jsx)(Action.Container,x({},e))})},filterAnalyses=e=>{if(!e)return;const t=Object.keys(e)[0]||"$and",o=e[t],r=[];return o==null||o.map(i=>{var n,a,l;const c=getInnermostKeyAndValue(i);if(!(c!=null&&c.key))return!0;const u=/\{\{\$[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\.(\w+)\.id\}\}/,m=(l=(a=(n=c==null?void 0:c.value)==null?void 0:n.match)==null?void 0:a.call(n,u))==null?void 0:l[1];m&&r.push(m)}),r};function getFieldPath(e){const t=e.lastIndexOf(".");return t===-1?e:e.slice(0,t)}const InternalAssociationSelect$1=(0,import_react.observer)(e=>{var t;const o=e,{objectValue:r=!0,addMode:i}=o,n=Y(o,["objectValue","addMode"]),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useServiceOptions$1((l==null?void 0:l["x-component-props"])||e),{options:u}=useAssociationFieldContext(),m=isVariable$1(e.value)?void 0:e.value,d=Array.isArray(m)?m.filter(Boolean):m,[p,g]=(0,import_react2.useState)(d),h=(t=l["x-component-props"])==null?void 0:t.addMode,{t:_}=(0,import_react_i18next.useTranslation)(),{multiple:f}=e,v=(0,import_react.useForm)(),b=useAPIClient().resource(u.target),S=useCollectionRecordData(),C=(0,import_react2.useContext)(SchemaComponentContext),{getCollection:y}=useCollectionManager_deprecated(),F=y(u.target),{filterTargetKey:j}=F;(0,import_react2.useEffect)(()=>{const N=isVariable$1(a.value)?void 0:a.value,w=Array.isArray(N)?N.filter(Boolean):N,O=removeIfKeyEmpty(w,j);g(O),(0,import_lodash.isEqual)(a.value,O)||(a.value=O)},[a.value,j]),(0,import_react2.useEffect)(()=>{const N=(0,import_shared.uid)();return v.addEffects(N,()=>{(0,import_core.onFieldInputValueChange)("*",w=>{var O,D,T,$,B,I;const M=filterAnalyses((T=(D=(O=a.componentProps)==null?void 0:O.service)==null?void 0:D.params)==null?void 0:T.filter)||[],z=getFieldPath(w.address.entire),E=getFieldPath(a.address.entire);M.includes(($=w==null?void 0:w.props)==null?void 0:$.name)&&a.value&&(0,import_lodash.isEqual)(w==null?void 0:w.indexes,a==null?void 0:a.indexes)&&((B=w==null?void 0:w.props)==null?void 0:B.name)!==a.props.name&&(!((I=a==null?void 0:a.indexes)!=null&&I.length)||(0,import_lodash.isEqual)(z,E))&&(a.setValue(null),g(null))})}),()=>{v.removeEffects(N)}},[]);const k=N=>V(void 0,null,function*(){var w,O;const{search:D,callBack:T}=N,{data:{data:$}}=yield b.create({values:{[((O=(w=a==null?void 0:a.componentProps)==null?void 0:w.fieldNames)==null?void 0:O.label)||"id"]:D}});if($){if(["m2m","o2m"].includes(u==null?void 0:u.interface)&&f!==!1){const B=v.getValuesIn(a.path)||[];B.push($),v.setValuesIn(a.path,B),a.onInput(B)}else v.setValuesIn(a.path,$),a.onInput($);(0,import_mathjs.isFunction)(T)&&(T==null||T()),import_antd.message.success(_("Saved successfully"))}}),R=N=>(0,import_jsx_runtime.jsxs)("div",{onClick:()=>k(N),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),(0,import_jsx_runtime.jsx)("span",{style:{paddingLeft:5},children:_("Add")+` “${N.search}” `})]});return(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{style:{display:"flex"},children:[(0,import_jsx_runtime.jsx)(RemoteSelect,P(x({style:{width:"100%"}},n),{size:"middle",objectValue:r,value:removeIfKeyEmpty(d||p,j),service:c,onChange:N=>{var w;const O=Array.isArray(N)&&N.length===0?null:N;(w=e.onChange)==null||w.call(e,O)},CustomDropdownRender:h==="quickAdd"&&R})),h==="modalAdd"&&(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},C),{draggable:!1}),children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:!0,record:null,parent:S,children:(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:(0,import_jsx_runtime.jsx)(ClearCollectionFieldContext,{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:a.address,schema:l,filterProperties:N=>N["x-component"]==="Action"})})})})})]})},l.name)},{displayName:"AssociationSelect"}),AssociationSelect$1=InternalAssociationSelect$1;(0,import_react.connect)(e=>{const t=useServiceOptions$1(e);return e.fieldNames?(0,import_jsx_runtime.jsx)(RemoteSelect.ReadPretty,P(x({},e),{service:t})):null},(0,import_react.mapProps)({dataSource:"options",loading:!0},(e,t)=>P(x({},e),{fieldNames:e.fieldNames&&x(x({},e.fieldNames),t.componentProps.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})));const publicPath=window.__nocobase_dev_public_path__||window.__nocobase_public_path__||"/",UPLOAD_PLACEHOLDER=[{ext:/\.docx?$/i,icon:"/file-placeholder/docx-200-200.png"},{ext:/\.pptx?$/i,icon:"/file-placeholder/pptx-200-200.png"},{ext:/\.jpe?g$/i,icon:"/file-placeholder/jpeg-200-200.png"},{ext:/\.pdf$/i,icon:"/file-placeholder/pdf-200-200.png"},{ext:/\.png$/i,icon:"/file-placeholder/png-200-200.png"},{ext:/\.eps$/i,icon:"/file-placeholder/eps-200-200.png"},{ext:/\.ai$/i,icon:"/file-placeholder/ai-200-200.png"},{ext:/\.gif$/i,icon:"/file-placeholder/gif-200-200.png"},{ext:/\.svg$/i,icon:"/file-placeholder/svg-200-200.png"},{ext:/\.xlsx?$/i,icon:"/file-placeholder/xlsx-200-200.png"},{ext:/\.psd?$/i,icon:"/file-placeholder/psd-200-200.png"},{ext:/\.(wav|aif|aiff|au|mp1|mp2|mp3|ra|rm|ram|mid|rmi)$/i,icon:"/file-placeholder/audio-200-200.png"},{ext:/\.(avi|wmv|mpg|mpeg|vob|dat|3gp|mp4|mkv|rm|rmvb|mov|flv)$/i,icon:"/file-placeholder/video-200-200.png"},{ext:/\.(zip|rar|arj|z|gz|iso|jar|ace|tar|uue|dmg|pkg|lzh|cab)$/i,icon:"/file-placeholder/zip-200-200.png"}].map(e=>({ext:e.ext,icon:publicPath+e.icon.slice(1)})),UNKNOWN_FILE_ICON=publicPath+"file-placeholder/unknown-200-200.png",FILE_SIZE_LIMIT_DEFAULT=1024*1024*20;class AttachmentFileTypes{constructor(){A(this,"types",[])}add(t){this.types.unshift(t)}getTypeByFile(t){return this.types.find(o=>o.match(t))}}const attachmentFileTypes=new AttachmentFileTypes;function matchMimetype(e,t){if(!e)return!1;if(e.originFileObj)return(0,import_mime_match.default)(e.type,t);if(e.mimetype)return(0,import_mime_match.default)(e.mimetype,t);if(e.url){const[o]=e.url.split("?");return(0,import_mime_match.default)(import_mime.default.getType(o)||"",t)}return!1}const toArr$1=e=>(0,import_shared.isValid)(e)?Object.keys(e).length===0?[]:(0,import_shared.toArr)(e):[],testOpts=(e,t)=>t&&(0,import_shared.isArr)(t.include)?t.include.some(o=>e.test(o)):t&&(0,import_shared.isArr)(t.exclude)?!t.exclude.some(o=>e.test(o)):!0;function getThumbnailPlaceholderURL(e,t={}){for(let o=0;o<UPLOAD_PLACEHOLDER.length;o++)if(UPLOAD_PLACEHOLDER[o].ext.test(e.extname||e.filename||e.url||e.name))return testOpts(UPLOAD_PLACEHOLDER[o].ext,t)?UPLOAD_PLACEHOLDER[o].icon||UNKNOWN_FILE_ICON:e.name;return UNKNOWN_FILE_ICON}function getResponseMessage({error:e,response:t}){var o,r,i,n;if(e instanceof Error&&"isAxiosError"in e)return e.response?(i=(r=(o=e.response.data)==null?void 0:o.errors)==null?void 0:r.map)==null?void 0:i.call(r,l=>l==null?void 0:l.message).join(", "):e.message;if(!t)return"";if(typeof t=="string")return t;const{errors:a}=(n=t.data)!=null?n:{};return a!=null&&a.length?a.map(l=>l==null?void 0:l.message).join(", "):""}function normalizeFile(e){const t=getResponseMessage(e);return P(x({},e),{title:e.name,response:t})}function useUploadProps(e){const t=useAPIClient();return x({customRequest({action:o,data:r,file:i,filename:n,headers:a,onError:l,onProgress:c,onSuccess:u,withCredentials:m}){const d=new FormData;return r&&Object.keys(r).forEach(p=>{d.append(p,r[p])}),d.append(n,i),t.axios.post(o,d,{withCredentials:m,headers:a,onUploadProgress:({total:p,loaded:g})=>{c({percent:Math.round(g/p*100).toFixed(2)},i)}}).then(({data:p})=>{u(p,i)}).catch(l).finally(()=>{}),{abort(){console.log("upload progress is aborted.")}}}},e)}function toValueItem(e){return e}const toItem=e=>{var t;return typeof e=="string"?{url:e}:((t=e==null?void 0:e.response)!=null&&t.data&&(e=x({uid:e.uid},e.response.data)),P(x({},e),{id:e.id||e.uid,title:e.title||e.name}))},toFileList=e=>toArr$1(e).filter(Boolean).map(toItem),Rules={size(e,t){const o=t??FILE_SIZE_LIMIT_DEFAULT;return o===0||e.size<=o?null:"File size exceeds the limit"},mimetype(e,t="*"){const o=t.toString().trim();return!o||o==="*"||o.split(",").filter(Boolean).some((0,import_mime_match.default)(e.type))?null:"File type is not allowed"}};function validate(e,t){if(!t)return null;const o=Object.keys(t);if(!o.length)return null;for(const r of o){const i=Rules[r](e,t[r]);if(i)return i}return null}function useBeforeUpload(e){const{t}=(0,import_react_i18next.useTranslation)();return(0,import_react2.useCallback)(o=>{const r=validate(o,e);return r?(o.status="error",o.response=t(r)):o.status==="error"&&(delete o.status,delete o.response),!r},[e])}const useStyles$6=genStyleHook("upload",e=>{const{componentCls:t,antCls:o}=e;return{[`${t}-wrapper`]:{"&.nb-upload.nb-upload-small":{[`${t}-list-picture-card-container`]:{margin:"0 3px 3px 0 !important",height:"32px !important",width:"32px !important",marginBlock:"0 !important"},[`${t}-list-picture-card ${t}-list-item-name${t}-list-item-name`]:{display:"none !important"},[`${t}-list-picture ${t}-list-item, ${t}-list-picture-card ${t}-list-item`]:{borderRadius:"4px",padding:"1px !important",[`${t}-list-item-image`]:{borderRadius:"2px"}}},"&.nb-upload-large":{[`${t}-list-picture-card-container`]:{margin:"0 3px 3px 0 !important",height:"160px !important",width:"160px !important",marginBlock:"0 28px !important"}},"&.nb-upload":{[`${t}-list-item, ${t}-list-item-list-type-picture-card`]:{padding:"3px !important"},[`${t}-list-item-thumbnail`]:{img:{objectFit:"cover !important"}},[`${t}-list-item-actions`]:{left:"auto !important",right:"2px !important",top:"2px !important",transform:"none !important",width:"fit-content !important",[`${o}-btn-text:hover, ${o}-btn-text:focus`]:{background:"rgba(0, 0, 0, 0.4)"}},[`${t}-list-picture-card ${t}-list-item-info`]:{overflow:"inherit",width:"100%",height:"100%"},[`${t}-list-picture-card ${t}-list-item-name`]:{display:"block !important",marginTop:"5px",fontSize:"13px",color:"#636363"},[`${t}-list-picture-card ${t}-list-item::before`]:{display:"none !important"},[`${t}-list-picture-card ${t}-list-item-progress`]:{bottom:"calc(50% - 11px)",left:`${e.margin/2}px`,pointerEvents:"none"},[`${o}-btn`]:{background:"rgba(0, 0, 0, 0.5)"},[`${t}-list-picture-card-container`]:{}},[`${t}-list-item-error`]:{[`${t}-list-item-info img`]:{opacity:.6}},[`${t}-drag`]:{[`${t}-drag-container`]:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100%",ul:{color:e.colorTextSecondary,[`${t}-hint`]:{textAlign:"left"}}}}}}}),useUploadStyles=useStyles$6,LightBoxGlobalStyle=import_antd_style.createGlobalStyle`
|
|
888
888
|
.ReactModal__Overlay.ReactModal__Overlay--after-open {
|
|
889
889
|
z-index: 3000 !important; // 避免预览图片时被遮挡
|
|
890
890
|
}
|
|
@@ -893,7 +893,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
893
893
|
width: ${a}px !important;
|
|
894
894
|
height: ${a}px !important;
|
|
895
895
|
}
|
|
896
|
-
`),children:(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${m}-list`,`${m}-list-picture-card`),children:(0,import_jsx_runtime.jsx)(AttachmentList,x({disabled:i,readPretty:!0,multiple:n,value:o,onChange:r},l))})}))}const Upload=(0,import_react.connect)(InternalUpload,(0,import_react.mapProps)({value:"fileList"}),(0,import_react.mapReadPretty)(ReadPretty$9));Upload.ReadPretty=ReadPretty$9;function useSizeHint(e){const t=e??FILE_SIZE_LIMIT_DEFAULT,{t:o,i18n:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_filesize.default)(t,{base:2,standard:"jedec",locale:r.language});return t!==0?o("File size should not exceed {{size}}.",{size:i}):""}function DefaultThumbnailPreviewer({file:e}){var t;const{componentCls:o}=useStyles$6(),{getThumbnailURL:r=getThumbnailPlaceholderURL}=(t=attachmentFileTypes.getTypeByFile(e))!=null?t:{},i=r(e);return(0,import_jsx_runtime.jsx)("img",{src:i,alt:e.title,className:`${o}-list-item-image`})}function AttachmentListItem(e){var t,o;const{file:r,disabled:i,onPreview:n,onDelete:a,readPretty:l,showFileName:c}=e,{componentCls:u}=useStyles$6(),{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react2.useCallback)(b=>{b.preventDefault(),b.stopPropagation(),n==null||n(r)},[r,n]),p=(0,import_react2.useCallback)(()=>{a==null||a(r)},[r,a]),g=(0,import_react2.useCallback)(()=>{(0,import_file_saver.saveAs)(r.url,`${r.title}${r.extname}`)},[r]),{ThumbnailPreviewer:h=DefaultThumbnailPreviewer}=(t=attachmentFileTypes.getTypeByFile(r))!=null?t:{},_=[(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-thumbnail`,children:(0,import_jsx_runtime.jsx)(h,{file:r})},"thumbnail"),c!==!1&&r.title?(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-name`,title:r.title,children:r.status==="uploading"?m("Uploading"):r.title},"title"):null],f=r.url?(0,import_jsx_runtime.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:r.url,onClick:d,children:_}):(0,import_jsx_runtime.jsx)("span",{className:`${u}-span`,children:_}),v=(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${u}-list-item`,`${u}-list-item-${(o=r.status)!=null?o:"done"}`,`${u}-list-item-list-type-picture-card`),children:[(0,import_jsx_runtime.jsx)("div",{className:`${u}-list-item-info`,children:f}),(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-actions`,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:3,children:[!l&&r.url&&(0,import_jsx_runtime.jsx)(import_antd.Button,{size:"small",type:"text",icon:(0,import_jsx_runtime.jsx)(import_icons.DownloadOutlined,{}),onClick:g}),!l&&!i&&r.status!=="uploading"&&(0,import_jsx_runtime.jsx)(import_antd.Button,{size:"small",type:"text",icon:(0,import_jsx_runtime.jsx)(import_icons.DeleteOutlined,{}),onClick:p})]})}),r.status==="uploading"&&(0,import_jsx_runtime.jsx)("div",{className:`${u}-list-item-progress`,children:(0,import_jsx_runtime.jsx)(import_antd.Progress,{strokeWidth:4,type:"line",showInfo:!1,percent:Number(r.percent)})})]});return(0,import_jsx_runtime.jsx)("div",{style:{marginBottom:c!==!1&&r.title?"28px":"0px"},className:`${u}-list-picture-card-container ${u}-list-item-container`,children:r.status==="error"?(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:r.response,getPopupContainer:b=>b.parentNode,children:v}):v})}function Previewer({index:e,onSwitchIndex:t,list:o}){var r;if(e==null)return null;const i=o[e],{Previewer:n=IframePreviewer}=(r=attachmentFileTypes.getTypeByFile(i))!=null?r:{};return(0,import_jsx_runtime.jsx)(n,{index:e,list:o,onSwitchIndex:t})}function AttachmentList(e){const{disabled:t,multiple:o,value:r,onChange:i,readPretty:n,showFileName:a}=e,[l,c]=(0,import_react2.useState)([]),[u,m]=(0,import_react2.useState)(null);(0,import_react2.useEffect)(()=>{const g=toFileList(r);c(g)},[r]);const d=(0,import_react2.useCallback)(g=>{const h=l.findIndex(_=>_.id===g.id);m(h)},[l]),p=(0,import_react2.useCallback)(g=>{i(o?r.filter(h=>h.id!==g.id):null)},[o,i,r]);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[l.map((g,h)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:g,index:h,disabled:t,onPreview:d,onDelete:p,readPretty:n,showFileName:a},g.id||g.url)),(0,import_jsx_runtime.jsx)(Previewer,{index:u,onSwitchIndex:m,list:l})]})}function Uploader(e){var t=e,{rules:o}=t,r=Y(t,["rules"]);const{disabled:i,multiple:n,value:a,onChange:l,toValueItem:c=toValueItem}=r,[u,m]=(0,import_react2.useState)([]),[d,p]=(0,import_react2.useState)([]),{t:g}=(0,import_react_i18next.useTranslation)(),{componentCls:h}=useStyles$6(),_=(0,import_react.useField)(),f=useUploadProps(r),v=useBeforeUpload(o);(0,import_react2.useEffect)(()=>{if(d.length){const N=d.filter(w=>w.status==="error");_.setFeedback({type:"error",code:"ValidateError",messages:[N.length?g("Some files are not uploaded correctly, please check."):" "]})}else _.setFeedback({})},[_,d,g]);const b=(0,import_react2.useCallback)(N=>{var w;const O=N.fileList.filter(D=>D.status!=="done").map(normalizeFile);if(p(O),n){const D=N.fileList.filter(T=>T.status==="done");if(D.length){const T=[...u,...D.map($=>{var B;return c((B=$.response)==null?void 0:B.data)})];O.length?m(T):(l==null||l([...a||[],...T]),m([]))}}else{const D=N.fileList.find(T=>T.uid===N.file.uid);D.status==="done"&&(l==null||l(c((w=D.response)==null?void 0:w.data)),p([]))}},[n,a,u,c,l]),S=(0,import_react2.useCallback)(N=>{p(w=>{const O=w.indexOf(N);return w.splice(O,1),[...w]})},[]),C=(0,import_react2.useCallback)(N=>{m(w=>{const O=w.indexOf(N);return w.splice(O,1),[...w]})},[]),y=useComponent("QRCodeUploader"),{mimetype:F,size:j}=o??{},k=useSizeHint(j),R=!i&&(n||(!a||Array.isArray(a)&&!a.length)&&!d.length);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[u.map((N,w)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:N,index:w,disabled:i,onDelete:C},N.id)),d.map((N,w)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:N,index:w,disabled:i,onDelete:S},N.uid)),(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${h}-list-picture-card-container`,`${h}-list-item-container`),style:R?{}:{display:"none"},children:(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:k,children:(0,import_jsx_runtime.jsx)(import_antd.Upload,P(x({accept:F},f),{disabled:i,multiple:n,listType:"picture-card",fileList:d,beforeUpload:v,onChange:b,showUploadList:!1,children:R?(0,import_jsx_runtime.jsxs)("span",{children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),(0,import_jsx_runtime.jsx)("br",{})," ",g("Upload")]}):null}))})}),R&&y&&(0,import_jsx_runtime.jsx)(y,{disabled:i,multiple:n,value:a,onChange:l})]})}function Attachment(e){const{wrapSSR:t,hashId:o,componentCls:r}=useStyles$6();return t((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${r}-wrapper`,`${r}-picture-card-wrapper`,"nb-upload",o),children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${r}-list`,`${r}-list-picture-card`),children:[(0,import_jsx_runtime.jsx)(AttachmentList,x({},e)),(0,import_jsx_runtime.jsx)(Uploader,x({},e))]})}))}Attachment.ReadPretty=ReadPretty$9;Upload.Attachment=withDynamicSchemaProps((0,import_react.connect)(Attachment,(0,import_react.mapReadPretty)(Attachment.ReadPretty)),{displayName:"Upload.Attachment"});Upload.Dragger=(0,import_react.connect)(e=>{const t=e,{tipContent:o,onChange:r}=t,i=Y(t,["tipContent","onChange"]),{wrapSSR:n,hashId:a,componentCls:l}=useStyles$6(),c=(0,import_react2.useCallback)(u=>{r==null||r(toFileList(u.fileList))},[r]);return n((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${l}-dragger`,a),children:(0,import_jsx_runtime.jsxs)(import_antd.Upload.Dragger,P(x({},useUploadProps(i)),{onChange:c,children:[o,e.children]}))}))},(0,import_react.mapProps)({value:"fileList"}));Upload.DraggerV2=withDynamicSchemaProps((0,import_react.connect)(e=>{var t=e,{rules:o}=t,r=Y(t,["rules"]);const{t:i}=(0,import_react_i18next.useTranslation)(),n=i("Click or drag file to this area to upload"),a=useProps(r),{title:l=n}=a,c=Y(a,["title"]),[u,m]=(0,import_react2.useState)(!1),{wrapSSR:d,hashId:p,componentCls:g}=useStyles$6(),h=useBeforeUpload(o),{size:_,mimetype:f}=o??{},v=useSizeHint(_),b=(0,import_react2.useCallback)(({fileList:S})=>{const{onChange:C}=c;C==null||C(S),S.some(y=>y.status==="uploading")?m(!0):m(!1)},[c]);return d((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-dragger`,p),children:(0,import_jsx_runtime.jsxs)(import_antd.Upload.Dragger,P(x({},useUploadProps(P(x(x({},r),c),{accept:f,onChange:b,beforeUpload:h}))),{children:[(0,import_jsx_runtime.jsx)("p",{className:`${g}-drag-icon`,children:u?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{style:{fontSize:36},spin:!0}):(0,import_jsx_runtime.jsx)(import_icons.InboxOutlined,{})}),(0,import_jsx_runtime.jsx)("p",{className:`${g}-text`,children:l}),(0,import_jsx_runtime.jsxs)("ul",{children:[(0,import_jsx_runtime.jsx)("li",{className:`${g}-hint`,children:i("Support for a single or bulk upload.")}),(0,import_jsx_runtime.jsx)("li",{className:`${g}-hint`,children:v})]})]}))}))},(0,import_react.mapProps)({value:"fileList"})),{displayName:"Upload.DraggerV2"});const schema$1={Nester:{type:"void","x-component":"AssociationField.Nester",properties:{grid:{type:"void","x-component":"Grid","x-initializer":"form:configureFields"}}},AddNewer:{type:"void","x-component":"AssociationField.AddNewer","x-action":"create",title:'{{ t("Add record") }}',"x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab","x-initializer-props":{gridInitializer:"popup:addNew:addBlock"},properties:{tab1:{type:"void",title:'{{t("Add new")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:addNew:addBlock",properties:{}}}}}}}},Selector:{type:"void","x-component":"AssociationField.Selector",title:'{{ t("Select record") }}',"x-component-props":{className:"nb-record-picker-selector"},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:tableSelector:addBlock",properties:{}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:submit","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}},Viewer:{type:"void",title:'{{ t("View record") }}',"x-component":"AssociationField.Viewer","x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}},SubTable:{type:"void","x-component":"AssociationField.SubTable","x-initializer":"table:configureColumns","x-initializer-props":{action:!1},properties:{}}},useTableSelectorProps$3=()=>{const e=(0,import_react.useField)(),{multiple:t,options:o=[],setSelectedRows:r,selectedRows:i=[],onChange:n}=(0,import_react2.useContext)(RecordPickerContext),a=useTableSelectorProps$4(),{onRowSelectionChange:l,rowKey:c="id"}=a,u=Y(a,["onRowSelectionChange","rowKey"]),{setVisible:m}=useActionContext();return P(x({},u),{rowKey:c,rowSelection:{type:t?"checkbox":"radio",selectedRowKeys:i==null?void 0:i.filter(d=>o.every(p=>p[c]!==d[c])).map(d=>d[c])},onRowSelectionChange(d,p){if(t){const g=flatData$2(e.value)||[],h=(0,import_lodash.differenceBy)(i||[],g,c),_=(0,import_lodash.unionBy)(h,p,c),f=_.map(v=>v[c]);r==null||r(_),l==null||l(f,_)}else r==null||r(p),l==null||l(d,p),n((p==null?void 0:p[0])||null),m(!1)}})};function FileSelector(e){const t=e,{disabled:o,multiple:r,value:i,onChange:n,action:a,onSelect:l,quickUpload:c,selectFile:u}=t,m=Y(t,["disabled","multiple","value","onChange","action","onSelect","quickUpload","selectFile"]),{wrapSSR:d,hashId:p,componentCls:g}=useStyles$6(),{useFileCollectionStorageRules:h,useAttachmentFieldProps:_}=(0,import_react.useExpressionScope)(),{t:f}=(0,import_react_i18next.useTranslation)(),v=h(),b=_(),S=u===void 0&&c===void 0;return d((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-wrapper`,`${g}-picture-card-wrapper`,"nb-upload",p),children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${g}-list`,`${g}-list-picture-card`),children:[(0,import_jsx_runtime.jsx)(AttachmentList,x({disabled:o,multiple:r,value:i,onChange:n},m)),S?(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-list-picture-card-container`,`${g}-list-item-container`),children:(0,import_jsx_runtime.jsx)(import_antd.Upload,{disabled:o,multiple:r,listType:"picture-card",showUploadList:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},onClick:l,children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),f("Select")]})})}):null,c?(0,import_jsx_runtime.jsx)(Uploader,x(P(x({},b),{value:i,multiple:r,onChange:n,action:a,rules:v,disabled:o}),m)):null,u&&(r||!i)?(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-list-picture-card-container`,`${g}-list-item-container`),children:(0,import_jsx_runtime.jsx)(import_antd.Upload,{disabled:o,multiple:r,listType:"picture-card",showUploadList:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},onClick:l,children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),f("Select")]})})}):null]})}))}const InternalFileManager=e=>{var t,o;const r=e,{value:i,multiple:n,onChange:a}=r,l=Y(r,["value","multiple","onChange"]),c=(0,import_react.useFieldSchema)(),[u,m]=(0,import_react2.useState)(!1),[d,p]=(0,import_react2.useState)([]),g=useInsertSchema$1("Selector"),h=useFieldNames$1(e),{designable:_}=useDesignable(),f=(0,import_react.useField)(),[v,b]=(0,import_react2.useState)([]),{getField:S}=useCollection_deprecated(),C=S(f.props.name),y=useLabelUiSchema$1(C==null?void 0:C.target,(h==null?void 0:h.label)||"label"),F=useCompile(),{modalProps:j}=useActionContext(),k=w=>{w.stopPropagation(),w.preventDefault(),_?g(schema$1.Selector):c.reduceProperties((O,D)=>D["x-component"]==="AssociationField.Selector"?D:O,null)||c.addProperty("selector",schema$1.Selector),m(!0),p([])};(0,import_react2.useEffect)(()=>{if(i&&Object.keys(i).length>0){const w=(Array.isArray(i)?i:i?[i]:[]).filter(Boolean).map(O=>{const D=O[h.label];return P(x({},O),{[h.label]:getLabelFormatValue$1(F(y),F(D))})});b(w)}else b([])},[i,h==null?void 0:h.label]);const R={size:"small",fieldNames:h,multiple:["o2m","m2m","mbm"].includes(C==null?void 0:C.interface)&&n,association:{target:C==null?void 0:C.target},options:v,onChange:e==null?void 0:e.onChange,selectedRows:d,setSelectedRows:p,collectionField:C},N=()=>{const{setVisible:w}=useActionContext(),{multiple:O,selectedRows:D,onChange:T,options:$,collectionField:B}=(0,import_react2.useContext)(RecordPickerContext);return{onClick(){T(O?(0,import_lodash.unionBy)(D,$,(B==null?void 0:B.targetKey)||"id"):(D==null?void 0:D[0])||null),w(!1)}}};return(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",overflow:"auto"},children:[(0,import_jsx_runtime.jsx)(FileSelector,P(x({},l),{value:n?v:v==null?void 0:v[0],multiple:n,quickUpload:((t=c["x-component-props"])==null?void 0:t.quickUpload)!==!1,selectFile:((o=c["x-component-props"])==null?void 0:o.selectFile)!==!1,action:`${C==null?void 0:C.target}:create`,onSelect:k,onChange:a})),(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:{openMode:"drawer",visible:u,setVisible:m,modalProps:{getContainer:(l==null?void 0:l.getContainer)||(j==null?void 0:j.getContainer)},formValueChanged:!1},children:(0,import_jsx_runtime.jsx)(RecordPickerProvider,P(x({},R),{children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{name:C==null?void 0:C.target,children:(0,import_jsx_runtime.jsx)(FormProvider,{children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{},children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{usePickActionProps:N,useTableSelectorProps:useTableSelectorProps$3},children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:f.address,schema:c,filterProperties:w=>w["x-component"]==="AssociationField.Selector"})})})})})}))})]})},FileManageReadPretty=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)(),{getField:o}=useCollection_deprecated(),{getCollectionJoinField:r}=useCollectionManager_deprecated(),i=o(t.name)||r(t["x-collection-field"]);return(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:!0,children:i?(0,import_jsx_runtime.jsx)(Upload.ReadPretty,x({},e)):null})}),EMPTY="N/A",SchemaField=(0,import_react.createSchemaField)({components:{Space:import_antd.Space,Input:import_antd.Input,ArrayItems:import_antd_v5.ArrayItems,FormItem:import_antd_v5.FormItem}}),CascadeSelect=(0,import_react.connect)(e=>{var t;const{data:o,mapOptions:r,onChange:i,value:n}=e,[a,l]=(0,import_react2.useState)([{key:void 0,children:[],value:null}]),[c,u]=(0,import_react2.useState)(o),[m,d]=(0,import_react2.useState)(!1),p=useCompile(),g=useAPIClient(),h=useServiceOptions$1(e),{options:_,field:f}=useAssociationFieldContext(),v=g.resource(_.target),{getCollectionJoinField:b,getInterface:S}=useCollectionManager_deprecated(),C=(t=f==null?void 0:f.componentProps)==null?void 0:t.fieldNames,y=(_==null?void 0:_.target)&&(C==null?void 0:C.label)&&b(`${_.target}.${C.label}`),F=(0,import_react2.useMemo)(()=>{var D,T;return y!=null&&y.interface&&((T=(D=S(y.interface))==null?void 0:D.filterable)==null?void 0:T.operators[0].value)||"$includes"},[y]),j=(0,import_react.useField)();(0,import_react2.useEffect)(()=>{var D;if(n){const T=Array.isArray(n)?extractLastNonNullValueObjects(n==null?void 0:n.filter(B=>B.value),!0):transformNestedData(n),$=(D=T==null?void 0:T.map)==null?void 0:D.call(T,B=>({key:B.parentId,children:[],value:B}));l($)}},[]);const k=(0,import_react2.useCallback)(D=>{try{return D==null?void 0:D.filter(T=>["number","string"].includes(typeof T[C.value])).map(T=>{var $,B,I;let M=p(T[C.label]);if(($=y==null?void 0:y.uiSchema)!=null&&$.enum)if(Array.isArray(M))M=M.map((z,E)=>{var L,U;const q=(U=(L=y.uiSchema.enum).find)==null?void 0:U.call(L,G=>G.value===z);return q?(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:q.color,style:{marginRight:3},children:(q==null?void 0:q.label)||z},E):(0,import_jsx_runtime.jsx)(import_antd.Tag,{children:z},z)}).reverse();else{const z=(I=(B=y.uiSchema.enum).find)==null?void 0:I.call(B,E=>E.value===M);z&&(M=(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:z.color,children:z.label}))}return(y==null?void 0:y.type)==="date"&&(M=(0,import_dayjs.default)(M).format("YYYY-MM-DD")),r?r({[C.label]:M||EMPTY,[C.value]:T[C.value]}):P(x({},T),{[C.label]:M||EMPTY,[C.value]:T[C.value]})}).filter(Boolean)}catch(T){return console.error(T),D}},[y==null?void 0:y.uiSchema,C]),R=D=>V(void 0,null,function*(){var T,$;const B=yield v.list({pageSize:200,params:h==null?void 0:h.params,filter:mergeFilter([D,(T=h==null?void 0:h.params)==null?void 0:T.filter]),tree:D.parentId?void 0:!0});return($=B==null?void 0:B.data)==null?void 0:$.data}),N=(D,T,$)=>V(void 0,null,function*(){const B=yield R({parentId:T==null?void 0:T.id}),I=[...a];if(I.splice($+1),I[$]=P(x({},I[$]),{value:T}),T!=null&&T.id&&(I[$+1]={key:T==null?void 0:T.id,children:(B==null?void 0:B.length)>0?B:null}),l(I),["o2m","m2m"].includes(_.interface)){const M=Array.isArray(f.fieldValue)?f.fieldValue:[];M[j.index]=T,f.fieldValue=M}else f.value=T;I.length===1&&!I[0].value?i==null||i(null):i==null||i(I)}),w=(D,T,$)=>V(void 0,null,function*(){var B,I,M;if(D){d(!0);const z=yield R({parentId:T==null?void 0:T.key});if(d(!1),u(z),$===(a==null?void 0:a.length)-1&&(B=T==null?void 0:T.value)!=null&&B.id){const E=yield R({parentId:(I=T==null?void 0:T.value)==null?void 0:I.id}),L=[...a];L.splice($+1),L[$]=P(x({},L[$]),{value:T==null?void 0:T.value}),L[$+1]={key:(M=T==null?void 0:T.value)==null?void 0:M.id,children:(E==null?void 0:E.length)>0?E:null},l(L),i==null||i(L)}}}),O=(D,T)=>V(void 0,null,function*(){const $=D?{[C.label]:{[F]:D}}:{};d(!0);const B=yield R(P(x({},$),{parentId:T==null?void 0:T.key}));d(!1),u(B)});return(0,import_jsx_runtime.jsx)(import_antd.Space,{wrap:!0,children:a.map((D,T)=>{var $,B,I;return D.children&&(0,import_jsx_runtime.jsx)(import_antd.Select,{disabled:f.disabled,allowClear:!0,showSearch:!0,autoClearSearchValue:!0,filterOption:!1,filterSort:null,defaultValue:{label:($=D==null?void 0:D.value)==null?void 0:$[C.label],value:(B=D==null?void 0:D.value)==null?void 0:B[C.value]},labelInValue:!0,onSearch:M=>O(M,D),fieldNames:C,style:{minWidth:150},onChange:(M,z)=>N(M,z,T),options:m?[]:k(c),onDropdownVisibleChange:M=>w(M,D,T),notFoundContent:m?(0,import_jsx_runtime.jsx)(import_antd.Spin,{size:"small"}):null},`${(I=D.value)==null?void 0:I.id}+ ${D.key} + ${C.label}`)})})}),AssociationCascadeSelect=(0,import_react.connect)(e=>(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(CascadeSelect,x({},e))})),InternalCascadeSelect=(0,import_react.observer)(e=>{var t;const{options:o}=useAssociationFieldContext(),r=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[]),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),{loading:l,data:c}=useDataBlockRequest()||{},u=(t=c==null?void 0:c.data)==null?void 0:t[a.name],m=(0,import_lodash.debounce)(p=>{var g,h;if(o.interface==="m2o"){const _=extractLastNonNullValueObjects((g=p.values)==null?void 0:g[a.name]);setTimeout(()=>{p.setValuesIn(a.name,_),n.value=_})}else{const _=extractLastNonNullValueObjects((h=p.values)==null?void 0:h.select_array).filter(f=>f&&Object.keys(f).length>0);setTimeout(()=>{n.value=_})}},300);(0,import_react2.useEffect)(()=>{const p=(0,import_shared.uid)();return r.addEffects(p,()=>{(0,import_core.onFormValuesChange)(g=>{m(g)})}),()=>{r.removeEffects(p),m.cancel()}},[]);const d={type:"object",properties:{select_array:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",default:Array.isArray(u)&&u.length>0?u:[{}],items:{type:"void","x-component":"Space","x-component-props":{style:{width:"100%",display:"flex"},className:import_css.css`
|
|
896
|
+
`),children:(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${m}-list`,`${m}-list-picture-card`),children:(0,import_jsx_runtime.jsx)(AttachmentList,x({disabled:i,readPretty:!0,multiple:n,value:o,onChange:r},l))})}))}const Upload=(0,import_react.connect)(InternalUpload,(0,import_react.mapProps)({value:"fileList"}),(0,import_react.mapReadPretty)(ReadPretty$9));Upload.ReadPretty=ReadPretty$9;function useSizeHint(e){const t=e??FILE_SIZE_LIMIT_DEFAULT,{t:o,i18n:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_filesize.default)(t,{base:2,standard:"jedec",locale:r.language});return t!==0?o("File size should not exceed {{size}}.",{size:i}):""}function DefaultThumbnailPreviewer({file:e}){var t;const{componentCls:o}=useStyles$6(),{getThumbnailURL:r=getThumbnailPlaceholderURL}=(t=attachmentFileTypes.getTypeByFile(e))!=null?t:{},i=r(e);return(0,import_jsx_runtime.jsx)("img",{src:i,alt:e.title,className:`${o}-list-item-image`})}function AttachmentListItem(e){var t,o;const{file:r,disabled:i,onPreview:n,onDelete:a,readPretty:l,showFileName:c}=e,{componentCls:u}=useStyles$6(),{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react2.useCallback)(b=>{b.preventDefault(),b.stopPropagation(),n==null||n(r)},[r,n]),p=(0,import_react2.useCallback)(()=>{a==null||a(r)},[r,a]),g=(0,import_react2.useCallback)(()=>{(0,import_file_saver.saveAs)(r.url,`${r.title}${r.extname}`)},[r]),{ThumbnailPreviewer:h=DefaultThumbnailPreviewer}=(t=attachmentFileTypes.getTypeByFile(r))!=null?t:{},_=[(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-thumbnail`,children:(0,import_jsx_runtime.jsx)(h,{file:r})},"thumbnail"),c!==!1&&r.title?(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-name`,title:r.title,children:r.status==="uploading"?m("Uploading"):r.title},"title"):null],f=r.url?(0,import_jsx_runtime.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:r.url,onClick:d,children:_}):(0,import_jsx_runtime.jsx)("span",{className:`${u}-span`,children:_}),v=(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${u}-list-item`,`${u}-list-item-${(o=r.status)!=null?o:"done"}`,`${u}-list-item-list-type-picture-card`),children:[(0,import_jsx_runtime.jsx)("div",{className:`${u}-list-item-info`,children:f}),(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-actions`,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:3,children:[!l&&r.url&&(0,import_jsx_runtime.jsx)(import_antd.Button,{size:"small",type:"text",icon:(0,import_jsx_runtime.jsx)(import_icons.DownloadOutlined,{}),onClick:g}),!l&&!i&&r.status!=="uploading"&&(0,import_jsx_runtime.jsx)(import_antd.Button,{size:"small",type:"text",icon:(0,import_jsx_runtime.jsx)(import_icons.DeleteOutlined,{}),onClick:p})]})}),r.status==="uploading"&&(0,import_jsx_runtime.jsx)("div",{className:`${u}-list-item-progress`,children:(0,import_jsx_runtime.jsx)(import_antd.Progress,{strokeWidth:4,type:"line",showInfo:!1,percent:Number(r.percent)})})]});return(0,import_jsx_runtime.jsx)("div",{style:{marginBottom:c!==!1&&r.title?"28px":"0px"},className:`${u}-list-picture-card-container ${u}-list-item-container`,children:r.status==="error"?(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:r.response,getPopupContainer:b=>b.parentNode,children:v}):v})}function Previewer({index:e,onSwitchIndex:t,list:o}){var r;if(e==null)return null;const i=o[e],{Previewer:n=IframePreviewer}=(r=attachmentFileTypes.getTypeByFile(i))!=null?r:{};return(0,import_jsx_runtime.jsx)(n,{index:e,list:o,onSwitchIndex:t})}function AttachmentList(e){const{disabled:t,multiple:o,value:r,onChange:i,readPretty:n,showFileName:a}=e,[l,c]=(0,import_react2.useState)([]),[u,m]=(0,import_react2.useState)(null);(0,import_react2.useEffect)(()=>{const g=toFileList(r);c(g)},[r]);const d=(0,import_react2.useCallback)(g=>{const h=l.findIndex(_=>_.id===g.id);m(h)},[l]),p=(0,import_react2.useCallback)(g=>{i(o?r.filter(h=>h.id!==g.id):null)},[o,i,r]);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[l.map((g,h)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:g,index:h,disabled:t,onPreview:d,onDelete:p,readPretty:n,showFileName:a},g.id||g.url)),(0,import_jsx_runtime.jsx)(Previewer,{index:u,onSwitchIndex:m,list:l})]})}function Uploader(e){var t=e,{rules:o}=t,r=Y(t,["rules"]);const{disabled:i,multiple:n,value:a,onChange:l,toValueItem:c=toValueItem}=r,[u,m]=(0,import_react2.useState)([]),[d,p]=(0,import_react2.useState)([]),{t:g}=(0,import_react_i18next.useTranslation)(),{componentCls:h}=useStyles$6(),_=(0,import_react.useField)(),f=useUploadProps(r),v=useBeforeUpload(o);(0,import_react2.useEffect)(()=>{if(d.length){const N=d.filter(w=>w.status==="error");_.setFeedback({type:"error",code:"ValidateError",messages:[N.length?g("Some files are not uploaded correctly, please check."):" "]})}else _.setFeedback({})},[_,d,g]);const b=(0,import_react2.useCallback)(N=>{var w;const O=N.fileList.filter(D=>D.status!=="done").map(normalizeFile);if(p(O),n){const D=N.fileList.filter(T=>T.status==="done");if(D.length){const T=[...u,...D.map($=>{var B;return c((B=$.response)==null?void 0:B.data)})];O.length?m(T):(l==null||l([...a||[],...T]),m([]))}}else{const D=N.fileList.find(T=>T.uid===N.file.uid);D.status==="done"&&(l==null||l(c((w=D.response)==null?void 0:w.data)),p([]))}},[n,a,u,c,l]),S=(0,import_react2.useCallback)(N=>{p(w=>{const O=w.indexOf(N);return w.splice(O,1),[...w]})},[]),C=(0,import_react2.useCallback)(N=>{m(w=>{const O=w.indexOf(N);return w.splice(O,1),[...w]})},[]),y=useComponent("QRCodeUploader"),{mimetype:F,size:j}=o??{},k=useSizeHint(j),R=!i&&(n||(!a||Array.isArray(a)&&!a.length)&&!d.length);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[u.map((N,w)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:N,index:w,disabled:i,onDelete:C},N.id)),d.map((N,w)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:N,index:w,disabled:i,onDelete:S},N.uid)),(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${h}-list-picture-card-container`,`${h}-list-item-container`),style:R?{}:{display:"none"},children:(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:k,children:(0,import_jsx_runtime.jsx)(import_antd.Upload,P(x({accept:F},f),{disabled:i,multiple:n,listType:"picture-card",fileList:d,beforeUpload:v,onChange:b,showUploadList:!1,children:R?(0,import_jsx_runtime.jsxs)("span",{children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),(0,import_jsx_runtime.jsx)("br",{})," ",g("Upload")]}):null}))})}),R&&y&&(0,import_jsx_runtime.jsx)(y,{disabled:i,multiple:n,value:a,onChange:l})]})}function Attachment(e){const{wrapSSR:t,hashId:o,componentCls:r}=useStyles$6();return t((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${r}-wrapper`,`${r}-picture-card-wrapper`,"nb-upload",o),children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${r}-list`,`${r}-list-picture-card`),children:[(0,import_jsx_runtime.jsx)(AttachmentList,x({},e)),(0,import_jsx_runtime.jsx)(Uploader,x({},e))]})}))}Attachment.ReadPretty=ReadPretty$9;Upload.Attachment=withDynamicSchemaProps((0,import_react.connect)(Attachment,(0,import_react.mapReadPretty)(Attachment.ReadPretty)),{displayName:"Upload.Attachment"});Upload.Dragger=(0,import_react.connect)(e=>{const t=e,{tipContent:o,onChange:r}=t,i=Y(t,["tipContent","onChange"]),{wrapSSR:n,hashId:a,componentCls:l}=useStyles$6(),c=(0,import_react2.useCallback)(u=>{r==null||r(toFileList(u.fileList))},[r]);return n((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${l}-dragger`,a),children:(0,import_jsx_runtime.jsxs)(import_antd.Upload.Dragger,P(x({},useUploadProps(i)),{onChange:c,children:[o,e.children]}))}))},(0,import_react.mapProps)({value:"fileList"}));Upload.DraggerV2=withDynamicSchemaProps((0,import_react.connect)(e=>{var t=e,{rules:o}=t,r=Y(t,["rules"]);const{t:i}=(0,import_react_i18next.useTranslation)(),n=i("Click or drag file to this area to upload"),a=useProps(r),{title:l=n}=a,c=Y(a,["title"]),[u,m]=(0,import_react2.useState)(!1),{wrapSSR:d,hashId:p,componentCls:g}=useStyles$6(),h=useBeforeUpload(o),{size:_,mimetype:f}=o??{},v=useSizeHint(_),b=(0,import_react2.useCallback)(({fileList:S})=>{const{onChange:C}=c;C==null||C(S),S.some(y=>y.status==="uploading")?m(!0):m(!1)},[c]);return d((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-dragger`,p),children:(0,import_jsx_runtime.jsxs)(import_antd.Upload.Dragger,P(x({},useUploadProps(P(x(x({},r),c),{accept:f,onChange:b,beforeUpload:h}))),{children:[(0,import_jsx_runtime.jsx)("p",{className:`${g}-drag-icon`,children:u?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{style:{fontSize:36},spin:!0}):(0,import_jsx_runtime.jsx)(import_icons.InboxOutlined,{})}),(0,import_jsx_runtime.jsx)("p",{className:`${g}-text`,children:l}),(0,import_jsx_runtime.jsxs)("ul",{children:[(0,import_jsx_runtime.jsx)("li",{className:`${g}-hint`,children:i("Support for a single or bulk upload.")}),(0,import_jsx_runtime.jsx)("li",{className:`${g}-hint`,children:v})]})]}))}))},(0,import_react.mapProps)({value:"fileList"})),{displayName:"Upload.DraggerV2"});const schema$1={Nester:{type:"void","x-component":"AssociationField.Nester",properties:{grid:{type:"void","x-component":"Grid","x-initializer":"form:configureFields"}}},AddNewer:{type:"void","x-component":"AssociationField.AddNewer","x-action":"create",title:'{{ t("Add record") }}',"x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab","x-initializer-props":{gridInitializer:"popup:addNew:addBlock"},properties:{tab1:{type:"void",title:'{{t("Add new")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:addNew:addBlock",properties:{}}}}}}}},Selector:{type:"void","x-component":"AssociationField.Selector",title:'{{ t("Select record") }}',"x-component-props":{className:"nb-record-picker-selector"},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:tableSelector:addBlock",properties:{}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:submit","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}},Viewer:{type:"void",title:'{{ t("View record") }}',"x-component":"AssociationField.Viewer","x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}},SubTable:{type:"void","x-component":"AssociationField.SubTable","x-initializer":"table:configureColumns","x-initializer-props":{action:!1},properties:{}}},useTableSelectorProps$3=()=>{const e=(0,import_react.useField)(),{multiple:t,options:o=[],setSelectedRows:r,selectedRows:i=[],onChange:n}=(0,import_react2.useContext)(RecordPickerContext),a=useTableSelectorProps$4(),{onRowSelectionChange:l,rowKey:c="id"}=a,u=Y(a,["onRowSelectionChange","rowKey"]),{setVisible:m}=useActionContext();return P(x({},u),{rowKey:c,rowSelection:{type:t?"checkbox":"radio",selectedRowKeys:i==null?void 0:i.filter(d=>o.every(p=>p[c]!==d[c])).map(d=>d[c])},onRowSelectionChange(d,p){if(t){const g=flatData$2(e.value)||[],h=(0,import_lodash.differenceBy)(i||[],g,c),_=(0,import_lodash.unionBy)(h,p,c),f=_.map(v=>v[c]);r==null||r(_),l==null||l(f,_)}else r==null||r(p),l==null||l(d,p),n((p==null?void 0:p[0])||null),m(!1)}})};function FileSelector(e){const t=e,{disabled:o,multiple:r,value:i,onChange:n,action:a,onSelect:l,quickUpload:c,selectFile:u}=t,m=Y(t,["disabled","multiple","value","onChange","action","onSelect","quickUpload","selectFile"]),{wrapSSR:d,hashId:p,componentCls:g}=useStyles$6(),{useFileCollectionStorageRules:h,useAttachmentFieldProps:_}=(0,import_react.useExpressionScope)(),{t:f}=(0,import_react_i18next.useTranslation)(),v=h(),b=_(),S=u===void 0&&c===void 0;return d((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-wrapper`,`${g}-picture-card-wrapper`,"nb-upload",p),children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${g}-list`,`${g}-list-picture-card`),children:[(0,import_jsx_runtime.jsx)(AttachmentList,x({disabled:o,multiple:r,value:i,onChange:n},m)),S?(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-list-picture-card-container`,`${g}-list-item-container`),children:(0,import_jsx_runtime.jsx)(import_antd.Upload,{disabled:o,multiple:r,listType:"picture-card",showUploadList:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},onClick:l,children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),f("Select")]})})}):null,c?(0,import_jsx_runtime.jsx)(Uploader,x(P(x({},b),{value:i,multiple:r,onChange:n,action:a,rules:v,disabled:o}),m)):null,u&&(r||!i)?(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-list-picture-card-container`,`${g}-list-item-container`),children:(0,import_jsx_runtime.jsx)(import_antd.Upload,{disabled:o,multiple:r,listType:"picture-card",showUploadList:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},onClick:l,children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),f("Select")]})})}):null]})}))}const InternalFileManager=e=>{var t,o;const r=e,{value:i,multiple:n,onChange:a}=r,l=Y(r,["value","multiple","onChange"]),c=(0,import_react.useFieldSchema)(),[u,m]=(0,import_react2.useState)(!1),[d,p]=(0,import_react2.useState)([]),g=useInsertSchema$1("Selector"),h=useFieldNames$1(e),{designable:_}=useDesignable(),f=(0,import_react.useField)(),[v,b]=(0,import_react2.useState)([]),{getField:S}=useCollection_deprecated(),C=S(f.props.name),y=useLabelUiSchema$1(C==null?void 0:C.target,(h==null?void 0:h.label)||"label"),F=useCompile(),{modalProps:j}=useActionContext(),k=w=>{w.stopPropagation(),w.preventDefault(),_?g(schema$1.Selector):c.reduceProperties((O,D)=>D["x-component"]==="AssociationField.Selector"?D:O,null)||c.addProperty("selector",schema$1.Selector),m(!0),p([])};(0,import_react2.useEffect)(()=>{if(i&&Object.keys(i).length>0){const w=(Array.isArray(i)?i:i?[i]:[]).filter(Boolean).map(O=>{const D=O[h.label];return P(x({},O),{[h.label]:getLabelFormatValue$1(F(y),F(D))})});b(w)}else b([])},[i,h==null?void 0:h.label]);const R={size:"small",fieldNames:h,multiple:["o2m","m2m","mbm"].includes(C==null?void 0:C.interface)&&n,association:{target:C==null?void 0:C.target},options:v,onChange:e==null?void 0:e.onChange,selectedRows:d,setSelectedRows:p,collectionField:C},N=()=>{const{setVisible:w}=useActionContext(),{multiple:O,selectedRows:D,onChange:T,options:$,collectionField:B}=(0,import_react2.useContext)(RecordPickerContext);return{onClick(){T(O?(0,import_lodash.unionBy)(D,$,(B==null?void 0:B.targetKey)||"id"):(D==null?void 0:D[0])||null),w(!1)}}};return(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",overflow:"auto"},children:[(0,import_jsx_runtime.jsx)(FileSelector,P(x({},l),{value:n?v:v==null?void 0:v[0],multiple:n,quickUpload:((t=c["x-component-props"])==null?void 0:t.quickUpload)!==!1,selectFile:((o=c["x-component-props"])==null?void 0:o.selectFile)!==!1,action:`${C==null?void 0:C.target}:create`,onSelect:k,onChange:a})),(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:{openMode:"drawer",visible:u,setVisible:m,modalProps:{getContainer:(l==null?void 0:l.getContainer)||(j==null?void 0:j.getContainer)},formValueChanged:!1},children:(0,import_jsx_runtime.jsx)(RecordPickerProvider,P(x({},R),{children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{name:C==null?void 0:C.target,children:(0,import_jsx_runtime.jsx)(FormProvider,{children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{},children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{usePickActionProps:N,useTableSelectorProps:useTableSelectorProps$3},children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:f.address,schema:c,filterProperties:w=>w["x-component"]==="AssociationField.Selector"})})})})})}))})]})},FileManageReadPretty=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)(),{getField:o}=useCollection_deprecated(),{getCollectionJoinField:r}=useCollectionManager_deprecated(),i=o(t.name)||r(t["x-collection-field"]);return(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:!0,children:i?(0,import_jsx_runtime.jsx)(Upload.ReadPretty,x({},e)):null})}),EMPTY="N/A",SchemaField=(0,import_react.createSchemaField)({components:{Space:import_antd.Space,Input:import_antd.Input,ArrayItems:import_antd_v5.ArrayItems,FormItem:import_antd_v5.FormItem}}),CascadeSelect=(0,import_react.connect)(e=>{var t;const{data:o,mapOptions:r,onChange:i,value:n}=e,[a,l]=(0,import_react2.useState)([{key:void 0,children:[],value:null}]),[c,u]=(0,import_react2.useState)(o),[m,d]=(0,import_react2.useState)(!1),p=useCompile(),g=useAPIClient(),h=useServiceOptions$1(e),{options:_,field:f}=useAssociationFieldContext(),v=g.resource(_.target),{getCollectionJoinField:b,getInterface:S}=useCollectionManager_deprecated(),C=(t=f==null?void 0:f.componentProps)==null?void 0:t.fieldNames,y=(_==null?void 0:_.target)&&(C==null?void 0:C.label)&&b(`${_.target}.${C.label}`),F=(0,import_react2.useMemo)(()=>{var D,T;return y!=null&&y.interface&&((T=(D=S(y.interface))==null?void 0:D.filterable)==null?void 0:T.operators[0].value)||"$includes"},[y]),j=(0,import_react.useField)();(0,import_react2.useEffect)(()=>{var D;if(n){const T=Array.isArray(n)?extractLastNonNullValueObjects(n==null?void 0:n.filter(B=>B.value),!0):transformNestedData(n),$=(D=T==null?void 0:T.map)==null?void 0:D.call(T,B=>({key:B.parentId,children:[],value:B}));l($)}},[]);const k=(0,import_react2.useCallback)(D=>{try{return D==null?void 0:D.filter(T=>["number","string"].includes(typeof T[C.value])).map(T=>{var $,B,I;let M=p(T[C.label]);if(($=y==null?void 0:y.uiSchema)!=null&&$.enum)if(Array.isArray(M))M=M.map((z,E)=>{var L,U;const q=(U=(L=y.uiSchema.enum).find)==null?void 0:U.call(L,G=>G.value===z);return q?(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:q.color,style:{marginRight:3},children:(q==null?void 0:q.label)||z},E):(0,import_jsx_runtime.jsx)(import_antd.Tag,{children:z},z)}).reverse();else{const z=(I=(B=y.uiSchema.enum).find)==null?void 0:I.call(B,E=>E.value===M);z&&(M=(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:z.color,children:z.label}))}return(y==null?void 0:y.type)==="date"&&(M=(0,import_dayjs.default)(M).format("YYYY-MM-DD")),r?r({[C.label]:M||EMPTY,[C.value]:T[C.value]}):P(x({},T),{[C.label]:M||EMPTY,[C.value]:T[C.value]})}).filter(Boolean)}catch(T){return console.error(T),D}},[y==null?void 0:y.uiSchema,C]),R=D=>V(void 0,null,function*(){var T,$;const B=yield v.list({pageSize:200,params:h==null?void 0:h.params,filter:mergeFilter([D,(T=h==null?void 0:h.params)==null?void 0:T.filter]),tree:D.parentId?void 0:!0});return($=B==null?void 0:B.data)==null?void 0:$.data}),N=(D,T,$)=>V(void 0,null,function*(){const B=yield R({parentId:T==null?void 0:T.id}),I=[...a];if(I.splice($+1),I[$]=P(x({},I[$]),{value:T}),T!=null&&T.id&&(I[$+1]={key:T==null?void 0:T.id,children:(B==null?void 0:B.length)>0?B:null}),l(I),["o2m","m2m"].includes(_.interface)){const M=Array.isArray(f.fieldValue)?f.fieldValue:[];M[j.index]=T,f.fieldValue=M}else f.value=T;I.length===1&&!I[0].value?i==null||i(null):i==null||i(I)}),w=(D,T,$)=>V(void 0,null,function*(){var B,I,M;if(D){d(!0);const z=yield R({parentId:T==null?void 0:T.key});if(d(!1),u(z),$===(a==null?void 0:a.length)-1&&(B=T==null?void 0:T.value)!=null&&B.id){const E=yield R({parentId:(I=T==null?void 0:T.value)==null?void 0:I.id}),L=[...a];L.splice($+1),L[$]=P(x({},L[$]),{value:T==null?void 0:T.value}),L[$+1]={key:(M=T==null?void 0:T.value)==null?void 0:M.id,children:(E==null?void 0:E.length)>0?E:null},l(L),i==null||i(L)}}}),O=(D,T)=>V(void 0,null,function*(){const $=D?{[C.label]:{[F]:D}}:{};d(!0);const B=yield R(P(x({},$),{parentId:T==null?void 0:T.key}));d(!1),u(B)});return(0,import_jsx_runtime.jsx)(import_antd.Space,{wrap:!0,children:a.map((D,T)=>{var $,B,I;return D.children&&(0,import_jsx_runtime.jsx)(import_antd.Select,{disabled:f.disabled,allowClear:!0,showSearch:!0,autoClearSearchValue:!0,filterOption:!1,filterSort:null,defaultValue:{label:($=D==null?void 0:D.value)==null?void 0:$[C.label],value:(B=D==null?void 0:D.value)==null?void 0:B[C.value]},labelInValue:!0,onSearch:M=>O(M,D),fieldNames:C,style:{minWidth:150},onChange:(M,z)=>N(M,z,T),options:m?[]:k(c),onDropdownVisibleChange:M=>w(M,D,T),notFoundContent:m?(0,import_jsx_runtime.jsx)(import_antd.Spin,{size:"small"}):null},`${(I=D.value)==null?void 0:I.id}+ ${D.key} + ${C.label}`)})})}),AssociationCascadeSelect=(0,import_react.connect)(e=>(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(CascadeSelect,x({},e))})),InternalCascadeSelect=(0,import_react.observer)(e=>{const{options:t}=useAssociationFieldContext(),o=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[]),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{loading:a,data:l}=useDataBlockRequest()||{},c=(0,import_react2.useMemo)(()=>{var p;return(p=l==null?void 0:l.data)==null?void 0:p[n.name]},[a]),u=!l||n.name in((l==null?void 0:l.data)||{}),m=(0,import_lodash.debounce)(p=>{var g,h;if(t.interface==="m2o"){const _=extractLastNonNullValueObjects((g=p.values)==null?void 0:g[n.name]);setTimeout(()=>{p.setValuesIn(n.name,_),i.value=_})}else{const _=extractLastNonNullValueObjects((h=p.values)==null?void 0:h.select_array).filter(f=>f&&Object.keys(f).length>0);setTimeout(()=>{i.value=_})}},300);(0,import_react2.useEffect)(()=>{const p=(0,import_shared.uid)();return o.addEffects(p,()=>{(0,import_core.onFormValuesChange)(g=>{m(g)})}),()=>{o.removeEffects(p),m.cancel()}},[]);const d={type:"object",properties:{select_array:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",default:Array.isArray(c)&&c.length>0?c:[{}],items:{type:"void","x-component":"Space","x-component-props":{style:{width:"100%",display:"flex"},className:import_css.css`
|
|
897
897
|
.ant-formily-item-control {
|
|
898
898
|
max-width: 100% !important;
|
|
899
899
|
}
|
|
@@ -904,7 +904,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
904
904
|
.ant-space-item:nth-child(2) {
|
|
905
905
|
flex: 3;
|
|
906
906
|
}
|
|
907
|
-
`},properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},select:{type:"string","x-decorator":"FormItem","x-component":AssociationCascadeSelect,"x-component-props":x({},e)},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}},properties:{add:{type:"void",title:
|
|
907
|
+
`},properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},select:{type:"string","x-decorator":"FormItem","x-component":AssociationCascadeSelect,"x-component-props":x({},e)},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}},properties:{add:{type:"void",title:r("Add new"),"x-component":"ArrayItems.Addition"}}}}};return!a&&u&&(0,import_jsx_runtime.jsx)(import_react.FormProvider,{form:o,children:t.interface==="m2o"?(0,import_jsx_runtime.jsx)(SchemaComponent,{components:{FormItem:import_antd_v5.FormItem},schema:P(x({},n),{default:c,title:"","x-component":AssociationCascadeSelect,"x-component-props":x({},e)})}):(0,import_jsx_runtime.jsx)(SchemaField,{schema:d})})},{displayName:"InternalCascadeSelect"});function extractLastNonNullValueObjects(e,t){var o,r;let i=[];if(!Array.isArray(e))return e;for(const n of e){let a=null;if(Array.isArray(n)){for(let l=(n==null?void 0:n.length)-1;l>=0;l--)if(n[l].value){a=n[l].value;break}a&&i.push(a)}else n!=null&&n.value?a=n.value:a=null,a?t?(o=i==null?void 0:i.push)==null||o.call(i,a):i=a:(r=i==null?void 0:i.push)==null||r.call(i,n)}return i}function transformNestedData(e){const t=[];function o(r){if(r!=null&&r.parent){const{parent:a}=r;o(a)}const i=r,n=Y(i,["parent"]);t.push(n)}return e&&o(e),t}const InternalNesterCardCss=import_css.css`
|
|
908
908
|
.ant-card-bordered {
|
|
909
909
|
border: none;
|
|
910
910
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/client",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.32",
|
|
4
4
|
"license": "AGPL-3.0",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.mjs",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"@formily/reactive-react": "^2.2.27",
|
|
28
28
|
"@formily/shared": "^2.2.27",
|
|
29
29
|
"@formily/validator": "^2.2.27",
|
|
30
|
-
"@nocobase/evaluators": "1.6.
|
|
31
|
-
"@nocobase/sdk": "1.6.
|
|
32
|
-
"@nocobase/utils": "1.6.
|
|
30
|
+
"@nocobase/evaluators": "1.6.32",
|
|
31
|
+
"@nocobase/sdk": "1.6.32",
|
|
32
|
+
"@nocobase/utils": "1.6.32",
|
|
33
33
|
"ahooks": "^3.7.2",
|
|
34
34
|
"antd": "5.12.8",
|
|
35
35
|
"antd-style": "3.7.1",
|
|
@@ -82,5 +82,5 @@
|
|
|
82
82
|
"dumi": "2.2.14",
|
|
83
83
|
"dumi-theme-nocobase": "^0.2.28"
|
|
84
84
|
},
|
|
85
|
-
"gitHead": "
|
|
85
|
+
"gitHead": "b546588373c844aa108d2adb42e76cc84c4b8de8"
|
|
86
86
|
}
|