@nocobase/client-v2 2.1.0-alpha.36 → 2.1.0-alpha.38

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 CHANGED
@@ -109,7 +109,7 @@ import*as __rspack_external__ant_design_cssinjs_c619260f from"@ant-design/cssinj
109
109
  z-index: 200;
110
110
  transition: left 0.2s;
111
111
  }
112
- `,children:e.children}),i)}):null},D=(e,t)=>(0,o.jsx)(L,{collapsed:e,children:t}),Y=(0,u.createStyles)(e=>{let{token:t}=e;return{headerPopup:{"&.ant-menu-submenu-popup>.ant-menu":{backgroundColor:`${t.colorBgHeader}`}},headerMenuActive:{"& .ant-menu-submenu-selected>.ant-menu-submenu-title":{color:t.colorTextHeaderMenuActive}}}}),E={inHeader:!0},R=e=>{let{styles:t}=Y();return(0,o.jsx)("span",{className:t.headerMenuActive,children:(0,o.jsx)(f.B9.Provider,{value:E,children:e.children})})},N=(e,t)=>(0,o.jsx)(R,{children:t}),O=e=>e.isMobile?[(0,o.jsx)(z,{},"mobile-actions")]:[(0,o.jsx)(_.K,{},"pinned-plugin-list")],B={display:"flex",height:"100vh"},H={flex:1,transform:"translateZ(0)",overflow:"hidden",scrollPaddingTop:"var(--nb-header-height)"},q={width:"fit-content",position:"relative"},V='[data-has-float-menu="true"][data-float-menu-model-uid]',$=()=>{let{token:e}=d.theme.useToken(),t=e,l=(0,c.useMemo)(()=>t.globalStyle?(0,u.createGlobalStyle)`${t.globalStyle}`:()=>null,[t.globalStyle]);return(0,o.jsx)(l,{})},z=()=>{let{token:e}=d.theme.useToken(),t=e,[l,n]=(0,c.useState)(!1),i=(0,c.useCallback)(()=>{n(!1)},[]);return(0,o.jsx)(d.Popover,{rootClassName:j,content:(0,o.jsx)(_.K,{onClick:i}),color:t.colorBgHeader,trigger:"click",open:l,onOpenChange:n,children:(0,o.jsx)("div",{style:{padding:"0 16px",display:"flex",alignItems:"center",height:"100%",marginRight:-16},children:(0,o.jsx)(r.EllipsisOutlined,{style:{color:t.colorTextHeaderMenu,fontSize:20}})})})};function K(e){let t=(0,s.useFlowEngine)().getModel(v.M);return(0,c.useEffect)(()=>{null==t||t.setIsMobileLayout(e.isMobile)},[t,e.isMobile]),e.children}let U=e=>{let t=(0,c.useRef)(null),l=!(e.item._parentRoute||e.fallbackParentRoute);return(0,c.useEffect)(()=>{t.current&&l&&(t.current.parentElement.parentElement.style.order="999",t.current.parentElement.parentElement.style.paddingLeft="0",t.current.parentElement.parentElement.style.padding="0")},[l]),(0,o.jsx)("div",{ref:t,children:(0,o.jsx)(y.f,{children:e.item.name})})},G=(e,t)=>!!e&&(!![null!=e.id?`/admin/${e.id}`:null,e.schemaUid?`/admin/${e.schemaUid}`:null].filter(Boolean).some(e=>t===e||t.startsWith(`${e}/`))||!!Array.isArray(e.children)&&e.children.some(e=>G(e,t))),J=(e,t)=>e.find(e=>"group"===e.type&&G(e,t)),W=(e,t,l,n,i)=>{var r,a;return(null==e?void 0:e.key)!=="x-designer-button"&&(null==e||!e.disabled||!e._launcherModel||(null==e||null==(r=e._route)?void 0:r.id)||(null==e||null==(a=e._route)?void 0:a.schemaUid))?(null==e?void 0:e._model)?(0,o.jsx)(f.xc,{model:e._model,item:e,dom:t,options:n,renderType:l},`admin-layout-menu-${l}-${e._model.uid}-${e.path}-${null==n?void 0:n.isMobile}-${null==n?void 0:n.collapsed}`):t:(0,o.jsx)(U,{item:e,fallbackParentRoute:i})},X=(0,s.observer)(e=>{let t=(0,s.useFlowEngine)(),l=t.getModel(v.M),[r,a]=(0,c.useState)(()=>{var e,l;return(null==(l=t.context.routeRepository)||null==(e=l.listAccessible)?void 0:e.call(l))||[]}),u=d.Grid.useBreakpoint(),p=!1===u.md||void 0===u.md&&"u">typeof window&&window.innerWidth<768,m=(0,h.useLocation)(),{token:y}=d.theme.useToken(),_=y,M=!!(null==l?void 0:l.isMobileLayout),S=(null==l?void 0:l.menuRouteRefreshVersion)||0,k=M||p,[F,C]=(0,c.useState)(k),[A,j]=(0,c.useState)(()=>(0,w.tY)()),[L,E]=(0,c.useState)({path:"/",children:[]}),R=(0,c.useRef)(!1),z=(0,c.useCallback)(e=>"function"==typeof t.context.t?t.context.t(e,{ns:"lm-desktop-routes"}):e,[t]),U=!k&&A,{styles:G}=Y(),{Component:X}=(0,b.H)(),Q=(0,c.useRef)(0),Z=(0,c.useRef)(!1),ee=(0,c.useCallback)(e=>{null==l||l.setLayoutContentElement(e)},[l]),et=(0,c.useMemo)(()=>J(r,m.pathname),[r,m.pathname]),el=(0,c.useCallback)(e=>{let l=(0,f.eL)(t,e);l&&t.context.routeRepository.moveRoute(l).catch(e=>{console.error("[NocoBase] AdminLayoutShell failed to move menu route.",e)})},[t]),eo=(0,c.useCallback)(e=>{let{droppableContainers:t,pointerCoordinates:l,...o}=e;if(l&&"u">typeof document){var n;let e=document.elementFromPoint(l.x,l.y),o=null==e||null==(n=e.closest(V))?void 0:n.getAttribute("data-float-menu-model-uid");if(o){let e=t.find(e=>String(e.id)===o);if(e)return[{id:e.id,data:{droppableContainer:e,value:Number.MAX_SAFE_INTEGER}}]}}let r=(0,i.pointerWithin)({droppableContainers:t,pointerCoordinates:l,...o});return r.length>0?r:(0,i.closestCenter)({droppableContainers:t,pointerCoordinates:l,...o})},[]);(0,c.useEffect)(()=>{var e;let l=t.context.routeRepository,o=()=>{a((null==l?void 0:l.listAccessible())||[])};return null==l||l.subscribe(o),null==l||null==(e=l.ensureAccessibleLoaded)||e.call(l).catch(e=>{console.error("[NocoBase] AdminLayoutComponent failed to initialize accessible routes.",e)}),()=>{null==l||l.unsubscribe(o)}},[t]),(0,c.useEffect)(()=>{if("u"<typeof window)return;let e=()=>{j((0,w.tY)())},t=t=>{t.key&&t.key!==w.h1||e()};return window.addEventListener(w.Ju,e),window.addEventListener("storage",t),()=>{window.removeEventListener(w.Ju,e),window.removeEventListener("storage",t)}},[]),(0,c.useLayoutEffect)(()=>{null==l||l.syncMenuRoutes(r),E((null==l?void 0:l.toProLayoutRoute({designable:U,isMobile:k,t:z}))||{path:"/",children:[]})},[l,r,U,k,S,z]),(0,c.useEffect)(()=>{let e=++Q.current,l=A&&!k;Z.current=l;let o=async e=>{e?await t.flowSettings.enable():await t.flowSettings.disable()};return(async()=>{try{await o(l),e!==Q.current&&await o(Z.current)}catch(e){console.error("[NocoBase] AdminLayoutShell failed to sync flow settings state.",e)}})(),()=>{Q.current===e&&(Q.current+=1)}},[t,k,A]);let en=(0,c.useMemo)(()=>({header:{colorBgHeader:_.colorBgHeader,colorTextMenu:_.colorTextHeaderMenu,colorTextMenuSelected:_.colorTextHeaderMenuActive,colorTextMenuActive:_.colorTextHeaderMenuHover,colorBgMenuItemHover:_.colorBgHeaderMenuHover,colorBgMenuItemSelected:_.colorBgHeaderMenuActive,heightLayoutHeader:46,colorHeaderTitle:_.colorTextHeaderMenu},sider:{colorMenuBackground:_.colorBgSider,colorTextMenu:_.colorTextSiderMenu,colorTextMenuSelected:_.colorTextSiderMenuActive,colorBgMenuItemSelected:_.colorBgSiderMenuActive,colorBgMenuItemActive:_.colorBgSiderMenuActive,colorBgMenuItemHover:_.colorBgSiderMenuHover},bgLayout:_.colorBgLayout}),[_]),{theme:ei,isDarkTheme:er}=(0,x.my)(),ea=(0,c.useMemo)(()=>({...ei,token:{...ei.token,paddingPageHorizontal:8,paddingPageVertical:8,marginBlock:12,borderRadiusBlock:8,fontSize:16},algorithm:er?[d.theme.compactAlgorithm,d.theme.darkAlgorithm]:d.theme.compactAlgorithm}),[ei,er]),es=(0,c.useCallback)(e=>{R.current||C(e)},[]),ed=(0,c.useCallback)(()=>{R.current=!0,setTimeout(()=>{R.current=!1})},[]),eu=(0,c.useMemo)(()=>({overflowedIndicatorPopupClassName:G.headerPopup}),[G.headerPopup]),ec=(0,c.useCallback)(()=>{k&&C(!0)},[k]),ep=(0,c.useCallback)((e,t,l)=>{let o=(null==l?void 0:l.menuRenderType)==="header"?void 0:et;return W(e,t,"item",l,o)},[et]),em=(0,c.useCallback)((e,t)=>W(e,t,"group",void 0,et),[et]);return(0,o.jsxs)("div",{style:B,children:[(0,o.jsx)("div",{id:"nocobase-app-container",style:H,children:(0,o.jsx)(f.Qt.Provider,{value:{closeMobileMenu:ec},children:(0,o.jsx)(s.DndProvider,{collisionDetection:eo,onDragEnd:el,children:(0,o.jsx)(n.default,{...e,contentStyle:I,siderWidth:_.siderWidth||200,className:T,location:m,route:L,actionsRender:e.actionsRender||O,logo:(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[X&&(0,o.jsx)(X,{}),(0,o.jsx)(P,{})]}),title:"",layout:"mix",splitMenus:!0,token:en,headerRender:N,menuItemRender:ep,subMenuItemRender:em,collapsedButtonRender:D,onCollapse:es,collapsed:F,onPageChange:ed,menu:{autoClose:!1},menuProps:eu,children:(0,o.jsx)(n.RouteContext.Consumer,{children:e=>{let{isMobile:t}=e;return(0,o.jsx)(K,{isMobile:t,children:(0,o.jsxs)(d.ConfigProvider,{theme:t?ea:ei,children:[(0,o.jsx)($,{}),(0,o.jsx)(g.x,{onContentElementChange:ee})]})})}})},`admin-layout-menu-${S}`)})})}),(0,o.jsx)("div",{id:"nocobase-embed-container",style:q})]})})},6450(e,t,l){l.d(t,{Cu:()=>f,Ev:()=>g,FW:()=>m,G:()=>h,QB:()=>y,Qb:()=>v,Th:()=>s,_I:()=>c,eD:()=>i,n8:()=>u,o2:()=>a,qN:()=>n,y8:()=>r}),l(6305),l(3313);var o=l(3314);let n=e=>({href:{title:e("URL"),type:"string","x-decorator":"FormItem","x-component":"FlowSettingsVariableTextArea","x-component-props":{rows:1,maxRows:1},description:e("Do not concatenate search params in the URL")},params:{type:"array",title:e("Search parameters"),"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:e("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":"FlowSettingsVariableTextArea","x-component-props":{placeholder:e("Value"),rows:1,maxRows:1,useTypedConstant:!0,changeOnSelect:!0}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:e("Add parameter"),"x-component":"ArrayItems.Addition"}}},openInNewWindow:{type:"boolean","x-content":e("Open in new window"),"x-decorator":"FormItem","x-component":"Checkbox"}}),i=async(e,t)=>{await e.request({method:"POST",url:"/uiSchemas:insert",data:t})},r=e=>e&&"link"===e.menuType&&"insert"!==e.source?{openInNewWindow:!0}:{},a=[{label:"Group",value:"group"},{label:"Page",value:"flowPage"},{label:"Link",value:"link"}],s=e=>({title:{title:e("Menu item title"),required:!0,"x-decorator":"FormItem","x-component":"Input"},icon:{title:e("Icon"),"x-decorator":"FormItem","x-component":"IconPicker"}}),d=(e,t)=>Object.fromEntries(Object.entries(n(e)).map(e=>{let[l,o]=e;return[l,{...o,"x-reactions":{dependencies:[t],fulfill:{state:{hidden:'{{$deps[0] !== "link"}}'}}}}]})),u=e=>{var t,l,o;return{title:null==e?void 0:e.title,icon:null==e?void 0:e.icon,href:null==e||null==(t=e.options)?void 0:t.href,params:null==e||null==(l=e.options)?void 0:l.params,openInNewWindow:(null==e||null==(o=e.options)?void 0:o.openInNewWindow)!==!1}},c=(e,t)=>{let l=s(e);return(null==t?void 0:t.menuType)==="link"&&Object.assign(l,n(e)),l},p=e=>({menuType:{title:e("Menu type"),required:!0,enum:a.map(t=>({label:e(t.label),value:t.value})),"x-decorator":"FormItem","x-component":"Radio.Group"},...s(e),...d(e,"menuType")}),m=e=>({title:e.title,hideInSettings:e.hideInSettings,defaultParams:async()=>({menuType:"flowPage"}),uiSchema:async e=>p(e.t),beforeParamsSave:async(t,l)=>{let o=t.model,n=o.getRoute();if(!n||e.canCreate&&!e.canCreate(n))return;let i=e.resolveParentRoute(t,n);await o.createMenuFromMeta({menuType:l.menuType,source:"insert",insertPosition:e.insertPosition,targetRoute:n,parentRoute:i},l)}}),h=async(e,t)=>Promise.all((e||[]).filter(e=>"tabs"!==e.type).map(async e=>{var l,n;return{label:"string"==typeof e.title&&(0,o.DZ)(e.title)?await (null==(l=t.resolveJsonTemplate)?void 0:l.call(t,e.title))??e.title:t.t(e.title),value:`${e.id}||${e.type}`,children:(null==(n=e.children)?void 0:n.length)?await h(e.children,t):void 0}})),f=(e,t)=>{if(t)for(let o=0;o<e.length;o++){var l;let n=e[o];if(n.id===t.id)return e[o-1];if(null==(l=n.children)?void 0:l.length){let e=f(n.children,t);if(e)return e}}},g=(e,t)=>{if(t)for(let o=0;o<e.length;o++){var l;let n=e[o];if(n.id===t.id)return e[o+1];if(null==(l=n.children)?void 0:l.length){let e=g(n.children,t);if(e)return e}}},v=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"/";if(!e)return!1;let o=l&&"/"!==l?l.replace(/\/$/,""):"",n=o&&t.startsWith(o)?t.slice(o.length)||"/":t;return!![null!=e.id?`/admin/${e.id}`:null,e.schemaUid?`/admin/${e.schemaUid}`:null].filter(Boolean).some(e=>n===e||n.startsWith(`${e}/`))||!!Array.isArray(e.children)&&e.children.some(e=>v(e,n,"/"))},y=(e,t,l,n)=>"flowPage"===e?(0,o.g3)({pageSchemaUid:t}):(0,o.my)({pageSchemaUid:t,tabSchemaUid:l,tabSchemaName:n})},8679(e,t,l){l.d(t,{B8:()=>r.B8,B9:()=>r.B9,B_:()=>r.B_,Ot:()=>r.Ot,Px:()=>r.Px,Qt:()=>r.Qt,Tn:()=>r.Tn,Uc:()=>r.Uc,eL:()=>r.eL,fi:()=>r.fi,jj:()=>r.jj,ri:()=>r.ri,tS:()=>r.tS,ux:()=>r.ux,xF:()=>c,xc:()=>r.xc});var o=l(1178);l(1649);var n=l(504),i=l(3526);l(6305);var r=l(3313),a=l(6450),s=l(2844),d=l(9412);let u={beforeBegin:"insertBefore",afterEnd:"insertAfter"};class c extends n.FlowModel{onInit(e){super.onInit(e),this.syncFromRoute(this.props.route,this.props.parentRoute),this.shouldHydratePersistedState()&&this.hydratePersistedState()}syncFromRoute(e,t){(this.setProps({route:e,parentRoute:t}),(null==e?void 0:e.type)==="group")?(0,r.tS)(this,Array.isArray(e.children)?e.children:[],e):((this.subModels.menuItems||[]).forEach(e=>{this.flowEngine.removeModelWithSubModels(e.uid)}),delete this.subModels.menuItems)}getRoute(){return this.props.route}getParentRoute(){return this.props.parentRoute}getCreationMeta(){return this.props.creationMeta}isCreationSession(){var e;return!!(null==(e=this.getCreationMeta())?void 0:e.menuType)}shouldHydratePersistedState(){return!this.isCreationSession()&&(!!this.context.flowSettingsEnabled||this.hasPersistedMenuInstanceFlowFlag())}getRouteRepository(){return this.context.routeRepository}hasPersistedMenuInstanceFlowFlag(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getRoute();return(null==t||null==(e=t.options)?void 0:e.hasPersistedMenuInstanceFlow)===!0}getCurrentPersistedInstanceFlowCount(){return this.flowRegistry.getFlows().size}hasPersistableMenuLinkageRules(){let e=this.getStepParams("menuSettings","linkageRules");return Array.isArray(null==e?void 0:e.value)&&e.value.length>0}hasCurrentPersistedMenuState(){return this.getCurrentPersistedInstanceFlowCount()>0||this.hasPersistableMenuLinkageRules()}buildRouteOptionsWithPersistedFlowFlag(e){let t=this.getRoute(),l={...(null==t?void 0:t.options)||{}};return e?l.hasPersistedMenuInstanceFlow=!0:delete l.hasPersistedMenuInstanceFlow,Object.keys(l).length>0?l:void 0}async syncPersistedFlowRouteFlag(){if(this.isCreationSession())return;let e=this.getRoute();if((null==e?void 0:e.id)==null)return;let t=this.hasCurrentPersistedMenuState();if(this.hasPersistedMenuInstanceFlowFlag(e)===t)return;let l=this.buildRouteOptionsWithPersistedFlowFlag(t);await this.getRouteRepository().updateRoute(e.id,{options:l}),this.setProps({route:{...e,options:l}})}async destroyPersistedState(){var e,t;this.isCreationSession()||await (null==(t=this.flowEngine.modelRepository)||null==(e=t.destroy)?void 0:e.call(t,this.uid))}async hydratePersistedState(){if(!this.persistedStateHydrated)return this.persistedStateHydrating||(this.persistedStateHydrating=(async()=>{if(this.isCreationSession())return;let e=!1,t=this.flowEngine.modelRepository;if(!(null==t?void 0:t.findOne))return;let l=await t.findOne({uid:this.uid});if(null==l?void 0:l.uid){if(l.stepParams&&"object"==typeof l.stepParams&&(this.setStepParams(l.stepParams),e=this.hasPersistableMenuLinkageRules()),l.flowRegistry&&"object"==typeof l.flowRegistry){for(let e of[...this.flowRegistry.getFlows().keys()])this.flowRegistry.removeFlow(e);this.flowRegistry.addFlows(l.flowRegistry);let t=Object.values(l.flowRegistry).some(e=>{var t;return!!e&&!0!==e.manual&&(!e.on||("string"==typeof e.on?"beforeRender"===e.on:(null==(t=e.on)?void 0:t.eventName)==="beforeRender"))});e=e||t}e&&this.rerender()}})().finally(()=>{this.persistedStateHydrated=!0,this.persistedStateHydrating=void 0})),await this.persistedStateHydrating}hasPersistableInstanceFlows(){var e;let t=this.flowRegistry.getFlows().size,l=Object.keys((null==(e=this._options)?void 0:e.flowRegistry)||{}).length;return t>0||l>0}setHidden(e){let t=this.hidden;if(super.setHidden(e),t!==this.hidden){var l,o,n,i;null==(n=(i=this.flowEngine).getModel)||null==(o=n.call(i,s.M))||null==(l=o.refreshMenuRouteTree)||l.call(o)}}renderHiddenInConfig(){let{item:e,dom:t,options:l,renderType:n}=this.props;return e&&n?(0,o.jsx)("div",{style:{opacity:.3},children:(0,o.jsx)(r.B_,{item:e,dom:t,options:l,renderType:n})}):null}async createMenuRoute(e,t){let{parentId:l,refreshAfterMutation:o=!0}=t||{},n={...e,parentId:l??e.parentId??void 0},i=o?void 0:{refreshAfterMutation:!1},{data:r}=await this.getRouteRepository().createRoute(n,i);return null==r?void 0:r.data}async createRouteForInsert(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:(()=>{var e;return(null==(e=this.getCreationMeta())?void 0:e.targetRoute)||this.getRoute()})(),o=await this.createMenuRoute(e,{parentId:"beforeEnd"===t?(null==l?void 0:l.id)||void 0:(null==l?void 0:l.parentId)||void 0,refreshAfterMutation:!1}),n=u[t];if(n){try{await this.getRouteRepository().moveRoute({sourceId:null==o?void 0:o.id,targetId:null==l?void 0:l.id,sortField:"sort",method:n})}catch(e){throw await this.getRouteRepository().refreshAccessible(),e}return null==o?void 0:o.id}return await this.getRouteRepository().refreshAccessible(),null==o?void 0:o.id}async createMenuFromMeta(e,t){let l="flowPage"===e.menuType?"flowPage":"page"===e.menuType?"page":"group"===e.menuType?"group":"link",o=async t=>{var l;return e.insertPosition?this.createRouteForInsert(t,e.insertPosition,e.targetRoute):this.createMenuRoute(t,{parentId:null==(l=e.parentRoute)?void 0:l.id})};if("group"===e.menuType)return void await o({type:l,title:t.title,icon:t.icon,schemaUid:(0,i.uid)()});if("link"===e.menuType)return void await o({type:l,title:t.title,icon:t.icon,schemaUid:(0,i.uid)(),options:{href:t.href,params:t.params,openInNewWindow:t.openInNewWindow}});let n=(0,i.uid)(),r=(0,i.uid)(),a=(0,i.uid)(),s=(0,i.uid)();await o({type:l,title:t.title,icon:t.icon,schemaUid:n,menuSchemaUid:r,enableTabs:!1,children:[{type:"tabs",schemaUid:a,tabSchemaName:s,hidden:!0}]})}async persistMenuCreation(e){let t=this.getCreationMeta();t&&await this.createMenuFromMeta(t,e)}async updateMenuRoute(e){let t=this.getRoute();if((null==t?void 0:t.id)==null)return;let l={...e};e.options&&this.hasPersistedMenuInstanceFlowFlag(t)&&(l.options={...e.options,hasPersistedMenuInstanceFlow:!0}),await this.getRouteRepository().updateRoute(t.id,l),this.setProps({route:{...t,...l}})}async moveMenuRoute(e,t){var l,o,n,i,r;let a=this.getRoute(),[s,d]=(null==e||null==(l=e.split)?void 0:l.call(e,"||"))||[];if(s&&(null==a?void 0:a.id)!=null){if("beforeEnd"===t&&"group"!==d)throw Error((null==(n=this.context)||null==(o=n.t)?void 0:o.call(n,"Only groups support inner moves"))||"Only groups support inner moves");if("beforeEnd"===t&&String(a.id)===s)throw Error((null==(r=this.context)||null==(i=r.t)?void 0:i.call(r,"A menu group cannot be moved inside itself"))||"A menu group cannot be moved inside itself");await this.getRouteRepository().moveRoute({sourceId:a.id,sortField:"sort",method:"beforeEnd"===t?void 0:u[t],..."beforeEnd"===t?{targetScope:{parentId:s}}:{targetId:s}})}}async saveStepParams(){if(this.isCreationSession()){if(this.creationPersisted)return!0;let e=this.getStepParams("menuCreation","basic");return await this.persistMenuCreation(e||{}),this.creationPersisted=!0,!0}return this.hasCurrentPersistedMenuState()?await super.saveStepParams():this.hasPersistedMenuInstanceFlowFlag()?await this.destroyPersistedState():this.hasPersistableInstanceFlows()&&await super.saveStepParams(),await this.syncPersistedFlowRouteFlag(),!0}async save(){if(this.isCreationSession()){if(!this.creationPersisted){let e=this.getStepParams("menuCreation","basic");await this.persistMenuCreation(e||{}),this.creationPersisted=!0}return this.remove(),!0}return await super.save(),await this.syncPersistedFlowRouteFlag(),!0}async destroy(){var e,t,l;if(this.isCreationSession())return this.remove();let o=this.getRoute();if(!(null==o?void 0:o.id))return!1;let n=this.getRouteRepository().listAccessible(),i=(null==(e=this.context.location)?void 0:e.pathname)||window.location.pathname,r=(0,a.Qb)(o,i,null==(t=this.context.router)?void 0:t.basename),s=(0,a.Cu)(n,o),u=(0,a.Ev)(n,o);if(await this.getRouteRepository().deleteRoute(o.id),!r)return!0;let c=s||u;if(!c)return this.context.router.navigate("/"),!0;let p=(0,d.Yj)({app:this.context.app,route:c});return!p.runtimePath||("document"===p.navigationMode?window.location.assign(p.runtimePath):this.context.router.navigate((0,d.FY)(p.runtimePath,null==(l=this.context.router)?void 0:l.basename)),!0)}toProLayoutRoute(e){let t=this.props.route,l=this.props.parentRoute,o=e.depth||0;if(!t||"object"!=typeof t||!e.designable&&this.hidden)return null;let n=(0,r.Uc)({depth:o,isMobile:e.isMobile}),{name:i,icon:a}=(0,r.ri)(t,e.t,n);if("link"===t.type){let e=t.id??t.schemaUid??t.menuSchemaUid??t.title??this.uid;return{name:i,icon:a,path:(0,r.Px)("link",e),hideInMenu:t.hideInMenu,_route:t,_parentRoute:l,_depth:o,_model:this}}if("page"===t.type||"flowPage"===t.type){let e=(0,d.Yj)({app:this.context.app,route:t});return"unsupportedV2Runtime"===e.reason?null:{name:i,icon:a,path:t.schemaUid?`/admin/${t.schemaUid}`:(0,r.Px)("link",`${this.uid}-invalid`),redirect:t.schemaUid?`/admin/${t.schemaUid}`:void 0,hideInMenu:t.hideInMenu,disabled:!e.runtimePath,_runtimePath:e.runtimePath,_navigationMode:e.navigationMode,_isLegacy:e.isLegacy,_route:t,_parentRoute:l,_depth:o,_model:this}}if("group"===t.type){var s;let n=Array.isArray(t.children)?t.children:[],u=(this.subModels.menuItems||[]).map(t=>t.toProLayoutRoute({...e,depth:o+1})).filter(Boolean)||[];e.designable&&0===o&&u.push((0,r.Tn)("schema-initializer-Menu-side",this,t));let c=(0,d.Uf)(this.context.app)?(0,d.ug)(n):(0,d.MM)(n),p=(0,d.Yj)({app:this.context.app,route:(0,d.Uf)(this.context.app)&&c?c:t}),m={name:i,icon:a,path:`/admin/${t.id}`,redirect:(null==(s=u[0])?void 0:s.key)==="x-designer-button"?void 0:`/admin/${(null==c?void 0:c.schemaUid)||t.id}`,hideInMenu:t.hideInMenu,_runtimePath:p.runtimePath,_navigationMode:p.navigationMode,_isLegacy:p.isLegacy,_route:t,_parentRoute:l,_depth:o,_model:this};return u.length>0&&(m.routes=u),m}return null}render(){return(0,o.jsx)(r.B_,{item:this.props.item,dom:this.props.dom,options:this.props.options,renderType:this.props.renderType})}constructor(...e){super(...e),this.creationPersisted=!1,this.persistedStateHydrated=!1}}c.registerFlow({key:"menuCreation",title:"Add menu item",steps:{basic:{title:"Add menu item",preset:!0,hideInSettings:!0,defaultParams:async e=>(0,a.y8)(e.model.getCreationMeta()),uiSchema:async e=>(0,a._I)(e.t,e.model.getCreationMeta())}}}),c.registerFlow({key:"menuSettings",title:"Menu settings",steps:{edit:{title:"Edit",defaultParams:async e=>(0,a.n8)(e.model.getRoute()),uiSchema:async e=>{let t=e.model.getRoute(),l=(0,a.Th)(e.t);return(null==t?void 0:t.type)==="link"&&Object.assign(l,(0,a.qN)(e.t)),l},beforeParamsSave:async(e,t)=>{var l;await e.model.updateMenuRoute({title:t.title,icon:t.icon,options:(null==(l=e.model.getRoute())?void 0:l.type)==="link"?{href:t.href,params:t.params,openInNewWindow:t.openInNewWindow}:void 0})}},editTooltip:{title:"Edit tooltip",defaultParams:async e=>{var t;return{tooltip:null==(t=e.model.getRoute())?void 0:t.tooltip}},uiSchema:async e=>({tooltip:{title:e.t("Tooltip"),"x-decorator":"FormItem","x-component":"Input.TextArea"}}),beforeParamsSave:async(e,t)=>{await e.model.updateMenuRoute({tooltip:t.tooltip})}},hidden:{title:"Hidden",uiMode:{type:"switch",key:"hideInMenu"},defaultParams:async e=>{var t;return{hideInMenu:!!(null==(t=e.model.getRoute())?void 0:t.hideInMenu)}},beforeParamsSave:async(e,t)=>{await e.model.updateMenuRoute({hideInMenu:!!t.hideInMenu})}},linkageRules:{use:"menuLinkageRules",hideInSettings:async e=>e.model.isCreationSession()},moveTo:{title:"Move to",defaultParams:async()=>({position:"afterEnd"}),uiSchema:async e=>{var t;let l=await (0,a.G)(e.routeRepository.listAccessible(),e),o=null==(t=e.model.getRoute())?void 0:t.id,n=(0,r.B8)(void 0,o,e.t);return{target:{title:e.t("Target"),enum:l,required:!0,"x-decorator":"FormItem","x-component":"TreeSelect"},position:{title:e.t("Position"),required:!0,enum:n,"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":[t=>{var l;let n=(0,r.B8)(null==(l=t.form.values)?void 0:l.target,o,e.t);t.dataSource=n,n.some(e=>e.value===t.value&&!e.disabled)||(t.value="afterEnd")}]}}},beforeParamsSave:async(e,t)=>{await e.model.moveMenuRoute(t.target,t.position)}},insertBefore:(0,a.FW)({title:"Insert before",insertPosition:"beforeBegin",resolveParentRoute:e=>e.model.getParentRoute()}),insertAfter:(0,a.FW)({title:"Insert after",insertPosition:"afterEnd",resolveParentRoute:e=>e.model.getParentRoute()}),insertInner:(0,a.FW)({title:"Insert inner",hideInSettings:async e=>{var t;return(null==(t=e.model.getRoute())?void 0:t.type)!=="group"},canCreate:e=>"group"===e.type,insertPosition:"beforeEnd",resolveParentRoute:(e,t)=>"group"===t.type?t:void 0})}})},3313(e,t,l){l.d(t,{Ot:()=>R,Uc:()=>$,eL:()=>N,B9:()=>L,jj:()=>M,Px:()=>g,fi:()=>x,B8:()=>D,Qt:()=>j,xc:()=>K,Tn:()=>U,ux:()=>b,B_:()=>V,tS:()=>E,ri:()=>G});var o=l(1178),n=l(2113),i=l(504),r=l(2793),a=l(1649),s=l(8356),d=l(6305);let u=220,c=e=>{let{isMobile:t,closeMobileMenu:l,callback:o,delayMs:n=u}=e;t?(l(),window.setTimeout(o,n)):o()};var p=l(2275),m=l(3526),h=l(3314),f=l(9412);let g=(e,t)=>`/admin/__admin_layout__/${e}/${encodeURIComponent(String(t))}`,v={display:"flex",alignItems:"center",justifyContent:"space-between"},y={display:"inline-flex",alignItems:"center",justifyContent:"center",marginLeft:8,color:"inherit"},_=[{pattern:/^\$user(?:\.(.+))?$/,resolve:e=>`ctx.user${e[1]?`.${e[1]}`:""}`},{pattern:/^currentUser(?:\.(.+))?$/,resolve:e=>`ctx.user${e[1]?`.${e[1]}`:""}`},{pattern:/^\$nRole$/,resolve:()=>"ctx.role"},{pattern:/^\$nToken$/,resolve:()=>"ctx.token"},{pattern:/^\$nURLSearchParams(?:\.(.+))?$/,resolve:e=>`ctx.urlSearchParams${e[1]?`.${e[1]}`:""}`}],b=e=>"string"==typeof e&&e.includes("{{")?e.replace(/\{\{\s*([\s\S]*?)\s*\}\}/g,(e,t)=>{let l=String(t||"").trim();for(let e of _){let t=l.match(e.pattern);if(t)return`{{ ${e.resolve(t)} }}`}return e}):e,x=async e=>{let{context:t,href:l,params:o=[]}=e,n="string"==typeof l?b(l):l,i=await t.resolveJsonTemplate(n),r={};for(let{name:e,value:l}of o)if(e)try{let o="string"==typeof l?await t.resolveJsonTemplate(b(l)):l;if(null==o)continue;r[e]=(0,h.hu)(o)}catch(e){console.error(e)}return(0,h.gN)(String(i??l??""),__rspack_external_qs.default.stringify(r))},M=async e=>{let{context:t,href:l,params:o,openInNewWindow:n,isMobile:i,closeMobileMenu:r,navigate:a,basenameOfCurrentRouter:s}=e;try{let e=await x({context:t,href:l,params:o||[]});if(!1!==n){i&&r(),window.open(e,"_blank","noopener,noreferrer");return}c({isMobile:!!i,closeMobileMenu:r,callback:()=>{(0,h.Ff)(e,a,window.location.origin+s)}})}catch(e){console.error(e),i&&r(),window.open(l,"_blank","noopener,noreferrer")}},w=e=>!!e&&"function"==typeof e.getRoute,S=(e,t)=>"function"==typeof e.context.t?e.context.t(t):t,k=[{key:"group",label:"Group",menuType:"group"},{key:"flow-page",label:"Page",menuType:"flowPage"},{key:"link",label:"Link",menuType:"link"}],F=(e,t)=>({uid:`${e.uid}-menu-creation-${(0,m.uid)()}`,use:"AdminLayoutMenuItemModel",props:{creationMeta:t}}),C=(e,t)=>{let l=t=>S(e,t),o=t?"sider":"header";return k.map(n=>({key:n.key,label:l(n.label),createModelOptions:()=>F(e,{menuType:n.menuType,source:o,parentRoute:t})}))},A=e=>{let t=t=>S(e.launcherModel,t);return(0,o.jsx)(i.AddSubModelButton,{model:e.launcherModel,subModelKey:"menuItems",items:C(e.launcherModel,e.parentRoute),children:(0,o.jsx)(i.FlowSettingsButton,{"data-testid":e.testId,style:{background:"none"},icon:(0,o.jsx)(n.PlusOutlined,{}),children:t("Add menu item")})})},P=e=>e.icon?(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,o.jsx)(d.In,{type:e.icon}),(0,o.jsx)("span",{children:e.title})]}):(0,o.jsx)(o.Fragment,{children:e.title}),T=e=>(0,o.jsx)(o.Fragment,{children:e.children}),I=(0,h.LM)(T),j=a.default.createContext({closeMobileMenu:()=>{}}),L=a.default.createContext({inHeader:!1}),D=(e,t,l)=>{var o;let[n,i]=(null==e||null==(o=e.split)?void 0:o.call(e,"||"))||[],r=[{label:l("Before"),value:"beforeBegin"},{label:l("After"),value:"afterEnd"}];return"group"!==i?r:[...r,{label:l("Inner"),value:"beforeEnd",disabled:void 0!==t&&String(t)===n}]};function Y(e,t,l){let o=t.id??t.schemaUid??t.menuSchemaUid??t.pageSchemaUid??t.title??`${t.type}-${l}`;return`${e}-menu-item-${t.type||"unknown"}-${o}`}function E(e,t,l){let o=[...e.subModels.menuItems||[]],n=new Map(o.map(e=>[e.uid,e])),i=[],r=new Set;t.forEach((t,o)=>{let a=Y(e.uid,t,o),s=n.get(a),d=!!s;if(s||(s=e.addSubModel("menuItems",{uid:a,use:"AdminLayoutMenuItemModel",props:{route:t,parentRoute:l}})),s.sortIndex=o+1,d){var u;null==(u=s.syncFromRoute)||u.call(s,t,l)}i.push(s),r.add(a)}),o.forEach(t=>{r.has(t.uid)||e.flowEngine.removeModelWithSubModels(t.uid)}),e.subModels.menuItems=i}function R(e,t){var l,o;if(!w(e)||!w(t))return;let n=null==(l=e.getRoute)?void 0:l.call(e),i=null==(o=t.getRoute)?void 0:o.call(t);if((null==n?void 0:n.id)&&(null==i?void 0:i.id)&&n.id!==i.id)return{sourceId:n.id,targetId:i.id,sortField:"sort"}}function N(e,t){var l,o;if((null==(l=t.active)?void 0:l.id)&&(null==(o=t.over)?void 0:o.id))return R(e.getModel(String(t.active.id)),e.getModel(String(t.over.id)))}let O=e=>{var t,l,n,i,d,u,p,m,g;let{item:_}=e,b=(0,h.JN)(null==(l=_._route.options)||null==(t=l.badge)?void 0:t.count,null==(n=_._model)?void 0:n.context),x=(0,h.vx)(),M=(0,h.$y)(),{closeMobileMenu:w}=(0,a.useContext)(j),S="string"==typeof _.name||"number"==typeof _.name?String(_.name):"string"==typeof(null==(i=_._route)?void 0:i.title)||"number"==typeof(null==(d=_._route)?void 0:d.title)?String(_._route.title):void 0,k=_._runtimePath,F=k?(0,f.FY)(k,M):k,C=(0,a.useCallback)(t=>{var l,o;if(!k){t.preventDefault(),t.stopPropagation();return}let n=0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented;if("document"===_._navigationMode){if(n)return;t.preventDefault(),t.stopPropagation(),c({isMobile:!!(null==(o=e.options)?void 0:o.isMobile),closeMobileMenu:w,callback:()=>{window.location.assign(k)}});return}t.preventDefault(),t.stopPropagation(),c({isMobile:!!(null==(l=e.options)?void 0:l.isMobile),closeMobileMenu:w,callback:()=>{F&&x(F)}})},[w,_,_._navigationMode,x,null==(u=e.options)?void 0:u.isMobile,k,F]),A=S?`${S}-landing-entry`:"group-landing-entry",P=e.children,T=k?"document"===_._navigationMode?(0,o.jsx)("a",{href:k,"aria-label":A,onClick:C,style:y}):(0,o.jsx)(s.Link,{to:F||k,"aria-label":A,onClick:C,style:y}):null;return(0,o.jsx)(h.Zy.Provider,{value:_._parentRoute,children:(0,o.jsx)(h.dI.Provider,{value:_._route,children:(0,o.jsxs)("div",{"aria-label":S,role:"none",style:v,children:[P,T,null!=b&&(0,o.jsx)(r.Badge,{...null==(p=_._route.options)?void 0:p.badge,count:b,style:{marginLeft:4,color:null==(g=_._route.options)||null==(m=g.badge)?void 0:m.textColor,maxWidth:"10em"},dot:!1})]})})})},B=e=>{let{inHeader:t}=(0,a.useContext)(L);return e.hidden||t?e.children:(0,o.jsx)(r.Tooltip,{title:e.title,placement:"right",children:(0,o.jsx)(r.Badge,{...e.badgeProps,style:{transform:"none",maxWidth:"10em"},dot:!1,children:e.children})})},H=e=>{var t,l,n,i,d,u,p,m,g,y,_,b,x;let{item:w}=e,S=(0,s.useLocation)(),k=(0,h.JN)(null==(l=w._route.options)||null==(t=l.badge)?void 0:t.count,null==(n=w._model)?void 0:n.context),F=(0,h.vx)(),C=(0,h.$y)(),{closeMobileMenu:A}=(0,a.useContext)(j),P=w.redirect||w.path,T=w._runtimePath||P,I=T?(0,f.FY)(T,C):T,L="document"===w._navigationMode,D={...null==(i=w._route.options)?void 0:i.badge,count:k},Y=!!T&&L,E=e=>!e.defaultPrevented&&0===e.button&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey,R=(0,a.useCallback)(async t=>{var l,o,n,i,r;let a=null==(l=w._route.options)?void 0:l.href,s=null==(o=w._route.options)?void 0:o.params,d=null==(n=w._route.options)?void 0:n.openInNewWindow;t.preventDefault(),t.stopPropagation(),await M({context:null==(i=w._model)?void 0:i.context,href:a,params:s,openInNewWindow:d,isMobile:!!(null==(r=e.options)?void 0:r.isMobile),closeMobileMenu:A,navigate:F,basenameOfCurrentRouter:C})},[w,null==(d=e.options)?void 0:d.isMobile,A,F,C]),N=(0,a.useCallback)(t=>{var l,o,n;if(!T){t.preventDefault(),t.stopPropagation();return}if(L){if(!E(t))return;t.preventDefault(),t.stopPropagation(),c({isMobile:!!(null==(n=e.options)?void 0:n.isMobile),closeMobileMenu:A,callback:()=>{window.location.assign(T)}});return}if(t.preventDefault(),t.stopPropagation(),!(null==(l=e.options)?void 0:l.isMobile)){I&&F(I);return}c({isMobile:!!(null==(o=e.options)?void 0:o.isMobile),closeMobileMenu:A,callback:()=>{I&&F(I)}})},[null==(u=e.options)?void 0:u.isMobile,A,L,w,F,T,I]);if((null==(p=w._route)?void 0:p.type)==="link")return(0,o.jsx)(h.Zy.Provider,{value:w._parentRoute,children:(0,o.jsx)(h.dI.Provider,{value:w._route,children:(0,o.jsxs)("div",{role:"none",style:v,children:[(0,o.jsx)("div",{onClick:R,children:(0,o.jsx)(s.Link,{to:S.pathname,"aria-label":"string"==typeof w.name?w.name:void 0,children:e.children})}),null!=k&&(0,o.jsx)(r.Badge,{...null==(_=w._route.options)?void 0:_.badge,count:k,style:{marginLeft:4,color:null==(x=w._route.options)||null==(b=x.badge)?void 0:b.textColor,maxWidth:"10em"},dot:!1})]})})});let O=(0,o.jsx)(B,{title:w.name,hidden:"group"===w._route.type||(w._depth||0)>0||!(null==(m=e.options)?void 0:m.collapsed),badgeProps:D,children:Y?(0,o.jsx)("a",{href:T,"aria-label":"string"==typeof w.name?w.name:void 0,onClick:N,children:e.children}):T?(0,o.jsx)(s.Link,{to:I,"aria-label":"string"==typeof w.name?w.name:void 0,onClick:N,children:e.children}):(0,o.jsx)("span",{"aria-label":"string"==typeof w.name?w.name:void 0,children:e.children})});return(0,o.jsx)(h.Zy.Provider,{value:w._parentRoute,children:(0,o.jsx)(h.dI.Provider,{value:w._route,children:(0,o.jsxs)("div",{role:"none",style:v,children:[O,null!=k&&(0,o.jsx)(r.Badge,{...D,style:{marginLeft:4,color:null==(y=w._route.options)||null==(g=y.badge)?void 0:g.textColor,maxWidth:"10em"},dot:!1})]})})})},q=e=>{var t;let{model:l}=e;if(!w(l))return null;let n=null==(t=l.getRoute)?void 0:t.call(l);return(null==n?void 0:n.id)?(0,o.jsx)(i.DragHandler,{model:l}):null},V=e=>{var t;let{item:l,dom:n,options:i,renderType:r}=e;if(!l||!r)return null;let a=(0,o.jsx)(I,{tooltip:null==(t=l._route)?void 0:t.tooltip,children:n});return"group"===r?(0,o.jsx)(h.j0,{scopeId:l._route.schemaUid,type:"groupItem",children:(0,o.jsx)(O,{item:l,options:i,children:a})}):(0,o.jsx)(h.j0,{scopeId:l._route.schemaUid,type:"menuItem",children:(0,o.jsx)(H,{item:l,options:i,children:a})})},$=e=>{let{depth:t,isMobile:l}=e;return t>1||l&&t>0},z=()=>(0,o.jsx)("span",{"data-nb-hidden-menu-item":"true"}),K=(0,i.observer)(e=>{let{model:t,item:l,dom:n,renderType:r,options:s}=e,d=t.context.themeToken;return((0,a.useEffect)(()=>{t.setProps({item:l,dom:n,renderType:r,options:s})},[n,l,t,s,r]),!t.context.flowSettingsEnabled&&t.hidden)?(0,o.jsx)(z,{}):(0,o.jsx)(p.f,{children:(0,o.jsx)(i.Droppable,{model:t,children:(0,o.jsx)(i.FlowModelRenderer,{model:t,showFlowSettings:{showBackground:!1,showBorder:!1,style:{left:-d.padding,right:-d.padding}},extraToolbarItems:[{key:"menu-drag-handler",component:q,sort:1}]})})})});function U(e,t,l){let n=(null==l?void 0:l.id)??(null==l?void 0:l.schemaUid)??(null==l?void 0:l.menuSchemaUid)??(null==l?void 0:l.title)??t.uid;return{key:"x-designer-button",name:(0,o.jsx)(A,{testId:e,launcherModel:t,parentRoute:l}),path:g("designer",n),disabled:!0,_route:{},_parentRoute:l,_launcherModel:t,icon:(0,o.jsx)(d.In,{type:"setting"})}}let G=(e,t,l)=>({name:l?(0,o.jsx)(P,{icon:e.icon,title:t(e.title)}):t(e.title),icon:l?null:e.icon?(0,o.jsx)(d.In,{type:e.icon}):null})},6506(e,t,l){l.d(t,{t:()=>A,p:()=>C});var o=l(1178),n=l(2314),i=l(504),r=l(7152),a=l(2844),s=l(3313),d=l(4067),u=l(1649),c=l(2113),p=l(691),m=l(2793),h=l(4679),f=l(6034),g=l(6854),v=l(6514);let y=(0,p.css)`
112
+ `,children:e.children}),i)}):null},D=(e,t)=>(0,o.jsx)(L,{collapsed:e,children:t}),Y=(0,u.createStyles)(e=>{let{token:t}=e;return{headerPopup:{"&.ant-menu-submenu-popup>.ant-menu":{backgroundColor:`${t.colorBgHeader}`}},headerMenuActive:{"& .ant-menu-submenu-selected>.ant-menu-submenu-title":{color:t.colorTextHeaderMenuActive}}}}),E={inHeader:!0},R=e=>{let{styles:t}=Y();return(0,o.jsx)("span",{className:t.headerMenuActive,children:(0,o.jsx)(f.B9.Provider,{value:E,children:e.children})})},N=(e,t)=>(0,o.jsx)(R,{children:t}),O=e=>e.isMobile?[(0,o.jsx)(z,{},"mobile-actions")]:[(0,o.jsx)(_.K,{},"pinned-plugin-list")],B={display:"flex",height:"100vh"},H={flex:1,transform:"translateZ(0)",overflow:"hidden",scrollPaddingTop:"var(--nb-header-height)"},q={width:"fit-content",position:"relative"},V='[data-has-float-menu="true"][data-float-menu-model-uid]',$=()=>{let{token:e}=d.theme.useToken(),t=e,l=(0,c.useMemo)(()=>t.globalStyle?(0,u.createGlobalStyle)`${t.globalStyle}`:()=>null,[t.globalStyle]);return(0,o.jsx)(l,{})},z=()=>{let{token:e}=d.theme.useToken(),t=e,[l,n]=(0,c.useState)(!1),i=(0,c.useCallback)(()=>{n(!1)},[]);return(0,o.jsx)(d.Popover,{rootClassName:j,content:(0,o.jsx)(_.K,{onClick:i}),color:t.colorBgHeader,trigger:"click",open:l,onOpenChange:n,children:(0,o.jsx)("div",{style:{padding:"0 16px",display:"flex",alignItems:"center",height:"100%",marginRight:-16},children:(0,o.jsx)(r.EllipsisOutlined,{style:{color:t.colorTextHeaderMenu,fontSize:20}})})})};function K(e){let t=(0,s.useFlowEngine)().getModel(v.M);return(0,c.useEffect)(()=>{null==t||t.setIsMobileLayout(e.isMobile)},[t,e.isMobile]),e.children}let U=e=>{let t=(0,c.useRef)(null),l=!(e.item._parentRoute||e.fallbackParentRoute);return(0,c.useEffect)(()=>{t.current&&l&&(t.current.parentElement.parentElement.style.order="999",t.current.parentElement.parentElement.style.paddingLeft="0",t.current.parentElement.parentElement.style.padding="0")},[l]),(0,o.jsx)("div",{ref:t,children:(0,o.jsx)(y.f,{children:e.item.name})})},G=(e,t)=>!!e&&(!![null!=e.id?`/admin/${e.id}`:null,e.schemaUid?`/admin/${e.schemaUid}`:null].filter(Boolean).some(e=>t===e||t.startsWith(`${e}/`))||!!Array.isArray(e.children)&&e.children.some(e=>G(e,t))),J=(e,t)=>e.find(e=>"group"===e.type&&G(e,t)),W=(e,t,l,n,i)=>{var r,a;return(null==e?void 0:e.key)!=="x-designer-button"&&(null==e||!e.disabled||!e._launcherModel||(null==e||null==(r=e._route)?void 0:r.id)||(null==e||null==(a=e._route)?void 0:a.schemaUid))?(null==e?void 0:e._model)?(0,o.jsx)(f.xc,{model:e._model,item:e,dom:t,options:n,renderType:l},`admin-layout-menu-${l}-${e._model.uid}-${e.path}-${null==n?void 0:n.isMobile}-${null==n?void 0:n.collapsed}`):t:(0,o.jsx)(U,{item:e,fallbackParentRoute:i})},X=(0,s.observer)(e=>{let t=(0,s.useFlowEngine)(),l=t.getModel(v.M),[r,a]=(0,c.useState)(()=>{var e,l;return(null==(l=t.context.routeRepository)||null==(e=l.listAccessible)?void 0:e.call(l))||[]}),u=d.Grid.useBreakpoint(),p=!1===u.md||void 0===u.md&&"u">typeof window&&window.innerWidth<768,m=(0,h.useLocation)(),{token:y}=d.theme.useToken(),_=y,M=!!(null==l?void 0:l.isMobileLayout),S=(null==l?void 0:l.menuRouteRefreshVersion)||0,k=M||p,[F,C]=(0,c.useState)(k),[A,j]=(0,c.useState)(()=>(0,w.tY)()),[L,E]=(0,c.useState)({path:"/",children:[]}),R=(0,c.useRef)(!1),z=(0,c.useCallback)(e=>"function"==typeof t.context.t?t.context.t(e,{ns:"lm-desktop-routes"}):e,[t]),U=!k&&A,{styles:G}=Y(),{Component:X}=(0,b.H)(),Q=(0,c.useRef)(0),Z=(0,c.useRef)(!1),ee=(0,c.useCallback)(e=>{null==l||l.setLayoutContentElement(e)},[l]),et=(0,c.useMemo)(()=>J(r,m.pathname),[r,m.pathname]),el=(0,c.useCallback)(e=>{let l=(0,f.eL)(t,e);l&&t.context.routeRepository.moveRoute(l).catch(e=>{console.error("[NocoBase] AdminLayoutShell failed to move menu route.",e)})},[t]),eo=(0,c.useCallback)(e=>{let{droppableContainers:t,pointerCoordinates:l,...o}=e;if(l&&"u">typeof document){var n;let e=document.elementFromPoint(l.x,l.y),o=null==e||null==(n=e.closest(V))?void 0:n.getAttribute("data-float-menu-model-uid");if(o){let e=t.find(e=>String(e.id)===o);if(e)return[{id:e.id,data:{droppableContainer:e,value:Number.MAX_SAFE_INTEGER}}]}}let r=(0,i.pointerWithin)({droppableContainers:t,pointerCoordinates:l,...o});return r.length>0?r:(0,i.closestCenter)({droppableContainers:t,pointerCoordinates:l,...o})},[]);(0,c.useEffect)(()=>{var e;let l=t.context.routeRepository,o=()=>{a((null==l?void 0:l.listAccessible())||[])};return null==l||l.subscribe(o),null==l||null==(e=l.ensureAccessibleLoaded)||e.call(l).catch(e=>{console.error("[NocoBase] AdminLayoutComponent failed to initialize accessible routes.",e)}),()=>{null==l||l.unsubscribe(o)}},[t]),(0,c.useEffect)(()=>{if("u"<typeof window)return;let e=()=>{j((0,w.tY)())},t=t=>{t.key&&t.key!==w.h1||e()};return window.addEventListener(w.Ju,e),window.addEventListener("storage",t),()=>{window.removeEventListener(w.Ju,e),window.removeEventListener("storage",t)}},[]),(0,c.useLayoutEffect)(()=>{null==l||l.syncMenuRoutes(r),E((null==l?void 0:l.toProLayoutRoute({designable:U,isMobile:k,t:z}))||{path:"/",children:[]})},[l,r,U,k,S,z]),(0,c.useEffect)(()=>{let e=++Q.current,l=A&&!k;Z.current=l;let o=async e=>{e?await t.flowSettings.enable():await t.flowSettings.disable()};return(async()=>{try{await o(l),e!==Q.current&&await o(Z.current)}catch(e){console.error("[NocoBase] AdminLayoutShell failed to sync flow settings state.",e)}})(),()=>{Q.current===e&&(Q.current+=1)}},[t,k,A]);let en=(0,c.useMemo)(()=>({header:{colorBgHeader:_.colorBgHeader,colorTextMenu:_.colorTextHeaderMenu,colorTextMenuSelected:_.colorTextHeaderMenuActive,colorTextMenuActive:_.colorTextHeaderMenuHover,colorBgMenuItemHover:_.colorBgHeaderMenuHover,colorBgMenuItemSelected:_.colorBgHeaderMenuActive,heightLayoutHeader:46,colorHeaderTitle:_.colorTextHeaderMenu},sider:{colorMenuBackground:_.colorBgSider,colorTextMenu:_.colorTextSiderMenu,colorTextMenuSelected:_.colorTextSiderMenuActive,colorBgMenuItemSelected:_.colorBgSiderMenuActive,colorBgMenuItemActive:_.colorBgSiderMenuActive,colorBgMenuItemHover:_.colorBgSiderMenuHover},bgLayout:_.colorBgLayout}),[_]),{theme:ei,isDarkTheme:er}=(0,x.my)(),ea=(0,c.useMemo)(()=>({...ei,token:{...ei.token,paddingPageHorizontal:8,paddingPageVertical:8,marginBlock:12,borderRadiusBlock:8,fontSize:16},algorithm:er?[d.theme.compactAlgorithm,d.theme.darkAlgorithm]:d.theme.compactAlgorithm}),[ei,er]),es=(0,c.useCallback)(e=>{R.current||C(e)},[]),ed=(0,c.useCallback)(()=>{R.current=!0,setTimeout(()=>{R.current=!1})},[]),eu=(0,c.useMemo)(()=>({overflowedIndicatorPopupClassName:G.headerPopup}),[G.headerPopup]),ec=(0,c.useCallback)(()=>{k&&C(!0)},[k]),ep=(0,c.useCallback)((e,t,l)=>{let o=(null==l?void 0:l.menuRenderType)==="header"?void 0:et;return W(e,t,"item",l,o)},[et]),em=(0,c.useCallback)((e,t)=>W(e,t,"group",void 0,et),[et]);return(0,o.jsxs)("div",{style:B,children:[(0,o.jsx)("div",{id:"nocobase-app-container",style:H,children:(0,o.jsx)(f.Qt.Provider,{value:{closeMobileMenu:ec},children:(0,o.jsx)(s.DndProvider,{collisionDetection:eo,onDragEnd:el,children:(0,o.jsx)(n.default,{...e,contentStyle:I,siderWidth:_.siderWidth||200,className:T,location:m,route:L,actionsRender:e.actionsRender||O,logo:(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[X&&(0,o.jsx)(X,{}),(0,o.jsx)(P,{})]}),title:"",layout:"mix",splitMenus:!0,token:en,headerRender:N,menuItemRender:ep,subMenuItemRender:em,collapsedButtonRender:D,onCollapse:es,collapsed:F,onPageChange:ed,menu:{autoClose:!1},menuProps:eu,children:(0,o.jsx)(n.RouteContext.Consumer,{children:e=>{let{isMobile:t}=e;return(0,o.jsx)(K,{isMobile:t,children:(0,o.jsxs)(d.ConfigProvider,{theme:t?ea:ei,children:[(0,o.jsx)($,{}),(0,o.jsx)(g.x,{onContentElementChange:ee})]})})}})},`admin-layout-menu-${S}`)})})}),(0,o.jsx)("div",{id:"nocobase-embed-container",style:q})]})})},6450(e,t,l){l.d(t,{Cu:()=>f,Ev:()=>g,FW:()=>m,G:()=>h,QB:()=>y,Qb:()=>v,Th:()=>s,_I:()=>c,eD:()=>i,n8:()=>u,o2:()=>a,qN:()=>n,y8:()=>r}),l(6305),l(3313);var o=l(3314);let n=e=>({href:{title:e("URL"),type:"string","x-decorator":"FormItem","x-component":"FlowSettingsVariableTextArea","x-component-props":{rows:1,maxRows:1},description:e("Do not concatenate search params in the URL")},params:{type:"array",title:e("Search parameters"),"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:e("Name")}},value:{type:"string","x-decorator":"FormItem","x-component":"FlowSettingsVariableTextArea","x-component-props":{placeholder:e("Value"),rows:1,maxRows:1,useTypedConstant:!0,changeOnSelect:!0}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:e("Add parameter"),"x-component":"ArrayItems.Addition"}}},openInNewWindow:{type:"boolean","x-content":e("Open in new window"),"x-decorator":"FormItem","x-component":"Checkbox"}}),i=async(e,t)=>{await e.request({method:"POST",url:"/uiSchemas:insert",data:t})},r=e=>e&&"link"===e.menuType&&"insert"!==e.source?{openInNewWindow:!0}:{},a=[{label:"Group",value:"group"},{label:"Page",value:"flowPage"},{label:"Link",value:"link"}],s=e=>({title:{title:e("Menu item title"),required:!0,"x-decorator":"FormItem","x-component":"Input"},icon:{title:e("Icon"),"x-decorator":"FormItem","x-component":"IconPicker"}}),d=(e,t)=>Object.fromEntries(Object.entries(n(e)).map(e=>{let[l,o]=e;return[l,{...o,"x-reactions":{dependencies:[t],fulfill:{state:{hidden:'{{$deps[0] !== "link"}}'}}}}]})),u=e=>{var t,l,o;return{title:null==e?void 0:e.title,icon:null==e?void 0:e.icon,href:null==e||null==(t=e.options)?void 0:t.href,params:null==e||null==(l=e.options)?void 0:l.params,openInNewWindow:(null==e||null==(o=e.options)?void 0:o.openInNewWindow)!==!1}},c=(e,t)=>{let l=s(e);return(null==t?void 0:t.menuType)==="link"&&Object.assign(l,n(e)),l},p=e=>({menuType:{title:e("Menu type"),required:!0,enum:a.map(t=>({label:e(t.label),value:t.value})),"x-decorator":"FormItem","x-component":"Radio.Group"},...s(e),...d(e,"menuType")}),m=e=>({title:e.title,hideInSettings:e.hideInSettings,defaultParams:async()=>({menuType:"flowPage"}),uiSchema:async e=>p(e.t),beforeParamsSave:async(t,l)=>{let o=t.model,n=o.getRoute();if(!n||e.canCreate&&!e.canCreate(n))return;let i=e.resolveParentRoute(t,n);await o.createMenuFromMeta({menuType:l.menuType,source:"insert",insertPosition:e.insertPosition,targetRoute:n,parentRoute:i},l)}}),h=async(e,t)=>Promise.all((e||[]).filter(e=>"tabs"!==e.type).map(async e=>{var l,n;return{label:"string"==typeof e.title&&(0,o.DZ)(e.title)?await (null==(l=t.resolveJsonTemplate)?void 0:l.call(t,e.title))??e.title:t.t(e.title),value:`${e.id}||${e.type}`,children:(null==(n=e.children)?void 0:n.length)?await h(e.children,t):void 0}})),f=(e,t)=>{if(t)for(let o=0;o<e.length;o++){var l;let n=e[o];if(n.id===t.id)return e[o-1];if(null==(l=n.children)?void 0:l.length){let e=f(n.children,t);if(e)return e}}},g=(e,t)=>{if(t)for(let o=0;o<e.length;o++){var l;let n=e[o];if(n.id===t.id)return e[o+1];if(null==(l=n.children)?void 0:l.length){let e=g(n.children,t);if(e)return e}}},v=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"/";if(!e)return!1;let o=l&&"/"!==l?l.replace(/\/$/,""):"",n=o&&t.startsWith(o)?t.slice(o.length)||"/":t;return!![null!=e.id?`/admin/${e.id}`:null,e.schemaUid?`/admin/${e.schemaUid}`:null].filter(Boolean).some(e=>n===e||n.startsWith(`${e}/`))||!!Array.isArray(e.children)&&e.children.some(e=>v(e,n,"/"))},y=(e,t,l,n)=>"flowPage"===e?(0,o.g3)({pageSchemaUid:t}):(0,o.my)({pageSchemaUid:t,tabSchemaUid:l,tabSchemaName:n})},8679(e,t,l){l.d(t,{B8:()=>r.B8,B9:()=>r.B9,B_:()=>r.B_,Ot:()=>r.Ot,Px:()=>r.Px,Qt:()=>r.Qt,Tn:()=>r.Tn,Uc:()=>r.Uc,eL:()=>r.eL,fi:()=>r.fi,jj:()=>r.jj,ri:()=>r.ri,tS:()=>r.tS,ux:()=>r.ux,xF:()=>c,xc:()=>r.xc});var o=l(1178);l(1649);var n=l(504),i=l(3526);l(6305);var r=l(3313),a=l(6450),s=l(2844),d=l(9412);let u={beforeBegin:"insertBefore",afterEnd:"insertAfter"};class c extends n.FlowModel{onInit(e){super.onInit(e),this.syncFromRoute(this.props.route,this.props.parentRoute),this.shouldHydratePersistedState()&&this.hydratePersistedState()}syncFromRoute(e,t){(this.setProps({route:e,parentRoute:t}),(null==e?void 0:e.type)==="group")?(0,r.tS)(this,Array.isArray(e.children)?e.children:[],e):((this.subModels.menuItems||[]).forEach(e=>{this.flowEngine.removeModelWithSubModels(e.uid)}),delete this.subModels.menuItems)}getRoute(){return this.props.route}getParentRoute(){return this.props.parentRoute}getCreationMeta(){return this.props.creationMeta}isCreationSession(){var e;return!!(null==(e=this.getCreationMeta())?void 0:e.menuType)}shouldHydratePersistedState(){return!this.isCreationSession()&&(!!this.context.flowSettingsEnabled||this.hasPersistedMenuInstanceFlowFlag())}getRouteRepository(){return this.context.routeRepository}hasPersistedMenuInstanceFlowFlag(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getRoute();return(null==t||null==(e=t.options)?void 0:e.hasPersistedMenuInstanceFlow)===!0}getCurrentPersistedInstanceFlowCount(){return this.flowRegistry.getFlows().size}hasPersistableMenuLinkageRules(){let e=this.getStepParams("menuSettings","linkageRules");return Array.isArray(null==e?void 0:e.value)&&e.value.length>0}hasCurrentPersistedMenuState(){return this.getCurrentPersistedInstanceFlowCount()>0||this.hasPersistableMenuLinkageRules()}buildRouteOptionsWithPersistedFlowFlag(e){let t=this.getRoute(),l={...(null==t?void 0:t.options)||{}};return e?l.hasPersistedMenuInstanceFlow=!0:delete l.hasPersistedMenuInstanceFlow,Object.keys(l).length>0?l:void 0}async syncPersistedFlowRouteFlag(){if(this.isCreationSession())return;let e=this.getRoute();if((null==e?void 0:e.id)==null)return;let t=this.hasCurrentPersistedMenuState();if(this.hasPersistedMenuInstanceFlowFlag(e)===t)return;let l=this.buildRouteOptionsWithPersistedFlowFlag(t);await this.getRouteRepository().updateRoute(e.id,{options:l}),this.setProps({route:{...e,options:l}})}async destroyPersistedState(){var e,t;this.isCreationSession()||await (null==(t=this.flowEngine.modelRepository)||null==(e=t.destroy)?void 0:e.call(t,this.uid))}async hydratePersistedState(){if(!this.persistedStateHydrated)return this.persistedStateHydrating||(this.persistedStateHydrating=(async()=>{if(this.isCreationSession())return;let e=!1,t=this.flowEngine.modelRepository;if(!(null==t?void 0:t.findOne))return;let l=await t.findOne({uid:this.uid});if(null==l?void 0:l.uid){if(l.stepParams&&"object"==typeof l.stepParams&&(this.setStepParams(l.stepParams),e=this.hasPersistableMenuLinkageRules()),l.flowRegistry&&"object"==typeof l.flowRegistry){for(let e of[...this.flowRegistry.getFlows().keys()])this.flowRegistry.removeFlow(e);this.flowRegistry.addFlows(l.flowRegistry);let t=Object.values(l.flowRegistry).some(e=>{var t;return!!e&&!0!==e.manual&&(!e.on||("string"==typeof e.on?"beforeRender"===e.on:(null==(t=e.on)?void 0:t.eventName)==="beforeRender"))});e=e||t}e&&this.rerender()}})().finally(()=>{this.persistedStateHydrated=!0,this.persistedStateHydrating=void 0})),await this.persistedStateHydrating}hasPersistableInstanceFlows(){var e;let t=this.flowRegistry.getFlows().size,l=Object.keys((null==(e=this._options)?void 0:e.flowRegistry)||{}).length;return t>0||l>0}setHidden(e){let t=this.hidden;if(super.setHidden(e),t!==this.hidden){var l,o,n,i;null==(n=(i=this.flowEngine).getModel)||null==(o=n.call(i,s.M))||null==(l=o.refreshMenuRouteTree)||l.call(o)}}renderHiddenInConfig(){let{item:e,dom:t,options:l,renderType:n}=this.props;return e&&n?(0,o.jsx)("div",{style:{opacity:.3},children:(0,o.jsx)(r.B_,{item:e,dom:t,options:l,renderType:n})}):null}async createMenuRoute(e,t){let{parentId:l,refreshAfterMutation:o=!0}=t||{},n={...e,parentId:l??e.parentId??void 0},i=o?void 0:{refreshAfterMutation:!1},{data:r}=await this.getRouteRepository().createRoute(n,i);return null==r?void 0:r.data}async createRouteForInsert(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:(()=>{var e;return(null==(e=this.getCreationMeta())?void 0:e.targetRoute)||this.getRoute()})(),o=await this.createMenuRoute(e,{parentId:"beforeEnd"===t?(null==l?void 0:l.id)||void 0:(null==l?void 0:l.parentId)||void 0,refreshAfterMutation:!1}),n=u[t];if(n){try{await this.getRouteRepository().moveRoute({sourceId:null==o?void 0:o.id,targetId:null==l?void 0:l.id,sortField:"sort",method:n})}catch(e){throw await this.getRouteRepository().refreshAccessible(),e}return null==o?void 0:o.id}return await this.getRouteRepository().refreshAccessible(),null==o?void 0:o.id}async createMenuFromMeta(e,t){let l="flowPage"===e.menuType?"flowPage":"page"===e.menuType?"page":"group"===e.menuType?"group":"link",o=async t=>{var l;return e.insertPosition?this.createRouteForInsert(t,e.insertPosition,e.targetRoute):this.createMenuRoute(t,{parentId:null==(l=e.parentRoute)?void 0:l.id})};if("group"===e.menuType)return void await o({type:l,title:t.title,icon:t.icon,schemaUid:(0,i.uid)()});if("link"===e.menuType)return void await o({type:l,title:t.title,icon:t.icon,schemaUid:(0,i.uid)(),options:{href:t.href,params:t.params,openInNewWindow:t.openInNewWindow}});let n=(0,i.uid)(),r=(0,i.uid)(),a=(0,i.uid)(),s=(0,i.uid)();await o({type:l,title:t.title,icon:t.icon,schemaUid:n,menuSchemaUid:r,enableTabs:!1,children:[{type:"tabs",schemaUid:a,tabSchemaName:s,hidden:!0}]})}async persistMenuCreation(e){let t=this.getCreationMeta();t&&await this.createMenuFromMeta(t,e)}async updateMenuRoute(e){let t=this.getRoute();if((null==t?void 0:t.id)==null)return;let l={...e};e.options&&this.hasPersistedMenuInstanceFlowFlag(t)&&(l.options={...e.options,hasPersistedMenuInstanceFlow:!0}),await this.getRouteRepository().updateRoute(t.id,l),this.setProps({route:{...t,...l}})}async moveMenuRoute(e,t){var l,o,n,i,r;let a=this.getRoute(),[s,d]=(null==e||null==(l=e.split)?void 0:l.call(e,"||"))||[];if(s&&(null==a?void 0:a.id)!=null){if("beforeEnd"===t&&"group"!==d)throw Error((null==(n=this.context)||null==(o=n.t)?void 0:o.call(n,"Only groups support inner moves"))||"Only groups support inner moves");if("beforeEnd"===t&&String(a.id)===s)throw Error((null==(r=this.context)||null==(i=r.t)?void 0:i.call(r,"A menu group cannot be moved inside itself"))||"A menu group cannot be moved inside itself");await this.getRouteRepository().moveRoute({sourceId:a.id,sortField:"sort",method:"beforeEnd"===t?void 0:u[t],..."beforeEnd"===t?{targetScope:{parentId:s}}:{targetId:s}})}}async saveStepParams(){if(this.isCreationSession()){if(this.creationPersisted)return!0;let e=this.getStepParams("menuCreation","basic");return await this.persistMenuCreation(e||{}),this.creationPersisted=!0,!0}return this.hasCurrentPersistedMenuState()?await super.saveStepParams():this.hasPersistedMenuInstanceFlowFlag()?await this.destroyPersistedState():this.hasPersistableInstanceFlows()&&await super.saveStepParams(),await this.syncPersistedFlowRouteFlag(),!0}async save(){if(this.isCreationSession()){if(!this.creationPersisted){let e=this.getStepParams("menuCreation","basic");await this.persistMenuCreation(e||{}),this.creationPersisted=!0}return this.remove(),!0}return await super.save(),await this.syncPersistedFlowRouteFlag(),!0}async destroy(){var e,t,l;if(this.isCreationSession())return this.remove();let o=this.getRoute();if(!(null==o?void 0:o.id))return!1;let n=this.getRouteRepository().listAccessible(),i=(null==(e=this.context.location)?void 0:e.pathname)||window.location.pathname,r=(0,a.Qb)(o,i,null==(t=this.context.router)?void 0:t.basename),s=(0,a.Cu)(n,o),u=(0,a.Ev)(n,o);if(await this.getRouteRepository().deleteRoute(o.id),!r)return!0;let c=s||u;if(!c)return this.context.router.navigate("/"),!0;let p=(0,d.Yj)({app:this.context.app,route:c});return!p.runtimePath||("document"===p.navigationMode?window.location.assign(p.runtimePath):this.context.router.navigate((0,d.FY)(p.runtimePath,null==(l=this.context.router)?void 0:l.basename)),!0)}toProLayoutRoute(e){let t=this.props.route,l=this.props.parentRoute,o=e.depth||0;if(!t||"object"!=typeof t||!e.designable&&this.hidden)return null;let n=(0,r.Uc)({depth:o,isMobile:e.isMobile}),{name:i,icon:a}=(0,r.ri)(t,e.t,n);if("link"===t.type){let e=t.id??t.schemaUid??t.menuSchemaUid??t.title??this.uid;return{name:i,icon:a,path:(0,r.Px)("link",e),hideInMenu:t.hideInMenu,_route:t,_parentRoute:l,_depth:o,_model:this}}if("page"===t.type||"flowPage"===t.type){let e=(0,d.Yj)({app:this.context.app,route:t});return"unsupportedV2Runtime"===e.reason?null:{name:i,icon:a,path:t.schemaUid?`/admin/${t.schemaUid}`:(0,r.Px)("link",`${this.uid}-invalid`),redirect:t.schemaUid?`/admin/${t.schemaUid}`:void 0,hideInMenu:t.hideInMenu,disabled:!e.runtimePath,_runtimePath:e.runtimePath,_navigationMode:e.navigationMode,_isLegacy:e.isLegacy,_route:t,_parentRoute:l,_depth:o,_model:this}}if("group"===t.type){var s;let n=Array.isArray(t.children)?t.children:[],u=(this.subModels.menuItems||[]).map(t=>t.toProLayoutRoute({...e,depth:o+1})).filter(Boolean)||[];e.designable&&0===o&&u.push((0,r.Tn)("schema-initializer-Menu-side",this,t));let c=(0,d.Uf)(this.context.app)?(0,d.ug)(n):(0,d.MM)(n),p=(0,d.Yj)({app:this.context.app,route:(0,d.Uf)(this.context.app)&&c?c:t}),m={name:i,icon:a,path:`/admin/${t.id}`,redirect:(null==(s=u[0])?void 0:s.key)==="x-designer-button"?void 0:`/admin/${(null==c?void 0:c.schemaUid)||t.id}`,hideInMenu:t.hideInMenu,_runtimePath:p.runtimePath,_navigationMode:p.navigationMode,_isLegacy:p.isLegacy,_route:t,_parentRoute:l,_depth:o,_model:this};return u.length>0&&(m.routes=u),m}return null}render(){return(0,o.jsx)(r.B_,{item:this.props.item,dom:this.props.dom,options:this.props.options,renderType:this.props.renderType})}constructor(...e){super(...e),this.creationPersisted=!1,this.persistedStateHydrated=!1}}c.registerFlow({key:"menuCreation",title:"Add menu item",manual:!0,steps:{basic:{title:"Add menu item",preset:!0,hideInSettings:!0,defaultParams:async e=>(0,a.y8)(e.model.getCreationMeta()),uiSchema:async e=>(0,a._I)(e.t,e.model.getCreationMeta())}}}),c.registerFlow({key:"menuSettings",title:"Menu settings",manual:!0,steps:{edit:{title:"Edit",defaultParams:async e=>(0,a.n8)(e.model.getRoute()),uiSchema:async e=>{let t=e.model.getRoute(),l=(0,a.Th)(e.t);return(null==t?void 0:t.type)==="link"&&Object.assign(l,(0,a.qN)(e.t)),l},beforeParamsSave:async(e,t)=>{var l;await e.model.updateMenuRoute({title:t.title,icon:t.icon,options:(null==(l=e.model.getRoute())?void 0:l.type)==="link"?{href:t.href,params:t.params,openInNewWindow:t.openInNewWindow}:void 0})}},editTooltip:{title:"Edit tooltip",defaultParams:async e=>{var t;return{tooltip:null==(t=e.model.getRoute())?void 0:t.tooltip}},uiSchema:async e=>({tooltip:{title:e.t("Tooltip"),"x-decorator":"FormItem","x-component":"Input.TextArea"}}),beforeParamsSave:async(e,t)=>{await e.model.updateMenuRoute({tooltip:t.tooltip})}},hidden:{title:"Hidden",uiMode:{type:"switch",key:"hideInMenu"},defaultParams:async e=>{var t;return{hideInMenu:!!(null==(t=e.model.getRoute())?void 0:t.hideInMenu)}},beforeParamsSave:async(e,t)=>{await e.model.updateMenuRoute({hideInMenu:!!t.hideInMenu})}},linkageRules:{use:"menuLinkageRules",hideInSettings:async e=>e.model.isCreationSession()},moveTo:{title:"Move to",defaultParams:async()=>({position:"afterEnd"}),uiSchema:async e=>{var t;let l=await (0,a.G)(e.routeRepository.listAccessible(),e),o=null==(t=e.model.getRoute())?void 0:t.id,n=(0,r.B8)(void 0,o,e.t);return{target:{title:e.t("Target"),enum:l,required:!0,"x-decorator":"FormItem","x-component":"TreeSelect"},position:{title:e.t("Position"),required:!0,enum:n,"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":[t=>{var l;let n=(0,r.B8)(null==(l=t.form.values)?void 0:l.target,o,e.t);t.dataSource=n,n.some(e=>e.value===t.value&&!e.disabled)||(t.value="afterEnd")}]}}},beforeParamsSave:async(e,t)=>{await e.model.moveMenuRoute(t.target,t.position)}},insertBefore:(0,a.FW)({title:"Insert before",insertPosition:"beforeBegin",resolveParentRoute:e=>e.model.getParentRoute()}),insertAfter:(0,a.FW)({title:"Insert after",insertPosition:"afterEnd",resolveParentRoute:e=>e.model.getParentRoute()}),insertInner:(0,a.FW)({title:"Insert inner",hideInSettings:async e=>{var t;return(null==(t=e.model.getRoute())?void 0:t.type)!=="group"},canCreate:e=>"group"===e.type,insertPosition:"beforeEnd",resolveParentRoute:(e,t)=>"group"===t.type?t:void 0})}})},3313(e,t,l){l.d(t,{Ot:()=>R,Uc:()=>$,eL:()=>N,B9:()=>L,jj:()=>M,Px:()=>g,fi:()=>x,B8:()=>D,Qt:()=>j,xc:()=>K,Tn:()=>U,ux:()=>b,B_:()=>V,tS:()=>E,ri:()=>G});var o=l(1178),n=l(2113),i=l(504),r=l(2793),a=l(1649),s=l(8356),d=l(6305);let u=220,c=e=>{let{isMobile:t,closeMobileMenu:l,callback:o,delayMs:n=u}=e;t?(l(),window.setTimeout(o,n)):o()};var p=l(2275),m=l(3526),h=l(3314),f=l(9412);let g=(e,t)=>`/admin/__admin_layout__/${e}/${encodeURIComponent(String(t))}`,v={display:"flex",alignItems:"center",justifyContent:"space-between"},y={display:"inline-flex",alignItems:"center",justifyContent:"center",marginLeft:8,color:"inherit"},_=[{pattern:/^\$user(?:\.(.+))?$/,resolve:e=>`ctx.user${e[1]?`.${e[1]}`:""}`},{pattern:/^currentUser(?:\.(.+))?$/,resolve:e=>`ctx.user${e[1]?`.${e[1]}`:""}`},{pattern:/^\$nRole$/,resolve:()=>"ctx.role"},{pattern:/^\$nToken$/,resolve:()=>"ctx.token"},{pattern:/^\$nURLSearchParams(?:\.(.+))?$/,resolve:e=>`ctx.urlSearchParams${e[1]?`.${e[1]}`:""}`}],b=e=>"string"==typeof e&&e.includes("{{")?e.replace(/\{\{\s*([\s\S]*?)\s*\}\}/g,(e,t)=>{let l=String(t||"").trim();for(let e of _){let t=l.match(e.pattern);if(t)return`{{ ${e.resolve(t)} }}`}return e}):e,x=async e=>{let{context:t,href:l,params:o=[]}=e,n="string"==typeof l?b(l):l,i=await t.resolveJsonTemplate(n),r={};for(let{name:e,value:l}of o)if(e)try{let o="string"==typeof l?await t.resolveJsonTemplate(b(l)):l;if(null==o)continue;r[e]=(0,h.hu)(o)}catch(e){console.error(e)}return(0,h.gN)(String(i??l??""),__rspack_external_qs.default.stringify(r))},M=async e=>{let{context:t,href:l,params:o,openInNewWindow:n,isMobile:i,closeMobileMenu:r,navigate:a,basenameOfCurrentRouter:s}=e;try{let e=await x({context:t,href:l,params:o||[]});if(!1!==n){i&&r(),window.open(e,"_blank","noopener,noreferrer");return}c({isMobile:!!i,closeMobileMenu:r,callback:()=>{(0,h.Ff)(e,a,window.location.origin+s)}})}catch(e){console.error(e),i&&r(),window.open(l,"_blank","noopener,noreferrer")}},w=e=>!!e&&"function"==typeof e.getRoute,S=(e,t)=>"function"==typeof e.context.t?e.context.t(t):t,k=[{key:"group",label:"Group",menuType:"group"},{key:"flow-page",label:"Page",menuType:"flowPage"},{key:"link",label:"Link",menuType:"link"}],F=(e,t)=>({uid:`${e.uid}-menu-creation-${(0,m.uid)()}`,use:"AdminLayoutMenuItemModel",props:{creationMeta:t}}),C=(e,t)=>{let l=t=>S(e,t),o=t?"sider":"header";return k.map(n=>({key:n.key,label:l(n.label),createModelOptions:()=>F(e,{menuType:n.menuType,source:o,parentRoute:t})}))},A=e=>{let t=t=>S(e.launcherModel,t);return(0,o.jsx)(i.AddSubModelButton,{model:e.launcherModel,subModelKey:"menuItems",items:C(e.launcherModel,e.parentRoute),children:(0,o.jsx)(i.FlowSettingsButton,{"data-testid":e.testId,style:{background:"none"},icon:(0,o.jsx)(n.PlusOutlined,{}),children:t("Add menu item")})})},P=e=>e.icon?(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,o.jsx)(d.In,{type:e.icon}),(0,o.jsx)("span",{children:e.title})]}):(0,o.jsx)(o.Fragment,{children:e.title}),T=e=>(0,o.jsx)(o.Fragment,{children:e.children}),I=(0,h.LM)(T),j=a.default.createContext({closeMobileMenu:()=>{}}),L=a.default.createContext({inHeader:!1}),D=(e,t,l)=>{var o;let[n,i]=(null==e||null==(o=e.split)?void 0:o.call(e,"||"))||[],r=[{label:l("Before"),value:"beforeBegin"},{label:l("After"),value:"afterEnd"}];return"group"!==i?r:[...r,{label:l("Inner"),value:"beforeEnd",disabled:void 0!==t&&String(t)===n}]};function Y(e,t,l){let o=t.id??t.schemaUid??t.menuSchemaUid??t.pageSchemaUid??t.title??`${t.type}-${l}`;return`${e}-menu-item-${t.type||"unknown"}-${o}`}function E(e,t,l){let o=[...e.subModels.menuItems||[]],n=new Map(o.map(e=>[e.uid,e])),i=[],r=new Set;t.forEach((t,o)=>{let a=Y(e.uid,t,o),s=n.get(a),d=!!s;if(s||(s=e.addSubModel("menuItems",{uid:a,use:"AdminLayoutMenuItemModel",props:{route:t,parentRoute:l}})),s.sortIndex=o+1,d){var u;null==(u=s.syncFromRoute)||u.call(s,t,l)}i.push(s),r.add(a)}),o.forEach(t=>{r.has(t.uid)||e.flowEngine.removeModelWithSubModels(t.uid)}),e.subModels.menuItems=i}function R(e,t){var l,o;if(!w(e)||!w(t))return;let n=null==(l=e.getRoute)?void 0:l.call(e),i=null==(o=t.getRoute)?void 0:o.call(t);if((null==n?void 0:n.id)&&(null==i?void 0:i.id)&&n.id!==i.id)return{sourceId:n.id,targetId:i.id,sortField:"sort"}}function N(e,t){var l,o;if((null==(l=t.active)?void 0:l.id)&&(null==(o=t.over)?void 0:o.id))return R(e.getModel(String(t.active.id)),e.getModel(String(t.over.id)))}let O=e=>{var t,l,n,i,d,u,p,m,g;let{item:_}=e,b=(0,h.JN)(null==(l=_._route.options)||null==(t=l.badge)?void 0:t.count,null==(n=_._model)?void 0:n.context),x=(0,h.vx)(),M=(0,h.$y)(),{closeMobileMenu:w}=(0,a.useContext)(j),S="string"==typeof _.name||"number"==typeof _.name?String(_.name):"string"==typeof(null==(i=_._route)?void 0:i.title)||"number"==typeof(null==(d=_._route)?void 0:d.title)?String(_._route.title):void 0,k=_._runtimePath,F=k?(0,f.FY)(k,M):k,C=(0,a.useCallback)(t=>{var l,o;if(!k){t.preventDefault(),t.stopPropagation();return}let n=0!==t.button||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented;if("document"===_._navigationMode){if(n)return;t.preventDefault(),t.stopPropagation(),c({isMobile:!!(null==(o=e.options)?void 0:o.isMobile),closeMobileMenu:w,callback:()=>{window.location.assign(k)}});return}t.preventDefault(),t.stopPropagation(),c({isMobile:!!(null==(l=e.options)?void 0:l.isMobile),closeMobileMenu:w,callback:()=>{F&&x(F)}})},[w,_,_._navigationMode,x,null==(u=e.options)?void 0:u.isMobile,k,F]),A=S?`${S}-landing-entry`:"group-landing-entry",P=e.children,T=k?"document"===_._navigationMode?(0,o.jsx)("a",{href:k,"aria-label":A,onClick:C,style:y}):(0,o.jsx)(s.Link,{to:F||k,"aria-label":A,onClick:C,style:y}):null;return(0,o.jsx)(h.Zy.Provider,{value:_._parentRoute,children:(0,o.jsx)(h.dI.Provider,{value:_._route,children:(0,o.jsxs)("div",{"aria-label":S,role:"none",style:v,children:[P,T,null!=b&&(0,o.jsx)(r.Badge,{...null==(p=_._route.options)?void 0:p.badge,count:b,style:{marginLeft:4,color:null==(g=_._route.options)||null==(m=g.badge)?void 0:m.textColor,maxWidth:"10em"},dot:!1})]})})})},B=e=>{let{inHeader:t}=(0,a.useContext)(L);return e.hidden||t?e.children:(0,o.jsx)(r.Tooltip,{title:e.title,placement:"right",children:(0,o.jsx)(r.Badge,{...e.badgeProps,style:{transform:"none",maxWidth:"10em"},dot:!1,children:e.children})})},H=e=>{var t,l,n,i,d,u,p,m,g,y,_,b,x;let{item:w}=e,S=(0,s.useLocation)(),k=(0,h.JN)(null==(l=w._route.options)||null==(t=l.badge)?void 0:t.count,null==(n=w._model)?void 0:n.context),F=(0,h.vx)(),C=(0,h.$y)(),{closeMobileMenu:A}=(0,a.useContext)(j),P=w.redirect||w.path,T=w._runtimePath||P,I=T?(0,f.FY)(T,C):T,L="document"===w._navigationMode,D={...null==(i=w._route.options)?void 0:i.badge,count:k},Y=!!T&&L,E=e=>!e.defaultPrevented&&0===e.button&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey,R=(0,a.useCallback)(async t=>{var l,o,n,i,r;let a=null==(l=w._route.options)?void 0:l.href,s=null==(o=w._route.options)?void 0:o.params,d=null==(n=w._route.options)?void 0:n.openInNewWindow;t.preventDefault(),t.stopPropagation(),await M({context:null==(i=w._model)?void 0:i.context,href:a,params:s,openInNewWindow:d,isMobile:!!(null==(r=e.options)?void 0:r.isMobile),closeMobileMenu:A,navigate:F,basenameOfCurrentRouter:C})},[w,null==(d=e.options)?void 0:d.isMobile,A,F,C]),N=(0,a.useCallback)(t=>{var l,o,n;if(!T){t.preventDefault(),t.stopPropagation();return}if(L){if(!E(t))return;t.preventDefault(),t.stopPropagation(),c({isMobile:!!(null==(n=e.options)?void 0:n.isMobile),closeMobileMenu:A,callback:()=>{window.location.assign(T)}});return}if(t.preventDefault(),t.stopPropagation(),!(null==(l=e.options)?void 0:l.isMobile)){I&&F(I);return}c({isMobile:!!(null==(o=e.options)?void 0:o.isMobile),closeMobileMenu:A,callback:()=>{I&&F(I)}})},[null==(u=e.options)?void 0:u.isMobile,A,L,w,F,T,I]);if((null==(p=w._route)?void 0:p.type)==="link")return(0,o.jsx)(h.Zy.Provider,{value:w._parentRoute,children:(0,o.jsx)(h.dI.Provider,{value:w._route,children:(0,o.jsxs)("div",{role:"none",style:v,children:[(0,o.jsx)("div",{onClick:R,children:(0,o.jsx)(s.Link,{to:S.pathname,"aria-label":"string"==typeof w.name?w.name:void 0,children:e.children})}),null!=k&&(0,o.jsx)(r.Badge,{...null==(_=w._route.options)?void 0:_.badge,count:k,style:{marginLeft:4,color:null==(x=w._route.options)||null==(b=x.badge)?void 0:b.textColor,maxWidth:"10em"},dot:!1})]})})});let O=(0,o.jsx)(B,{title:w.name,hidden:"group"===w._route.type||(w._depth||0)>0||!(null==(m=e.options)?void 0:m.collapsed),badgeProps:D,children:Y?(0,o.jsx)("a",{href:T,"aria-label":"string"==typeof w.name?w.name:void 0,onClick:N,children:e.children}):T?(0,o.jsx)(s.Link,{to:I,"aria-label":"string"==typeof w.name?w.name:void 0,onClick:N,children:e.children}):(0,o.jsx)("span",{"aria-label":"string"==typeof w.name?w.name:void 0,children:e.children})});return(0,o.jsx)(h.Zy.Provider,{value:w._parentRoute,children:(0,o.jsx)(h.dI.Provider,{value:w._route,children:(0,o.jsxs)("div",{role:"none",style:v,children:[O,null!=k&&(0,o.jsx)(r.Badge,{...D,style:{marginLeft:4,color:null==(y=w._route.options)||null==(g=y.badge)?void 0:g.textColor,maxWidth:"10em"},dot:!1})]})})})},q=e=>{var t;let{model:l}=e;if(!w(l))return null;let n=null==(t=l.getRoute)?void 0:t.call(l);return(null==n?void 0:n.id)?(0,o.jsx)(i.DragHandler,{model:l}):null},V=e=>{var t;let{item:l,dom:n,options:i,renderType:r}=e;if(!l||!r)return null;let a=(0,o.jsx)(I,{tooltip:null==(t=l._route)?void 0:t.tooltip,children:n});return"group"===r?(0,o.jsx)(h.j0,{scopeId:l._route.schemaUid,type:"groupItem",children:(0,o.jsx)(O,{item:l,options:i,children:a})}):(0,o.jsx)(h.j0,{scopeId:l._route.schemaUid,type:"menuItem",children:(0,o.jsx)(H,{item:l,options:i,children:a})})},$=e=>{let{depth:t,isMobile:l}=e;return t>1||l&&t>0},z=()=>(0,o.jsx)("span",{"data-nb-hidden-menu-item":"true"}),K=(0,i.observer)(e=>{let{model:t,item:l,dom:n,renderType:r,options:s}=e,d=t.context.themeToken;return((0,a.useEffect)(()=>{t.setProps({item:l,dom:n,renderType:r,options:s})},[n,l,t,s,r]),!t.context.flowSettingsEnabled&&t.hidden)?(0,o.jsx)(z,{}):(0,o.jsx)(p.f,{children:(0,o.jsx)(i.Droppable,{model:t,children:(0,o.jsx)(i.FlowModelRenderer,{model:t,showFlowSettings:{showBackground:!1,showBorder:!1,style:{left:-d.padding,right:-d.padding}},extraToolbarItems:[{key:"menu-drag-handler",component:q,sort:1}]})})})});function U(e,t,l){let n=(null==l?void 0:l.id)??(null==l?void 0:l.schemaUid)??(null==l?void 0:l.menuSchemaUid)??(null==l?void 0:l.title)??t.uid;return{key:"x-designer-button",name:(0,o.jsx)(A,{testId:e,launcherModel:t,parentRoute:l}),path:g("designer",n),disabled:!0,_route:{},_parentRoute:l,_launcherModel:t,icon:(0,o.jsx)(d.In,{type:"setting"})}}let G=(e,t,l)=>({name:l?(0,o.jsx)(P,{icon:e.icon,title:t(e.title)}):t(e.title),icon:l?null:e.icon?(0,o.jsx)(d.In,{type:e.icon}):null})},6506(e,t,l){l.d(t,{t:()=>A,p:()=>C});var o=l(1178),n=l(2314),i=l(504),r=l(7152),a=l(2844),s=l(3313),d=l(4067),u=l(1649),c=l(2113),p=l(691),m=l(2793),h=l(4679),f=l(6034),g=l(6854),v=l(6514);let y=(0,p.css)`
113
113
  display: inline-flex;
114
114
  align-items: center;
115
115
  color: var(--nb-topbar-action-color);
@@ -258,11 +258,11 @@ import*as __rspack_external__ant_design_cssinjs_c619260f from"@ant-design/cssinj
258
258
  border-top-color: transparent;
259
259
  background-color: transparent;
260
260
  }
261
- `,children:"x"})})})]})}},9253(e,t,l){l.d(t,{o8:()=>J,BY:()=>eh,fL:()=>em.fL,by:()=>em.by,zA:()=>em.previewRunJS,hP:()=>em.hP});var o=l(1178),n=l(1649),i=l(504);function r(e,t){let l=(null==t?void 0:t.mode)||"full";if("string"==typeof e)return e;if(!e||"object"!=typeof e)return String(e??"");if("simple"===l){let t=e.description??e.detail??e.type??"",l=Array.isArray(e.examples)?e.examples.filter(e=>"string"==typeof e&&e.trim()):[];return l.length?[t,"Examples:",...l].filter(Boolean).join("\n"):"string"==typeof t?t:String(t??"")}let o=e.description??e.detail??e.type??"",n=Array.isArray(e.params)?e.params:[],i=e.returns,r=e.ref,a=e.disabled,s=e.disabledReason,d=e=>{if(!e)return"";if("string"==typeof e)return e;if(e&&"object"==typeof e){let t="string"==typeof e.url?e.url:"",l="string"==typeof e.title?e.title:"";return l&&t?`${l}: ${t}`:t||l}return String(e)},u=e=>{if(!e||"object"!=typeof e)return"";let t="string"==typeof e.name?e.name:"";if(!t)return"";let l="string"==typeof e.type?e.type:"",o=e.optional?"?":"",n=void 0===e.default?"":` = ${"string"==typeof e.default?JSON.stringify(e.default):String(e.default)}`,i="string"==typeof e.description?e.description:"",r=`${t}${o}${l?`: ${l}`:""}${n}`;return i?`${r} - ${i}`:r},c=e=>{if(!e||"object"!=typeof e)return"";let t="string"==typeof e.type?e.type:"",l="string"==typeof e.description?e.description:"";return t&&l?`${t} - ${l}`:t||l},p=Array.isArray(e.examples)?e.examples.filter(e=>"string"==typeof e&&e.trim()):[],m=[];if("string"==typeof o&&o.trim()&&m.push(o),n.length){let e=n.map(u).filter(Boolean);e.length&&m.push("Params:",...e.map(e=>`- ${e}`))}let h=c(i);h&&m.push("Returns:",`- ${h}`);let f=d(r);if(f&&m.push("Ref:",`- ${f}`),a){let e="string"==typeof s?s:"";m.push("Disabled:",`- ${e||"true"}`)}return(p.length&&m.push("Examples:",...p),m.length)?m.join("\n"):""}async function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=arguments.length>2?arguments[2]:void 0,o=(e,t)=>{if(!e||"object"!=typeof e||Array.isArray(e))return!1;let l="string"==typeof e.type?String(e.type):"";if("function"===l||"method"===l||Array.isArray(e.params)&&e.params.length||e.returns)return!0;let o=null==t?void 0:t.insertText;return!!("string"==typeof o&&/\bctx\.[\w$.]+\s*\(/.test(o))};try{await (0,i.setupRunJSContexts)()}catch(e){}let n=(0,i.getRunJSDocFor)(e||{},{version:t}),a=null;try{e&&"function"==typeof e.getApiInfos&&(a=await e.getApiInfos({version:t}))}catch(e){a=null}let s=e=>{let t={};for(let[l,o]of Object.entries(e&&"object"==typeof e?e:{}))"string"==typeof o?t[l]={description:o,type:"function"}:o&&"object"==typeof o&&!Array.isArray(o)?t[l]={...o,type:"function"}:t[l]=o;return t},d={...(null==n?void 0:n.properties)||{},...s(null==n?void 0:n.methods)},u={...a&&"object"==typeof a?a:{},...d||{}},c=[],p=new Set(["api","resource","viewer","record","formValues","popup"]),m=new Map,h=new Set,f=e=>{if(!e||"string"!=typeof e)return!1;let t=e.endsWith("()")?e.slice(0,-2):e;if(!t.startsWith("ctx."))return!1;let l=t.split(".").filter(Boolean);if("ctx"!==l[0])return!1;for(;l.length;){let e=l.join(".");if(h.has(e))return!0;l.pop()}return!1},g=async(t,l,o)=>{if(!t||"object"!=typeof t||Array.isArray(t))return{hideSelf:!1,hideSubpaths:[]};if(m.has(l))return m.get(l);let n=t.hidden,i=!1,r=[];try{if("boolean"==typeof n)i=n;else if(Array.isArray(n))r=n;else if("function"==typeof n){let t=await n(e);"boolean"==typeof t?i=t:Array.isArray(t)&&(r=t)}}catch(e){i=!1,r=[]}let a=[];if(Array.isArray(r))for(let e of r){if("string"!=typeof e)continue;let t=e.trim();if(!t||"ctx"===t||t.startsWith("ctx.")||/\s/.test(t))continue;let l=t.split(".").map(e=>e.trim()).filter(Boolean);l.length&&"ctx"!==l[0]&&a.push(["ctx",...o,...l].join("."))}let s={hideSelf:i,hideSubpaths:a};return m.set(l,s),s},v=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(e)for(let[l,o]of Object.entries(e)){let e,n=[...t,l];if(f(`ctx.${n.join(".")}`))continue;let i=await g(o,`p:${n.join(".")}`,n);if(!i.hideSelf){for(let e of i.hideSubpaths)h.add(e);o&&"object"==typeof o&&!Array.isArray(o)&&(e=o.properties),e&&"object"==typeof e&&await v(e,n)}}};await v((null==n?void 0:n.properties)||{}),((null==n?void 0:n.label)||(null==n?void 0:n.properties)||(null==n?void 0:n.methods))&&c.push({label:"ctx",type:"class",detail:"FlowRunJSContext",info:(null==n?void 0:n.label)||"RunJS context",boost:115});let y=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(e)for(let[l,n]of Object.entries(e)){let e,i,a,s=[...t,l],d=`ctx.${s.join(".")}`,u=s.length,m=s[0];if(f(d))continue;let v=await g(n,`p:${s.join(".")}`,s);if(v.hideSelf)continue;for(let e of v.hideSubpaths)h.add(e);n&&"object"==typeof n&&!Array.isArray(n)&&(e=n.detail??n.type??"ctx property",a=n.completion,i=n.properties);let _=o(n,a),b=(null==a?void 0:a.insertText)??("popup"===m?`await ctx.getVar('${d}')`:_?`${d}()`:void 0),x=b?(e,t,l,o)=>{e.dispatch({changes:{from:l,to:o,insert:b},selection:{anchor:l+b.length},scrollIntoView:!0})}:void 0,M=_?`${d}()`:d;c.push({label:M,type:_?"function":"property",info:r(n),detail:e||(_?"ctx function":"ctx property"),boost:Math.max(90-5*u,10)+10*!!p.has(m),apply:x}),i&&await y(i,s)}};await y(u||{});let _=[];try{var b,x,M,w,S;let l=(null==e||null==(x=e.model)||null==(b=x.constructor)?void 0:b.name)||"*",o=(null==e||null==(w=e.api)||null==(M=w.auth)?void 0:M.locale)||(null==e||null==(S=e.i18n)?void 0:S.language);_=await (0,i.listSnippetsForContext)(l,t,o)}catch(e){_=[]}let k=Array.isArray(l)?l.filter(e=>"string"==typeof e&&e.trim().length>0):l?[l]:[],F=k.length?_.filter(e=>{var t;if(null==(t=e.scenes)?void 0:t.length)return e.scenes.some(e=>k.includes(e));let l=e.group||"";if(!l.startsWith("scene/"))return!0;let[o,n]=l.split("/");return!!n&&k.includes(n)}):_,C=new Set;for(let e of F){let t=e.body,l=String(e.name??"").trim(),o="string"==typeof e.prefix?e.prefix.trim():"",n=l||o,i=n,r=l&&o&&o!==i?o:void 0,a=e.ref||`${n}|${r??""}`;!i||C.has(a)||(C.add(a),c.push({label:n,displayLabel:i,detail:r,type:"snippet",info:e.description||e.ref,boost:80,apply:(e,l,o,n)=>{e.dispatch({changes:{from:o,to:n,insert:t},selection:{anchor:o+t.length},scrollIntoView:!0})}}))}let A=new Set,P=[];for(let e=c.length-1;e>=0;e--){let t=c[e],l=null==t?void 0:t.label;if("string"!=typeof l||!l){P.push(c[e]);continue}A.has(l)||(A.add(l),P.push(c[e]))}return P.reverse(),{completions:P,entries:F}}function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=arguments.length>2?arguments[2]:void 0,[o,i]=(0,n.useState)(null),[r,s]=(0,n.useState)([]),[d,u]=(0,n.useState)(null);return(0,n.useEffect)(()=>{let o=!1;return(async()=>{try{let{completions:n,entries:r}=await a(e,t,l);o||(i(n),s(r),u(null))}catch(e){o||(i(null),s([]),u(e))}})(),()=>{o=!0}},[e,t,l]),{completions:o,entries:r,error:d}}let d=2;function u(e){try{e&&e.dispatch((0,__rspack_external__codemirror_lint_56ca5a10.setDiagnostics)(e.state,[]))}catch(e){try{var t,l;null==(t=(l=console).debug)||t.call(l,"[errorHelpers] clearDiagnostics failed",e)}catch(e){}}}function c(e){let t=String((null==e?void 0:e.stack)||(null==e?void 0:e.message)||e||""),l=t.split("\n");for(let e of l){let t=e.match(/<anonymous>:(\d+):(\d+)/);if(t)return{line:parseInt(t[1],10),column:parseInt(t[2],10)}}for(let e of l){let t=e.match(/:(\d+):(\d+)/);if(t){let e=parseInt(t[1],10),l=parseInt(t[2],10);if(!Number.isNaN(e)&&!Number.isNaN(l))return{line:e,column:l}}}let o=t.match(/line\s*(\d+)\D+column\s*(\d+)/i);return o?{line:parseInt(o[1],10),column:parseInt(o[2],10)}:null}function p(e,t,l,o){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:d;try{if(!e)return;let i=Math.max(1,t-n),r=e.state.doc.line(Math.min(i,e.state.doc.lines)),a=Math.min(r.from+Math.max(0,l-1),r.to),s=a,d=[{from:a,to:s,severity:"error",message:o}];e.dispatch((0,__rspack_external__codemirror_lint_56ca5a10.setDiagnostics)(e.state,d)),e.dispatch({selection:{anchor:a},scrollIntoView:!0})}catch(e){try{var i,r;null==(i=(r=console).debug)||i.call(r,"[errorHelpers] markErrorAt failed",e)}catch(e){}}}function m(e,t,l){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:d;try{if(!e)return;let n=Math.max(1,t-o),i=e.state.doc.line(Math.min(n,e.state.doc.lines)),r=Math.min(i.from+Math.max(0,l-1),i.to);e.dispatch({selection:{anchor:r},scrollIntoView:!0})}catch(e){try{var n,i;null==(n=(i=console).debug)||n.call(i,"[errorHelpers] jumpTo failed",e)}catch(e){}}}var h=l(2113),f=l(2793),g=l(7516),v=l(5931);function y(e){let t=[],l=e.from+1,o=e.to-1,n=l;for(let l=e.firstChild;l;l=l.nextSibling)"Interpolation"===l.type.name&&(l.from>n&&t.push({from:n,to:l.from}),n=Math.max(n,l.to));return n<o&&t.push({from:n,to:o}),t.filter(e=>e.to>e.from)}function _(){let e=(0,v.javascript)({jsx:!0}),t=(0,__rspack_external__codemirror_lang_html_cc111360.html)(),l=e.language.configure({wrap:(0,__rspack_external__lezer_common_285852e1.parseMixed)(e=>{if("TemplateString"!==e.type.name)return null;let t=y(e.node);return t.length?{parser:__rspack_external__codemirror_lang_html_cc111360.htmlLanguage.parser,overlay:t}:null})});return new __rspack_external__codemirror_language_df5c6307.LanguageSupport(l,[e.support,t.support])}var b=l(5022);let x=(e,t,l)=>{let o=l.state.doc,n=[],i="",r=0;for(let e of t){let t=o.sliceString(e.from,e.to),l=r,a=l+t.length;n.push({htmlFrom:l,htmlTo:a,docFrom:e.from}),i+=t,r=a}if(!n.length)return null;let a=n.find(e=>{let{docFrom:t,htmlFrom:o,htmlTo:n}=e;return l.pos>=t&&l.pos<=t+(n-o)});return a?{htmlDoc:i,htmlPos:a.htmlFrom+(l.pos-a.docFrom),segments:n}:null},M=(e,t)=>{for(let l=e.length-1;l>=0;l-=1){let o=e[l];if(t>=o.htmlFrom&&t<=o.htmlTo)return o.docFrom+(t-o.htmlFrom)}return null},w=e=>{for(let t=e;t;t=t.parent)if("TemplateString"===t.type.name)return t;return null},S=e=>{let t=(0,__rspack_external__codemirror_language_df5c6307.syntaxTree)(e.state).resolveInner(e.pos,-1),l=w(t);if(!l||"Interpolation"===t.type.name)return null;let o=y(l.node);return o.length?x(l.node,o,e):null},k=(e,t)=>{let l=M(t,e.from),o=M(t,e.to);return null==l||null==o?null:{...e,from:l,to:o}},F=e=>null!=S(e),C=()=>{let e=__rspack_external__codemirror_lang_html_cc111360.htmlCompletionSource;return t=>{let l=S(t);if(!l)return null;let o=b.EditorState.create({doc:l.htmlDoc,extensions:[__rspack_external__codemirror_lang_html_cc111360.htmlLanguage]}),n=e(new __rspack_external__codemirror_autocomplete_e5fb8485.CompletionContext(o,l.htmlPos,t.explicit));return n?k(n,l.segments):null}},A=["div","span","p","a","img","button","input","label","select","option","textarea","ul","ol","li","table","thead","tbody","tr","td","th","form","section","article","nav","header","footer","main","h1","h2","h3","h4","h5","h6","canvas","svg","path","g","circle","rect","line","polyline","polygon"],P=["className","id","style","title","href","src","alt","value","defaultValue","placeholder","disabled","checked","readOnly","name","type","width","height","min","max","step","rows","cols","multiple","accept","download","target","rel","role","tabIndex","draggable","contentEditable","hidden"],T=["onClick","onChange","onInput","onSubmit","onKeyDown","onKeyUp","onKeyPress","onFocus","onBlur","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onMouseMove","onContextMenu","onDragStart","onDragOver","onDrop","onScroll","onWheel","onTouchStart","onTouchMove","onTouchEnd"],I=["color","background","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","border","borderRadius","fontSize","fontWeight","lineHeight","textAlign","display","flex","flexDirection","alignItems","justifyContent","gap","width","height","minWidth","minHeight","maxWidth","maxHeight","opacity","overflow","position","top","left","right","bottom","zIndex"];function j(e,t){let l=Math.max(0,t-400),o=e.slice(l,t),n=o.lastIndexOf("<"),i=o.lastIndexOf(">");return -1===n||i>n?{inTag:!1,tagStart:-1}:{inTag:!0,tagStart:l+n}}function L(e,t,l){let o=e.slice(t+1,l);return!/\s/.test(o)}function D(e,t,l){let o=Math.max(t,l-200),n=e.slice(o,l),i=n.lastIndexOf("style={{");return -1!==i&&n.lastIndexOf("}}")<i}function Y(){return A.map(e=>({label:e,type:"keyword",boost:99}))}function E(){let e=P.map(e=>({label:e,type:"property",boost:88}));return[...T.map(e=>({label:e,type:"function",boost:87,apply(t,l,o,n){let i=`${e}={(e) => {}}`;t.dispatch({changes:{from:o,to:n,insert:i},selection:{anchor:o+i.length-3}}),t.focus()}})),...e]}function R(){return I.map(e=>({label:e,type:"property",boost:86}))}function N(){let e=Y(),t=E(),l=R();return o=>{let{state:n,pos:i}=o,r=n.doc.toString(),{inTag:a,tagStart:s}=j(r,i);if(!a)return null;if(L(r,s,i)){let t=o.matchBefore(/[A-Za-z][A-Za-z0-9-]*/);return{from:t?t.from:i,to:t?t.to:i,options:e}}if(D(r,s,i)){let e=o.matchBefore(/[A-Za-z][A-Za-z0-9-]*/);return{from:e?e.from:i,to:e?e.to:i,options:l}}let d=o.matchBefore(/[A-Za-z][A-Za-z0-9-]*/);return d||o.explicit?{from:d?d.from:i,to:d?d.to:i,options:t}:null}}var O=l(9964),B=l(3551),H=l(3315);let q={...H.base,JSXElement(e,t,l){for(let o of(l(e.openingElement,t),e.children||[]))l(o,t);e.closingElement&&l(e.closingElement,t)},JSXFragment(e,t,l){for(let o of(l(e.openingFragment,t),e.children||[]))l(o,t);l(e.closingFragment,t)},JSXOpeningElement(e,t,l){for(let o of(l(e.name,t),e.attributes||[]))l(o,t)},JSXClosingElement(e,t,l){l(e.name,t)},JSXAttribute(e,t,l){l(e.name,t),e.value&&l(e.value,t)},JSXExpressionContainer(e,t,l){l(e.expression,t)},JSXSpreadAttribute(e,t,l){l(e.argument,t)},JSXMemberExpression(e,t,l){l(e.object,t),l(e.property,t)},JSXNamespacedName(e,t,l){l(e.namespace,t),l(e.name,t)},JSXIdentifier(){},JSXText(){},JSXEmptyExpression(){},JSXOpeningFragment(){},JSXClosingFragment(){}},V=(e,t)=>{let l=[];if(!e.trim())return l;let o=e.split("\n"),n=new Set,i=/\{\{[^}]*ctx[^}]*\}\}/,r=/\{\{[^}]*ctx[^}]*$/;for(let e=0;e<o.length;e++){let t=o[e];(i.test(t)||r.test(t))&&n.add(e)}let a=[0];for(let e=1;e<o.length;e++)a[e]=a[e-1]+o[e-1].length+1;let s=e=>{let t=0,l=a.length-1,o=0;for(;t<=l;){let n=t+l>>1;a[n]<=e?(o=n,t=n+1):l=n-1}return o},d=e=>n.has(s(e)),u=()=>{let l="possible-undefined-ctx-member-call",o="possible-unknown-ctx-member",n=(null==t?void 0:t.knownCtxMemberRoots)?new Set(Array.from(t.knownCtxMemberRoots)):null;for(let e of["t","logger","libs"])null==n||n.add(e);let i=new Set(["t"]),r=[],a=new Set,s=(e,t,l,o)=>{if(d(e))return;let n=`${l}@${e}`;a.has(n)||(a.add(n),r.push({from:e,to:Math.max(e+1,t),severity:"warning",source:l,message:o,actions:[]}))},u=e,c=u.length,p=e=>{if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||95===t||36===t},m=e=>{if(!e)return!1;let t=e.charCodeAt(0);return p(e)||t>=48&&t<=57},h="code";for(let e=0;e<c;e++){let t=u[e],r=e+1<c?u[e+1]:"";if("lineComment"===h){"\n"===t&&(h="code");continue}if("blockComment"===h){"*"===t&&"/"===r&&(h="code",e+=1);continue}if("single"===h){if("\\"===t){e+=1;continue}"'"===t&&(h="code");continue}if("double"===h){if("\\"===t){e+=1;continue}'"'===t&&(h="code");continue}if("template"===h){if("\\"===t){e+=1;continue}"`"===t&&(h="code");continue}if("/"===t&&"/"===r){h="lineComment",e+=1;continue}if("/"===t&&"*"===r){h="blockComment",e+=1;continue}if("'"===t){h="single";continue}if('"'===t){h="double";continue}if("`"===t){h="template";continue}if("c"!==t||"ctx"!==u.slice(e,e+3))continue;let a=e>0?u[e-1]:"",d=e+3<c?u[e+3]:"";if("."===a||a&&m(a)||d&&m(d))continue;let f=e+3;for(;f<c&&/\s/.test(u[f]);)f++;let g=!1;"?"===u[f]&&"."===u[f+1]&&(g=!0,f+=2);let v=null;if(g)v="["===u[f]?"bracket":"dot";else if("."===u[f])v="dot",f+=1;else{if("["!==u[f])continue;v="bracket"}for(;f<c&&/\s/.test(u[f]);)f++;let y="",_=0,b=0;if("dot"===v){if(!p(u[f]||""))continue;for(_=f,f+=1;f<c&&m(u[f]||"");)f++;b=f,y=u.slice(_,b)}else{if("["!==u[f])continue;for(f+=1;f<c&&/\s/.test(u[f]);)f++;let e=u[f];if("'"!==e&&'"'!==e)continue;for(f+=1,_=f;f<c;){let t=u[f];if("\\"===t){f+=2;continue}if(t===e)break;f+=1}if(b=f,y=u.slice(_,b),u[f]!==e)continue;for(f+=1;f<c&&/\s/.test(u[f]);)f++;if("]"!==u[f])continue;f+=1}if(!y)continue;let x=f;for(;x<c&&/\s/.test(u[x]);)x++;for("?"===u[x]&&"."===u[x+1]&&(x+=2);x<c&&/\s/.test(u[x]);)x++;let M="("===u[x];n?n.has(y)||(M?s(_,b,l,`Possible undefined ctx method call: ctx.${y}(). 可能是拼写错误或未在当前 ctx API 中定义。`):s(_,b,o,`Possible unknown ctx member access: ctx.${y}. 可能是拼写错误或未在当前 ctx API 中定义。`)):M&&y.length<=2&&!i.has(y)&&s(_,b,l,`Possible undefined ctx method call: ctx.${y}(). 可能是拼写错误或未在当前 ctx API 中定义。`),e=Math.max(e,f-1)}return r},c=()=>{let t="no-noncallable-call",l=[],o=new Set,n=(e,n)=>{if(d(e))return;let i=`${e}-${n}`;o.has(i)||(o.add(i),l.push({from:e,to:Math.max(e+1,n),severity:"warning",source:t,message:"This expression is not callable.",actions:[]}))},i=e,r=i.length,a=e=>{if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||95===t||36===t},s=e=>{if(!e)return!1;let t=e.charCodeAt(0);return a(e)||t>=48&&t<=57},u=e=>{let t=e;for(;t<r&&/\s/.test(i[t]);)t++;return t},c=e=>!(e>=r)&&("("===i[e]||"?"===i[e]&&"."===i[e+1]&&"("===i[e+2]),p=e=>{let t=1,l="code";for(let o=e+1;o<r;o++){let e=i[o],n=o+1<r?i[o+1]:"";if("lineComment"===l){"\n"===e&&(l="code");continue}if("blockComment"===l){"*"===e&&"/"===n&&(l="code",o+=1);continue}if("single"===l){if("\\"===e){o+=1;continue}"'"===e&&(l="code");continue}if("double"===l){if("\\"===e){o+=1;continue}'"'===e&&(l="code");continue}if("template"===l){if("\\"===e){o+=1;continue}"`"===e&&(l="code");continue}if("/"===e&&"/"===n){l="lineComment",o+=1;continue}if("/"===e&&"*"===n){l="blockComment",o+=1;continue}if("'"===e){l="single";continue}if('"'===e){l="double";continue}if("`"===e){l="template";continue}if("("===e)t++;else if(")"===e&&0==--t)return o}return -1},m=e=>"true"===e||"false"===e||"null"===e,h="code";for(let e=0;e<r;e++){let t=i[e],l=e+1<r?i[e+1]:"";if("lineComment"===h){"\n"===t&&(h="code");continue}if("blockComment"===h){"*"===t&&"/"===l&&(h="code",e+=1);continue}if("/"===t&&"/"===l){h="lineComment",e+=1;continue}if("/"===t&&"*"===l){h="blockComment",e+=1;continue}if("'"===t||'"'===t){let l=t,o=e;for(e+=1;e<r;){let t=i[e];if("\\"===t){e+=2;continue}if(t===l)break;e+=1}let a=Math.min(r,e+1);c(u(a))&&n(o,a);continue}if("`"===t){let t=e;for(e+=1;e<r;){let t=i[e];if("\\"===t){e+=2;continue}if("`"===t)break;e+=1}let l=Math.min(r,e+1);c(u(l))&&n(t,l);continue}if(t>="0"&&t<="9"){let t=e;for(e+=1;e<r&&i[e]>="0"&&i[e]<="9";)e++;if("."===i[e])for(e+=1;e<r&&i[e]>="0"&&i[e]<="9";)e++;if("e"===i[e]||"E"===i[e]){let t=i[e+1],l=e+1;if(("+"===t||"-"===t)&&(l+=1),i[l]>="0"&&i[l]<="9")for(e=l+1;e<r&&i[e]>="0"&&i[e]<="9";)e++}"n"===i[e]&&(e+=1);let l=e;c(u(l))&&n(t,l),e=l-1;continue}if(a(t)){let t=e;for(e+=1;e<r&&s(i[e]);)e++;m(i.slice(t,e))&&c(u(e))&&n(t,e),e-=1;continue}if("("===t){let t=u(e+1),l=t,o=!1;("+"===i[t]||"-"===i[t])&&(l=t,t=u(t+1));let d=i[t];if("{"===d||"["===d||"'"===d||'"'===d||"`"===d)o=!0;else if(d>="0"&&d<="9")o=!0;else if(a(d)){let e=t+1;for(;e<r&&s(i[e]);)e++;m(i.slice(t,e))&&(o=!0)}if(o){let t=p(e);t>e&&c(u(t+1))&&n(l,t)}}}return l},p=null;try{let t=O.Parser||O;p=("function"==typeof B.default?t.extend((0,B.default)()):t).parse(e,{ecmaVersion:2022,sourceType:"script",allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,locations:!0})}catch(i){let t=i,o=0,n=e.length;return t.loc?n=(o=e.split("\n").slice(0,t.loc.line-1).join("\n").length+ +(t.loc.line>1)+t.loc.column)+1:void 0!==t.pos&&(n=(o=t.pos)+1),d(o)||l.push({from:o,to:n,severity:"error",message:`Syntax error: ${t.message}`,actions:[]}),l.push(...u()),l.push(...c()),l}try{let e=function(e,t,o){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"warning";d(e)||l.push({from:e,to:t,message:o,severity:n,actions:[]})},o=new Set(["ctx","console","window","navigator","document","Math","Date","Array","Object","Number","String","Boolean","Promise","RegExp","Set","Map","WeakSet","WeakMap","JSON","Intl","URL","Blob","Error","TypeError","encodeURIComponent","decodeURIComponent","parseInt","parseFloat","isNaN","isFinite","undefined","NaN","Infinity"]),n=e=>{e&&"string"==typeof e.name&&o.add(e.name)},i=e=>{if(!e)return;let t=[e];for(;t.length;){let e=t.pop();e&&("Identifier"===e.type?n(e):"AssignmentPattern"===e.type?t.push(e.left):"ArrayPattern"===e.type?(e.elements||[]).forEach(e=>e&&t.push(e)):"ObjectPattern"===e.type&&(e.properties||[]).forEach(e=>e&&t.push(e.value||e)))}};H.full(p,e=>{switch(null==e?void 0:e.type){case"VariableDeclarator":i(e.id);break;case"FunctionDeclaration":case"FunctionExpression":n(e.id),(e.params||[]).forEach(i);break;case"ArrowFunctionExpression":(e.params||[]).forEach(i);break;case"CatchClause":i(e.param);break;case"ClassDeclaration":n(e.id)}},q),H.full(p,t=>{if(t&&"string"==typeof t.type){if("CallExpression"===t.type){let e=t.callee;if(!(e&&("Identifier"===e.type||"MemberExpression"===e.type||"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type||"CallExpression"===e.type||"ChainExpression"===e.type))){let o=((null==e?void 0:e.loc)&&e.start)??t.start,n=((null==e?void 0:e.loc)&&e.end)??t.end;if(d(o))return;l.push({from:o,to:n,severity:"warning",source:"no-noncallable-call",message:"This expression is not callable.",actions:[]})}}else if("NewExpression"===t.type){let l=t.callee;if(!(l&&("Identifier"===l.type||"MemberExpression"===l.type||"CallExpression"===l.type))){let o=((null==l?void 0:l.loc)&&l.start)??t.start,n=((null==l?void 0:l.loc)&&l.end)??t.end;e(o,n,"This constructor is not a function.")}}}},q);try{let e="possible-undefined-ctx-member-call",o="possible-unknown-ctx-member",n=new Set,i=(null==t?void 0:t.knownCtxMemberRoots)?new Set(Array.from(t.knownCtxMemberRoots)):null;for(let e of["t","logger","libs"])null==i||i.add(e);let r=new Set(["t"]);H.full(p,t=>{var o,a,s,u;if(!t||"string"!=typeof t.type||"CallExpression"!==t.type)return;let c=t.callee;if((null==c?void 0:c.type)==="ChainExpression"&&(c=c.expression),!c||"MemberExpression"!==c.type)return;let p=c.object;if(!p||"Identifier"!==p.type||"ctx"!==p.name)return;let m=null;if(c.computed||(null==(o=c.property)?void 0:o.type)!=="Identifier"?c.computed&&(null==(a=c.property)?void 0:a.type)==="Literal"&&"string"==typeof c.property.value&&(m=c.property.value):m=c.property.name,!m)return;let h=String(m).trim();if(!h||h.startsWith("_"))return;if(i){if(i.has(h))return}else if(h.length>2||r.has(h))return;let f=(null==(s=c.property)?void 0:s.start)??c.start??t.start,g=(null==(u=c.property)?void 0:u.end)??f+1,v=`${h}@${f}`;n.has(v)||d(f)||(l.push({from:f,to:g,severity:"warning",source:e,message:`Possible undefined ctx method call: ctx.${h}(). 可能是拼写错误或未在当前 ctx API 中定义。`,actions:[]}),n.add(v))},q);let a=new Set;H.ancestor(p,{MemberExpression(e,t){var n,r,s,u;if(!i)return;let c=t[t.length-2];if((null==c?void 0:c.type)==="CallExpression"){let t=c.callee;if((null==t?void 0:t.type)==="ChainExpression"&&(t=t.expression),t===e)return}let p=null==e?void 0:e.object;if(!p||"Identifier"!==p.type||"ctx"!==p.name)return;let m=null;if(e.computed||(null==(n=e.property)?void 0:n.type)!=="Identifier"?e.computed&&(null==(r=e.property)?void 0:r.type)==="Literal"&&"string"==typeof e.property.value&&(m=e.property.value):m=e.property.name,!m)return;let h=String(m).trim();if(!h||h.startsWith("_")||i.has(h))return;let f=(null==(s=e.property)?void 0:s.start)??e.start??0,g=(null==(u=e.property)?void 0:u.end)??f+1,v=`${h}@${f}`;a.has(v)||d(f)||(l.push({from:f,to:g,severity:"warning",source:o,message:`Possible unknown ctx member access: ctx.${h}. 可能是拼写错误或未在当前 ctx API 中定义。`,actions:[]}),a.add(v))}},q)}catch(e){}let r=new Set;H.ancestor(p,{Identifier(t,l){let n=t.name;if(!n||o.has(n)||r.has(n))return;let i=l[l.length-2];if(!i||"VariableDeclarator"===i.type&&i.id===t||"FunctionDeclaration"===i.type&&i.id===t||"FunctionExpression"===i.type&&i.id===t||"ClassDeclaration"===i.type&&i.id===t||"ClassExpression"===i.type&&i.id===t||"Property"===i.type&&i.key===t&&!0!==i.computed||"MemberExpression"===i.type&&i.property===t&&!0!==i.computed||"LabeledStatement"===i.type&&i.label===t||"BreakStatement"===i.type&&i.label===t||"ContinueStatement"===i.type&&i.label===t)return;let a=t.start??0,s=t.end??a+1;e(a,s,`Possible undefined variable: ${n}`,"warning"),r.add(n)}},q)}catch(e){}return l},$=e=>(0,__rspack_external__codemirror_lint_56ca5a10.linter)(t=>V(t.state.doc.toString(),e)),z=[".ant-modal-content",".ant-modal",".ant-drawer-content",".ant-drawer-content-wrapper"],K=e=>{let t=(null==e?void 0:e.ownerDocument)??document;for(let t of z){let l=null==e?void 0:e.closest(t);if(l instanceof HTMLElement)return l}return t.getElementById("nocobase-embed-container")||t.body},U=e=>{let{value:t="",onChange:l,placeholder:i="",height:r="100%",minHeight:a,theme:s="light",readonly:d=!1,enableLinter:u=!1,knownCtxMemberRoots:c,extraCompletions:p,completionSource:m,viewRef:h}=e,f=(0,n.useRef)(null),g=(0,n.useRef)();return(0,n.useEffect)(()=>{g.current=l},[l]),(0,n.useEffect)(()=>{var e,l;if(!f.current)return;let o=e=>t=>{let l=t.matchBefore(/[$_\p{Letter}][$_\p{Letter}\p{Number}.-]*/u);return l?l.from!==l.to||t.explicit?{from:l.from,to:l.to,options:e}:null:t.explicit?{from:t.pos,to:t.pos,options:e}:null},n=void 0===a?void 0:"string"==typeof a?a:`${a}px`,v="string"==typeof n?{".cm-gutter,.cm-content":{minHeight:n}}:{},y=[__rspack_external_codemirror.basicSetup,_(),(0,__rspack_external__codemirror_autocomplete_e5fb8485.autocompletion)({override:[C(),N(),..."function"==typeof m?[m]:Array.isArray(p)&&p.length?[o(p)]:[]],closeOnBlur:!1,activateOnTyping:!0}),...i?[(0,__rspack_external__codemirror_view_81079101.placeholder)(i)]:[],...u?[(0,__rspack_external__codemirror_lint_56ca5a10.lintGutter)(),$({knownCtxMemberRoots:c})]:[],(0,__rspack_external__codemirror_view_81079101.tooltips)({parent:K(f.current)}),__rspack_external__codemirror_view_81079101.EditorView.updateListener.of(e=>{if(e.docChanged&&!d){let l=e.state.doc.toString();try{var t;null==(t=g.current)||t.call(g,l)}catch(e){}}}),__rspack_external__codemirror_view_81079101.EditorView.theme({"&.cm-editor":{height:"string"==typeof r?r||"100%":`${r}px`},...v,".cm-scroller":{fontFamily:'"Fira Code", "Monaco", "Menlo", "Ubuntu Mono", monospace',overflow:"auto"},".cm-placeholder":{color:"#999",fontStyle:"normal",whiteSpace:"pre",pointerEvents:"none"},".cm-diagnostic":{padding:"4px 8px",borderRadius:"4px",border:"1px solid #d9d9d9",backgroundColor:"#fff",boxShadow:"0 2px 8px rgba(0,0,0,0.1)",fontSize:"12px",maxWidth:"300px"},".cm-diagnostic-error":{borderLeftColor:"#ff4d4f",borderLeftWidth:"3px"},".cm-diagnostic-warning":{borderLeftColor:"#faad14",borderLeftWidth:"3px"},".cm-diagnostic-info":{borderLeftColor:"#1890ff",borderLeftWidth:"3px"},".cm-lintRange-error":{backgroundImage:"url(\"data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3'><path d='m0 3 l2 -2 l1 0 l2 2 l1 0' stroke='%23ff4d4f' fill='none' stroke-width='.7'/></svg>\")",backgroundRepeat:"repeat-x",backgroundPosition:"left bottom"},".cm-lintRange-warning":{backgroundImage:"url(\"data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3'><path d='m0 3 l2 -2 l1 0 l2 2 l1 0' stroke='%23faad14' fill='none' stroke-width='.7'/></svg>\")",backgroundRepeat:"repeat-x",backgroundPosition:"left bottom"},".cm-lintRange-info":{backgroundImage:"url(\"data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3'><path d='m0 3 l2 -2 l1 0 l2 2 l1 0' stroke='%231890ff' fill='none' stroke-width='.7'/></svg>\")",backgroundRepeat:"repeat-x",backgroundPosition:"left bottom"},".cm-tooltip":{zIndex:1}})];"dark"===s&&y.push(__rspack_external__codemirror_theme_one_dark_f26a966d.oneDark);let b=h.current&&"function"==typeof(null==(l=h.current.state)||null==(e=l.doc)?void 0:e.toString)?h.current.state.doc.toString():t||"",x=new __rspack_external__codemirror_view_81079101.EditorView({doc:b,extensions:y,parent:f.current});return h.current=x,()=>{try{x.destroy()}catch(e){}h.current=null}},[m,p,u,r,a,s,d,i]),(0,n.useEffect)(()=>{let e=h.current;e&&e.state.doc.toString()!==(t||"")&&e.dispatch({changes:{from:0,to:e.state.doc.length,insert:t||""}})},[t]),(0,o.jsx)(o.Fragment,{children:(0,o.jsx)("div",{style:{flex:1,minHeight:120},ref:f})})};var G=l(3526);class J{static registerRightExtra(e){J.rightExtras.register(e.name,e.extra)}static getRightExtras(){return Array.from(J.rightExtras.getValues())}}J.rightExtras=new G.Registry;let W=e=>{let{name:t="code",language:l="javascript",scene:i,extraEditorRef:r,onActionCountChange:a,extraContent:s}=e,d=J.getRightExtras(),[u,c]=(0,n.useState)({}),p=(0,n.useCallback)((e,t)=>{c(l=>{let o={...l,[e]:t},n=Object.values(o).filter(Boolean).length;return null==a||a(n),o})},[a]),m={padding:"8px",borderBottom:"1px solid #d9d9d9"},{visible:h}=(0,n.useMemo)(()=>{let e=Object.values(u).some(Boolean),t=Array.isArray(d)&&d.length>0,l=!!s;return{visible:e||t||l}},[u,d,s]);return((0,n.useEffect)(()=>{r.buttonGroupHeight=50*!!h},[h,r]),h)?(0,o.jsx)(f.Flex,{gap:"middle",justify:"flex-end",align:"center",style:m,children:(0,o.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[s,d.map(e=>{let n=e;return(0,o.jsx)(n,{name:t,language:l,scene:i,editorRef:r,setActive:p},e.name)})]})}):null},X=e=>{let{logs:t,onJumpTo:l,tr:n}=e;return(0,o.jsxs)("div",{style:{borderTop:"1px solid #d9d9d9",maxHeight:180,overflow:"auto",padding:"8px 12px",background:"#fff"},children:[(0,o.jsx)("div",{style:{fontWeight:600,marginBottom:6},children:n("Logs")}),0===t.length?(0,o.jsx)("div",{style:{color:"#999"},children:n("No logs yet. Click Run to execute.")}):t.map((e,t)=>{let i="error"===e.level?"#ff4d4f":"warn"===e.level?"#faad14":"#333",r=("error"===e.level||"warn"===e.level)&&"number"==typeof e.line&&"number"==typeof e.column,a="number"==typeof e.line?Math.max(1,e.line-d):e.line,s="string"==typeof e.msg&&/[((]line\s*\d+(:\d+)?[))]/i.test(e.msg);return(0,o.jsxs)("pre",{onClick:r?()=>{"number"==typeof e.line&&"number"==typeof e.column&&(null==l||l(e.line,e.column))}:void 0,style:{margin:0,whiteSpace:"pre-wrap",color:i,cursor:r?"pointer":"default",textDecoration:r?"underline dotted":"none"},children:["[",e.level,"] ",e.msg,r&&!s?` (${n("at")} ${a}:${e.column})`:""]},t)})]})},Q=e=>{let{open:t,onClose:l,getContainer:i,entries:r,onInsert:a,tr:s}=e,[d,u]=(0,n.useState)(""),c=(0,n.useMemo)(()=>{if(!d)return r;let e=d.toLowerCase();return r.filter(t=>t.name.toLowerCase().includes(e)||(t.prefix||"").toLowerCase().includes(e)||(t.description||"").toLowerCase().includes(e)||([...t.groups||[],t.group].filter(Boolean).join(" ")||"").toLowerCase().includes(e)||t.body.toLowerCase().includes(e))},[r,d]),p=(0,n.useMemo)(()=>{let e={global:s("Common"),libs:s("Libs"),"scene/block":s("Block"),"scene/detail":s("Detail"),"scene/form":s("Form"),"scene/table":s("Table")};return t=>t?e[t]||t:""},[s]);return(0,o.jsxs)(f.Drawer,{title:s("Snippets"),open:t,onClose:l,getContainer:i,width:"100%",destroyOnClose:!0,children:[(0,o.jsx)(f.Input,{placeholder:s("Search snippets (name / prefix / body / group)"),allowClear:!0,value:d,onChange:e=>u(e.target.value),style:{marginBottom:12}}),(0,o.jsx)(f.List,{dataSource:c,renderItem:e=>{var t;let l=(null==(t=e.groups)?void 0:t.length)?e.groups:e.group?[e.group]:[];return(0,o.jsx)(f.List.Item,{actions:[(0,o.jsx)(f.Button,{size:"small",type:"primary",onClick:()=>{a(e.body.endsWith("\n")?e.body:e.body+"\n")},children:s("Insert")},"insert")],children:(0,o.jsx)(f.List.Item.Meta,{title:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{children:e.name}),e.prefix?(0,o.jsx)(f.Tag,{style:{marginLeft:8},children:e.prefix}):null,l.map(e=>(0,o.jsx)(f.Tag,{color:"blue",style:{marginLeft:8},children:p(e)},e))]}),description:e.description||p(l[0])||e.ref||""})})}})]})},Z={trace:"log",debug:"log",info:"info",warn:"warn",error:"error",fatal:"error"};function ee(e){try{if("string"==typeof e)return e;return JSON.stringify(e)}catch(t){try{return String(e)}catch(e){return"[Unstringifiable]"}}}function et(e){return{log:function(){for(var t=arguments.length,l=Array(t),o=0;o<t;o++)l[o]=arguments[o];return e("log",l)},info:function(){for(var t=arguments.length,l=Array(t),o=0;o<t;o++)l[o]=arguments[o];return e("info",l)},warn:function(){for(var t=arguments.length,l=Array(t),o=0;o<t;o++)l[o]=arguments[o];return e("warn",l)},error:function(){for(var t=arguments.length,l=Array(t),o=0;o<t;o++)l[o]=arguments[o];return e("error",l)}}}function el(e){let t=String(e||"").match(/[((]line\s*(\d+)(?::(\d+))?[))]/i);if(!t)return null;let l=Number(t[1]),o=Number(t[2]||1);return!Number.isFinite(l)||l<=0?null:!Number.isFinite(o)||o<=0?{line:l,column:1}:{line:l,column:o}}function eo(e){let t=new WeakMap,l=new WeakMap,o=n=>{if(!n||"object"!=typeof n&&"function"!=typeof n||l.has(n))return n;let i=t.get(n);if(i)return i;let r=new Proxy(n,{get(t,l,n){if("child"===l&&"function"==typeof t.child)return function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];return o(t.child.apply(t,l))};if("string"==typeof l&&l in Z&&"function"==typeof t[l]){let o=Z[l];return function(){for(var n=arguments.length,i=Array(n),r=0;r<n;r++)i[r]=arguments[r];try{e(o,i)}catch(e){}return t[l].apply(t,i)}}let i=Reflect.get(t,l,n);return"function"==typeof i?i.bind(t):i}});return t.set(n,r),l.set(r,n),r};return o}function en(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",[l,o]=(0,n.useState)([]),[r,a]=(0,n.useState)(!1),s=(0,n.useRef)(0),u=(0,n.useRef)(null),p=(0,n.useCallback)(()=>o([]),[]);return{run:(0,n.useCallback)(async l=>{var n;let r=(null==e?void 0:e.t)||(e=>e);a(!0),o([]),s.current+=1;let p=s.current;null==(n=u.current)||n.call(u),u.current=null;try{let n,a,m=null==e?void 0:e.model;if(!m)throw Error("No model in FlowContext");let h=e.engine.getModel(m.uid,!0)||m,f={log:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.log(...t)},info:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.info(...t)},warn:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.warn(...t)},error:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.error(...t)}},g=(e,t)=>{let l=t.map(e=>ee(e)).join(" "),n="warn"===e?el(l):null;n?o(t=>[...t,{level:e,msg:l,line:n.line+d,column:n.column}]):o(t=>[...t,{level:e,msg:l}])},v=(e,t)=>{var l;g(e,t),null==(l=f[e])||l.call(f,...t)},y=et(v),_=eo(g),b=["jsSettings","clickSettings"].find(e=>h.getFlow(e))||"jsSettings",[x,M]=await Promise.all([(0,i.prepareRunJsCode)(l,{preprocessTemplates:!0}).catch(()=>void 0),(0,i.prepareRunJsCode)(l,{preprocessTemplates:!1}).catch(()=>void 0)]),w=i.JSRunner.prototype,S=w.run,k=()=>{},F=new Promise(e=>k=e),C=!1,A=()=>{C||(C=!0,i.JSRunner.prototype.run=S,u.current=null)};u.current=A,w.run=async function(e){var t,o,i,r,a;let s=e===l||e===x||e===M,d=null==(o=this)||null==(t=o.globals)?void 0:t.console,u=(null==(r=this)||null==(i=r.globals)?void 0:i.ctx)?Object.getOwnPropertyDescriptor(this.globals.ctx,"logger"):void 0;try{this.globals||(this.globals={});try{this.globals.console=y}catch(e){console.warn("[useCodeRunner] inject console failed:",e)}try{if(this.globals.ctx){let e=this.globals.ctx.logger,t=_(e);Object.defineProperty(this.globals.ctx,"logger",{configurable:!0,enumerable:!0,writable:!1,value:t})}}catch(e){console.warn("[useCodeRunner] inject logger failed:",e)}}catch(e){console.warn("[useCodeRunner] inject globals failed:",e)}try{let t=await S.call(this,e);return s&&(n=t,k(t)),t}finally{try{void 0===d?delete this.globals.console:this.globals.console=d}catch(e){console.warn("[useCodeRunner] restore console failed:",e)}try{(null==(a=this.globals)?void 0:a.ctx)&&(void 0===u?delete this.globals.ctx.logger:Object.defineProperty(this.globals.ctx,"logger",u))}catch(e){console.warn("[useCodeRunner] restore logger failed:",e)}}};let P=async o=>{var n;let r=null==o||null==(n=o.getFlow)?void 0:n.call(o,b),a=(null==r?void 0:r.manual)===!0,s=null==r?void 0:r.on,d="string"==typeof s?s:null==s?void 0:s.eventName;if(r)"string"==typeof d?await o.dispatchEvent(d,{preview:{code:l}},{sequential:!0,useCache:!1}):a?await o.applyFlow(b,{preview:{code:l}}):await o.dispatchEvent("beforeRender",{preview:{code:l}},{sequential:!0,useCache:!1});else{let o=(0,i.createSafeNavigator)();await e.runjs(l,{window:(0,i.createSafeWindow)({navigator:o}),document:(0,i.createSafeDocument)(),navigator:o},{version:t})}};try{await P(h)}catch(e){throw A(),e}let T=e=>{if(null==e?void 0:e.success)v("info",[r("Execution succeeded")]);else{var t;let l=(null==e?void 0:e.timeout)?r("Execution timed out"):String((null==e?void 0:e.error)||r("Unknown error")),n=(null==e||null==(t=e.error)?void 0:t.__runjsHideLocation)?null:c(null==e?void 0:e.error);n&&"number"==typeof n.line&&"number"==typeof n.column?o(e=>[...e,{level:"error",msg:l,line:n.line,column:n.column}]):v("error",[l])}};if(n)return A(),a=n,T(a),a;let I=12e3;return(async()=>{let e=await Promise.race([F,new Promise(e=>setTimeout(()=>e({success:!1,timeout:!0,error:Error("Preview timed out")}),I))]);s.current===p&&(A(),T(e))})(),{success:!0,value:void 0}}catch(t){let e=t instanceof Error?t.message:String(t)||r("Run preview failed");return o(t=>[...t,{level:"error",msg:e}]),{success:!1,error:t}}finally{a(!1)}},[e,t]),logs:l,clearLogs:p,running:r}}var ei=l(6305);let er=/[$_\p{Letter}][$_\p{Letter}\p{Number}.-]*/u,ea=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then;function es(e){let{hostCtx:t,staticOptions:l,metaRoots:o}=e,n=Array.isArray(l)?l:[],i=N(),r=Array.isArray(o)&&o.length>0?new Set(o.map(e=>String(e))):null,a=new Map,s=new Map,d={},u=e=>{if("string"!=typeof e||!e)return"";try{let l=null==t?void 0:t.t;return"function"==typeof l?String(l(e)):e}catch(t){return e}},c=e=>"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):"",p=e=>"string"==typeof e?e.trim():"",m=(e,t)=>{try{let l="number"==typeof t&&Number.isFinite(t)?Math.max(0,Math.floor(t)):0,o=Math.max(0,l-4e3),n=(null==e?void 0:e.sliceString)?String(e.sliceString(o,l)||""):"";if(!n)return!1;let i=!1,r=!1,a=!1,s=!1,d=!1,u=!1;for(let e=0;e<n.length;e++){let t=n[e],l=n[e+1];if(s){"\n"===t&&(s=!1);continue}if(d){"*"===t&&"/"===l&&(d=!1,e++);continue}if(i){if(u){u=!1;continue}if("\\"===t){u=!0;continue}"'"===t&&(i=!1);continue}if(r){if(u){u=!1;continue}if("\\"===t){u=!0;continue}'"'===t&&(r=!1);continue}if(a){if(u){u=!1;continue}if("\\"===t){u=!0;continue}"`"===t&&(a=!1);continue}if("/"===t&&"/"===l){s=!0,e++;continue}if("/"===t&&"*"===l){d=!0,e++;continue}if("'"===t){i=!0;continue}if('"'===t){r=!0;continue}if("`"===t){a=!0;continue}}return i||r||a}catch(e){return!1}},h=async e=>{if(!e)return[];if("function"==typeof e)try{let t=await e();return Array.isArray(t)?t:[]}catch(e){return[]}return Array.isArray(e)?e:[]},f=async e=>{if(!(null==e?void 0:e.children))return[];if("function"==typeof e.children)try{let t=await e.children(),l=Array.isArray(t)?t:[];return e.children=l,l}catch(e){return[]}return Array.isArray(e.children)?e.children:[]},g=e=>e.some(e=>"string"==typeof e&&e.startsWith("_")),v=async e=>{try{let t=null==e?void 0:e.hidden,l="function"==typeof t?t():t;return!!(ea(l)?await l:l)}catch(e){return!1}},y=async e=>{try{let t=null==e?void 0:e.disabled,l="function"==typeof t?t():t;if(!(ea(l)?await l:l))return{disabled:!1};let o=null==e?void 0:e.disabledReason,n="function"==typeof o?o():o,i=ea(n)?await n:n,r=u(c(i));return{disabled:!0,reason:r||void 0}}catch(e){return{disabled:!1}}},_=async()=>(d.promise||(d.promise=(async()=>{try{let e=null==t?void 0:t.popup,l=ea(e)?await e:e;return!!(null==l?void 0:l.uid)}catch(e){return!0}})()),d.promise),b=async e=>{if(!t||"function"!=typeof t.getPropertyMetaTree)return[];if(a.has(e))return await a.get(e);let l=(async()=>{try{let l=String(e||"").split(".").map(e=>e.trim()).filter(Boolean);if(!l.length||"ctx"!==l[0]||l.length<2)return[];let o=l[1];if(!o||o.startsWith("_")||r&&!r.has(o)||"popup"===o&&!await _())return[];let n=async()=>{if(s.has(o))return await s.get(o);let e=(async()=>{try{let e=t.getPropertyMetaTree(`{{ ctx.${o} }}`);return await h(e)}catch(e){return[]}})();return s.set(o,e),await e},i=l.slice(2),a=await n();if(!i.length)return a;for(let e of i){if(!e||e.startsWith("_"))return[];let t=Array.isArray(a)?a.find(t=>String((null==t?void 0:t.name)??"")===e):null;if(!t)return[];a=await f(t)}return Array.isArray(a)?a:[]}catch(e){return[]}})();return a.set(e,l),await l},x=async(e,t,l)=>{if(!e||"string"!=typeof e||!e.startsWith("ctx."))return[];let o=t>0&&"."===l,n=e.split(".").map(e=>e.trim()).filter(Boolean);if("ctx"!==n[0])return[];let i=o?n:n.slice(0,-1);if(i.length<2)return[];let a=i[1];if(!a||a.startsWith("_")||i.some((e,t)=>t>0&&"string"==typeof e&&e.startsWith("_"))||r&&!r.has(a)||"popup"===a&&!await _())return[];let s=i.join("."),d=await b(s);if(!d.length)return[];let p=[];for(let e of d){let t=(Array.isArray(null==e?void 0:e.paths)?e.paths:[]).map(e=>String(e)).filter(Boolean);if(!t.length||g(t))continue;let l=`ctx.${t.join(".")}`;if(!l.startsWith("ctx.")||await v(e))continue;let o=u(c(null==e?void 0:e.title))||u(c(null==e?void 0:e.name))||t[t.length-1],n=[...Array.isArray(null==e?void 0:e.parentTitles)?e.parentTitles.map(e=>u(c(e))).filter(Boolean):[],o].filter(Boolean).join(" / "),{disabled:i,reason:r}=await y(e),a=[];n&&a.push(n),i&&a.push("Disabled:",`- ${r||"true"}`);let s=a.join("\n")||n||o||l;p.push({label:l,type:"property",detail:n||"context value",info:s,boost:110,apply:(e,t,o,n)=>{var i;let r=m(null==e||null==(i=e.state)?void 0:i.doc,o)?l:`await ctx.getVar('${l}')`;e.dispatch({changes:{from:o,to:n,insert:r},selection:{anchor:o+r.length},scrollIntoView:!0})}})}return p},M=e=>{let t=new Set,l=[];for(let o=e.length-1;o>=0;o--){let n=e[o],i="string"==typeof(null==n?void 0:n.label)?p(n.label):"";if(i){if(t.has(i))continue;t.add(i)}l.push(e[o])}return l.reverse(),l};return async e=>{try{if(F(e))return null}catch(e){}try{if(i(e))return null}catch(e){}let t=e.matchBefore(er);if(!t)return e.explicit?{from:e.pos,to:e.pos,options:n}:null;if(t.from===t.to&&!e.explicit)return null;let l=e.pos>0?e.state.doc.sliceString(e.pos-1,e.pos):"",o=[];try{o=await x(t.text,e.pos,l)}catch(e){o=[]}let r=e=>{if(!e||"string"!=typeof e||!e.startsWith("ctx."))return;let t=e.split(".").map(e=>e.trim()).filter(Boolean);if("ctx"!==t[0])return;let l=t[1];return l&&"string"==typeof l?l:void 0},a=o.length>0?r(t.text):void 0,s=a&&a.length?n.filter(e=>{let t="string"==typeof(null==e?void 0:e.label)?p(e.label):"";return!!(!t||!t.startsWith("ctx.")||"ctx"===t||(null==e?void 0:e.type)==="function"||t.endsWith("()"))||!(t===`ctx.${a}`||t.startsWith(`ctx.${a}.`))}):n,d=o.length>0?M([...s,...o]):n;return{from:t.from,to:t.to,options:d}}}function ed(e){return(Array.isArray(e)?e:e?[e]:[]).map(e=>String(e).trim()).filter(Boolean)}let eu={DetailsItemModel:["detailFieldEvent"],DetailsCustomItemModel:["detailFieldEvent"],TableColumnModel:["tableFieldEvent"],TableCustomColumnModel:["tableFieldEvent"],SubTableColumnModel:["tableFieldEvent"],FormItemModel:["formFieldEvent"],FilterFormItemModel:["formFieldEvent"]};function ec(e,t){var l,o;if(!ed(t).includes("eventFlow"))return;let n=null==e||null==(o=e.model)||null==(l=o.constructor)?void 0:l.name;if(!n||"string"!=typeof n)return;let i=eu[n];return(null==i?void 0:i.length)?[...i]:void 0}function ep(e,t){let l=Array.from(new Set([...ed(e),...ed(t)]));return l.length?l:void 0}var em=l(426);let eh=e=>{let{value:t="",onChange:l,placeholder:r="",height:a="100%",minHeight:d,theme:v="light",readonly:y=!1,enableLinter:_=!1,wrapperStyle:b,extraCompletions:x,version:M="v1",name:w,language:S,scene:k,RightExtra:F,showLogs:C=!0}=e,A=(0,n.useRef)(null),P=(0,n.useRef)(null),{isFullscreen:T,toggleFullscreen:I,placeholderRef:j,placeholderStyle:L,container:D}=(0,ei.Zn)(),Y=(0,i.useFlowContext)(),E=(0,n.useMemo)(()=>{let e;if(Y)try{let t=(0,i.getRunJSScenesForContext)(Y,{version:M});e=t.length?t:void 0}catch(t){e=void 0}let t=ec(Y,k);try{return ep(k,ep(e,t))}catch(e){return ep(k)}},[k,Y,M]),{completions:R,entries:N}=s(Y,M,E),{run:O,logs:B,running:H}=en(Y,M),[q,V]=(0,n.useState)(!1),$=(0,n.useCallback)(()=>{let e=A.current;return e&&(e.closest(".ant-drawer-content-wrapper")||e.closest(".ant-drawer-content")||e.closest(".ant-modal-content")||e.parentElement)||document.body},[]),z=(0,n.useCallback)((e,t)=>{try{return(null==Y?void 0:Y.t)?Y.t(e,t):e}catch(t){return e}},[Y]),K=(0,n.useMemo)(()=>{let e=[];return Array.isArray(R)&&e.push(...R),Array.isArray(x)&&e.push(...x),e},[x,R]),G=(0,n.useMemo)(()=>es({hostCtx:Y,staticOptions:K}),[Y,K]),J=(0,n.useCallback)(async()=>{var e;let t=(null==(e=P.current)?void 0:e.state.doc.toString())||"";u(P.current);let l=await O(t);if(!(null==l?void 0:l.success)){let e=null==l?void 0:l.error,t=(null==l?void 0:l.timeout)?z("Execution timed out"):String(e||z("Unknown error")),o=c(e);o&&P.current&&p(P.current,o.line,o.column,t)}return l},[O,z]),Z=(0,n.useRef)({write(e){let t=P.current;t&&t.state.doc.toString()!==e&&t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e}})},read(){let e=P.current;return e?e.state.doc.toString():""},run:()=>Promise.resolve(void 0),buttonGroupHeight:0,snippetEntries:[],logs:[]});Z.current.snippetEntries=N,Z.current.logs=B,Z.current.run=J,(0,n.useEffect)(()=>{var e;null==(e=P.current)||e.requestMeasure()},[T]);let ee=(0,o.jsx)(f.Tooltip,{title:T?z("Exit fullscreen"):z("Fullscreen"),children:(0,o.jsx)(f.Button,{size:"small","aria-label":T?z("Exit fullscreen"):z("Fullscreen"),icon:T?(0,o.jsx)(h.FullscreenExitOutlined,{}):(0,o.jsx)(h.FullscreenOutlined,{}),onClick:I})}),et=(0,o.jsxs)("div",{style:{border:T?"none":"1px solid #d9d9d9",borderRadius:T?0:"6px",overflow:"visible",position:"relative",display:"flex",flexDirection:"column",boxSizing:T?"border-box":void 0,padding:T?16:void 0,height:T?"100%":void 0,minHeight:T?0:void 0,...b},ref:A,children:[(0,o.jsx)(W,{name:w,language:S,scene:E,extraEditorRef:Z.current,extraContent:(0,o.jsxs)(o.Fragment,{children:[F?(0,o.jsx)(F,{viewRef:P}):(0,o.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[(0,o.jsx)(f.Button,{size:"small",onClick:()=>V(!0),children:z("Snippets")}),(0,o.jsx)(o.Fragment,{children:(0,o.jsx)(f.Button,{size:"small",loading:H,onClick:J,children:z("Run")})})]}),ee]})}),(0,o.jsx)(U,{value:t,onChange:l,placeholder:r,height:T?"100%":a,minHeight:d,theme:v,readonly:y,enableLinter:_,completionSource:G,viewRef:P}),C?(0,o.jsx)(X,{logs:B,onJumpTo:(e,t)=>{let l=P.current;l&&m(l,e,t)},tr:z}):null,(0,o.jsx)(Q,{open:q,onClose:()=>V(!1),getContainer:$,entries:N,tr:z,onInsert:e=>{let t=P.current;if(!t)return;let{from:l,to:o}=t.state.selection.main,n=l+e.length;t.dispatch({changes:{from:l,to:o,insert:e},selection:{anchor:n},scrollIntoView:!0}),t.focus(),V(!1)}})]});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{ref:j,style:T?L:{display:"contents"}}),D?(0,g.createPortal)(et,D):null]})}},426(e,t,l){l.d(t,{by:()=>E,fL:()=>R,hP:()=>u,previewRunJS:()=>O});var o=l(5931),n=l(5022),i=l(9964),r=l(3551),a=l(3315),s=l(504);let d={...a.base,JSXElement(e,t,l){for(let o of(l(e.openingElement,t),e.children||[]))l(o,t);e.closingElement&&l(e.closingElement,t)},JSXFragment(e,t,l){for(let o of(l(e.openingFragment,t),e.children||[]))l(o,t);l(e.closingFragment,t)},JSXOpeningElement(e,t,l){for(let o of(l(e.name,t),e.attributes||[]))l(o,t)},JSXClosingElement(e,t,l){l(e.name,t)},JSXAttribute(e,t,l){l(e.name,t),e.value&&l(e.value,t)},JSXExpressionContainer(e,t,l){l(e.expression,t)},JSXSpreadAttribute(e,t,l){l(e.argument,t)},JSXMemberExpression(e,t,l){l(e.object,t),l(e.property,t)},JSXNamespacedName(e,t,l){l(e.namespace,t),l(e.name,t)},JSXIdentifier(){},JSXText(){},JSXEmptyExpression(){},JSXOpeningFragment(){},JSXClosingFragment(){}},u=4e3,c=5e3,p=1600,m=1,h=(0,o.javascript)({jsx:!0}).language.parser,f=/\{\{[^}]*ctx[^}]*\}\}/,g=/\{\{[^}]*ctx[^}]*$/;function v(e){try{if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return String(e);if(e instanceof Error)return e.message||String(e);return JSON.stringify(e)}catch(t){try{return String(e)}catch{return"[Unstringifiable]"}}}function y(e,t){let l=String(e||"");if(l.length<=t)return l;if(t<=3)return l.slice(0,t);let o=Math.floor((t-3)/2),n=t-3-o;return`${l.slice(0,o)}...${l.slice(-n)}`}function _(e){try{let t=new URL(e),l=t.pathname||"",o=l.split("/").filter(Boolean).pop()||l||"bundle.js";return`${t.origin}/.../${y(o,80)}`}catch{return y(e,120)}}function b(e){let t=String(e||"").trimEnd();t=t.replace(/https?:\/\/[^\s)]+/g,e=>_(e));for(let e=0;e<4;e++){let e=t.replace(/eval at [^()]*\(/g,"eval(");if(e===t)break;t=e}return(t=t.replace(/\(\s*eval\s*\(/g,"(eval(")).replace(/\s+/g," ").trim()}function x(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:m,l=String(e||"").split("\n").map(e=>b(e)).filter(e=>!!e);if(!l.length)return"";let o=l[0],n=l.slice(1),i=[];for(let e of n)e&&(i.length>0&&i[i.length-1]===e||i.push(e));let r=i.slice(0,Math.max(0,t)),a=Math.max(0,i.length-r.length),s=[o,...r];return a>0&&s.push(`... (${a} frames omitted)`),s.join("\n")}function M(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p,l=(null==e?void 0:e.stack)?String(e.stack):"";if(!l)return;let o=x(l);return o.length<=t?o:`${o.slice(0,Math.max(0,t-16))}
261
+ `,children:"x"})})})]})}},9253(e,t,l){l.d(t,{o8:()=>J,BY:()=>eg,fL:()=>ef.fL,by:()=>ef.by,zA:()=>ef.previewRunJS,hP:()=>ef.hP});var o=l(1178),n=l(1649),i=l(504);function r(e,t){let l=(null==t?void 0:t.mode)||"full";if("string"==typeof e)return e;if(!e||"object"!=typeof e)return String(e??"");if("simple"===l){let t=e.description??e.detail??e.type??"",l=Array.isArray(e.examples)?e.examples.filter(e=>"string"==typeof e&&e.trim()):[];return l.length?[t,"Examples:",...l].filter(Boolean).join("\n"):"string"==typeof t?t:String(t??"")}let o=e.description??e.detail??e.type??"",n=Array.isArray(e.params)?e.params:[],i=e.returns,r=e.ref,a=e.disabled,s=e.disabledReason,d=e=>{if(!e)return"";if("string"==typeof e)return e;if(e&&"object"==typeof e){let t="string"==typeof e.url?e.url:"",l="string"==typeof e.title?e.title:"";return l&&t?`${l}: ${t}`:t||l}return String(e)},u=e=>{if(!e||"object"!=typeof e)return"";let t="string"==typeof e.name?e.name:"";if(!t)return"";let l="string"==typeof e.type?e.type:"",o=e.optional?"?":"",n=void 0===e.default?"":` = ${"string"==typeof e.default?JSON.stringify(e.default):String(e.default)}`,i="string"==typeof e.description?e.description:"",r=`${t}${o}${l?`: ${l}`:""}${n}`;return i?`${r} - ${i}`:r},c=e=>{if(!e||"object"!=typeof e)return"";let t="string"==typeof e.type?e.type:"",l="string"==typeof e.description?e.description:"";return t&&l?`${t} - ${l}`:t||l},p=Array.isArray(e.examples)?e.examples.filter(e=>"string"==typeof e&&e.trim()):[],m=[];if("string"==typeof o&&o.trim()&&m.push(o),n.length){let e=n.map(u).filter(Boolean);e.length&&m.push("Params:",...e.map(e=>`- ${e}`))}let h=c(i);h&&m.push("Returns:",`- ${h}`);let f=d(r);if(f&&m.push("Ref:",`- ${f}`),a){let e="string"==typeof s?s:"";m.push("Disabled:",`- ${e||"true"}`)}return(p.length&&m.push("Examples:",...p),m.length)?m.join("\n"):""}async function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=arguments.length>2?arguments[2]:void 0,o=(e,t)=>{if(!e||"object"!=typeof e||Array.isArray(e))return!1;let l="string"==typeof e.type?String(e.type):"";if("function"===l||"method"===l||Array.isArray(e.params)&&e.params.length||e.returns)return!0;let o=null==t?void 0:t.insertText;return!!("string"==typeof o&&/\bctx\.[\w$.]+\s*\(/.test(o))};try{await (0,i.setupRunJSContexts)()}catch(e){}let n=(0,i.getRunJSDocFor)(e||{},{version:t}),a=null;try{e&&"function"==typeof e.getApiInfos&&(a=await e.getApiInfos({version:t}))}catch(e){a=null}let s=e=>{let t={};for(let[l,o]of Object.entries(e&&"object"==typeof e?e:{}))"string"==typeof o?t[l]={description:o,type:"function"}:o&&"object"==typeof o&&!Array.isArray(o)?t[l]={...o,type:"function"}:t[l]=o;return t},d={...(null==n?void 0:n.properties)||{},...s(null==n?void 0:n.methods)},u={...a&&"object"==typeof a?a:{},...d||{}},c=[],p=new Set(["api","resource","viewer","record","formValues","popup"]),m=new Map,h=new Set,f=e=>{if(!e||"string"!=typeof e)return!1;let t=e.endsWith("()")?e.slice(0,-2):e;if(!t.startsWith("ctx."))return!1;let l=t.split(".").filter(Boolean);if("ctx"!==l[0])return!1;for(;l.length;){let e=l.join(".");if(h.has(e))return!0;l.pop()}return!1},g=async(t,l,o)=>{if(!t||"object"!=typeof t||Array.isArray(t))return{hideSelf:!1,hideSubpaths:[]};if(m.has(l))return m.get(l);let n=t.hidden,i=!1,r=[];try{if("boolean"==typeof n)i=n;else if(Array.isArray(n))r=n;else if("function"==typeof n){let t=await n(e);"boolean"==typeof t?i=t:Array.isArray(t)&&(r=t)}}catch(e){i=!1,r=[]}let a=[];if(Array.isArray(r))for(let e of r){if("string"!=typeof e)continue;let t=e.trim();if(!t||"ctx"===t||t.startsWith("ctx.")||/\s/.test(t))continue;let l=t.split(".").map(e=>e.trim()).filter(Boolean);l.length&&"ctx"!==l[0]&&a.push(["ctx",...o,...l].join("."))}let s={hideSelf:i,hideSubpaths:a};return m.set(l,s),s},v=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(e)for(let[l,o]of Object.entries(e)){let e,n=[...t,l];if(f(`ctx.${n.join(".")}`))continue;let i=await g(o,`p:${n.join(".")}`,n);if(!i.hideSelf){for(let e of i.hideSubpaths)h.add(e);o&&"object"==typeof o&&!Array.isArray(o)&&(e=o.properties),e&&"object"==typeof e&&await v(e,n)}}};await v((null==n?void 0:n.properties)||{}),((null==n?void 0:n.label)||(null==n?void 0:n.properties)||(null==n?void 0:n.methods))&&c.push({label:"ctx",type:"class",detail:"FlowRunJSContext",info:(null==n?void 0:n.label)||"RunJS context",boost:115});let y=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(e)for(let[l,n]of Object.entries(e)){let e,i,a,s=[...t,l],d=`ctx.${s.join(".")}`,u=s.length,m=s[0];if(f(d))continue;let v=await g(n,`p:${s.join(".")}`,s);if(v.hideSelf)continue;for(let e of v.hideSubpaths)h.add(e);n&&"object"==typeof n&&!Array.isArray(n)&&(e=n.detail??n.type??"ctx property",a=n.completion,i=n.properties);let _=o(n,a),b=(null==a?void 0:a.insertText)??("popup"===m?`await ctx.getVar('${d}')`:_?`${d}()`:void 0),x=b?(e,t,l,o)=>{e.dispatch({changes:{from:l,to:o,insert:b},selection:{anchor:l+b.length},scrollIntoView:!0})}:void 0,M=_?`${d}()`:d;c.push({label:M,type:_?"function":"property",info:r(n),detail:e||(_?"ctx function":"ctx property"),boost:Math.max(90-5*u,10)+10*!!p.has(m),apply:x}),i&&await y(i,s)}};await y(u||{});let _=[];try{var b,x,M,w,S;let l=(null==e||null==(x=e.model)||null==(b=x.constructor)?void 0:b.name)||"*",o=(null==e||null==(w=e.api)||null==(M=w.auth)?void 0:M.locale)||(null==e||null==(S=e.i18n)?void 0:S.language);_=await (0,i.listSnippetsForContext)(l,t,o)}catch(e){_=[]}let k=Array.isArray(l)?l.filter(e=>"string"==typeof e&&e.trim().length>0):l?[l]:[],F=k.length?_.filter(e=>{var t;if(null==(t=e.scenes)?void 0:t.length)return e.scenes.some(e=>k.includes(e));let l=e.group||"";if(!l.startsWith("scene/"))return!0;let[o,n]=l.split("/");return!!n&&k.includes(n)}):_,C=new Set;for(let e of F){let t=e.body,l=String(e.name??"").trim(),o="string"==typeof e.prefix?e.prefix.trim():"",n=l||o,i=n,r=l&&o&&o!==i?o:void 0,a=e.ref||`${n}|${r??""}`;!i||C.has(a)||(C.add(a),c.push({label:n,displayLabel:i,detail:r,type:"snippet",info:e.description||e.ref,boost:80,apply:(e,l,o,n)=>{e.dispatch({changes:{from:o,to:n,insert:t},selection:{anchor:o+t.length},scrollIntoView:!0})}}))}let A=new Set,P=[];for(let e=c.length-1;e>=0;e--){let t=c[e],l=null==t?void 0:t.label;if("string"!=typeof l||!l){P.push(c[e]);continue}A.has(l)||(A.add(l),P.push(c[e]))}return P.reverse(),{completions:P,entries:F}}function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=arguments.length>2?arguments[2]:void 0,[o,i]=(0,n.useState)(null),[r,s]=(0,n.useState)([]),[d,u]=(0,n.useState)(null);return(0,n.useEffect)(()=>{let o=!1;return(async()=>{try{let{completions:n,entries:r}=await a(e,t,l);o||(i(n),s(r),u(null))}catch(e){o||(i(null),s([]),u(e))}})(),()=>{o=!0}},[e,t,l]),{completions:o,entries:r,error:d}}let d=2;function u(e){try{e&&e.dispatch((0,__rspack_external__codemirror_lint_56ca5a10.setDiagnostics)(e.state,[]))}catch(e){try{var t,l;null==(t=(l=console).debug)||t.call(l,"[errorHelpers] clearDiagnostics failed",e)}catch(e){}}}function c(e){let t=String((null==e?void 0:e.stack)||(null==e?void 0:e.message)||e||""),l=t.split("\n");for(let e of l){let t=e.match(/<anonymous>:(\d+):(\d+)/);if(t)return{line:parseInt(t[1],10),column:parseInt(t[2],10)}}for(let e of l){let t=e.match(/:(\d+):(\d+)/);if(t){let e=parseInt(t[1],10),l=parseInt(t[2],10);if(!Number.isNaN(e)&&!Number.isNaN(l))return{line:e,column:l}}}let o=t.match(/line\s*(\d+)\D+column\s*(\d+)/i);return o?{line:parseInt(o[1],10),column:parseInt(o[2],10)}:null}function p(e,t,l,o){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:d;try{if(!e)return;let i=Math.max(1,t-n),r=e.state.doc.line(Math.min(i,e.state.doc.lines)),a=Math.min(r.from+Math.max(0,l-1),r.to),s=a,d=[{from:a,to:s,severity:"error",message:o}];e.dispatch((0,__rspack_external__codemirror_lint_56ca5a10.setDiagnostics)(e.state,d)),e.dispatch({selection:{anchor:a},scrollIntoView:!0})}catch(e){try{var i,r;null==(i=(r=console).debug)||i.call(r,"[errorHelpers] markErrorAt failed",e)}catch(e){}}}function m(e,t,l){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:d;try{if(!e)return;let n=Math.max(1,t-o),i=e.state.doc.line(Math.min(n,e.state.doc.lines)),r=Math.min(i.from+Math.max(0,l-1),i.to);e.dispatch({selection:{anchor:r},scrollIntoView:!0})}catch(e){try{var n,i;null==(n=(i=console).debug)||n.call(i,"[errorHelpers] jumpTo failed",e)}catch(e){}}}var h=l(2113),f=l(2793),g=l(7516),v=l(5931);function y(e){let t=[],l=e.from+1,o=e.to-1,n=l;for(let l=e.firstChild;l;l=l.nextSibling)"Interpolation"===l.type.name&&(l.from>n&&t.push({from:n,to:l.from}),n=Math.max(n,l.to));return n<o&&t.push({from:n,to:o}),t.filter(e=>e.to>e.from)}function _(){let e=(0,v.javascript)({jsx:!0}),t=(0,__rspack_external__codemirror_lang_html_cc111360.html)(),l=e.language.configure({wrap:(0,__rspack_external__lezer_common_285852e1.parseMixed)(e=>{if("TemplateString"!==e.type.name)return null;let t=y(e.node);return t.length?{parser:__rspack_external__codemirror_lang_html_cc111360.htmlLanguage.parser,overlay:t}:null})});return new __rspack_external__codemirror_language_df5c6307.LanguageSupport(l,[e.support,t.support])}var b=l(5022);let x=(e,t,l)=>{let o=l.state.doc,n=[],i="",r=0;for(let e of t){let t=o.sliceString(e.from,e.to),l=r,a=l+t.length;n.push({htmlFrom:l,htmlTo:a,docFrom:e.from}),i+=t,r=a}if(!n.length)return null;let a=n.find(e=>{let{docFrom:t,htmlFrom:o,htmlTo:n}=e;return l.pos>=t&&l.pos<=t+(n-o)});return a?{htmlDoc:i,htmlPos:a.htmlFrom+(l.pos-a.docFrom),segments:n}:null},M=(e,t)=>{for(let l=e.length-1;l>=0;l-=1){let o=e[l];if(t>=o.htmlFrom&&t<=o.htmlTo)return o.docFrom+(t-o.htmlFrom)}return null},w=e=>{for(let t=e;t;t=t.parent)if("TemplateString"===t.type.name)return t;return null},S=e=>{let t=(0,__rspack_external__codemirror_language_df5c6307.syntaxTree)(e.state).resolveInner(e.pos,-1),l=w(t);if(!l||"Interpolation"===t.type.name)return null;let o=y(l.node);return o.length?x(l.node,o,e):null},k=(e,t)=>{let l=M(t,e.from),o=M(t,e.to);return null==l||null==o?null:{...e,from:l,to:o}},F=e=>null!=S(e),C=()=>{let e=__rspack_external__codemirror_lang_html_cc111360.htmlCompletionSource;return t=>{let l=S(t);if(!l)return null;let o=b.EditorState.create({doc:l.htmlDoc,extensions:[__rspack_external__codemirror_lang_html_cc111360.htmlLanguage]}),n=e(new __rspack_external__codemirror_autocomplete_e5fb8485.CompletionContext(o,l.htmlPos,t.explicit));return n?k(n,l.segments):null}},A=["div","span","p","a","img","button","input","label","select","option","textarea","ul","ol","li","table","thead","tbody","tr","td","th","form","section","article","nav","header","footer","main","h1","h2","h3","h4","h5","h6","canvas","svg","path","g","circle","rect","line","polyline","polygon"],P=["className","id","style","title","href","src","alt","value","defaultValue","placeholder","disabled","checked","readOnly","name","type","width","height","min","max","step","rows","cols","multiple","accept","download","target","rel","role","tabIndex","draggable","contentEditable","hidden"],T=["onClick","onChange","onInput","onSubmit","onKeyDown","onKeyUp","onKeyPress","onFocus","onBlur","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onMouseMove","onContextMenu","onDragStart","onDragOver","onDrop","onScroll","onWheel","onTouchStart","onTouchMove","onTouchEnd"],I=["color","background","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","border","borderRadius","fontSize","fontWeight","lineHeight","textAlign","display","flex","flexDirection","alignItems","justifyContent","gap","width","height","minWidth","minHeight","maxWidth","maxHeight","opacity","overflow","position","top","left","right","bottom","zIndex"];function j(e,t){let l=Math.max(0,t-400),o=e.slice(l,t),n=o.lastIndexOf("<"),i=o.lastIndexOf(">");return -1===n||i>n?{inTag:!1,tagStart:-1}:{inTag:!0,tagStart:l+n}}function L(e,t,l){let o=e.slice(t+1,l);return!/\s/.test(o)}function D(e,t,l){let o=Math.max(t,l-200),n=e.slice(o,l),i=n.lastIndexOf("style={{");return -1!==i&&n.lastIndexOf("}}")<i}function Y(){return A.map(e=>({label:e,type:"keyword",boost:99}))}function E(){let e=P.map(e=>({label:e,type:"property",boost:88}));return[...T.map(e=>({label:e,type:"function",boost:87,apply(t,l,o,n){let i=`${e}={(e) => {}}`;t.dispatch({changes:{from:o,to:n,insert:i},selection:{anchor:o+i.length-3}}),t.focus()}})),...e]}function R(){return I.map(e=>({label:e,type:"property",boost:86}))}function N(){let e=Y(),t=E(),l=R();return o=>{let{state:n,pos:i}=o,r=n.doc.toString(),{inTag:a,tagStart:s}=j(r,i);if(!a)return null;if(L(r,s,i)){let t=o.matchBefore(/[A-Za-z][A-Za-z0-9-]*/);return{from:t?t.from:i,to:t?t.to:i,options:e}}if(D(r,s,i)){let e=o.matchBefore(/[A-Za-z][A-Za-z0-9-]*/);return{from:e?e.from:i,to:e?e.to:i,options:l}}let d=o.matchBefore(/[A-Za-z][A-Za-z0-9-]*/);return d||o.explicit?{from:d?d.from:i,to:d?d.to:i,options:t}:null}}var O=l(9964),B=l(3551),H=l(3315);let q={...H.base,JSXElement(e,t,l){for(let o of(l(e.openingElement,t),e.children||[]))l(o,t);e.closingElement&&l(e.closingElement,t)},JSXFragment(e,t,l){for(let o of(l(e.openingFragment,t),e.children||[]))l(o,t);l(e.closingFragment,t)},JSXOpeningElement(e,t,l){for(let o of(l(e.name,t),e.attributes||[]))l(o,t)},JSXClosingElement(e,t,l){l(e.name,t)},JSXAttribute(e,t,l){l(e.name,t),e.value&&l(e.value,t)},JSXExpressionContainer(e,t,l){l(e.expression,t)},JSXSpreadAttribute(e,t,l){l(e.argument,t)},JSXMemberExpression(e,t,l){l(e.object,t),l(e.property,t)},JSXNamespacedName(e,t,l){l(e.namespace,t),l(e.name,t)},JSXIdentifier(){},JSXText(){},JSXEmptyExpression(){},JSXOpeningFragment(){},JSXClosingFragment(){}},V=(e,t)=>{let l=[];if(!e.trim())return l;let o=e.split("\n"),n=new Set,i=/\{\{[^}]*ctx[^}]*\}\}/,r=/\{\{[^}]*ctx[^}]*$/;for(let e=0;e<o.length;e++){let t=o[e];(i.test(t)||r.test(t))&&n.add(e)}let a=[0];for(let e=1;e<o.length;e++)a[e]=a[e-1]+o[e-1].length+1;let s=e=>{let t=0,l=a.length-1,o=0;for(;t<=l;){let n=t+l>>1;a[n]<=e?(o=n,t=n+1):l=n-1}return o},d=e=>n.has(s(e)),u=()=>{let l="possible-undefined-ctx-member-call",o="possible-unknown-ctx-member",n=(null==t?void 0:t.knownCtxMemberRoots)?new Set(Array.from(t.knownCtxMemberRoots)):null;for(let e of["t","logger","libs"])null==n||n.add(e);let i=new Set(["t"]),r=[],a=new Set,s=(e,t,l,o)=>{if(d(e))return;let n=`${l}@${e}`;a.has(n)||(a.add(n),r.push({from:e,to:Math.max(e+1,t),severity:"warning",source:l,message:o,actions:[]}))},u=e,c=u.length,p=e=>{if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||95===t||36===t},m=e=>{if(!e)return!1;let t=e.charCodeAt(0);return p(e)||t>=48&&t<=57},h="code";for(let e=0;e<c;e++){let t=u[e],r=e+1<c?u[e+1]:"";if("lineComment"===h){"\n"===t&&(h="code");continue}if("blockComment"===h){"*"===t&&"/"===r&&(h="code",e+=1);continue}if("single"===h){if("\\"===t){e+=1;continue}"'"===t&&(h="code");continue}if("double"===h){if("\\"===t){e+=1;continue}'"'===t&&(h="code");continue}if("template"===h){if("\\"===t){e+=1;continue}"`"===t&&(h="code");continue}if("/"===t&&"/"===r){h="lineComment",e+=1;continue}if("/"===t&&"*"===r){h="blockComment",e+=1;continue}if("'"===t){h="single";continue}if('"'===t){h="double";continue}if("`"===t){h="template";continue}if("c"!==t||"ctx"!==u.slice(e,e+3))continue;let a=e>0?u[e-1]:"",d=e+3<c?u[e+3]:"";if("."===a||a&&m(a)||d&&m(d))continue;let f=e+3;for(;f<c&&/\s/.test(u[f]);)f++;let g=!1;"?"===u[f]&&"."===u[f+1]&&(g=!0,f+=2);let v=null;if(g)v="["===u[f]?"bracket":"dot";else if("."===u[f])v="dot",f+=1;else{if("["!==u[f])continue;v="bracket"}for(;f<c&&/\s/.test(u[f]);)f++;let y="",_=0,b=0;if("dot"===v){if(!p(u[f]||""))continue;for(_=f,f+=1;f<c&&m(u[f]||"");)f++;b=f,y=u.slice(_,b)}else{if("["!==u[f])continue;for(f+=1;f<c&&/\s/.test(u[f]);)f++;let e=u[f];if("'"!==e&&'"'!==e)continue;for(f+=1,_=f;f<c;){let t=u[f];if("\\"===t){f+=2;continue}if(t===e)break;f+=1}if(b=f,y=u.slice(_,b),u[f]!==e)continue;for(f+=1;f<c&&/\s/.test(u[f]);)f++;if("]"!==u[f])continue;f+=1}if(!y)continue;let x=f;for(;x<c&&/\s/.test(u[x]);)x++;for("?"===u[x]&&"."===u[x+1]&&(x+=2);x<c&&/\s/.test(u[x]);)x++;let M="("===u[x];n?n.has(y)||(M?s(_,b,l,`Possible undefined ctx method call: ctx.${y}(). 可能是拼写错误或未在当前 ctx API 中定义。`):s(_,b,o,`Possible unknown ctx member access: ctx.${y}. 可能是拼写错误或未在当前 ctx API 中定义。`)):M&&y.length<=2&&!i.has(y)&&s(_,b,l,`Possible undefined ctx method call: ctx.${y}(). 可能是拼写错误或未在当前 ctx API 中定义。`),e=Math.max(e,f-1)}return r},c=()=>{let t="no-noncallable-call",l=[],o=new Set,n=(e,n)=>{if(d(e))return;let i=`${e}-${n}`;o.has(i)||(o.add(i),l.push({from:e,to:Math.max(e+1,n),severity:"warning",source:t,message:"This expression is not callable.",actions:[]}))},i=e,r=i.length,a=e=>{if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||95===t||36===t},s=e=>{if(!e)return!1;let t=e.charCodeAt(0);return a(e)||t>=48&&t<=57},u=e=>{let t=e;for(;t<r&&/\s/.test(i[t]);)t++;return t},c=e=>!(e>=r)&&("("===i[e]||"?"===i[e]&&"."===i[e+1]&&"("===i[e+2]),p=e=>{let t=1,l="code";for(let o=e+1;o<r;o++){let e=i[o],n=o+1<r?i[o+1]:"";if("lineComment"===l){"\n"===e&&(l="code");continue}if("blockComment"===l){"*"===e&&"/"===n&&(l="code",o+=1);continue}if("single"===l){if("\\"===e){o+=1;continue}"'"===e&&(l="code");continue}if("double"===l){if("\\"===e){o+=1;continue}'"'===e&&(l="code");continue}if("template"===l){if("\\"===e){o+=1;continue}"`"===e&&(l="code");continue}if("/"===e&&"/"===n){l="lineComment",o+=1;continue}if("/"===e&&"*"===n){l="blockComment",o+=1;continue}if("'"===e){l="single";continue}if('"'===e){l="double";continue}if("`"===e){l="template";continue}if("("===e)t++;else if(")"===e&&0==--t)return o}return -1},m=e=>"true"===e||"false"===e||"null"===e,h="code";for(let e=0;e<r;e++){let t=i[e],l=e+1<r?i[e+1]:"";if("lineComment"===h){"\n"===t&&(h="code");continue}if("blockComment"===h){"*"===t&&"/"===l&&(h="code",e+=1);continue}if("/"===t&&"/"===l){h="lineComment",e+=1;continue}if("/"===t&&"*"===l){h="blockComment",e+=1;continue}if("'"===t||'"'===t){let l=t,o=e;for(e+=1;e<r;){let t=i[e];if("\\"===t){e+=2;continue}if(t===l)break;e+=1}let a=Math.min(r,e+1);c(u(a))&&n(o,a);continue}if("`"===t){let t=e;for(e+=1;e<r;){let t=i[e];if("\\"===t){e+=2;continue}if("`"===t)break;e+=1}let l=Math.min(r,e+1);c(u(l))&&n(t,l);continue}if(t>="0"&&t<="9"){let t=e;for(e+=1;e<r&&i[e]>="0"&&i[e]<="9";)e++;if("."===i[e])for(e+=1;e<r&&i[e]>="0"&&i[e]<="9";)e++;if("e"===i[e]||"E"===i[e]){let t=i[e+1],l=e+1;if(("+"===t||"-"===t)&&(l+=1),i[l]>="0"&&i[l]<="9")for(e=l+1;e<r&&i[e]>="0"&&i[e]<="9";)e++}"n"===i[e]&&(e+=1);let l=e;c(u(l))&&n(t,l),e=l-1;continue}if(a(t)){let t=e;for(e+=1;e<r&&s(i[e]);)e++;m(i.slice(t,e))&&c(u(e))&&n(t,e),e-=1;continue}if("("===t){let t=u(e+1),l=t,o=!1;("+"===i[t]||"-"===i[t])&&(l=t,t=u(t+1));let d=i[t];if("{"===d||"["===d||"'"===d||'"'===d||"`"===d)o=!0;else if(d>="0"&&d<="9")o=!0;else if(a(d)){let e=t+1;for(;e<r&&s(i[e]);)e++;m(i.slice(t,e))&&(o=!0)}if(o){let t=p(e);t>e&&c(u(t+1))&&n(l,t)}}}return l},p=null;try{let t=O.Parser||O;p=("function"==typeof B.default?t.extend((0,B.default)()):t).parse(e,{ecmaVersion:2022,sourceType:"script",allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,locations:!0})}catch(i){let t=i,o=0,n=e.length;return t.loc?n=(o=e.split("\n").slice(0,t.loc.line-1).join("\n").length+ +(t.loc.line>1)+t.loc.column)+1:void 0!==t.pos&&(n=(o=t.pos)+1),d(o)||l.push({from:o,to:n,severity:"error",message:`Syntax error: ${t.message}`,actions:[]}),l.push(...u()),l.push(...c()),l}try{let e=function(e,t,o){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"warning";d(e)||l.push({from:e,to:t,message:o,severity:n,actions:[]})},o=new Set(["ctx","console","window","navigator","document","Math","Date","Array","Object","Number","String","Boolean","Promise","RegExp","Set","Map","WeakSet","WeakMap","JSON","Intl","URL","Blob","Error","TypeError","encodeURIComponent","decodeURIComponent","parseInt","parseFloat","isNaN","isFinite","undefined","NaN","Infinity"]),n=e=>{e&&"string"==typeof e.name&&o.add(e.name)},i=e=>{if(!e)return;let t=[e];for(;t.length;){let e=t.pop();e&&("Identifier"===e.type?n(e):"AssignmentPattern"===e.type?t.push(e.left):"ArrayPattern"===e.type?(e.elements||[]).forEach(e=>e&&t.push(e)):"ObjectPattern"===e.type&&(e.properties||[]).forEach(e=>e&&t.push(e.value||e)))}};H.full(p,e=>{switch(null==e?void 0:e.type){case"VariableDeclarator":i(e.id);break;case"FunctionDeclaration":case"FunctionExpression":n(e.id),(e.params||[]).forEach(i);break;case"ArrowFunctionExpression":(e.params||[]).forEach(i);break;case"CatchClause":i(e.param);break;case"ClassDeclaration":n(e.id)}},q),H.full(p,t=>{if(t&&"string"==typeof t.type){if("CallExpression"===t.type){let e=t.callee;if(!(e&&("Identifier"===e.type||"MemberExpression"===e.type||"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type||"CallExpression"===e.type||"ChainExpression"===e.type))){let o=((null==e?void 0:e.loc)&&e.start)??t.start,n=((null==e?void 0:e.loc)&&e.end)??t.end;if(d(o))return;l.push({from:o,to:n,severity:"warning",source:"no-noncallable-call",message:"This expression is not callable.",actions:[]})}}else if("NewExpression"===t.type){let l=t.callee;if(!(l&&("Identifier"===l.type||"MemberExpression"===l.type||"CallExpression"===l.type))){let o=((null==l?void 0:l.loc)&&l.start)??t.start,n=((null==l?void 0:l.loc)&&l.end)??t.end;e(o,n,"This constructor is not a function.")}}}},q);try{let e="possible-undefined-ctx-member-call",o="possible-unknown-ctx-member",n=new Set,i=(null==t?void 0:t.knownCtxMemberRoots)?new Set(Array.from(t.knownCtxMemberRoots)):null;for(let e of["t","logger","libs"])null==i||i.add(e);let r=new Set(["t"]);H.full(p,t=>{var o,a,s,u;if(!t||"string"!=typeof t.type||"CallExpression"!==t.type)return;let c=t.callee;if((null==c?void 0:c.type)==="ChainExpression"&&(c=c.expression),!c||"MemberExpression"!==c.type)return;let p=c.object;if(!p||"Identifier"!==p.type||"ctx"!==p.name)return;let m=null;if(c.computed||(null==(o=c.property)?void 0:o.type)!=="Identifier"?c.computed&&(null==(a=c.property)?void 0:a.type)==="Literal"&&"string"==typeof c.property.value&&(m=c.property.value):m=c.property.name,!m)return;let h=String(m).trim();if(!h||h.startsWith("_"))return;if(i){if(i.has(h))return}else if(h.length>2||r.has(h))return;let f=(null==(s=c.property)?void 0:s.start)??c.start??t.start,g=(null==(u=c.property)?void 0:u.end)??f+1,v=`${h}@${f}`;n.has(v)||d(f)||(l.push({from:f,to:g,severity:"warning",source:e,message:`Possible undefined ctx method call: ctx.${h}(). 可能是拼写错误或未在当前 ctx API 中定义。`,actions:[]}),n.add(v))},q);let a=new Set;H.ancestor(p,{MemberExpression(e,t){var n,r,s,u;if(!i)return;let c=t[t.length-2];if((null==c?void 0:c.type)==="CallExpression"){let t=c.callee;if((null==t?void 0:t.type)==="ChainExpression"&&(t=t.expression),t===e)return}let p=null==e?void 0:e.object;if(!p||"Identifier"!==p.type||"ctx"!==p.name)return;let m=null;if(e.computed||(null==(n=e.property)?void 0:n.type)!=="Identifier"?e.computed&&(null==(r=e.property)?void 0:r.type)==="Literal"&&"string"==typeof e.property.value&&(m=e.property.value):m=e.property.name,!m)return;let h=String(m).trim();if(!h||h.startsWith("_")||i.has(h))return;let f=(null==(s=e.property)?void 0:s.start)??e.start??0,g=(null==(u=e.property)?void 0:u.end)??f+1,v=`${h}@${f}`;a.has(v)||d(f)||(l.push({from:f,to:g,severity:"warning",source:o,message:`Possible unknown ctx member access: ctx.${h}. 可能是拼写错误或未在当前 ctx API 中定义。`,actions:[]}),a.add(v))}},q)}catch(e){}let r=new Set;H.ancestor(p,{Identifier(t,l){let n=t.name;if(!n||o.has(n)||r.has(n))return;let i=l[l.length-2];if(!i||"VariableDeclarator"===i.type&&i.id===t||"FunctionDeclaration"===i.type&&i.id===t||"FunctionExpression"===i.type&&i.id===t||"ClassDeclaration"===i.type&&i.id===t||"ClassExpression"===i.type&&i.id===t||"Property"===i.type&&i.key===t&&!0!==i.computed||"MemberExpression"===i.type&&i.property===t&&!0!==i.computed||"LabeledStatement"===i.type&&i.label===t||"BreakStatement"===i.type&&i.label===t||"ContinueStatement"===i.type&&i.label===t)return;let a=t.start??0,s=t.end??a+1;e(a,s,`Possible undefined variable: ${n}`,"warning"),r.add(n)}},q)}catch(e){}return l},$=e=>(0,__rspack_external__codemirror_lint_56ca5a10.linter)(t=>V(t.state.doc.toString(),e)),z=[".ant-modal-content",".ant-modal",".ant-drawer-content",".ant-drawer-content-wrapper"],K=e=>{let t=(null==e?void 0:e.ownerDocument)??document;for(let t of z){let l=null==e?void 0:e.closest(t);if(l instanceof HTMLElement)return l}return t.getElementById("nocobase-embed-container")||t.body},U=e=>{let{value:t="",onChange:l,placeholder:i="",height:r="100%",minHeight:a,theme:s="light",readonly:d=!1,enableLinter:u=!1,knownCtxMemberRoots:c,extraCompletions:p,completionSource:m,viewRef:h}=e,f=(0,n.useRef)(null),g=(0,n.useRef)();return(0,n.useEffect)(()=>{g.current=l},[l]),(0,n.useEffect)(()=>{var e,l;if(!f.current)return;let o=e=>t=>{let l=t.matchBefore(/[$_\p{Letter}][$_\p{Letter}\p{Number}.-]*/u);return l?l.from!==l.to||t.explicit?{from:l.from,to:l.to,options:e}:null:t.explicit?{from:t.pos,to:t.pos,options:e}:null},n=void 0===a?void 0:"string"==typeof a?a:`${a}px`,v="string"==typeof n?{".cm-gutter,.cm-content":{minHeight:n}}:{},y=[__rspack_external_codemirror.basicSetup,_(),(0,__rspack_external__codemirror_autocomplete_e5fb8485.autocompletion)({override:[C(),N(),..."function"==typeof m?[m]:Array.isArray(p)&&p.length?[o(p)]:[]],closeOnBlur:!1,activateOnTyping:!0}),...i?[(0,__rspack_external__codemirror_view_81079101.placeholder)(i)]:[],...u?[(0,__rspack_external__codemirror_lint_56ca5a10.lintGutter)(),$({knownCtxMemberRoots:c})]:[],(0,__rspack_external__codemirror_view_81079101.tooltips)({parent:K(f.current)}),__rspack_external__codemirror_view_81079101.EditorView.updateListener.of(e=>{if(e.docChanged&&!d){let l=e.state.doc.toString();try{var t;null==(t=g.current)||t.call(g,l)}catch(e){}}}),__rspack_external__codemirror_view_81079101.EditorView.theme({"&.cm-editor":{height:"string"==typeof r?r||"100%":`${r}px`},...v,".cm-scroller":{fontFamily:'"Fira Code", "Monaco", "Menlo", "Ubuntu Mono", monospace',overflow:"auto"},".cm-placeholder":{color:"#999",fontStyle:"normal",whiteSpace:"pre",pointerEvents:"none"},".cm-diagnostic":{padding:"4px 8px",borderRadius:"4px",border:"1px solid #d9d9d9",backgroundColor:"#fff",boxShadow:"0 2px 8px rgba(0,0,0,0.1)",fontSize:"12px",maxWidth:"300px"},".cm-diagnostic-error":{borderLeftColor:"#ff4d4f",borderLeftWidth:"3px"},".cm-diagnostic-warning":{borderLeftColor:"#faad14",borderLeftWidth:"3px"},".cm-diagnostic-info":{borderLeftColor:"#1890ff",borderLeftWidth:"3px"},".cm-lintRange-error":{backgroundImage:"url(\"data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3'><path d='m0 3 l2 -2 l1 0 l2 2 l1 0' stroke='%23ff4d4f' fill='none' stroke-width='.7'/></svg>\")",backgroundRepeat:"repeat-x",backgroundPosition:"left bottom"},".cm-lintRange-warning":{backgroundImage:"url(\"data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3'><path d='m0 3 l2 -2 l1 0 l2 2 l1 0' stroke='%23faad14' fill='none' stroke-width='.7'/></svg>\")",backgroundRepeat:"repeat-x",backgroundPosition:"left bottom"},".cm-lintRange-info":{backgroundImage:"url(\"data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3'><path d='m0 3 l2 -2 l1 0 l2 2 l1 0' stroke='%231890ff' fill='none' stroke-width='.7'/></svg>\")",backgroundRepeat:"repeat-x",backgroundPosition:"left bottom"},".cm-tooltip":{zIndex:1}})];"dark"===s&&y.push(__rspack_external__codemirror_theme_one_dark_f26a966d.oneDark);let b=h.current&&"function"==typeof(null==(l=h.current.state)||null==(e=l.doc)?void 0:e.toString)?h.current.state.doc.toString():t||"",x=new __rspack_external__codemirror_view_81079101.EditorView({doc:b,extensions:y,parent:f.current});return h.current=x,()=>{try{x.destroy()}catch(e){}h.current=null}},[m,p,u,r,a,s,d,i]),(0,n.useEffect)(()=>{let e=h.current;e&&e.state.doc.toString()!==(t||"")&&e.dispatch({changes:{from:0,to:e.state.doc.length,insert:t||""}})},[t]),(0,o.jsx)(o.Fragment,{children:(0,o.jsx)("div",{style:{flex:1,minHeight:120},ref:f})})};var G=l(3526);class J{static registerRightExtra(e){J.rightExtras.register(e.name,e.extra)}static getRightExtras(){return Array.from(J.rightExtras.getValues())}}J.rightExtras=new G.Registry;let W=e=>{let{name:t="code",language:l="javascript",scene:i,extraEditorRef:r,onActionCountChange:a,extraContent:s}=e,d=J.getRightExtras(),[u,c]=(0,n.useState)({}),p=(0,n.useCallback)((e,t)=>{c(l=>{let o={...l,[e]:t},n=Object.values(o).filter(Boolean).length;return null==a||a(n),o})},[a]),m={padding:"8px",borderBottom:"1px solid #d9d9d9"},{visible:h}=(0,n.useMemo)(()=>{let e=Object.values(u).some(Boolean),t=Array.isArray(d)&&d.length>0,l=!!s;return{visible:e||t||l}},[u,d,s]);return((0,n.useEffect)(()=>{r.buttonGroupHeight=50*!!h},[h,r]),h)?(0,o.jsx)(f.Flex,{gap:"middle",justify:"flex-end",align:"center",style:m,children:(0,o.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[s,d.map(e=>{let n=e;return(0,o.jsx)(n,{name:t,language:l,scene:i,editorRef:r,setActive:p},e.name)})]})}):null},X=e=>{let{logs:t,onJumpTo:l,tr:n}=e;return(0,o.jsxs)("div",{style:{borderTop:"1px solid #d9d9d9",maxHeight:180,overflow:"auto",padding:"8px 12px",background:"#fff"},children:[(0,o.jsx)("div",{style:{fontWeight:600,marginBottom:6},children:n("Logs")}),0===t.length?(0,o.jsx)("div",{style:{color:"#999"},children:n("No logs yet. Click Run to execute.")}):t.map((e,t)=>{let i="error"===e.level?"#ff4d4f":"warn"===e.level?"#faad14":"#333",r=("error"===e.level||"warn"===e.level)&&"number"==typeof e.line&&"number"==typeof e.column,a="number"==typeof e.line?Math.max(1,e.line-d):e.line,s="string"==typeof e.msg&&/[((]line\s*\d+(:\d+)?[))]/i.test(e.msg);return(0,o.jsxs)("pre",{onClick:r?()=>{"number"==typeof e.line&&"number"==typeof e.column&&(null==l||l(e.line,e.column))}:void 0,style:{margin:0,whiteSpace:"pre-wrap",color:i,cursor:r?"pointer":"default",textDecoration:r?"underline dotted":"none"},children:["[",e.level,"] ",e.msg,r&&!s?` (${n("at")} ${a}:${e.column})`:""]},t)})]})},Q=e=>{let{open:t,onClose:l,getContainer:i,entries:r,onInsert:a,tr:s}=e,[d,u]=(0,n.useState)(""),c=(0,n.useMemo)(()=>{if(!d)return r;let e=d.toLowerCase();return r.filter(t=>t.name.toLowerCase().includes(e)||(t.prefix||"").toLowerCase().includes(e)||(t.description||"").toLowerCase().includes(e)||([...t.groups||[],t.group].filter(Boolean).join(" ")||"").toLowerCase().includes(e)||t.body.toLowerCase().includes(e))},[r,d]),p=(0,n.useMemo)(()=>{let e={global:s("Common"),libs:s("Libs"),"scene/block":s("Block"),"scene/detail":s("Detail"),"scene/form":s("Form"),"scene/table":s("Table")};return t=>t?e[t]||t:""},[s]);return(0,o.jsxs)(f.Drawer,{title:s("Snippets"),open:t,onClose:l,getContainer:i,width:"100%",destroyOnClose:!0,children:[(0,o.jsx)(f.Input,{placeholder:s("Search snippets (name / prefix / body / group)"),allowClear:!0,value:d,onChange:e=>u(e.target.value),style:{marginBottom:12}}),(0,o.jsx)(f.List,{dataSource:c,renderItem:e=>{var t;let l=(null==(t=e.groups)?void 0:t.length)?e.groups:e.group?[e.group]:[];return(0,o.jsx)(f.List.Item,{actions:[(0,o.jsx)(f.Button,{size:"small",type:"primary",onClick:()=>{a(e.body.endsWith("\n")?e.body:e.body+"\n")},children:s("Insert")},"insert")],children:(0,o.jsx)(f.List.Item.Meta,{title:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{children:e.name}),e.prefix?(0,o.jsx)(f.Tag,{style:{marginLeft:8},children:e.prefix}):null,l.map(e=>(0,o.jsx)(f.Tag,{color:"blue",style:{marginLeft:8},children:p(e)},e))]}),description:e.description||p(l[0])||e.ref||""})})}})]})},Z={trace:"log",debug:"log",info:"info",warn:"warn",error:"error",fatal:"error"};function ee(e){try{if("string"==typeof e)return e;return JSON.stringify(e)}catch(t){try{return String(e)}catch(e){return"[Unstringifiable]"}}}function et(e){return{log:function(){for(var t=arguments.length,l=Array(t),o=0;o<t;o++)l[o]=arguments[o];return e("log",l)},info:function(){for(var t=arguments.length,l=Array(t),o=0;o<t;o++)l[o]=arguments[o];return e("info",l)},warn:function(){for(var t=arguments.length,l=Array(t),o=0;o<t;o++)l[o]=arguments[o];return e("warn",l)},error:function(){for(var t=arguments.length,l=Array(t),o=0;o<t;o++)l[o]=arguments[o];return e("error",l)}}}function el(e){let t=String(e||"").match(/[((]line\s*(\d+)(?::(\d+))?[))]/i);if(!t)return null;let l=Number(t[1]),o=Number(t[2]||1);return!Number.isFinite(l)||l<=0?null:!Number.isFinite(o)||o<=0?{line:l,column:1}:{line:l,column:o}}function eo(e){let t=new WeakMap,l=new WeakMap,o=n=>{if(!n||"object"!=typeof n&&"function"!=typeof n||l.has(n))return n;let i=t.get(n);if(i)return i;let r=new Proxy(n,{get(t,l,n){if("child"===l&&"function"==typeof t.child)return function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];return o(t.child.apply(t,l))};if("string"==typeof l&&l in Z&&"function"==typeof t[l]){let o=Z[l];return function(){for(var n=arguments.length,i=Array(n),r=0;r<n;r++)i[r]=arguments[r];try{e(o,i)}catch(e){}return t[l].apply(t,i)}}let i=Reflect.get(t,l,n);return"function"==typeof i?i.bind(t):i}});return t.set(n,r),l.set(r,n),r};return o}function en(e){var t;let l=(null==e?void 0:e.inputArgs)||{},o=null==l?void 0:l.openerUids,n=null==e||null==(t=e.navigation)?void 0:t.viewStack;return Array.isArray(o)&&o.length>0||Array.isArray(n)&&n.length>=2}async function ei(e){if(!e)return!1;try{if(await e.popup)return!0}catch(e){}try{return en(await e.view)}catch(e){return!1}}function er(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",[l,o]=(0,n.useState)([]),[r,a]=(0,n.useState)(!1),s=(0,n.useRef)(0),u=(0,n.useRef)(null),p=(0,n.useCallback)(()=>o([]),[]);return{run:(0,n.useCallback)(async l=>{var n;let r=(null==e?void 0:e.t)||(e=>e);a(!0),o([]),s.current+=1;let p=s.current;null==(n=u.current)||n.call(u),u.current=null;try{let n,a,m=null==e?void 0:e.model;if(!m)throw Error("No model in FlowContext");let h=e.engine.getModel(m.uid,!0)||m,[f,g]=await Promise.all([ei(e),ei(m.context)]),v=f||g?m:h,y=f?e:g?m.context:e,_={log:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.log(...t)},info:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.info(...t)},warn:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.warn(...t)},error:function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return console.error(...t)}},b=(e,t)=>{let l=t.map(e=>ee(e)).join(" "),n="warn"===e?el(l):null;n?o(t=>[...t,{level:e,msg:l,line:n.line+d,column:n.column}]):o(t=>[...t,{level:e,msg:l}])},x=(e,t)=>{var l;b(e,t),null==(l=_[e])||l.call(_,...t)},M=et(x),w=eo(b),S=["jsSettings","clickSettings"].find(e=>v.getFlow(e))||"jsSettings",[k,F]=await Promise.all([(0,i.prepareRunJsCode)(l,{preprocessTemplates:!0}).catch(()=>void 0),(0,i.prepareRunJsCode)(l,{preprocessTemplates:!1}).catch(()=>void 0)]),C=i.JSRunner.prototype,A=C.run,P=()=>{},T=new Promise(e=>P=e),I=!1,j=()=>{I||(I=!0,i.JSRunner.prototype.run=A,u.current=null)};u.current=j,C.run=async function(e){var t,o,i,r,a;let s=e===l||e===k||e===F,d=null==(o=this)||null==(t=o.globals)?void 0:t.console,u=(null==(r=this)||null==(i=r.globals)?void 0:i.ctx)?Object.getOwnPropertyDescriptor(this.globals.ctx,"logger"):void 0;try{this.globals||(this.globals={});try{this.globals.console=M}catch(e){console.warn("[useCodeRunner] inject console failed:",e)}try{if(this.globals.ctx){let e=this.globals.ctx.logger,t=w(e);Object.defineProperty(this.globals.ctx,"logger",{configurable:!0,enumerable:!0,writable:!1,value:t})}}catch(e){console.warn("[useCodeRunner] inject logger failed:",e)}}catch(e){console.warn("[useCodeRunner] inject globals failed:",e)}try{let t=await A.call(this,e);return s&&(n=t,P(t)),t}finally{try{void 0===d?delete this.globals.console:this.globals.console=d}catch(e){console.warn("[useCodeRunner] restore console failed:",e)}try{(null==(a=this.globals)?void 0:a.ctx)&&(void 0===u?delete this.globals.ctx.logger:Object.defineProperty(this.globals.ctx,"logger",u))}catch(e){console.warn("[useCodeRunner] restore logger failed:",e)}}};let L=async e=>{var o;let n=null==e||null==(o=e.getFlow)?void 0:o.call(e,S),r=(null==n?void 0:n.manual)===!0,a=null==n?void 0:n.on,s="string"==typeof a?a:null==a?void 0:a.eventName;if(n)"string"==typeof s?await e.dispatchEvent(s,{preview:{code:l}},{sequential:!0,useCache:!1}):r?await e.applyFlow(S,{preview:{code:l}}):await e.dispatchEvent("beforeRender",{preview:{code:l}},{sequential:!0,useCache:!1});else{let e=(0,i.createSafeNavigator)();await y.runjs(l,{window:(0,i.createSafeWindow)({navigator:e}),document:(0,i.createSafeDocument)(),navigator:e},{version:t})}};try{await L(v)}catch(e){throw j(),e}let D=e=>{if(null==e?void 0:e.success)x("info",[r("Execution succeeded")]);else{var t;let l=(null==e?void 0:e.timeout)?r("Execution timed out"):String((null==e?void 0:e.error)||r("Unknown error")),n=(null==e||null==(t=e.error)?void 0:t.__runjsHideLocation)?null:c(null==e?void 0:e.error);n&&"number"==typeof n.line&&"number"==typeof n.column?o(e=>[...e,{level:"error",msg:l,line:n.line,column:n.column}]):x("error",[l])}};if(n)return j(),a=n,D(a),a;let Y=12e3;return(async()=>{let e=await Promise.race([T,new Promise(e=>setTimeout(()=>e({success:!1,timeout:!0,error:Error("Preview timed out")}),Y))]);s.current===p&&(j(),D(e))})(),{success:!0,value:void 0}}catch(t){let e=t instanceof Error?t.message:String(t)||r("Run preview failed");return o(t=>[...t,{level:"error",msg:e}]),{success:!1,error:t}}finally{a(!1)}},[e,t]),logs:l,clearLogs:p,running:r}}var ea=l(6305);let es=/[$_\p{Letter}][$_\p{Letter}\p{Number}.-]*/u,ed=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then;function eu(e){let{hostCtx:t,staticOptions:l,metaRoots:o}=e,n=Array.isArray(l)?l:[],i=N(),r=Array.isArray(o)&&o.length>0?new Set(o.map(e=>String(e))):null,a=new Map,s=new Map,d={},u=e=>{if("string"!=typeof e||!e)return"";try{let l=null==t?void 0:t.t;return"function"==typeof l?String(l(e)):e}catch(t){return e}},c=e=>"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):"",p=e=>"string"==typeof e?e.trim():"",m=(e,t)=>{try{let l="number"==typeof t&&Number.isFinite(t)?Math.max(0,Math.floor(t)):0,o=Math.max(0,l-4e3),n=(null==e?void 0:e.sliceString)?String(e.sliceString(o,l)||""):"";if(!n)return!1;let i=!1,r=!1,a=!1,s=!1,d=!1,u=!1;for(let e=0;e<n.length;e++){let t=n[e],l=n[e+1];if(s){"\n"===t&&(s=!1);continue}if(d){"*"===t&&"/"===l&&(d=!1,e++);continue}if(i){if(u){u=!1;continue}if("\\"===t){u=!0;continue}"'"===t&&(i=!1);continue}if(r){if(u){u=!1;continue}if("\\"===t){u=!0;continue}'"'===t&&(r=!1);continue}if(a){if(u){u=!1;continue}if("\\"===t){u=!0;continue}"`"===t&&(a=!1);continue}if("/"===t&&"/"===l){s=!0,e++;continue}if("/"===t&&"*"===l){d=!0,e++;continue}if("'"===t){i=!0;continue}if('"'===t){r=!0;continue}if("`"===t){a=!0;continue}}return i||r||a}catch(e){return!1}},h=async e=>{if(!e)return[];if("function"==typeof e)try{let t=await e();return Array.isArray(t)?t:[]}catch(e){return[]}return Array.isArray(e)?e:[]},f=async e=>{if(!(null==e?void 0:e.children))return[];if("function"==typeof e.children)try{let t=await e.children(),l=Array.isArray(t)?t:[];return e.children=l,l}catch(e){return[]}return Array.isArray(e.children)?e.children:[]},g=e=>e.some(e=>"string"==typeof e&&e.startsWith("_")),v=async e=>{try{let t=null==e?void 0:e.hidden,l="function"==typeof t?t():t;return!!(ed(l)?await l:l)}catch(e){return!1}},y=async e=>{try{let t=null==e?void 0:e.disabled,l="function"==typeof t?t():t;if(!(ed(l)?await l:l))return{disabled:!1};let o=null==e?void 0:e.disabledReason,n="function"==typeof o?o():o,i=ed(n)?await n:n,r=u(c(i));return{disabled:!0,reason:r||void 0}}catch(e){return{disabled:!1}}},_=async()=>(d.promise||(d.promise=(async()=>{try{let e=null==t?void 0:t.popup,l=ed(e)?await e:e;return!!(null==l?void 0:l.uid)}catch(e){return!0}})()),d.promise),b=async e=>{if(!t||"function"!=typeof t.getPropertyMetaTree)return[];if(a.has(e))return await a.get(e);let l=(async()=>{try{let l=String(e||"").split(".").map(e=>e.trim()).filter(Boolean);if(!l.length||"ctx"!==l[0]||l.length<2)return[];let o=l[1];if(!o||o.startsWith("_")||r&&!r.has(o)||"popup"===o&&!await _())return[];let n=async()=>{if(s.has(o))return await s.get(o);let e=(async()=>{try{let e=t.getPropertyMetaTree(`{{ ctx.${o} }}`);return await h(e)}catch(e){return[]}})();return s.set(o,e),await e},i=l.slice(2),a=await n();if(!i.length)return a;for(let e of i){if(!e||e.startsWith("_"))return[];let t=Array.isArray(a)?a.find(t=>String((null==t?void 0:t.name)??"")===e):null;if(!t)return[];a=await f(t)}return Array.isArray(a)?a:[]}catch(e){return[]}})();return a.set(e,l),await l},x=async(e,t,l)=>{if(!e||"string"!=typeof e||!e.startsWith("ctx."))return[];let o=t>0&&"."===l,n=e.split(".").map(e=>e.trim()).filter(Boolean);if("ctx"!==n[0])return[];let i=o?n:n.slice(0,-1);if(i.length<2)return[];let a=i[1];if(!a||a.startsWith("_")||i.some((e,t)=>t>0&&"string"==typeof e&&e.startsWith("_"))||r&&!r.has(a)||"popup"===a&&!await _())return[];let s=i.join("."),d=await b(s);if(!d.length)return[];let p=[];for(let e of d){let t=(Array.isArray(null==e?void 0:e.paths)?e.paths:[]).map(e=>String(e)).filter(Boolean);if(!t.length||g(t))continue;let l=`ctx.${t.join(".")}`;if(!l.startsWith("ctx.")||await v(e))continue;let o=u(c(null==e?void 0:e.title))||u(c(null==e?void 0:e.name))||t[t.length-1],n=[...Array.isArray(null==e?void 0:e.parentTitles)?e.parentTitles.map(e=>u(c(e))).filter(Boolean):[],o].filter(Boolean).join(" / "),{disabled:i,reason:r}=await y(e),a=[];n&&a.push(n),i&&a.push("Disabled:",`- ${r||"true"}`);let s=a.join("\n")||n||o||l;p.push({label:l,type:"property",detail:n||"context value",info:s,boost:110,apply:(e,t,o,n)=>{var i;let r=m(null==e||null==(i=e.state)?void 0:i.doc,o)?l:`await ctx.getVar('${l}')`;e.dispatch({changes:{from:o,to:n,insert:r},selection:{anchor:o+r.length},scrollIntoView:!0})}})}return p},M=e=>{let t=new Set,l=[];for(let o=e.length-1;o>=0;o--){let n=e[o],i="string"==typeof(null==n?void 0:n.label)?p(n.label):"";if(i){if(t.has(i))continue;t.add(i)}l.push(e[o])}return l.reverse(),l};return async e=>{try{if(F(e))return null}catch(e){}try{if(i(e))return null}catch(e){}let t=e.matchBefore(es);if(!t)return e.explicit?{from:e.pos,to:e.pos,options:n}:null;if(t.from===t.to&&!e.explicit)return null;let l=e.pos>0?e.state.doc.sliceString(e.pos-1,e.pos):"",o=[];try{o=await x(t.text,e.pos,l)}catch(e){o=[]}let r=e=>{if(!e||"string"!=typeof e||!e.startsWith("ctx."))return;let t=e.split(".").map(e=>e.trim()).filter(Boolean);if("ctx"!==t[0])return;let l=t[1];return l&&"string"==typeof l?l:void 0},a=o.length>0?r(t.text):void 0,s=a&&a.length?n.filter(e=>{let t="string"==typeof(null==e?void 0:e.label)?p(e.label):"";return!!(!t||!t.startsWith("ctx.")||"ctx"===t||(null==e?void 0:e.type)==="function"||t.endsWith("()"))||!(t===`ctx.${a}`||t.startsWith(`ctx.${a}.`))}):n,d=o.length>0?M([...s,...o]):n;return{from:t.from,to:t.to,options:d}}}function ec(e){return(Array.isArray(e)?e:e?[e]:[]).map(e=>String(e).trim()).filter(Boolean)}let ep={DetailsItemModel:["detailFieldEvent"],DetailsCustomItemModel:["detailFieldEvent"],TableColumnModel:["tableFieldEvent"],TableCustomColumnModel:["tableFieldEvent"],SubTableColumnModel:["tableFieldEvent"],FormItemModel:["formFieldEvent"],FilterFormItemModel:["formFieldEvent"]};function em(e,t){var l,o;if(!ec(t).includes("eventFlow"))return;let n=null==e||null==(o=e.model)||null==(l=o.constructor)?void 0:l.name;if(!n||"string"!=typeof n)return;let i=ep[n];return(null==i?void 0:i.length)?[...i]:void 0}function eh(e,t){let l=Array.from(new Set([...ec(e),...ec(t)]));return l.length?l:void 0}var ef=l(426);let eg=e=>{let{value:t="",onChange:l,placeholder:r="",height:a="100%",minHeight:d,theme:v="light",readonly:y=!1,enableLinter:_=!1,wrapperStyle:b,extraCompletions:x,version:M="v1",name:w,language:S,scene:k,RightExtra:F,showLogs:C=!0}=e,A=(0,n.useRef)(null),P=(0,n.useRef)(null),{isFullscreen:T,toggleFullscreen:I,placeholderRef:j,placeholderStyle:L,container:D}=(0,ea.Zn)(),Y=(0,i.useFlowContext)(),E=(0,n.useMemo)(()=>{let e;if(Y)try{let t=(0,i.getRunJSScenesForContext)(Y,{version:M});e=t.length?t:void 0}catch(t){e=void 0}let t=em(Y,k);try{return eh(k,eh(e,t))}catch(e){return eh(k)}},[k,Y,M]),{completions:R,entries:N}=s(Y,M,E),{run:O,logs:B,running:H}=er(Y,M),[q,V]=(0,n.useState)(!1),$=(0,n.useCallback)(()=>{let e=A.current;return e&&(e.closest(".ant-drawer-content-wrapper")||e.closest(".ant-drawer-content")||e.closest(".ant-modal-content")||e.parentElement)||document.body},[]),z=(0,n.useCallback)((e,t)=>{try{return(null==Y?void 0:Y.t)?Y.t(e,t):e}catch(t){return e}},[Y]),K=(0,n.useMemo)(()=>{let e=[];return Array.isArray(R)&&e.push(...R),Array.isArray(x)&&e.push(...x),e},[x,R]),G=(0,n.useMemo)(()=>eu({hostCtx:Y,staticOptions:K}),[Y,K]),J=(0,n.useCallback)(async()=>{var e;let t=(null==(e=P.current)?void 0:e.state.doc.toString())||"";u(P.current);let l=await O(t);if(!(null==l?void 0:l.success)){let e=null==l?void 0:l.error,t=(null==l?void 0:l.timeout)?z("Execution timed out"):String(e||z("Unknown error")),o=c(e);o&&P.current&&p(P.current,o.line,o.column,t)}return l},[O,z]),Z=(0,n.useRef)({write(e){let t=P.current;t&&t.state.doc.toString()!==e&&t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e}})},read(){let e=P.current;return e?e.state.doc.toString():""},run:()=>Promise.resolve(void 0),buttonGroupHeight:0,snippetEntries:[],logs:[]});Z.current.snippetEntries=N,Z.current.logs=B,Z.current.run=J,(0,n.useEffect)(()=>{var e;null==(e=P.current)||e.requestMeasure()},[T]);let ee=(0,o.jsx)(f.Tooltip,{title:T?z("Exit fullscreen"):z("Fullscreen"),children:(0,o.jsx)(f.Button,{size:"small","aria-label":T?z("Exit fullscreen"):z("Fullscreen"),icon:T?(0,o.jsx)(h.FullscreenExitOutlined,{}):(0,o.jsx)(h.FullscreenOutlined,{}),onClick:I})}),et=(0,o.jsxs)("div",{style:{border:T?"none":"1px solid #d9d9d9",borderRadius:T?0:"6px",overflow:"visible",position:"relative",display:"flex",flexDirection:"column",boxSizing:T?"border-box":void 0,padding:T?16:void 0,height:T?"100%":void 0,minHeight:T?0:void 0,...b},ref:A,children:[(0,o.jsx)(W,{name:w,language:S,scene:E,extraEditorRef:Z.current,extraContent:(0,o.jsxs)(o.Fragment,{children:[F?(0,o.jsx)(F,{viewRef:P}):(0,o.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[(0,o.jsx)(f.Button,{size:"small",onClick:()=>V(!0),children:z("Snippets")}),(0,o.jsx)(o.Fragment,{children:(0,o.jsx)(f.Button,{size:"small",loading:H,onClick:J,children:z("Run")})})]}),ee]})}),(0,o.jsx)(U,{value:t,onChange:l,placeholder:r,height:T?"100%":a,minHeight:d,theme:v,readonly:y,enableLinter:_,completionSource:G,viewRef:P}),C?(0,o.jsx)(X,{logs:B,onJumpTo:(e,t)=>{let l=P.current;l&&m(l,e,t)},tr:z}):null,(0,o.jsx)(Q,{open:q,onClose:()=>V(!1),getContainer:$,entries:N,tr:z,onInsert:e=>{let t=P.current;if(!t)return;let{from:l,to:o}=t.state.selection.main,n=l+e.length;t.dispatch({changes:{from:l,to:o,insert:e},selection:{anchor:n},scrollIntoView:!0}),t.focus(),V(!1)}})]});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{ref:j,style:T?L:{display:"contents"}}),D?(0,g.createPortal)(et,D):null]})}},426(e,t,l){l.d(t,{by:()=>E,fL:()=>R,hP:()=>u,previewRunJS:()=>O});var o=l(5931),n=l(5022),i=l(9964),r=l(3551),a=l(3315),s=l(504);let d={...a.base,JSXElement(e,t,l){for(let o of(l(e.openingElement,t),e.children||[]))l(o,t);e.closingElement&&l(e.closingElement,t)},JSXFragment(e,t,l){for(let o of(l(e.openingFragment,t),e.children||[]))l(o,t);l(e.closingFragment,t)},JSXOpeningElement(e,t,l){for(let o of(l(e.name,t),e.attributes||[]))l(o,t)},JSXClosingElement(e,t,l){l(e.name,t)},JSXAttribute(e,t,l){l(e.name,t),e.value&&l(e.value,t)},JSXExpressionContainer(e,t,l){l(e.expression,t)},JSXSpreadAttribute(e,t,l){l(e.argument,t)},JSXMemberExpression(e,t,l){l(e.object,t),l(e.property,t)},JSXNamespacedName(e,t,l){l(e.namespace,t),l(e.name,t)},JSXIdentifier(){},JSXText(){},JSXEmptyExpression(){},JSXOpeningFragment(){},JSXClosingFragment(){}},u=4e3,c=5e3,p=1600,m=1,h=(0,o.javascript)({jsx:!0}).language.parser,f=/\{\{[^}]*ctx[^}]*\}\}/,g=/\{\{[^}]*ctx[^}]*$/;function v(e){try{if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return String(e);if(e instanceof Error)return e.message||String(e);return JSON.stringify(e)}catch(t){try{return String(e)}catch{return"[Unstringifiable]"}}}function y(e,t){let l=String(e||"");if(l.length<=t)return l;if(t<=3)return l.slice(0,t);let o=Math.floor((t-3)/2),n=t-3-o;return`${l.slice(0,o)}...${l.slice(-n)}`}function _(e){try{let t=new URL(e),l=t.pathname||"",o=l.split("/").filter(Boolean).pop()||l||"bundle.js";return`${t.origin}/.../${y(o,80)}`}catch{return y(e,120)}}function b(e){let t=String(e||"").trimEnd();t=t.replace(/https?:\/\/[^\s)]+/g,e=>_(e));for(let e=0;e<4;e++){let e=t.replace(/eval at [^()]*\(/g,"eval(");if(e===t)break;t=e}return(t=t.replace(/\(\s*eval\s*\(/g,"(eval(")).replace(/\s+/g," ").trim()}function x(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:m,l=String(e||"").split("\n").map(e=>b(e)).filter(e=>!!e);if(!l.length)return"";let o=l[0],n=l.slice(1),i=[];for(let e of n)e&&(i.length>0&&i[i.length-1]===e||i.push(e));let r=i.slice(0,Math.max(0,t)),a=Math.max(0,i.length-r.length),s=[o,...r];return a>0&&s.push(`... (${a} frames omitted)`),s.join("\n")}function M(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p,l=(null==e?void 0:e.stack)?String(e.stack):"";if(!l)return;let o=x(l);return o.length<=t?o:`${o.slice(0,Math.max(0,t-16))}
262
262
  ... (stack truncated)`}function w(e){let t=String(e||"").split("\n"),l=new Set;for(let e=0;e<t.length;e++){let o=t[e];(f.test(o)||g.test(o))&&l.add(e)}if(0===l.size)return()=>!1;let o=[0];for(let e=1;e<t.length;e++)o[e]=o[e-1]+t[e-1].length+1;let n=e=>{let t=0,l=o.length-1,n=0;for(;t<=l;){let i=t+l>>1;o[i]<=e?(n=i,t=i+1):l=i-1}return n};return e=>l.has(n(e))}function S(e,t){let l=Math.max(0,Math.min(e.length,Math.floor(t))),o=e.lineAt(l);return{line:o.number,column:l-o.from+1}}function k(e){return[...e].sort((e,t)=>{var l,o,n,i,r,a,s,d;let u=+("lint"!==e.type),c=+("lint"!==t.type);if(u!==c)return u-c;let p=(null==(o=e.location)||null==(l=o.start)?void 0:l.line)??Number.MAX_SAFE_INTEGER,m=(null==(i=t.location)||null==(n=i.start)?void 0:n.line)??Number.MAX_SAFE_INTEGER;if(p!==m)return p-m;let h=(null==(a=e.location)||null==(r=a.start)?void 0:r.column)??Number.MAX_SAFE_INTEGER,f=(null==(d=t.location)||null==(s=d.start)?void 0:s.column)??Number.MAX_SAFE_INTEGER;return h!==f?h-f:String(e.ruleId||"").localeCompare(String(t.ruleId||""))})}function F(e){let t={error:0,warn:1,info:2,log:3};return e.map((e,t)=>({log:e,index:t})).sort((e,l)=>{let o=t[e.log.level]??Number.MAX_SAFE_INTEGER,n=t[l.log.level]??Number.MAX_SAFE_INTEGER;return o!==n?o-n:e.index-l.index}).map(e=>e.log)}function C(e){let t,l=String(e||"");if(!l.trim())return[];let o=n.Text.of(l.split("\n")),i=w(l);try{t=h.parse(l).cursor()}catch(e){return[{type:"lint",ruleId:"parse-error",message:`Syntax error: ${v((null==e?void 0:e.message)||e)}`,location:{start:{line:1,column:1}}}]}let r=[],a=new Set,s=e=>{let t=Math.max(0,Math.min(l.length,e));if(i(t)||a.has(t))return;a.add(t);let n=S(o,t),s=l.slice(t,Math.min(l.length,t+24)).replace(/\s+/g," ").trim(),d=s?` near "${s}"`:"";r.push({type:"lint",ruleId:"parse-error",message:`Syntax error${d}.`,location:{start:n}})};do t.type.isError&&s(t.from);while(t.next());return r}function A(e){let t,l=String(e||"");if(!l.trim())return[];let o=w(l),s=n.Text.of(l.split("\n")),u=[],c=(e,t,n)=>{let i=Math.max(0,Math.min(l.length,e));if(o(i))return;let r=S(s,i);u.push({type:"lint",ruleId:t,message:n,location:{start:r}})},p=()=>{let e="no-noncallable-call",t=new Set,n=n=>{let i=Math.max(0,Math.min(l.length,n));o(i)||t.has(i)||(t.add(i),c(i,e,"This expression is not callable."))},i=l.length,r=e=>{if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||95===t||36===t},a=e=>{if(!e)return!1;let t=e.charCodeAt(0);return r(e)||t>=48&&t<=57},s=e=>{let t=e;for(;t<i&&/\s/.test(l[t]);)t++;return t},d=e=>!(e>=i)&&("("===l[e]||"?"===l[e]&&"."===l[e+1]&&"("===l[e+2]),u=e=>{let t=1,o="code";for(let n=e+1;n<i;n++){let e=l[n],r=n+1<i?l[n+1]:"";if("lineComment"===o){"\n"===e&&(o="code");continue}if("blockComment"===o){"*"===e&&"/"===r&&(o="code",n+=1);continue}if("single"===o){if("\\"===e){n+=1;continue}"'"===e&&(o="code");continue}if("double"===o){if("\\"===e){n+=1;continue}'"'===e&&(o="code");continue}if("template"===o){if("\\"===e){n+=1;continue}"`"===e&&(o="code");continue}if("/"===e&&"/"===r){o="lineComment",n+=1;continue}if("/"===e&&"*"===r){o="blockComment",n+=1;continue}if("'"===e){o="single";continue}if('"'===e){o="double";continue}if("`"===e){o="template";continue}if("("===e)t++;else if(")"===e&&0==--t)return n}return -1},p=e=>"true"===e||"false"===e||"null"===e,m="code";for(let e=0;e<i;e++){let t=l[e],o=e+1<i?l[e+1]:"";if("lineComment"===m){"\n"===t&&(m="code");continue}if("blockComment"===m){"*"===t&&"/"===o&&(m="code",e+=1);continue}if("/"===t&&"/"===o){m="lineComment",e+=1;continue}if("/"===t&&"*"===o){m="blockComment",e+=1;continue}if("'"===t||'"'===t){let o=t,r=e;for(e+=1;e<i;){let t=l[e];if("\\"===t){e+=2;continue}if(t===o)break;e+=1}d(s(Math.min(i,e+1)))&&n(r);continue}if("`"===t){let t=e;for(e+=1;e<i;){let t=l[e];if("\\"===t){e+=2;continue}if("`"===t)break;e+=1}d(s(Math.min(i,e+1)))&&n(t);continue}if(t>="0"&&t<="9"){let t=e;for(e+=1;e<i&&l[e]>="0"&&l[e]<="9";)e++;if("."===l[e])for(e+=1;e<i&&l[e]>="0"&&l[e]<="9";)e++;if("e"===l[e]||"E"===l[e]){let t=l[e+1],o=e+1;if(("+"===t||"-"===t)&&(o+=1),l[o]>="0"&&l[o]<="9")for(e=o+1;e<i&&l[e]>="0"&&l[e]<="9";)e++}"n"===l[e]&&(e+=1),d(s(e))&&n(t),e-=1;continue}if(r(t)){let t=e;for(e+=1;e<i&&a(l[e]);)e++;p(l.slice(t,e))&&d(s(e))&&n(t),e-=1;continue}if("("===t){let t=s(e+1),o=t,c=!1;("+"===l[t]||"-"===l[t])&&(o=t,t=s(t+1));let m=l[t];if("{"===m||"["===m||"'"===m||'"'===m||"`"===m)c=!0;else if(m>="0"&&m<="9")c=!0;else if(r(m)){let e=t+1;for(;e<i&&a(l[e]);)e++;p(l.slice(t,e))&&(c=!0)}if(c){let t=u(e);t>e&&d(s(t+1))&&n(o)}}}};try{let e=i.Parser||i;t=("function"==typeof r.default?e.extend((0,r.default)()):e).parse(l,{ecmaVersion:2022,sourceType:"script",allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,locations:!0})}catch(e){return p(),u}let m=new Set(["ctx","console","window","document","navigator","Math","Date","Array","Object","Number","String","Boolean","Promise","RegExp","Set","Map","WeakSet","WeakMap","JSON","Intl","URL","Error","TypeError","encodeURIComponent","decodeURIComponent","parseInt","parseFloat","isNaN","isFinite","undefined","NaN","Infinity"]),h=e=>{e&&"string"==typeof e.name&&m.add(e.name)},f=e=>{if(!e)return;let t=[e];for(;t.length;){let e=t.pop();e&&("Identifier"===e.type?h(e):"AssignmentPattern"===e.type?t.push(e.left):"ArrayPattern"===e.type?(e.elements||[]).forEach(e=>e&&t.push(e)):"ObjectPattern"===e.type&&(e.properties||[]).forEach(e=>e&&t.push(e.value||e)))}};try{a.full(t,e=>{switch(null==e?void 0:e.type){case"VariableDeclarator":f(e.id);break;case"FunctionDeclaration":case"FunctionExpression":h(e.id),(e.params||[]).forEach(f);break;case"ArrowFunctionExpression":(e.params||[]).forEach(f);break;case"CatchClause":f(e.param);break;case"ClassDeclaration":h(e.id)}},d)}catch(e){}try{a.full(t,e=>{if(!e||"string"!=typeof e.type||"CallExpression"!==e.type)return;let t=e.callee;if(!(t&&("Identifier"===t.type||"MemberExpression"===t.type||"FunctionExpression"===t.type||"ArrowFunctionExpression"===t.type||"CallExpression"===t.type||"ChainExpression"===t.type))){let l=(null==t?void 0:t.start)??e.start??0;c(l,"no-noncallable-call","This expression is not callable.")}},d)}catch(e){}try{let e=new Set,l=new Set(["t"]);a.full(t,t=>{var o,n,i;if(!t||"string"!=typeof t.type||"CallExpression"!==t.type)return;let r=t.callee;if((null==r?void 0:r.type)==="ChainExpression"&&(r=r.expression),!r||"MemberExpression"!==r.type)return;let a=r.object;if(!a||"Identifier"!==a.type||"ctx"!==a.name)return;let s=null;if(r.computed||(null==(o=r.property)?void 0:o.type)!=="Identifier"?r.computed&&(null==(n=r.property)?void 0:n.type)==="Literal"&&"string"==typeof r.property.value&&(s=r.property.value):s=r.property.name,!s||"string"!=typeof s)return;let d=s.trim();if(!d||d.startsWith("_")||d.length>2||l.has(d)||e.has(d))return;let u=(null==(i=r.property)?void 0:i.start)??r.start??t.start??0;c(u,"possible-undefined-ctx-member-call",`Possible undefined ctx method call: ctx.${d}(). This may be a typo or not available in the current ctx API.`),e.add(d)},d)}catch(e){}try{let e=new Set;a.ancestor(t,{Identifier(t,l){let o=null==t?void 0:t.name;if(!o||m.has(o)||e.has(o))return;let n=l[l.length-2];if(!n||"VariableDeclarator"===n.type&&n.id===t||"FunctionDeclaration"===n.type&&n.id===t||"FunctionExpression"===n.type&&n.id===t||"ClassDeclaration"===n.type&&n.id===t||"ClassExpression"===n.type&&n.id===t||"Property"===n.type&&n.key===t&&!0!==n.computed||"MemberExpression"===n.type&&n.property===t&&!0!==n.computed||"LabeledStatement"===n.type&&n.label===t||"BreakStatement"===n.type&&n.label===t||"ContinueStatement"===n.type&&n.label===t)return;let i=t.start??0;c(i,"possible-undefined-variable",`Possible undefined variable: ${o}`),e.add(o)}},d)}catch(e){}return u}function P(e){let t=(t,l)=>{let o=l.map(e=>v(e)).join(" ").trim();e.push({level:t,message:o})},l={trace:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("log",l)},debug:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("log",l)},info:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("info",l)},warn:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("warn",l)},error:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("error",l)},fatal:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("error",l)},child:()=>l};return{consoleCapture:{log:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("log",l)},info:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("info",l)},warn:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("warn",l)},error:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("error",l)}},loggerCapture:l}}function T(e){if(!e.length)return;let t={timeout:0,internal:1,"preview-start-failed":2};return[...e].sort((e,l)=>{let o=t[String(e.ruleId||"")]??10,n=t[String(l.ruleId||"")]??10;return o!==n?o-n:0})[0]}function I(e){var t;let l=null==(t=e.location)?void 0:t.start,o=l?`line ${l.line}:${l.column} `:"",n=e.ruleId?`(${e.ruleId}) `:"";return`${o}${n}${e.message}`.trim()}function j(e){if(!e)return"Preview execution: unknown";let t="number"==typeof e.durationMs?`${Math.round(e.durationMs)}ms`:"unknown";return`Preview execution: started=${e.started}, finished=${e.finished}, timeout=${e.timeout}, duration=${t}`}function L(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"…",o=String(e||"");return o.length<=t?o:`${o.slice(0,Math.max(0,t-l.length))}${l}`}function D(e,t){let{issues:l,logs:o,execution:n}=e,i=l.filter(e=>"lint"===e.type),r=l.filter(e=>"runtime"===e.type),a=F(o),s=T(r),d=[],u=l.length,c=i.length,p=r.length,m=a.length,h=e=>{e.length&&(d.push("Key logs:"),e.forEach(e=>{d.push(`[${e.level}] ${L(e.message,t.maxLogChars)}`)}),a.length>e.length&&d.push(`... ${a.length-e.length} more logs not shown`))};if(0===u){let e=a.some(e=>"warn"===e.level||"error"===e.level);d.push(e?`RunJS preview completed with warning/error logs: no diagnostic issues found. Logs: ${m}.`:`RunJS preview succeeded: no issues found. Logs: ${m}.`),d.push(j(n));let l=a.slice(0,Math.max(0,t.maxLogs));l.length&&(d.push(""),h(l));let o=d.join("\n").trimEnd();return{message:L(o,t.maxChars),truncated:o.length>t.maxChars}}d.push(`RunJS preview failed: ${u} issues (lint ${c} / runtime ${p}), logs: ${m}.`),d.push(j(n)),d.push("");let f=(e,l)=>{if(!l.length)return;d.push(`${e}:`);let o=l.slice(0,Math.max(0,t.maxIssues));o.forEach((e,l)=>{let o=`${l+1}) ${I(e)}`;if(d.push(o),t.includeStack&&e.stack){let l=L(String(e.stack),t.maxStackChars);d.push(L(l,t.maxStackChars))}}),l.length>o.length&&d.push(`... ${l.length-o.length} more not shown`),d.push("")},g=s&&r.length>1?[s,...r.filter(e=>e!==s)]:r;f("Static issues",i),f("Runtime issues",g);let v=a.slice(0,Math.max(0,t.maxLogs));v.length&&h(v);let y=d.join("\n").trimEnd(),_=y.length>t.maxChars;return{message:_?L(y,t.maxChars):y,truncated:_}}function Y(e){let t=`(issues total ${e.issues.length}, logs total ${e.logs.length})`,l=!1;for(let o of[{maxLogs:40,maxLogChars:220,maxIssues:12,includeStack:!0,maxStackChars:800},{maxLogs:20,maxLogChars:160,maxIssues:10,includeStack:!0,maxStackChars:400},{maxLogs:12,maxLogChars:140,maxIssues:8,includeStack:!1,maxStackChars:0},{maxLogs:8,maxLogChars:120,maxIssues:5,includeStack:!1,maxStackChars:0},{maxLogs:3,maxLogChars:100,maxIssues:3,includeStack:!1,maxStackChars:0}]){let{message:n,truncated:i}=D(e,{...o,maxChars:u});if(l=l||i,!i){if(!l)return n;return L(`RunJS preview output was truncated.
263
263
  ${t}
264
264
 
265
- ${n}`,u)}}let o=T(e.issues.filter(e=>"runtime"===e.type)),n=o?`Key runtime issue: ${I(o)}`:"",i=["RunJS preview output was truncated.",t,e.execution?j(e.execution):void 0,n||void 0].filter(Boolean).join("\n").trim();return i.length<=u?i:L(i,u-1)+"\n"}function E(e){return Y(e)}async function R(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o="string"==typeof e?e:String(e??""),n=[],i=[],r=null==l?void 0:l.version,a=(0,s.shouldPreprocessRunJSTemplates)({version:r});i.push(...C(o)),i.push(...A(o));let d="u">typeof performance&&"function"==typeof performance.now?performance.now():Date.now(),u={started:!1,finished:!1,timeout:!1,durationMs:void 0};try{u.started=!0;let{consoleCapture:e,loggerCapture:l}=P(n),d={console:e};try{if("u">typeof window){let e=(0,s.createSafeNavigator)();d.navigator=e,d.window=(0,s.createSafeWindow)({navigator:e}),d.document=(0,s.createSafeDocument)()}}catch(e){}let p=o;try{p=await (0,s.prepareRunJsCode)(o,{preprocessTemplates:a})}catch(o){let e=String((null==o?void 0:o.name)||""),t=v((null==o?void 0:o.message)||o),l=o instanceof SyntaxError||/^SyntaxError\b/i.test(e)||/SyntaxError\b/i.test(t);return i.push({type:"runtime",ruleId:l?"preview-start-failed":"internal",message:l?t:`Preview internal failure: ${t}`,stack:M(o)}),u.finished=!0,u.timeout=!1,{issues:k(i),logs:n,execution:u}}let m=await t.createJSRunner({globals:d,timeoutMs:c,version:r});m.globals.ctx.defineProperty("logger",{value:l});let h=await m.run(p);if(u.finished=!0,u.timeout=!!(null==h?void 0:h.timeout),!(null==h?void 0:h.success)){let e=null==h?void 0:h.error,t=(null==h?void 0:h.timeout)?"Execution timed out":v((null==e?void 0:e.message)||e||"Unknown error"),l=e instanceof SyntaxError||/^SyntaxError\b/i.test(String((null==e?void 0:e.name)||""));i.push({type:"runtime",ruleId:(null==h?void 0:h.timeout)?"timeout":l?"preview-start-failed":"runtime-error",message:t,stack:M(e)})}}catch(e){u.finished=!0,u.timeout=!1,i.push({type:"runtime",ruleId:"internal",message:`Preview internal failure: ${v((null==e?void 0:e.message)||e)}`,stack:M(e)})}finally{let e=Math.max(0,("u">typeof performance&&"function"==typeof performance.now?performance.now():Date.now())-d);u.durationMs=Number.isFinite(e)?e:void 0}return{issues:k(i),logs:n,execution:u}}function N(e){let t=new s.FlowContext;if(t.addDelegate(e),"u">typeof document&&"function"==typeof document.createElement&&!e.element)try{let e=document.createElement("div");t.defineProperty("element",{value:e})}catch(e){}return t}async function O(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=N(t),n=await R(e,o,l),i=0===n.issues.length,r=E(n);return{success:i,message:r.length>u?L(r,u):r}}},8442(e,t,l){l.d(t,{a:()=>r});var o=l(1178),n=l(2793);l(1649);var i=l(5886);let r=(0,l(504).observer)(e=>{var t;let{value:l,FilterItem:r,ctx:a}=e;l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let s=()=>{var e;(null==a||null==(e=a.model)?void 0:e.dispatchEvent)&&a.model.dispatchEvent("reset")},d=()=>{var e;(null==a||null==(e=a.model)?void 0:e.dispatchEvent)&&a.model.dispatchEvent("submit")},u=(null==a||null==(t=a.model)?void 0:t.translate)||(e=>e);return(0,o.jsxs)("form",{onSubmit:e=>{e.preventDefault(),d()},children:[(0,o.jsx)(i.I,{value:l,FilterItem:r}),(0,o.jsxs)(n.Space,{style:{width:"100%",display:"flex",justifyContent:"flex-end"},children:[(0,o.jsx)(n.Button,{htmlType:"button",onClick:s,children:u("Reset")}),(0,o.jsx)(n.Button,{type:"primary",htmlType:"submit",children:u("Submit")})]})]})},{displayName:"FilterContent"})},5886(e,t,l){l.d(t,{I:()=>c});var o=l(1178),n=l(2113),i=l(2793),r=l(7843);l(1649);var a=l(504);let s=new WeakMap,d=0,u=e=>{let t=s.get(e);return t||(d+=1,t=`filter-item-${d}`,s.set(e,t)),t},c=(0,a.observer)(e=>{let{token:t}=i.theme.useToken(),{value:l={logic:"$and",items:[]},FilterItem:a,showBorder:s=!1,onRemove:d,onChange:p,closeIcon:m=(0,o.jsx)(n.CloseCircleOutlined,{style:{color:t.colorIcon}})}=e,{t:h}=(0,r.useTranslation)();l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let{logic:f,items:g}=l,v=s?{position:"relative",border:`1px dashed ${t.colorBorder}`,padding:t.paddingSM,marginBottom:t.marginXS,borderRadius:t.borderRadius}:{position:"relative",marginBottom:t.marginXS},y=e=>{l.logic=e,null==p||p(l)},_=()=>{g.push({path:"",operator:"",value:""}),null==p||p(l)},b=()=>{g.push({logic:"$and",items:[]}),null==p||p(l)},x=e=>{g.splice(e,1),null==p||p(l)},M=e=>"path"in e||"operator"in e||"value"in e,w=e=>"logic"in e&&"items"in e;return(0,o.jsxs)("div",{style:v,children:[s&&d&&(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{position:"absolute",right:10,top:10,cursor:"pointer",background:"transparent",border:0,padding:0},onClick:d,children:m}),(0,o.jsx)("div",{style:{marginBottom:8,color:t.colorText},children:(0,o.jsxs)("span",{children:[h("Meet")," ",(0,o.jsxs)(i.Select,{"data-testid":"filter-select-all-or-any",style:{width:"auto"},value:f,onChange:y,children:[(0,o.jsx)(i.Select.Option,{value:"$and",children:h("All")}),(0,o.jsx)(i.Select.Option,{value:"$or",children:h("Any")})]})," ",h("conditions in the group")]})}),(0,o.jsx)("div",{children:g.map((e,n)=>w(e)?(0,o.jsx)(c,{value:e,FilterItem:a,showBorder:!0,onRemove:()=>x(n),onChange:e=>{g[n]=e,null==p||p(l)}},u(e)):M(e)?a?(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsx)(a,{value:e}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)):(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsxs)("span",{children:[e.path," ",e.operator," ",String(e.value)]}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)):(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsx)("span",{style:{color:t.colorTextTertiary},children:"Invalid filter item"}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)))}),(0,o.jsxs)(i.Space,{size:16,style:{marginTop:8,marginBottom:8},children:[(0,o.jsx)(i.Button,{style:{padding:0},type:"link",size:"small",icon:(0,o.jsx)(n.PlusOutlined,{}),onClick:_,children:h("Add condition")}),(0,o.jsx)(i.Button,{style:{padding:0},type:"link",size:"small",icon:(0,o.jsx)(n.PlusOutlined,{}),onClick:b,children:h("Add condition group")})]})]})},{displayName:"FilterGroup"})},9215(e,t,l){l.d(t,{Ru:()=>j,I8:()=>n.I,qi:()=>c,oJ:()=>o.a,Et:()=>M});var o=l(8442),n=l(5886),i=l(1178),r=l(504),a=l(2793),s=l(1649);let d=(e,t,l,o)=>e.map(e=>u(e,t,l,o)).filter(Boolean),u=(e,t,l,o)=>{var n;if(l.length&&1===t&&l.includes(e.name)||!e.interface||!1===e.filterable)return;let i=e.getInterfaceOptions();if(!(null==i?void 0:i.filterable))return;let{nested:r,children:a,operators:s}=i.filterable,u={name:e.name,type:e.type,target:e.target,title:o(e.title),schema:null==e?void 0:e.uiSchema,operators:((null==s||null==(n=s.filter)?void 0:n.call(s,t=>!(null==t?void 0:t.visible)||t.visible(e)))||[]).map(e=>({...e,label:o(e.label)}))};if(!e.target||!(t>2)){if(t>2)return u;if((null==a?void 0:a.length)&&(u.children=a),r){let n=d(e.getFields().filter(e=>"attachments"!==e.target&&"formula"!==e.interface),t+1,l,o).filter(Boolean);u.children=u.children||[],u.children.push(...n)}return u}},c=(0,r.observer)(e=>{var t;let{path:l,operator:o,value:n}=e.value,r=e.model,u=(null==(t=r.context.blockModel.collection)?void 0:t.getFields().filter(e=>"attachments"!==e.target))||[],c=p(r.props.filterableFieldNames||[],u.map(e=>e.name)),m=r.translate,h=d(u.filter(e=>"attachments"!==e.target&&"formula"!==e.interface&&!["belongsTo","belongsToMany","hasOne","hasMany","oho","obo","m2o","o2m","m2m"].includes(e.type)),1,e.noIgnore?[]:c,m).filter(Boolean),f=(0,s.useMemo)(()=>{let e=h.find(e=>e.name===l);return(null==e?void 0:e.operators)||[]},[h,l]),g=t=>{var l;e.value.path=t;let o=h.find(e=>e.name===t);(null==o||null==(l=o.operators)?void 0:l.length)>0?e.value.operator=o.operators[0].value:e.value.operator="",e.value.value=""},v=t=>{e.value.operator=t},y=t=>{e.value.value=t.target.value};return(0,i.jsxs)(a.Space,{children:[(0,i.jsx)(a.Select,{style:{width:200},placeholder:m("Select field"),value:l||void 0,onChange:g,children:h.map(e=>(0,i.jsx)(a.Select.Option,{value:e.name,children:e.title},e.name))}),(0,i.jsx)(a.Select,{style:{width:120},placeholder:m("Select operator"),value:o||void 0,onChange:v,disabled:!l||0===f.length,children:f.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),(0,i.jsx)(a.Input,{style:{width:200},placeholder:m("Enter value"),value:n,onChange:y})]})},{displayName:"FilterItem"});function p(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}var m=l(6305),h=l(7583),f=l(6220),g=l(7309),v=l(7720);let{DateFilterDynamicComponent:y}=(0,m.RZ)(()=>Promise.resolve().then(l.bind(l,6832)),"DateFilterDynamicComponent");async function _(e){var t,l,o,n;let i=async e=>Array.isArray(e)?e:"function"==typeof e?await e():[];if(null==(l=e.getPropertyOptions)||null==(t=l.call(e,"collection"))?void 0:t.meta){let t=null==(n=e.getPropertyMetaTree)?void 0:n.call(e,"{{ ctx.collection }}");return await i(t)}let a=()=>(null==e?void 0:e.collection)??null,s=await (0,r.createEphemeralContext)(e,{defineProperties:{collection:{get:a,meta:(0,r.createCollectionContextMeta)(a,"Current collection")}}}),d=null==(o=s.getPropertyMetaTree)?void 0:o.call(s,"{{ ctx.collection }}");return await i(d)}function b(e,t,l,o){var n;let r=null==e?void 0:e["x-component"],s=(null==t||null==(n=t.uiSchema)?void 0:n["x-component-props"])||{},d=(null==e?void 0:e["x-component-props"])||{},u=(0,__rspack_external_lodash_merge_8f812c65.default)({},s,d),c=(0,g.di)(null==e?void 0:e.enum,l)||[],p={style:{width:200,...(null==u?void 0:u.style)||{}},placeholder:(null==u?void 0:u.placeholder)||l("Enter value"),...u},m=e=>{if("number"==typeof e||(null==u?void 0:u.stringMode)===!0&&"string"==typeof e)return e};return e=>{let{value:t,onChange:l,...n}=e||{};if("InputNumber"===r)return(0,i.jsx)(a.InputNumber,{...p,...n,value:m(t),onChange:e=>null==l?void 0:l(e)});if("NumberPicker"===r)return(0,i.jsx)(f.NumberPicker,{...p,...n,value:m(t),onChange:e=>null==l?void 0:l(e)});if("Switch"===r)return(0,i.jsx)(a.Switch,{...p,...n,checked:!!t,onChange:e=>null==l?void 0:l(e)});if("Select"===r)return(0,i.jsx)(a.Select,{options:c,...p,...n,value:(0,g.xO)(t,p),onChange:e=>null==l?void 0:l(e)});if("Checkbox"===r)return(0,i.jsx)(a.Checkbox,{...p,...n,checked:!!t,onChange:e=>null==l?void 0:l(e.target.checked)});if("Checkbox.Group"===r)return(0,i.jsx)(a.Checkbox.Group,{...p,...n,value:Array.isArray(t)?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Radio.Group"===r)return(0,i.jsx)(a.Radio.Group,{...p,...n,value:Array.isArray(t)||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?t:void 0,onChange:e=>null==l?void 0:l(e.target.value)});if("Cascader"===r)return(0,i.jsx)(a.Cascader,{...p,...n,value:Array.isArray(t)?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Input.TextArea"===r||"TextArea"===r)return(0,i.jsx)(a.Input.TextArea,{...p,...n,value:"string"==typeof t?t:null==t?"":String(t),onChange:e=>null==l?void 0:l(e.target.value)});if("DateFilterDynamicComponent"===r)return(0,i.jsx)(y,{...p,...n,value:t,onChange:e=>null==l?void 0:l(e)});if(r&&(null==o?void 0:o.getComponent)){let e=o.getComponent(r);if(e)return(0,i.jsx)(e,{...p,...n,value:t,onChange:e=>null==l?void 0:l(e),style:{width:200,...p.style||{},...null==n?void 0:n.style}})}return(0,i.jsx)(a.Input,{...p,...n,value:"string"==typeof t?t:null==t?"":String(t),onChange:e=>null==l?void 0:l(e.target.value)})}}function x(e){if(e&&"object"==typeof e){let l=e;if("function"==typeof l.preventDefault||l.nativeEvent||"target"in l){var t;let o=null==(t=l.target)?void 0:t.value;return void 0!==o?o:e}}return e}let M=(0,r.observer)(e=>{let{value:t,model:l,rightAsVariable:o,rightMetaTree:n,ignoreFieldNames:d}=e,u=(0,r.useFlowViewContext)(),c=l.translate,{path:p,operator:f,value:y}=t,[M,w]=(0,s.useState)(null),S=(0,s.useCallback)(e=>{var t;return(0,m.w6)(e,l.context.dataSourceManager,null==(t=l.context.app)?void 0:t.dataSourceManager)},[l]),k=(0,s.useMemo)(()=>{var e,t;if(!M)return[];let l=M.interface?S(M.interface):void 0,o=null==M||null==(e=M.uiSchema)?void 0:e["x-filter-operators"];return((Array.isArray(o)&&o.length?o:null==l||null==(t=l.filterable)?void 0:t.operators)||[]).filter(e=>!e.visible||e.visible(M))},[S,M]);(0,s.useEffect)(()=>{if(!k.length)return;let e=h.default.find(k,e=>e.value===t.operator);if(e)t.noValue=!!e.noValue;else{let e=k[0];t.operator=e.value,t.value=!!e.noValue||void 0,t.noValue=!!e.noValue}},[k,t]);let F=(0,s.useMemo)(()=>k.map(e=>({value:e.value,label:"string"==typeof e.label?c(e.label):e.label})),[k,c]),C=(0,s.useCallback)((e,l)=>{let o=t.path||"",n=e||"",i=n!==o;t.path=n,i&&o&&(t.operator="",t.value=void 0,t.noValue=!1),l&&w(l)},[t]),A=(0,s.useMemo)(()=>({resolveValueFromPath:e=>(w(e),(null==e?void 0:e.paths.slice(1).join("."))||null),resolvePathFromValue(e){if(null==e)return;let t=String(e).trim();if(t)return["collection",...t.split(".")]}}),[]),P=(0,s.useCallback)(e=>{t.operator=e;let l=k.find(t=>t.value===e);(null==l?void 0:l.noValue)?(t.value=!0,t.noValue=!0):(t.value=void 0,t.noValue=!1)},[k,t]),T=(0,s.useMemo)(()=>k.find(e=>e.value===f),[k,f]),I=(0,s.useCallback)(e=>{var t,l;return(null==e||null==(t=e.options)?void 0:t.dataType)||(null==e?void 0:e.dataType)||(null==e?void 0:e.type)||(null==e||null==(l=e.uiSchema)?void 0:l.type)||"double"},[]),j=(0,s.useCallback)(e=>{switch(e){case"boolean":return"Switch";case"date":return"DateFilterDynamicComponent";case"integer":case"bigInt":case"double":case"decimal":case"number":return"InputNumber";default:return"Input"}},[]),L=(0,s.useMemo)(()=>{let e=(null==M?void 0:M.uiSchema)||{},t=(null==T?void 0:T.schema)||{},l=(0,__rspack_external_lodash_merge_8f812c65.default)({},e,t);if((null==M?void 0:M.interface)==="formula"){let e={"x-read-pretty":!1,"x-component":j(I(M)),"x-component-props":{...l["x-component-props"]}};return(0,__rspack_external_lodash_merge_8f812c65.default)({},l,e)}return l},[M,T,j,I]),D=s.default.useRef(null==L?void 0:L["x-component"]),Y=null==L?void 0:L["x-component"],E=(0,s.useMemo)(()=>{let e=D.current;D.current=Y;let l=void 0!==e&&e!==Y;if(null==T?void 0:T.noValue)return y;if(l&&null!=y){t.value=void 0;return}return y},[Y,y,t,T]),R=(0,s.useCallback)(e=>{t.value=x(e)},[t]),N=s.default.useRef(c);s.default.useEffect(()=>{N.current=c},[c]);let O=s.default.useCallback(e=>{var t;return(null==(t=N.current)?void 0:t.call(N,e))??e},[]),B=(0,s.useMemo)(()=>(0,g.di)(null==L?void 0:L.enum,O)||[],[L,O]),H=(0,s.useMemo)(()=>b(L,M,O,l.context.app),[L,M,O,l.context.app]),q=(0,s.useCallback)(()=>{let e=(0,v._)(l.context.app,f,k),t="$in"===f||"$notIn"===f;if(e&&t){let{Comp:t,props:l}=e,o={...l};(!(null==o?void 0:o.options)||(null==o?void 0:o.options.length)===0)&&(null==B?void 0:B.length)&&(o.options=B);let n={flex:"1 1 40%",minWidth:160,maxWidth:"100%",...(null==o?void 0:o.style)||{}},r=Array.isArray(E)&&E.every(e=>"string"==typeof e||"number"==typeof e)?E:"string"==typeof E?E.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[];return(0,i.jsx)("div",{style:n,children:(0,i.jsx)(t,{...o,style:{width:"100%",...(null==o?void 0:o.style)||{}},value:r,onChange:e=>R(e)})})}let o=H;return(0,i.jsx)("div",{style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},children:(0,i.jsx)(o,{value:E,onChange:e=>R(e)})})},[f,k,E,H,l.context.app,R,B]),V=(0,s.useMemo)(()=>function(){return(0,i.jsx)(a.Input,{placeholder:`<${c("Null")}>`,readOnly:!0})},[c]),$=(0,s.useMemo)(()=>async()=>{let e="function"==typeof n?await n():n??u.getPropertyMetaTree(),t=Array.isArray(e)?e:await e();return[{title:c("Constant"),name:"constant",type:"string",paths:["constant"],render:H},{title:c("Null"),name:"null",type:"object",paths:["null"],render:V},...t]},[n,u,H,V,c]),z=(0,s.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?H:"null"===l?V:null},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:void 0},resolvePathFromValue:e=>{if(null===e)return["null"];let t="string"==typeof e?(0,r.parseValueToPath)(e):void 0;return t||["constant"]}}),[V,H]),K=(0,s.useMemo)(()=>async()=>{let e=await _(l.context),t=async e=>{let t=e.interface?S(e.interface):void 0,o=[],n=null==t?void 0:t.filterable,i=null==n?void 0:n.children;if(Array.isArray(i)&&i.length)for(let t of i){var r,a,s;let n=t.title||t.name,i=(null==(r=l.context)?void 0:r.t)?l.context.t(n):n;o.push({name:t.name,title:i,type:(null==(a=t.schema)?void 0:a.type)||"string",interface:(null==(s=t.schema)?void 0:s["x-component"])==="Select"?"select":"input",uiSchema:{...t.schema||{},"x-filter-operators":t.operators},paths:[...e.paths||[],t.name],parentTitles:[...e.parentTitles||[],e.title]})}if("function"==typeof e.children){let t=e.children;return{...e,children:async()=>{let e=await t(),l=[...Array.isArray(e)?e:[],...o];return h.default.uniqBy(l,"name")}}}let d=[...Array.isArray(e.children)?e.children:[],...o];return{...e,children:d.length?d:e.children}},o=[];for(let l of e)o.push(await t(l));return o},[S,l]);return(0,i.jsxs)(a.Space,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:p,metaTree:K,onChange:C,converters:A,showValueComponent:!1,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},onlyLeafSelectable:!0,placeholder:c("Select field"),ignoreFieldNames:d}),(0,i.jsx)(a.Select,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:c("Comparison"),value:f||void 0,onChange:P,children:F.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),!(null==T?void 0:T.noValue)&&(o?(0,i.jsx)(r.VariableInput,{value:E,onChange:e=>R(e),metaTree:$,converters:z,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:c("Enter value")}):q())]})});var w=l(1793);let{DateFilterDynamicComponent:S}=(0,m.RZ)(()=>Promise.resolve().then(l.bind(l,6832)),"DateFilterDynamicComponent");function k(e,t,l){var o,n,r;let s=null==e?void 0:e["x-component"],d=(null==t||null==(o=t.uiSchema)?void 0:o["x-component-props"])||{},u=(null==e?void 0:e["x-component-props"])||{},c=(0,__rspack_external_lodash_merge_8f812c65.default)({},d,u),p=Array.isArray(null==t||null==(n=t.uiSchema)?void 0:n.enum)?null==t||null==(r=t.uiSchema)?void 0:r.enum:void 0,m=(0,g.di)(p,l),h={style:{width:200,...(null==c?void 0:c.style)||{}},placeholder:(null==c?void 0:c.placeholder)||l("Enter value"),...c};return e=>{let{value:t,onChange:o,...n}=e||{};if("InputNumber"===s)return(0,i.jsx)(a.InputNumber,{...h,...n,value:t,onChange:o});if("NumberPicker"===s)return(0,i.jsx)(f.NumberPicker,{...h,...n,value:t,onChange:o});if("Switch"===s)return(0,i.jsx)(a.Switch,{...h,...n,checked:!!t,onChange:o});if("Select"===s){let e=h;return Array.isArray(null==e?void 0:e.options)&&e.options.length>0?e={...e,options:(0,g.ZY)(e.options,l)}:m&&(e={...e,options:m}),(0,i.jsx)(a.Select,{...e,...n,value:(0,g.xO)(t,e),onChange:o})}return"DateFilterDynamicComponent"===s?(0,i.jsx)(S,{...h,...n,value:t,onChange:o}):(0,i.jsx)(a.Input,{...h,...n,value:t,onChange:e=>{var t;return null==o?void 0:o(null==e||null==(t=e.target)?void 0:t.value)}})}}let F=[{value:"$includes",label:"contains",selected:!0},{value:"$notIncludes",label:"does not contain"},{value:"$eq",label:"is"},{value:"$ne",label:"is not"},{value:"$empty",label:"is empty",noValue:!0},{value:"$notEmpty",label:"is not empty",noValue:!0}],C=new Set(["$in","$notIn"]);function A(e,t){let l=Array.isArray(e)?e:[],o=Array.isArray(t)?t:[];if(!o.length)return l;let n=o.find(e=>(null==e?void 0:e.name)==="item");if(!n)return[...o,...l];let i=(0,w.mD)(l,[n]);return[...o.filter(e=>(null==e?void 0:e.name)!=="item"),...i]}function P(e,t){var l,o;return{name:t.name,title:t.title||t.name,type:(null==(l=t.schema)?void 0:l.type)||"string",interface:(null==(o=t.schema)?void 0:o["x-component"])==="Select"?"select":"input",uiSchema:{...t.schema||{},"x-filter-operators":t.operators},paths:[...e.paths||[],t.name],parentTitles:[...e.parentTitles||[],e.title]}}async function T(e,t){var l,o;let n=e.interface&&t?t(e.interface):void 0,i=(Array.isArray(null==n||null==(l=n.filterable)?void 0:l.children)?null==n||null==(o=n.filterable)?void 0:o.children:[]).map(t=>P(e,t)),r=async e=>{let l=[...await Promise.all(e.map(e=>T(e,t))),...i];return(0,__rspack_external_lodash_uniqBy_85106929.default)(l,e=>e.name)};if("function"==typeof e.children){let t=e.children;return{...e,children:async()=>{let e=await t(),l=Array.isArray(e)?e:[];return await r(l)}}}return Array.isArray(e.children)?{...e,children:await r(e.children)}:i.length?{...e,children:i}:e}async function I(e,t){let l=Array.isArray(e)?e:[];return await Promise.all(l.map(e=>T(e,t)))}let j=(0,r.observer)(e=>{var t;let{value:l,model:o,extraMetaTree:n}=e,d=(0,r.useFlowViewContext)(),u=o.translate,{path:c,operator:p,value:h}=l||{},[f,y]=(0,s.useState)(null),_=(0,s.useRef)(!1),b=(0,s.useMemo)(()=>{if(f){var e,t,l;let n=f.interface?(0,m.w6)(f.interface,o.context.dataSourceManager,null==(e=o.context.app)?void 0:e.dataSourceManager):void 0,i=null==f||null==(t=f.uiSchema)?void 0:t["x-filter-operators"];return((Array.isArray(i)&&i.length?i:null==n||null==(l=n.filterable)?void 0:l.operators)||F).filter(e=>!e.visible||e.visible(f)).map(e=>({value:e.value,label:e.label,noValue:!!e.noValue,schema:e.schema,selected:!!e.selected}))}return[]},[f,o]),x=(0,s.useMemo)(()=>b.map(e=>({value:e.value,label:"string"==typeof e.label?u(e.label):e.label})),[b,u]);(0,s.useEffect)(()=>{if(0!==b.length){if(!p){if(_.current){let e=b.find(e=>e.selected)||b[0];l.operator=(null==e?void 0:e.value)||"",(null==e?void 0:e.noValue)?(l.value=!0,l.noValue=!0):l.noValue=!1,_.current=!1}return}if(!b.some(e=>e.value===p)){let e=b.find(e=>e.selected)||b[0];l.operator=(null==e?void 0:e.value)||"",(null==e?void 0:e.noValue)?(l.value=!0,l.noValue=!0):l.noValue=!1}}},[b,p,l]);let M=(0,s.useMemo)(()=>b.find(e=>e.value===p),[b,p]),w=(0,s.useMemo)(()=>{let e=(null==f?void 0:f.uiSchema)||{},t=(null==M?void 0:M.schema)||{};return(0,__rspack_external_lodash_merge_8f812c65.default)({},e,t)},[f,M]),S=(0,s.useRef)(u);(0,s.useEffect)(()=>{S.current=u},[u]);let P=(0,s.useCallback)(e=>{var t;return(null==(t=S.current)?void 0:t.call(S,e))??e},[]),T=(0,s.useMemo)(()=>k(w,f,P),[w,f,P]),j=(0,s.useMemo)(()=>(0,g.di)(null==w?void 0:w.enum,P)||[],[w,P]),L=(0,s.useMemo)(()=>{let e=(0,v._)(o.context.app,p,b),t=C.has(p);if(!e||!t)return T;let{Comp:l,props:n}=e;return e=>{let{value:t,onChange:o,...r}=e||{},a={...n};(null==a?void 0:a.options)&&(null==a?void 0:a.options.length)!==0||!(j.length>0)||(a.options=j);let s=Array.isArray(t)?t:"string"==typeof t?t.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[];return(0,i.jsx)(l,{...a,...r,value:s,onChange:o,style:{width:200,...(null==a?void 0:a.style)||{},...(null==r?void 0:r.style)||{}}})}},[j,o.context.app,b,p,T]),D=(0,s.useMemo)(()=>function(){return(0,i.jsx)(a.Input,{placeholder:`<${u("Null")}>`,readOnly:!0})},[u]),Y=(0,s.useMemo)(()=>async()=>{let e=A((null==o?void 0:o.context.getPropertyMetaTree())||d.getPropertyMetaTree(),n);return[{title:u("Constant"),name:"constant",type:"string",paths:["constant"]},{title:u("Null"),name:"null",type:"object",paths:["null"]},...e]},[d,o,u,n]),E=(0,s.useCallback)(async()=>{var e,t;let l=(null==o||null==(t=o.context)||null==(e=t.getPropertyMetaTree)?void 0:e.call(t))||d.getPropertyMetaTree(),i=A(Array.isArray(l)?l:[],n),r=e=>{var t;return(0,m.w6)(e,o.context.dataSourceManager,null==(t=o.context.app)?void 0:t.dataSourceManager)};return await I(i,r)},[d,o,n]),R=(0,s.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?L:"null"===l?D:null},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:void 0},resolvePathFromValue:e=>{if(null===e)return["null"];let t=(0,r.parseValueToPath)(e);return t||["constant"]}}),[D,L]),N=(0,s.useCallback)((e,t)=>{let o=l.path||"",n=e||"",i=n!==o;l.path=n,i&&o&&(l.operator="",l.value="",_.current=!0),o||!n||l.operator||(_.current=!0),t&&y(t)},[l]),O=(0,s.useCallback)(e=>{let t=l.operator;l.operator=e;let o=b.find(t=>t.value===e);(null==o?void 0:o.noValue)?(l.value=!0,l.noValue=!0):(C.has(t)&&!C.has(e)&&Array.isArray(l.value)&&(l.value=l.value.join("\n")),l.noValue=!1)},[l,b]);return(0,i.jsxs)(a.Space,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:c,onChange:N,metaTree:E,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:u("Select variable"),onlyLeafSelectable:!0}),(0,i.jsx)(a.Select,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:u("Comparison"),value:p||void 0,onChange:O,children:x.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),!(null==(t=b.find(e=>e.value===p))?void 0:t.noValue)&&(0,i.jsx)(r.VariableInput,{value:h,onChange:e=>l.value=e,metaTree:Y,converters:R,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:u("Enter value"),clearValue:""})]})})},8563(e,t,l){l.d(t,{b2:()=>n.b,tn:()=>o.t,S5:()=>n.S});var o=l(8804);l(1178),l(8533),l(8198),l(504),l(1649),l(7326),l(8102);var n=l(5026);l(9253),l(4244)},296(e,t,l){l.d(t,{g:()=>n,k:()=>i});var o=l(504);let n=(0,o.defineFlow)({key:"popupSettings",title:(0,o.tExpr)("Popup settings"),on:"click",sort:300,steps:{openView:{use:"openView",hideInSettings:async e=>{var t,l,o,n;let i=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return!!e.collectionField&&(void 0===i?!(null==(n=e.collectionField)?void 0:n.isAssociationField())||e.disableFieldClickToOpen:!1===i)}}},defaultParams:e=>{var t,l,o,n,i,r,a,s;let d,u,c,p=e.collectionField,m=e.blockModel,h=null==(l=e.model)||null==(t=l.parent)?void 0:t.associationPathName,f=e.collection||(null==m?void 0:m.collection),g=e=>{var t;return!!(null==e||null==(t=e.isAssociationField)?void 0:t.call(e))},v=!g(p)&&h?null==f||null==(o=f.getFieldByPath)?void 0:o.call(f,h):void 0,y=g(p)?p:v;if(g(y)){let e=y.targetCollection;null==m||m.collection,d=null==e?void 0:e.name,u=null==e?void 0:e.dataSourceKey,c=null==y?void 0:y.resourceName}else p?(d=null==(n=e.collection)?void 0:n.name,u=null==(i=e.collection)?void 0:i.dataSourceKey,c=null==p?void 0:p.target):(d=null==(r=e.collection)?void 0:r.name,u=null==(a=e.collection)?void 0:a.dataSourceKey,c=null==(s=e.association)?void 0:s.resourceName);return{openView:{collectionName:d,associationName:c,dataSourceKey:u}}}}),i=e=>e.getStepParams("popupSettings","openView")},381(e,t,l){l.d(t,{er5:()=>aP,tPG:()=>ey.t,wUQ:()=>o9,Ui7:()=>c1.Ui,JvK:()=>eF,m5p:()=>sp,l5h:()=>nr,jqd:()=>ch,WHj:()=>iX,T9:()=>on,ZMt:()=>lL,Xw5:()=>tL,xEQ:()=>sk,r39:()=>ak,YXI:()=>tc,riZ:()=>cZ.ri,s2k:()=>as,zA_:()=>e6.zA,gbJ:()=>u0,DvX:()=>aH,wwh:()=>aI,p$W:()=>c1.p$,xtQ:()=>cZ.xt,qi_:()=>f.qi,d13:()=>ta,UX6:()=>eQ,sJK:()=>rj,mzg:()=>rT,mHU:()=>i3,Ppd:()=>sy,Tuv:()=>sH,Uk$:()=>rX,byO:()=>e6.by,Tnx:()=>cZ.Tn,ZCq:()=>sQ,HWn:()=>cZ.HW,I8R:()=>f.I8,v9U:()=>s$,T16:()=>dE,spd:()=>tr,xz3:()=>oc,XMh:()=>eG,ROt:()=>tV,$T1:()=>sO,jjG:()=>cZ.jj,Px_:()=>cZ.Px,COB:()=>cp,ysz:()=>sK.ys,kA1:()=>oi,_IX:()=>cZ._I,AvD:()=>os,cYG:()=>c_,mOW:()=>tj.mO,zqF:()=>ah,v0X:()=>rf,UfC:()=>cZ.Uf,_TB:()=>j,uMh:()=>sl,mQM:()=>uX,aDm:()=>ec,Hn2:()=>e7,KTk:()=>A,rGX:()=>s1,y2s:()=>oJ,s2f:()=>tj.s2,upH:()=>a7,BmO:()=>c1.Bm,foc:()=>lY,Uhv:()=>e_,ZVp:()=>sY,bPr:()=>ln,hNf:()=>sB,u36:()=>to,J$w:()=>iL,Bum:()=>d9,ux6:()=>cZ.ux,Ra0:()=>s_,QuL:()=>ed,V6y:()=>cZ.V6,djK:()=>c1.dj,qh$:()=>X,K4N:()=>lR,xIu:()=>nI,XK0:()=>ek,xc1:()=>cZ.xc,C_u:()=>c1.C_,Ru1:()=>f.Ru,s$$:()=>c2,lrV:()=>tm.lr,znN:()=>cs,OaU:()=>c1.O,$dA:()=>eJ,N9e:()=>c0.N,m$$:()=>aX,cPq:()=>au,gk0:()=>N,to1:()=>eq,dhL:()=>sm,mSG:()=>id,Fy3:()=>aJ,VPO:()=>sN,d6j:()=>rS,y8o:()=>cZ.y8,nCj:()=>c1.nC,eLO:()=>cZ.eL,LAC:()=>eB,fCM:()=>cZ.fC,R0X:()=>c1.R0,Dsh:()=>s4,saj:()=>t0,VcJ:()=>sM,dv2:()=>ox,t_Y:()=>cZ.t_,er8:()=>uQ,FKm:()=>sK.FK,ksX:()=>c1.ks,Ucr:()=>cZ.Uc,Eq4:()=>dR,xkv:()=>aa,sEB:()=>tl,_ol:()=>rg,W4I:()=>rL,qPo:()=>sA,n8$:()=>cZ.n8,JNs:()=>cZ.JN,vIF:()=>oz,vrA:()=>sS,tUI:()=>$,CII:()=>tC,v6e:()=>aT,MeX:()=>r6,ccc:()=>sK.cc,mw1:()=>B,i6C:()=>na,sJA:()=>r$,hOt:()=>tm.hO,kNV:()=>e$,biS:()=>nc,AMH:()=>az,fMK:()=>u9,PU8:()=>t4,UZR:()=>ev,fAh:()=>M,Yjq:()=>cZ.FY,_e9:()=>iu,Myf:()=>ce,fnr:()=>ax,qqP:()=>sn,BYM:()=>e6.BY,RBt:()=>eb.R,dpX:()=>tY,FF9:()=>ia,sYw:()=>eY,oM7:()=>iC,e7P:()=>dk,ODR:()=>ll,hCX:()=>tA,qJX:()=>e1,x_D:()=>ns,Imp:()=>re,mNj:()=>aM,P0:()=>aZ,Qt8:()=>cZ.Qt,zDb:()=>it,ivU:()=>nD,VGp:()=>dC,uFv:()=>uZ,Pqd:()=>dp,Gap:()=>cZ.G,kkB:()=>dS,wqT:()=>tw,R8A:()=>tn,vbm:()=>eu,ugJ:()=>cZ.ug,KYF:()=>oW,FaR:()=>r2,v8l:()=>tb,IAc:()=>db,lv4:()=>c1.lv,qlo:()=>rM,I6c:()=>s3,_UX:()=>ea,t_n:()=>oU,Xig:()=>tm.Xi,isP:()=>s8,fi1:()=>cZ.fi,a6D:()=>eO,uTv:()=>c1.uT,MhO:()=>t_,l2T:()=>ip,n6C:()=>tp,OtO:()=>cZ.Ot,FWr:()=>cZ.FW,wW_:()=>eD,X2M:()=>c1.X2,h2d:()=>sz.h2,cm5:()=>sE,eCD:()=>oo,GJ1:()=>nB,B94:()=>cZ.B9,gaO:()=>iA,orA:()=>cQ.o,OsV:()=>aB,I6Z:()=>oa,zsf:()=>R,HJv:()=>rZ,WzN:()=>c1.Wz,qNx:()=>cZ.qN,Odw:()=>eV,G9F:()=>lS,YjI:()=>cZ.Yj,xFY:()=>cZ.xF,PW6:()=>eg.P,rvE:()=>e0,cNN:()=>ob,mLo:()=>aS,YJB:()=>nb,QBt:()=>cZ.QB,LFq:()=>uW,Ck8:()=>rw,hPI:()=>e6.hP,ur8:()=>nv,F4f:()=>tj.F4,tQF:()=>cr,aWb:()=>ci,iT0:()=>r5,mYX:()=>cZ.mY,zUb:()=>oG,rpg:()=>ay,sW6:()=>rl,Z0H:()=>r7,K$V:()=>nL,v$f:()=>eM,_$j:()=>eL,ULH:()=>lx,M6q:()=>tm.M6,pKk:()=>lH,www:()=>oK,MMn:()=>cZ.MM,kPK:()=>tq,jj_:()=>dg,Xmd:()=>i7,B82:()=>cZ.B8,zCA:()=>P,np$:()=>sK.np,YXr:()=>nu,hsC:()=>dy,IBN:()=>d5,Zu2:()=>dN,m2W:()=>e2,k9E:()=>sz.k9,KSc:()=>F,Yh4:()=>dj,Mxl:()=>cZ.Mx,B6V:()=>nO,KAX:()=>u1,J9o:()=>dt,mUg:()=>am,mU7:()=>sa,YmV:()=>S.default,_J0:()=>rh,pXX:()=>cZ.pX,EcU:()=>np,mRH:()=>o2.m,j0c:()=>eH.j,vW_:()=>nd,o8y:()=>e6.o8,ThI:()=>cZ.Th,e6V:()=>cQ.e,qmt:()=>ca,Anr:()=>ru,tSM:()=>cZ.tS,qir:()=>eP,kN:()=>ni,s5W:()=>rk,NYj:()=>tm.NY,LE6:()=>dm,ngq:()=>sK.ng,omq:()=>e4,Nxx:()=>a8,gvx:()=>eN.g,upW:()=>rv,D1b:()=>oL,Cuw:()=>cZ.Cu,S3Z:()=>d4,B_2:()=>cZ.B_,D8m:()=>oT,e8C:()=>sX,T8$:()=>or,nap:()=>u.n,CCB:()=>a$,zFh:()=>r3,lJp:()=>p,Dhs:()=>cu,eDc:()=>c1.eD,Zpx:()=>dx,Fts:()=>nY,$FU:()=>sV,oJ5:()=>f.oJ,RLu:()=>eR,wBN:()=>nn,Ybt:()=>tD,A14:()=>cZ.A1,o2o:()=>cZ.o2,hHg:()=>tm.hH,CDb:()=>o0,YgY:()=>ez,BpQ:()=>ej,gLn:()=>c1.gL,Bnh:()=>sK.Bn,oIl:()=>rz,uVo:()=>tu,Ie6:()=>rQ,mKE:()=>c,dWc:()=>d1,CM3:()=>c1.CM,SMJ:()=>tm.SM,lcp:()=>tI,ivi:()=>t3,dIg:()=>te,jmZ:()=>c1.jm,sD1:()=>t1,ymi:()=>td,Kgy:()=>cZ.Kg,ESx:()=>sz.ES,wLo:()=>no,vy4:()=>iI,Et2:()=>f.Et,xdz:()=>E,Y5n:()=>tK.EditFormModel,BgT:()=>lC,S0L:()=>D,mk:()=>is,zTu:()=>u7,qtW:()=>ae,Ni4:()=>eZ,Mf0:()=>lo,khg:()=>lQ,S5n:()=>iP,IJk:()=>iQ.IJ,k9Q:()=>sv,Q7G:()=>c1.Q7,mw3:()=>dM,D2p:()=>cd,mp5:()=>ds,LaP:()=>ef,eDQ:()=>cZ.eD,qJ3:()=>si,s5y:()=>L,ql0:()=>t6,dWg:()=>aF,e7h:()=>lO,ZjK:()=>tz,w5F:()=>z,C9C:()=>c1.C9,aqk:()=>V,JUj:()=>tj.JU,udY:()=>o_,Vrl:()=>sq,t4X:()=>at,JgE:()=>tX,kbf:()=>d_,fLT:()=>e6.fL,HZo:()=>tm.HZ,LbM:()=>sR,oLV:()=>ex.o,T6P:()=>eE,KHY:()=>nt,Jbm:()=>eK,WuM:()=>cy,zgg:()=>eg.z,Hwd:()=>c0.H,Evi:()=>cZ.Ev,Qb_:()=>cZ.Qb,AV5:()=>rV,cEK:()=>er,XCP:()=>sz.XC,pVr:()=>ad});var o={};l.r(o),l.d(o,{connectFields:()=>oW,customizeFilterRender:()=>o9,defaultOperator:()=>o0,operatorComponentProps:()=>nt});var n={};l.r(n),l.d(n,{ActionGroupModel:()=>E,ActionModel:()=>D,ActionSceneEnum:()=>L,ActionWithoutPermission:()=>j,AddChildActionModel:()=>tI,AddNewActionModel:()=>eq,AssignFormGridModel:()=>tY,AssignFormItemModel:()=>t0,AssignFormModel:()=>tL,AssociateActionModel:()=>eQ,AssociationFieldGroupModel:()=>B,AssociationFieldModel:()=>ln,BasePageTabModel:()=>ej,BlockGridModel:()=>ef,BlockModel:()=>eg.z,BlockSceneEnum:()=>eg.P,BulkDeleteActionModel:()=>eZ,CascadeSelectFieldModel:()=>rj,CascadeSelectInnerFieldModel:()=>rT,CascadeSelectListFieldModel:()=>rL,CheckboxFieldModel:()=>r3,CheckboxGroupFieldModel:()=>r6,ChildPageModel:()=>eF,ChildPageTabModel:()=>eD,ClickableFieldModel:()=>rv,CollectionActionGroupModel:()=>R,CollectionActionModel:()=>ev,CollectionBlockModel:()=>ey.t,CollectionSelectorFieldModel:()=>r7,ColorFieldModel:()=>at,CommonItemModel:()=>e_,CreateContent:()=>lS,CreateFormModel:()=>no,CustomWidth:()=>nL,DataBlockModel:()=>eb.R,DateOnlyFieldModel:()=>as,DateOnlyFilterFieldModel:()=>lR,DateOnlyPicker:()=>aa,DateTimeFilterFieldModel:()=>lY,DateTimeNoTzFieldModel:()=>au,DateTimeNoTzFilterFieldModel:()=>lO,DateTimeNoTzPicker:()=>ad,DateTimeTzFieldModel:()=>ah,DateTimeTzFilterFieldModel:()=>lH,DateTimeTzPicker:()=>am,DeleteActionModel:()=>e0,DetailsAssociationFieldGroupModel:()=>t1,DetailsBlockModel:()=>t4,DetailsCustomItemModel:()=>t3,DetailsGridModel:()=>t6,DetailsItemModel:()=>tz,DetailsJSFieldItemModel:()=>ll,DisassociateActionModel:()=>e1,DisplayCheckboxFieldModel:()=>s$,DisplayColorFieldModel:()=>sy,DisplayDateTimeFieldModel:()=>s_,DisplayEnumFieldModel:()=>sM,DisplayHtmlFieldModel:()=>sS,DisplayIconFieldModel:()=>sk,DisplayJSONFieldModel:()=>sA,DisplayNumberFieldModel:()=>sR,DisplayPasswordFieldModel:()=>sO,DisplayPercentFieldModel:()=>sB,DisplaySubItemFieldModel:()=>sm,DisplaySubListFieldModel:()=>sv,DisplaySubTableFieldModel:()=>sp,DisplayTextFieldModel:()=>sH,DisplayTimeFieldModel:()=>sV,DisplayTitleFieldModel:()=>sa,DisplayURLFieldModel:()=>sq,DividerItemModel:()=>a7,EditActionModel:()=>e2,EditFormContent:()=>rV,EditFormModel:()=>tK.EditFormModel,ExpandCollapseActionModel:()=>tA,FieldDeletePlaceholder:()=>nI,FieldModel:()=>ex.o,FieldModelSelect:()=>lQ,FieldOperatorSelect:()=>or,FilterActionModel:()=>e4,FilterBlockModel:()=>eM,FilterFormActionGroupModel:()=>ox,FilterFormActionModel:()=>ob,FilterFormBlockModel:()=>oT,FilterFormCollapseActionModel:()=>oL,FilterFormCustomFieldModel:()=>oc,FilterFormCustomItemModel:()=>oa,FilterFormCustomRecordSelectFieldModel:()=>o_,FilterFormFieldModel:()=>lo,FilterFormGridModel:()=>oK,FilterFormItemModel:()=>oz,FilterFormJSActionModel:()=>oU,FilterFormRecordSelectFieldModel:()=>lL,FilterFormResetActionModel:()=>oG,FilterFormSubmitActionModel:()=>oJ,FilterManager:()=>X,FormActionGroupModel:()=>tn,FormActionModel:()=>tl,FormAssociationFieldGroupModel:()=>np,FormAssociationItemModel:()=>nv,FormBlockContent:()=>tj.JU,FormBlockModel:()=>tj.F4,FormComponent:()=>tj.s2,FormCustomItemModel:()=>nn,FormGridModel:()=>tD,FormItemModel:()=>tX,FormJSFieldItemModel:()=>ni,FormModel:()=>tj.mO,FormSubmitActionModel:()=>to,GRID_FLOW_KEY:()=>er,GRID_STEP:()=>ea,GridModel:()=>ed,IconFieldModel:()=>ay,InputFieldModel:()=>o2.m,InputNumberField:()=>aS,JSActionModel:()=>e7,JSBlockModel:()=>nb,JSCollectionActionModel:()=>te,JSColumnModel:()=>ip,JSEditableFieldModel:()=>a8,JSFieldModel:()=>aZ,JSFormActionModel:()=>nr,JSItemActionModel:()=>td,JSItemModel:()=>si,JSRecordActionModel:()=>tu,JsonFieldModel:()=>aM,JsonInput:()=>ax,LinkActionModel:()=>tC,MainPageModel:()=>eP,MarkdownItemModel:()=>sn,NBColorPicker:()=>ae,NumberFieldModel:()=>ak,ObjectNester:()=>i7,PageModel:()=>ek,PageTabModel:()=>eY,PasswordFieldModel:()=>aF,PercentFieldModel:()=>aT,PercentInput:()=>aP,PluginSettingsTopbarActionModel:()=>sz.ES,PopupActionModel:()=>eO,PopupCollectionActionModel:()=>tc,PopupSubTableActionGroupModel:()=>rZ,PopupSubTableActionsColumnModel:()=>r2,PopupSubTableEditActionModel:()=>rz,PopupSubTableFieldModel:()=>rX,PopupSubTableFormActionGroupModel:()=>ta,PopupSubTableFormModel:()=>r5,PopupSubTableFormSubmitActionModel:()=>tr,PopupSubTableRemoveActionModel:()=>rQ,QUICK_EDIT_FORM_MAX_HEIGHT:()=>ns,QUICK_EDIT_MARKDOWN_HEIGHT:()=>nd,QUICK_EDIT_POPOVER_MAX_HEIGHT:()=>na,QuickEditFormModel:()=>nc,RadioGroupFieldModel:()=>aI,RecordActionGroupModel:()=>N,RecordActionModel:()=>eB,RecordPickerContent:()=>iI,RecordPickerFieldModel:()=>iL,RecordSelectFieldModel:()=>lC,RefreshActionModel:()=>tp,RichTextField:()=>aB,RichTextFieldModel:()=>aH,RootPageModel:()=>eE,RootPageTabModel:()=>eL,RouteModel:()=>eH.j,SelectFieldModel:()=>a$,SourceCascader:()=>os,SubFormFieldModel:()=>re,SubFormListFieldModel:()=>rl,SubPageModel:()=>eR,SubTableColumnModel:()=>iX,SubTableFieldModel:()=>i3,SubTableRecordAction:()=>r$,TableActionsColumnModel:()=>nO,TableAssociationFieldGroupModel:()=>nB,TableBlockModel:()=>it,TableColumnModel:()=>nD,TableCustomColumnModel:()=>nY,TableJSFieldItemModel:()=>iu,TableSelectModel:()=>id,TextareaFieldModel:()=>az,TimeFieldModel:()=>aJ,TopbarActionModel:()=>sz.k9,UIEditorTopbarActionModel:()=>sz.h2,USER_CENTER_ACTION_ID:()=>sK.Bn,UnitConversion:()=>sN,UpdateRecordActionModel:()=>t_,UserCenterActionItemModel:()=>sK.ng,UserCenterItemModel:()=>sK.np,UserCenterSelectItemModel:()=>sK.FK,UserCenterTextItemModel:()=>sK.ys,UserCenterTopbarActionModel:()=>sK.cc,VariableFieldFormModel:()=>aX,ViewActionModel:()=>tb,applyAssociateAction:()=>eJ,applyClickToOpenProps:()=>rh,applyClickToOpenSetting:()=>rg,applyDisassociateAction:()=>eG,buildDisplayPathFromValue:()=>rS,buildRecordPickerParentItemContext:()=>iC,buildRecordPickerPopupContextInputArgs:()=>iP,collectAssociationHydrationCandidates:()=>lx,collectCascadeHydrationCandidate:()=>rM,connectFields:()=>oW,customizeFilterRender:()=>o9,defaultOperator:()=>o0,findOptionPathByTk:()=>rk,formatNumber:()=>sY,getAllDataModels:()=>z,getAssociationBlockResourceSettings:()=>eV,getAssociationSelectAssociatedRecordsFilter:()=>is,getAssociationSelectForeignKeyFilter:()=>ia,getAssociationSelectorContextInputArgs:()=>eK,getAssociationTargetResourceSettings:()=>ez,getDefaultOperator:()=>V,getDetailsItemValue:()=>tV,getDisplayNumber:()=>sE,getQuickEditFieldProps:()=>nu,getTopbarPluginSettingsItems:()=>sz.XC,getValueWithIndex:()=>tq,injectRecordPickerPopupContext:()=>iA,isAssociationBlockContext:()=>e$,isFilterValueEmpty:()=>$,joinUrlSearch:()=>tw,markCascadeHydrationDone:()=>rw,operatorComponentProps:()=>nt,recalculateGridSizes:()=>ec,refreshClickToOpenRuntime:()=>rf,resolveCustomFieldOperatorList:()=>oo,resolveDefaultCustomFieldOperator:()=>on,toOperatorSelectOptions:()=>oi,transformNestedData:()=>ru,transformRowsToSingleColumn:()=>eu});var i={};l.r(i),l.d(i,{aclCheck:()=>dC,aclCheckRefresh:()=>dj,actionLinkageRules:()=>cr,afterSuccess:()=>c,blockHeight:()=>d9,blockLinkageRules:()=>ci,confirm:()=>p,customVariable:()=>s3,dataLoadingMode:()=>d_,dataScope:()=>M,dateRangeLimit:()=>dg,dateTimeFormat:()=>dm,detailsFieldLinkageRules:()=>cu,displayFieldComponent:()=>dS,fieldComponent:()=>dk,fieldLinkageRules:()=>cs,filterFormDefaultValues:()=>d5,fixed:()=>dN,formAssignRules:()=>d1,layout:()=>dx,linkageAssignField:()=>u9,linkageRulesRefresh:()=>d4,linkageRunjs:()=>ce,linkageSetActionProps:()=>uX,linkageSetBlockProps:()=>uW,linkageSetDetailsFieldProps:()=>u1,linkageSetFieldProps:()=>uZ,linkageSetMenuItemProps:()=>uQ,menuLinkageRules:()=>ca,navigateToURL:()=>s8,numberFormat:()=>ch,openView:()=>sX,overflowMode:()=>cp,pattern:()=>dE,refreshTargetBlocks:()=>dt,renderMode:()=>db,required:()=>dM,runjs:()=>sQ,setTargetDataScope:()=>ds,showMessage:()=>s1,showNotification:()=>s4,sortingRule:()=>dy,subFormFieldLinkageRules:()=>cd,subFormLinkageAssignField:()=>u7,subFormLinkageSetFieldProps:()=>u0,titleField:()=>dp,validation:()=>dR});var r=l(504),a=l(6305),s=l(4214),d=l(3526),u=l(4244);let c=(0,r.defineAction)({name:"afterSuccess",title:(0,r.tExpr)("After successful submission"),uiSchema:{successMessage:{type:"string",title:(0,r.tExpr)("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea"},manualClose:{type:"boolean",title:(0,r.tExpr)("Message popup close method"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,r.tExpr)("Automatic close"),value:!1},{label:(0,r.tExpr)("Manually close"),value:!0}]},actionAfterSuccess:{type:"string",title:(0,r.tExpr)("Action after successful submission"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,r.tExpr)("Stay on the current popup or page"),value:"stay"},{label:(0,r.tExpr)("Return to the previous popup or page"),value:"previous"},{label:(0,r.tExpr)("Close popup and redirect to"),value:"redirect"}]},redirectTo:{type:"string",title:(0,r.tExpr)("Link"),"x-decorator":"FormItem","x-component":u.n,"x-reactions":{dependencies:["actionAfterSuccess"],fulfill:{state:{visible:"{{$deps[0]==='redirect'}}"}}}}},defaultParams:{successMessage:(0,r.tExpr)("Saved successfully"),manualClose:!1,actionAfterSuccess:"previous"},async handler(e,t){let{successMessage:l,manualClose:o=!1,actionAfterSuccess:n="previous",redirectTo:i}=t;"previous"===n&&e.view&&e.view.close();let r=t=>{if(e.engine){let t=e.engine;for(;t.nextEngine;)t=t.nextEngine;let l=[],o=t;for(;o;)l.push(o),o=o.previousEngine;for(let e of l)e.destroyView()}e.router.navigate(t)},a=e=>{if((0,d.isURL)(e)){window.location.href=e;return}r(e)};if(l){let t=e.t(l);if(o)return void await e.modal.success({title:t,onOk:async()=>{"redirect"===n&&i&&a(i)}});e.message.success(t)}"redirect"===n&&i&&a(i)}}),p=(0,r.defineAction)({name:"confirm",title:(0,r.tExpr)("Confirmation"),uiSchema:{enable:{type:"boolean",title:(0,r.tExpr)("Enable secondary confirmation"),"x-decorator":"FormItem","x-component":"Switch"},title:{type:"string",title:(0,r.tExpr)("Title"),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:2}},content:{type:"string",title:(0,r.tExpr)("Content"),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:3}}},defaultParams:{enable:!1,title:(0,r.tExpr)("Please Confirm"),content:(0,r.tExpr)("Are you sure you want to perform the action?")},async handler(e,t){t.enable&&(await e.modal.confirm({title:e.t(t.title,{ns:"lm-flow-engine"}),content:e.t(t.content,{ns:"lm-flow-engine"}),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||e.exit())}});var m=l(1178),h=l(1649),f=l(9215),g=l(7583);let v={__nocobaseDataScopeNull__:!0};function y(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!0===e.__nocobaseDataScopeNull__&&1===Object.keys(e).length}function _(e){return y(e)?null:Array.isArray(e)?e.map(e=>_(e)):e&&"object"==typeof e?Object.keys(e).reduce((t,l)=>(t[l]=_(e[l]),t),{}):e}function b(e,t){if(e&&t&&"object"==typeof e&&"object"==typeof t){if("path"in e&&"operator"in e){(0,r.isVariableExpression)(e.value)&&(void 0===t.value||null===t.value||""===t.value)&&(t.value=v);return}Array.isArray(e.items)&&Array.isArray(t.items)&&e.items.forEach((e,l)=>{b(e,t.items[l])})}}function x(e,t){let l=g.default.cloneDeep(t);return b(e,l),_((0,r.pruneFilter)((0,d.transformFilter)(l)))}let M=(0,r.defineAction)({name:"dataScope",title:(0,r.tExpr)("Data scope"),uiMode:{type:"dialog",props:{width:800}},uiSchema:{filter:{type:"object","x-decorator":"FormItem","x-component":function(e){let t=(0,r.useFlowSettingsContext)();return(0,m.jsx)(f.I8,{value:e.value,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:t.model,rightAsVariable:!0})})}}},defaultParams:e=>({filter:{logic:"$and",items:[]}}),useRawParams:!0,async handler(e,t){var l;let o=null==(l=e.model)?void 0:l.resource;if(!o)return;let n=await e.resolveJsonTemplate(t.filter),i=x(t.filter,n);(0,d.isEmptyFilter)(i)?o.removeFilterGroup(e.model.uid):o.addFilterGroup(e.model.uid,i)}});var w=l(1883),S=l(2600),k=l(2793);function F(e){return(0,m.jsx)(k.Card,{...e,children:(0,m.jsx)(k.Skeleton,{paragraph:{rows:3}})})}function C(e){let{uid:t,...l}=e,o=(0,r.useFlowModelById)(t);return(0,m.jsx)(r.FlowModelRenderer,{model:o,fallback:(0,m.jsx)(F,{style:{margin:(null==o?void 0:o.context.isMobileLayout)?8:null==o?void 0:o.context.themeToken.marginBlock}}),hideRemoveInSettings:!0,showFlowSettings:{showBackground:!1,showBorder:!1},...l})}let A=h.default.memo(e=>{let{pageModelClass:t="ChildPageModel",parentId:l,onModelLoaded:o,defaultTabTitle:n,...i}=e,a=(0,r.useFlowEngine)(),s=(0,r.useFlowViewContext)(),{loading:d,data:u}=(0,w.useRequest)(async()=>{let e={async:!0,parentId:l,subKey:"page",subType:"object",use:t};if("ChildPageModel"===t){var i;e.subModels={tabs:[{use:"ChildPageTabModel",stepParams:{pageTabSettings:{tab:{title:n||(null==(i=a.translate)?void 0:i.call(a,"Details"))}}}}]},e.stepParams={pageSettings:{general:{displayTitle:!1,enableTabs:!0}}}}let r=await a.loadOrCreateModel(e,{skipSave:!a.context.flowSettingsEnabled});return(null==r?void 0:r.uid)&&o&&(r.context.addDelegate(s),r.removeParentDelegate(),o(r.uid,r)),r},{refreshDeps:[l]});return!d&&(null==u?void 0:u.uid)?(0,m.jsx)(C,{uid:u.uid,...i}):(0,m.jsx)(F,{style:{margin:(null==s?void 0:s.isMobileLayout)?8:null==s?void 0:s.themeToken.marginBlock}})});A.displayName="FlowPage";let P=e=>{let{uid:t,parentId:l,subKey:o,...n}=e,i=(0,r.useFlowEngine)(),{loading:a,data:s}=(0,w.useRequest)(async()=>await i.loadModel({uid:t,parentId:l,subKey:o}),{refreshDeps:[t,l,o]});return!a&&(null==s?void 0:s.uid)?(0,m.jsx)(C,{uid:s.uid,...n}):(0,m.jsx)(F,{style:{margin:16}})};var T=l(7703),I=l(7843);function j(e){let{t}=(0,I.useTranslation)(),l=(0,r.useFlowModel)(),o=l.context.blockModel,n=e.collection||o.collection,i=n.dataSource,a=(0,h.useMemo)(()=>{let e=`${t(i.displayName||i.key)} > `,l=n?`${t(n.title)||n.name||n.tableName} `:"";return`${e}${l}`},[]),{actionName:s}=(null==e?void 0:e.forbidden)||l.forbidden,d=(0,h.useMemo)(()=>t('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:a,actionName:t(g.default.capitalize(s))}).replaceAll("&gt;",">"),[s,a,t]);return(0,m.jsx)(k.Tooltip,{title:e.message||d,children:e.children})}let L={collection:"collection",record:"record",all:["collection","record"],both:["collection","record"]};class D extends r.FlowModel{static _getScene(){return g.default.castArray(this.scene||[])}static _isScene(e){return this._getScene().includes(e)}getAclActionName(){return null}onInit(e){super.onInit(e),this.context.defineProperty("actionName",{get:()=>this.getAclActionName(),cache:!1})}getInputArgs(){let e={},t=[];if(this.context.resource){let l=this.context.resource.getSourceId();l&&(e.sourceId=l,t.push("sourceId"))}if(this.context.collection&&this.context.record){let l=this.context.collection.getFilterByTK(this.context.record);l&&(e.filterByTk=l,t.push("filterByTk"))}return t.length&&(e.defaultInputKeys=t),e}onClick(e){this.dispatchEvent("click",{event:e,...this.getInputArgs()},{debounce:!0})}getTitle(){return this.props.title}getIcon(){return this.props.icon}renderButton(){let e=this.props,t=this.getIcon()?(0,m.jsx)(T.In,{type:this.getIcon()}):void 0;return(0,m.jsx)(k.Button,{...e,onClick:this.onClick.bind(this),icon:t,children:e.children||this.getTitle()})}render(){return this.props.tooltip?(0,m.jsx)(k.Tooltip,{title:this.props.tooltip,children:this.renderButton()}):this.renderButton()}renderHiddenInConfig(){let e=this.props,t=this.getIcon()?(0,m.jsx)(T.In,{type:this.getIcon()}):void 0;return this.forbidden?(0,m.jsx)(j,{children:(0,m.jsx)(k.Button,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})}):(0,m.jsx)(k.Tooltip,{title:this.context.t("The button is hidden and only visible when the UI Editor is active"),children:(0,m.jsx)(k.Button,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})})}constructor(...e){super(...e),this.defaultProps={type:"default",title:(0,r.tExpr)("Action")},this.enableEditTooltip=!0,this.enableEditTitle=!0,this.enableEditIcon=!0,this.enableEditType=!0,this.enableEditDanger=!0,this.enableEditColor=!1}}var Y=l(8481);class E extends r.FlowModel{static getAllParentClasses(){let e=[],t=this;for(;t&&t!==Object;)(null==(t=Object.getPrototypeOf(t))?void 0:t.currentModels)&&e.push(t);return e}static get currentModels(){return Object.prototype.hasOwnProperty.call(this,"_models")&&this._models||(this._models=new Map),this._models}static get models(){let e=new Map;for(let t of this.getAllParentClasses())for(let[l,o]of t.currentModels)e.set(l,o);for(let[t,l]of this.currentModels)e.set(t,l);return e}static registerActionModels(e){for(let[t,l]of Object.entries(e))Object.defineProperty(l,"name",{value:t}),this.currentModels.set(t,l)}static isActionModelVisible(e,t){var l;let o=t.collection||(null==(l=t.blockModel)?void 0:l.collection),n=(0,Y.GX)(e);return(0,Y.F3)(o,n)}static async defineChildren(e){let t=this.baseClass?await (0,r.buildSubModelItems)(this.baseClass)(e):[],l=[],o=t.filter(t=>{let l=e.engine.getModelClass(t.useModel);return!!this.isActionModelVisible(l,e)&&(!this.scene||l._isScene(this.scene))});for(let[t,n]of this.models){if(!this.isActionModelVisible(n,e)||o.find(e=>e.useModel===n.name))continue;let t=await (0,r.buildSubModelItem)(n,e);t&&l.push(t)}return g.default.sortBy([...o,...l],"sort")}}class R extends E{}R.baseClass=D,R.scene=L.collection;class N extends E{}N.baseClass=D,N.scene=L.record;var O=l(2542);D.registerFlow({key:"buttonSettings",title:(0,r.tExpr)("Button settings"),sort:-999,steps:{general:{title:(0,r.tExpr)("Edit button"),uiSchema:e=>({title:e.model.enableEditTitle?{"x-decorator":"FormItem","x-component":"Input",title:(0,r.tExpr)("Button title")}:void 0,tooltip:e.model.enableEditTooltip?{"x-decorator":"FormItem","x-component":"Input",title:(0,r.tExpr)("Button tooltip")}:void 0,icon:e.model.enableEditIcon?{"x-decorator":"FormItem","x-component":"IconPicker",title:(0,r.tExpr)("Button icon")}:void 0,type:e.model.enableEditType?{"x-decorator":"FormItem","x-component":"Radio.Group",title:(0,r.tExpr)("Button type"),enum:[{value:"default",label:'{{t("Default")}}'},{value:"primary",label:'{{t("Primary")}}'},{value:"dashed",label:'{{t("Dashed")}}'},{value:"link",label:'{{t("Link")}}'},{value:"text",label:'{{t("Text")}}'}]}:void 0,danger:e.model.enableEditDanger?{"x-decorator":"FormItem","x-component":"Switch",title:(0,r.tExpr)("Danger action")}:void 0,color:e.model.enableEditColor?{"x-decorator":"FormItem","x-component":a.sk,title:(0,r.tExpr)("Color")}:void 0}),defaultParams:e=>e.model.defaultProps,handler(e,t){let{title:l,tooltip:o,...n}=t;e.model.setProps({title:e.t(l,{ns:"lm-flow-engine"}),tooltip:e.t(o,{ns:"lm-flow-engine"}),...n})}},linkageRules:{use:"actionLinkageRules"}}}),D.registerFlow({key:"buttonAclSettings",steps:{aclCheck:{use:"aclCheck"}}}),D.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh"},linkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"actionLinkageRules",flowKey:"buttonSettings",stepKey:"linkageRules"}}}}),D.registerEvents({click:{title:(0,r.tExpr)("Click"),name:"click",uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":O.H}},handler:O.b}});class B extends r.FlowModel{static defineChildren(e){let t=this.itemModelName,l=function(o){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return o.getToOneAssociationFields().map(o=>{let i=n?`${n}.${o.name}`:o.name;return o.targetCollection?{key:`${i}-assocationField`,label:o.title,children:()=>[{key:`${i}-children-collectionField`,label:e.t("Display fields"),type:"group",children:o.targetCollection.getFields().map(l=>{let o=`${i}.${l.name}`,n=r.DisplayItemModel.getDefaultBindingByField(e,l,{fallbackToTargetTitleField:!0});if(!n)return;let a=n.modelName;return{key:`c-${i}.${l.name}`,label:l.title,useModel:t,toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===o},createModelOptions:{stepParams:{fieldSettings:{init:{dataSourceKey:e.collection.dataSourceKey,collectionName:e.prefixFieldPath?e.blockModel.context.collection.name:e.collection.name,fieldPath:o,associationPathName:i}}},subModels:{field:{use:a}}}}}).filter(Boolean)},{key:`${i}-children-associationField`,label:"Display association fields",type:"group",children:(l(o.targetCollection,i)||[]).filter(Boolean)}]}:void console.error(`AssociationFieldGroupModel: target collection ${o.target} not found for field ${o.name}`)}).filter(Boolean)};return l(e.collection,e.prefixFieldPath)}}B.itemModelName="DetailsItemModel",B.define({label:'{{t("Display fields")}}'});var H=l(2113);function q(e){return["multipleSelect","checkboxGroup"].includes(null==e?void 0:e.interface)||["array","json","jsonb"].includes(null==e?void 0:e.type)}function V(e){var t,l,o,n,i,r;return e.operator||(null==(t=e.getStepParams("filterFormItemSettings","defaultOperator"))?void 0:t.value)||(null==(l=e.subModels.field)?void 0:l.operator)||(null==(r=e.collectionField)||null==(i=r.filterable)||null==(n=i.operators)||null==(o=n[0])?void 0:o.value)||"$includes"}function $(e){return!!(null==e||"string"==typeof e&&""===e.trim()||Array.isArray(e)&&0===e.filter(e=>null!=e&&("string"!=typeof e||""!==e.trim())).length)||"object"==typeof e&&e.constructor===Object&&0===Object.keys(e).length}function z(e){return e.filterSubModels("items",e=>{var t;return!!(null==(t=e.resource)?void 0:t.supportsFilter)})}let K={$match:"$in",$anyOf:"$in",$notMatch:"$notIn",$noneOf:"$notIn"};function U(e,t){var l,o,n;let i=null==e||null==(l=e.context)?void 0:l.dataSourceManager,r=null==e?void 0:e.collection;if(!i||!(null==r?void 0:r.dataSourceKey)||!(null==r?void 0:r.name)||!t)return;let a=r.name,s=t.split(".").filter(Boolean);for(let e=0;e<s.length;e+=1){let t=null==(o=i.getCollectionField)?void 0:o.call(i,`${r.dataSourceKey}.${a}.${s[e]}`);if(!t||e===s.length-1)return t;if(!(a=t.target||(null==(n=t.targetCollection)?void 0:n.name)))return}}function G(e,t,l){let o=K[e];if(!o)return e;let n=U(t,l);return!n||q(n)?e:o}async function J(e){(null==e?void 0:e.loading)&&await new Promise(t=>{let l=()=>{e.loading?setTimeout(l,16):t()};l()})}function W(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Unknown error"}}class X{async saveFilterConfigs(){await this.gridModel.saveStepParams()}getFilterConfigs(){return this.filterConfigs}getConnectFieldsConfig(e){let t=this.filterConfigs.filter(t=>t.filterId===e);if(0!==t.length)return{targets:t.map(e=>({targetId:e.targetId,filterPaths:e.filterPaths}))}}async prepareFiltersForTarget(e){let t=this.filterConfigs.filter(t=>t.targetId===e),l=new Set;return await Promise.all(t.map(async t=>{try{var o;let e=this.gridModel.flowEngine.getModel(t.filterId),n=null==e||null==(o=e.context)?void 0:o.blockModel;if(!n||"function"!=typeof n.prepareInitialFilterValues)return;let i=await n.prepareInitialFilterValues();!1!==i&&l.add(n)}catch(t){console.error(`Failed to prepare filter defaults for target "${e}": ${W(t)}`)}})),l}async saveConnectFieldsConfig(e,t){let l=t.targets.map(t=>({filterId:e,targetId:t.targetId,filterPaths:t.filterPaths})),o=this.filterConfigs.filter(t=>t.filterId!==e);this.filterConfigs=[],this.filterConfigs.push(...o,...l),await this.saveFilterConfigs()}async addFilterConfig(e){if(!e.filterId||!e.targetId)return void console.error("FilterConfig must have filterId, targetId, and operator");if(!Array.isArray(e.filterPaths)||0===e.filterPaths.length)return void console.error("FilterConfig must have non-empty filterPaths array");let t=this.filterConfigs.findIndex(t=>t.filterId===e.filterId&&t.targetId===e.targetId);t>=0?this.filterConfigs[t]={...e}:this.filterConfigs.push({...e}),await this.saveFilterConfigs()}async removeFilterConfig(e){let{filterId:t,targetId:l,persist:o=!0}=e;if(!t&&!l)return console.error("At least one of filterId or targetId must be provided"),0;let n=this.filterConfigs.length;this.filterConfigs=this.filterConfigs.filter(e=>t&&l?e.filterId!==t||e.targetId!==l:t?e.filterId!==t:!l||e.targetId!==l);let i=n-this.filterConfigs.length;return i>0&&o&&await this.saveFilterConfigs(),i}bindToTarget(e){if(!e||"string"!=typeof e)return void console.error("[NocoBase]: targetId must be a non-empty string");let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`[NocoBase]: Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.addFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with addFilterGroup method`);if("function"!=typeof t.resource.removeFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with removeFilterGroup method`);let l=this.filterConfigs.filter(t=>t.targetId===e);if(0===l.length)return;let o=t;l.forEach(e=>{let l=this.gridModel.flowEngine.getModel(e.filterId);if(!l)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" not found`);if(!l.getFilterValue)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" does not have getFilterValue method`);let n=l.getFilterValue();if($(n)){try{t.resource.removeFilterGroup(e.filterId),o.setFilterActive(e.filterId,!1)}catch(e){console.error(`[NocoBase]: Failed to remove filter configuration from target model: ${e.message}`)}return}o.setFilterActive(e.filterId,!0);let i=e.filterPaths.map(o=>({path:o,operator:G(e.operator||V(l),t,o),value:n}));try{if(1===i.length)t.resource.addFilterGroup(e.filterId,new r.FilterItem({path:i[0].path,operator:i[0].operator,value:i[0].value}));else if(i.length>1){let l={logic:"$or",items:i};t.resource.addFilterGroup(e.filterId,new r.FilterGroup(l))}}catch(e){console.error(`Failed to bind filter configuration to target model: ${e.message}`);return}})}unbindFromTarget(e){if(!e||"string"!=typeof e)return void console.error("targetId must be a non-empty string");let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.removeFilterGroup)return void console.error(`Target model with uid "${e}" does not have a valid resource with removeFilterGroup method`);let l=this.filterConfigs.filter(t=>t.targetId===e);if(0===l.length)return;let o=t;l.forEach(e=>{try{t.resource.removeFilterGroup(e.filterId),"function"==typeof(null==o?void 0:o.removeFilterSource)&&o.removeFilterSource(e.filterId)}catch(e){console.error(`Failed to unbind filter configuration from target model: ${e.message}`);return}})}async refreshTargetsByFilter(e,t){if(!e)return void console.error("filterId must be provided");let l=Array.isArray(e)?e:[e];if(0===l.length||l.some(e=>!e||"string"!=typeof e))return void console.error("filterId must be non-empty string(s)");let o=this.filterConfigs.filter(e=>l.includes(e.filterId));if(0===o.length)return;let n=(null==t?void 0:t.excludeTargetIds)?new Set(t.excludeTargetIds):void 0,i=[...new Set(o.map(e=>e.targetId))].filter(e=>!(null==n?void 0:n.has(e))).map(async e=>{try{this.bindToTarget(e);let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.refresh)return void console.error(`Target model with uid "${e}" does not have a valid resource with refresh method`);let l=t,o=t.resource,n=l.getDataLoadingMode();if("manual"===n&&!l.hasActiveFilters()){o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1;return}await J(o),"function"==typeof o.setPage&&o.setPage(1),await o.refresh()}catch(t){console.error(`Failed to refresh target model "${e}": ${t.message}`);return}});await Promise.all(i)}constructor(e,t){this.gridModel=e,this.filterConfigs=t||[]}}var Q=l(7404);function Z(e){let{rows:t={},sizes:l={},layout:o,renderItem:n,rowGap:i=16,colGap:a=16,dragOverlayRect:s}=e,d=o||(0,r.normalizeGridLayout)({rows:t,sizes:l});return d.rows.length?(0,m.jsxs)("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:i},"data-grid-root":!0,children:[s&&(0,m.jsx)(el,{rect:s}),(0,m.jsx)(ee,{rows:d.rows,renderItem:n,rowGap:i,colGap:a,parentPath:[]})]}):(0,m.jsx)("div",{style:{position:"relative"},"data-grid-root":!0,"data-grid-empty-container":!0,children:s&&(0,m.jsx)(el,{rect:s})})}function ee(e){let{rows:t,renderItem:l,rowGap:o,colGap:n,parentPath:i}=e;return(0,m.jsx)(m.Fragment,{children:t.map(e=>{let t=e.cells.length,r=e.sizes||[],a=r.some(e=>null!=e&&void 0!==e),s=[...i,{rowId:e.id}],d=e.cells.map((e,l)=>{if(!a)return 24/t;{let e=r.reduce((e,t)=>e+(t||0),0),o=t-r.filter(Boolean).length,n=o>0?(24-e)/o:0;return r[l]??n}});return(0,m.jsx)(k.Row,{gutter:n,"data-grid-row-id":e.id,"data-grid-path":JSON.stringify(s),children:e.cells.map((t,i)=>(0,m.jsx)(et,{rowKey:e.id,columnIndex:i,span:d[i],rowGap:o,colGap:n,cell:t,path:[...s.slice(0,-1),{rowId:e.id,cellId:t.id}],renderItem:l},t.id))},e.id)})})}let et=h.default.memo(function(e){var t;let{rowKey:l,columnIndex:o,span:n,rowGap:i,colGap:a,cell:s,path:d,renderItem:u}=e,c=s.items||[];return(0,m.jsx)(k.Col,{span:n,"data-grid-column-row-id":l,"data-grid-column-index":o,"data-grid-path":JSON.stringify(d),children:(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:i},children:[c.map((e,t)=>e===r.EMPTY_COLUMN_UID?null:(0,m.jsx)("div",{"data-grid-item-row-id":l,"data-grid-column-index":o,"data-grid-item-index":t,"data-grid-item-uid":e,"data-grid-path":JSON.stringify(d),children:u(e)},e)),(null==(t=s.rows)?void 0:t.length)?(0,m.jsx)(ee,{rows:s.rows,renderItem:u,rowGap:i,colGap:a,parentPath:d}):null]})})});function el(e){let{rect:t}=e,l={position:"absolute",top:t.top,left:t.left,width:t.width,height:t.height,borderRadius:6,pointerEvents:"none",transition:"all 60ms ease-out",zIndex:100},o={column:{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.08)"},"column-edge":{border:"2px solid var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.12)"},"row-gap":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.05)"},"empty-row":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.04)"},"empty-column":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.04)"},"item-edge":{border:"2px solid var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.12)"}};return(0,m.jsx)("div",{style:{...l,...o[t.type]}})}et.displayName="GridColumn";var eo=l(6920);let en=e=>{let{value:t,onChange:l,rows:o=10,...n}=e,[i,r]=(0,h.useState)(()=>t?JSON.stringify(t,null,2):""),[a,s]=(0,h.useState)(null);(0,h.useEffect)(()=>{r(t?JSON.stringify(t,null,2):"")},[t]);let d=e=>{let t=e.target.value;r(t);try{let e=t.trim()?JSON.parse(t):void 0;s(null),null==l||l(e)}catch(e){s(e.message)}};return(0,m.jsxs)("div",{children:[(0,m.jsx)(k.Input.TextArea,{value:i,autoSize:{minRows:o,maxRows:o+10},onChange:d,...n}),a&&(0,m.jsx)(k.Alert,{type:"error",message:a,showIcon:!0,style:{marginTop:8}})]})},ei=(0,eo.connect)(en),er="gridSettings",ea="grid",es=e=>{if(!e)return null;if("number"==typeof e.clientX&&"number"==typeof e.clientY)return{x:e.clientX,y:e.clientY};if(e.touches&&e.touches.length>0){let t=e.touches[0];return{x:t.clientX,y:t.clientY}}if(e.changedTouches&&e.changedTouches.length>0){let t=e.changedTouches[0];return{x:t.clientX,y:t.clientY}}return null};class ed extends r.FlowModel{onInit(e){super.onInit(e),this.props.dragOverlayRect&&this.setProps("dragOverlayRect",null)}bindDragDocumentListeners(){var e;let t=(null==(e=this.getDragContainer())?void 0:e.ownerDocument)||("u"<typeof document?null:document);if(!t)return;let l={capture:!0,passive:!0},o={capture:!0},n=t.defaultView;return t.addEventListener("pointermove",this.updateDragPointerPosition,l),t.addEventListener("mousemove",this.updateDragPointerPosition,l),t.addEventListener("touchmove",this.updateDragPointerPosition,l),t.addEventListener("scroll",this.handleDragScroll,l),null==n||n.addEventListener("scroll",this.handleDragScroll,l),()=>{t.removeEventListener("pointermove",this.updateDragPointerPosition,o),t.removeEventListener("mousemove",this.updateDragPointerPosition,o),t.removeEventListener("touchmove",this.updateDragPointerPosition,o),t.removeEventListener("scroll",this.handleDragScroll,o),null==n||n.removeEventListener("scroll",this.handleDragScroll,o)}}deriveRowOrder(e,t){let l=[],o=new Set;return(t||Object.keys(e)).forEach(t=>{e[t]&&!o.has(t)&&(l.push(t),o.add(t))}),Object.keys(e).forEach(e=>{o.has(e)||(l.push(e),o.add(e))}),l}normalizeRowsWithOrder(e,t){let l=this.deriveRowOrder(e,t),o={};return l.forEach(t=>{e[t]&&(o[t]=e[t])}),Object.keys(e).forEach(t=>{o[t]||(o[t]=e[t])}),{rows:o,rowOrder:l}}orderSizesByRowOrder(e,t){let l={};return t.forEach(t=>{e[t]&&(l[t]=e[t])}),Object.keys(e).forEach(t=>{l[t]||(l[t]=e[t])}),l}getItemFlowSettings(){return this._memoItemFlowSettings||(this._memoItemFlowSettings={showBackground:!1,showDragHandle:!0,...this.itemFlowSettings}),this._memoItemFlowSettings}getItemUids(){return(this.subModels.items||[]).map(e=>e.uid)}normalizeLayoutFromSource(e){let t=this.getStepParams(er,ea)||{};return(0,r.normalizeGridLayout)({layout:(null==e?void 0:e.layout)??this.props.layout??t.layout,rows:(null==e?void 0:e.rows)??this.props.rows??t.rows,sizes:(null==e?void 0:e.sizes)??this.props.sizes??t.sizes,rowOrder:(null==e?void 0:e.rowOrder)??this.props.rowOrder??t.rowOrder,itemUids:this.getItemUids(),gridUid:this.uid,logger:console})}getGridLayout(){return this.normalizeLayoutFromSource()}serialize(){let e=super.serialize();return e.props=g.default.omit(e.props,["dragOverlayRect"]),e}syncLayoutProps(e){let t=(0,r.projectLayoutToLegacyRows)(e);this.setProps("layout",e),this.setProps("rows",t.rows),this.setProps("sizes",t.sizes),this.setProps("rowOrder",t.rowOrder)}setGridStepLayout(e){this.setStepParams(er,{[ea]:{layout:e}})}findLayoutRowByPath(e,t){if(!(null==t?void 0:t.length))return null;let l=e.rows;for(let e=0;e<t.length;e+=1){let o=t[e],n=l.find(e=>e.id===o.rowId);if(!n)break;if(e===t.length-1)return n;let i=n.cells.find(e=>e.id===o.cellId);l=(null==i?void 0:i.rows)||[]}return null}collectCellItemsForResize(e){return Array.isArray(e.items)?[...e.items]:(e.rows||[]).flatMap(e=>e.cells.flatMap(e=>this.collectCellItemsForResize(e)))}buildResizedCells(e,t){let l=new Set;return t.map((t,o)=>{let n=e.cells.findIndex((e,o)=>!l.has(o)&&g.default.isEqual(this.collectCellItemsForResize(e),t));if(-1!==n){l.add(n);let o=e.cells[n];return o.rows&&!o.items?g.default.cloneDeep(o):{id:o.id,items:[...t]}}return{id:`${e.id}:cell:${o}:${(0,Q.uid)()}`,items:[...t]}})}getResizeRowPath(e){if(!(null==e?void 0:e.length))return[];let t=e.map(e=>({...e}));return delete t[t.length-1].cellId,t}getResizeContainerWidth(e){var t,l,o;let n=this.getResizeRowPath(e),i=(null==(t=this.gridContainerRef.current)?void 0:t.clientWidth)||0;if(!n.length)return i;let r=Array.from((null==(l=this.gridContainerRef.current)?void 0:l.querySelectorAll("[data-grid-row-id]"))||[]).find(e=>{try{return g.default.isEqual(JSON.parse(e.dataset.gridPath||"[]"),n)}catch{return!1}});return(null==r||null==(o=r.parentElement)?void 0:o.clientWidth)||i}resizeGridLayout(e){var t;let{direction:l,resizeDistance:o,model:n}=e,i=this.getGridLayout(),a=(0,r.findModelUidLayoutPosition)(i,n.uid);if(!a)return null;let s=this.findLayoutRowByPath(i,a.path);if(!s)return null;let d=this.getResizeContainerWidth(a.path),u=s.cells.map(e=>this.collectCellItemsForResize(e)),{newRows:c,newSizes:p,moveDistance:m}=ec({position:{rowId:s.id,columnIndex:a.cellIndex,itemIndex:a.itemIndex},direction:l,resizeDistance:o,prevMoveDistance:this.prevMoveDistance,oldRows:{[s.id]:u},oldSizes:{[s.id]:s.sizes||[]},gutter:(null==(t=this.context.themeToken)?void 0:t.marginBlock)??16,gridContainerWidth:d}),h=g.default.cloneDeep(i),f=this.findLayoutRowByPath(h,a.path);return f?(f.cells=this.buildResizedCells(s,c[s.id]||[]),f.sizes=p[s.id]||[],{layout:(0,r.normalizeGridLayout)({layout:h,itemUids:this.getItemUids(),gridUid:this.uid,logger:console}),moveDistance:m}):null}onMount(){super.onMount(),this.emitter.on("onSubModelAdded",e=>{e.isNew&&(this.resetRows(!0),this.setGridStepLayout(this.props.layout))}),this.emitter.on("onSubModelDestroyed",e=>{var t,l;let o=e.uid;this.resetRows(!0),this.setGridStepLayout(this.props.layout),null==(t=this.context.filterManager)||t.removeFilterConfig({targetId:o}),null==(l=this.context.filterManager)||l.removeFilterConfig({filterId:o}),this.saveStepParams()}),this.emitter.on("onSubModelMoved",()=>{this.resetRows(!0)}),this.emitter.on("onResizeLeft",e=>{let{resizeDistance:t,model:l}=e,o=this.resizeGridLayout({direction:"left",resizeDistance:t,model:l});o&&(this.prevMoveDistance=o.moveDistance,this.syncLayoutProps(o.layout))}),this.emitter.on("onResizeRight",e=>{let{resizeDistance:t,model:l}=e,o=this.resizeGridLayout({direction:"right",resizeDistance:t,model:l});o&&(this.prevMoveDistance=o.moveDistance,this.syncLayoutProps(o.layout))}),this.emitter.on("onResizeBottom",e=>{let{resizeDistance:t,model:l}=e}),this.emitter.on("onResizeEnd",()=>{this.prevMoveDistance=0,this.saveGridLayout(this.props.layout)})}saveGridLayout(e){let t=e&&"version"in e?(0,r.normalizeGridLayout)({layout:e,itemUids:this.getItemUids(),gridUid:this.uid,logger:console}):this.normalizeLayoutFromSource(e);this.setGridStepLayout(t),this.syncLayoutProps(t),this.saveStepParams()}mergeRowsWithItems(e){let t=this.subModels.items||[];if(!t||0===t.length)return{};let l=new Set(t.map(e=>e.uid));l.add(r.EMPTY_COLUMN_UID);let o=new Set,n={};for(let[t,i]of Object.entries(e)){let e=i.map(e=>g.default.castArray(e).filter(e=>l.has(e))).filter(e=>e.length>0);e.length>0&&(n[t]=e,e.forEach(e=>e.forEach(e=>o.add(e))))}let i=new Set;for(let e of(Object.values(n).forEach(e=>e.forEach(e=>e.forEach(e=>i.add(e)))),t))i.has(e.uid)||(n[(0,Q.uid)()]=[[e.uid]]);return n}resetRows(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getStepParams(er,ea)||{},l=this.normalizeLayoutFromSource(t);this.setGridStepLayout(l),e&&this.syncLayoutProps(l)}computePointerPosition(e){var t;if(!this.dragState)return null;if(this.dragState.pointerPosition)return this.dragState.pointerPosition;let l=this.dragState.pointerOrigin;if(l)return{x:l.x+e.delta.x,y:l.y+e.delta.y};let o=es(e.activatorEvent);if(o)return this.dragState.pointerOrigin=o,{x:o.x+e.delta.x,y:o.y+e.delta.y};let n=null==(t=e.over)?void 0:t.rect;return n?{x:n.left+n.width/2,y:n.top+n.height/2}:null}getDragContainer(){if(!this.dragState)return this.gridContainerRef.current;let e=this.gridContainerRef.current;return e&&this.dragState.containerEl!==e&&(this.dragState.containerEl=e),this.dragState.containerEl||e}updateLayoutSnapshot(){if(!this.dragState)return;let e=(0,r.buildLayoutSnapshot)({container:this.getDragContainer()});this.dragState.slots=e.slots,this.dragState.containerRect=e.containerRect}scheduleSnapshotRefresh(){!this.dragState||this.dragState.refreshTimer||(this.dragState.refreshTimer=setTimeout(()=>{this.dragState&&(this.dragState.refreshTimer=null,this.updateLayoutSnapshot(),this.refreshPreviewFromPointer())},16))}refreshPreviewFromPointer(){if(!this.dragState)return;let e=this.dragState.pointerPosition||this.dragState.pointerOrigin;if(!e)return;let t=this.resolveDragSlot(e);this.applyPreview(t)}computeOverlayRect(e){var t,l,o,n;let i=this.dragOverlayConfig,r=e.rect;switch(e.type){case"column":{let l=null==i||null==(t=i.columnInsert)?void 0:t[e.position],o=(null==l?void 0:l.height)??r.height,n=(null==l?void 0:l.offsetTop)??0;return{top:r.top+n,left:r.left,width:r.width,height:o}}case"column-edge":{let t=null==i||null==(l=i.columnEdge)?void 0:l[e.direction],o=(null==t?void 0:t.width)??r.width,n=(null==t?void 0:t.offsetLeft)??0;return{top:r.top,left:r.left+n,width:o,height:r.height}}case"item-edge":{let t=null==i||null==(o=i.columnEdge)?void 0:o[e.direction],l=(null==t?void 0:t.width)??r.width,n=(null==t?void 0:t.offsetLeft)??0;return{top:r.top,left:r.left+n,width:l,height:r.height}}case"row-gap":{let t=null==i||null==(n=i.rowGap)?void 0:n[e.position],l=(null==t?void 0:t.height)??r.height,o=(null==t?void 0:t.offsetTop)??0;return{top:r.top+o,left:r.left,width:r.width,height:l}}default:return{top:r.top,left:r.left,width:r.width,height:r.height}}}getHitTestSlot(e){return{...e,rect:this.computeOverlayRect(e)}}resolveDragSlot(e){var t;return(null==(t=this.dragState)?void 0:t.slots.length)?(0,r.resolveDropIntent)(e,this.dragState.slots.map(e=>this.getHitTestSlot(e))):null}applyPreview(e){if(!this.dragState)return;if(!e){null!==this.dragState.activeSlotKey&&(this.dragState.activeSlotKey=null,this.dragState.previewLayout=void 0,this.setProps("dragOverlayRect",null));return}let t=(0,r.getSlotKey)(e);if(this.dragState.activeSlotKey===t&&this.dragState.previewLayout)return;let l=(0,r.simulateLayoutForSlot)({slot:e,sourceUid:this.dragState.sourceUid,layout:this.dragState.snapshot,generateRowId:Q.uid,generatedIds:this.dragState.generatedIds,generateId:()=>(0,Q.uid)()});if(l.layout&&this.dragState.snapshot.layout&&(0,r.isSameGridLayout)(l.layout,this.dragState.snapshot.layout))return void this.applyPreview(null);this.dragState.previewLayout={rows:g.default.cloneDeep(l.rows),sizes:g.default.cloneDeep(l.sizes),rowOrder:g.default.cloneDeep(l.rowOrder),layout:g.default.cloneDeep(l.layout)};let o=this.computeOverlayRect(e),n={top:o.top-this.dragState.containerRect.top,left:o.left-this.dragState.containerRect.left,width:o.width,height:o.height,type:e.type};this.setProps("dragOverlayRect",n),this.dragState.activeSlotKey=t}handleDragStart(e){let t=e.active.id,l=this.normalizeLayoutFromSource(),o=(0,r.projectLayoutToLegacyRows)(l);this.dragState={sourceUid:t,snapshot:{rows:g.default.cloneDeep(o.rows),sizes:g.default.cloneDeep(o.sizes),rowOrder:g.default.cloneDeep(o.rowOrder),layout:g.default.cloneDeep(l)},slots:[],containerEl:this.gridContainerRef.current,containerRect:{top:0,left:0,width:0,height:0},pointerOrigin:es(e.activatorEvent)??void 0,activeSlotKey:null,previewLayout:void 0,refreshTimer:null,generatedIds:new Map},this.dragState.cleanupListeners=this.bindDragDocumentListeners(),this.setProps("dragOverlayRect",null),this.updateLayoutSnapshot(),this.scheduleSnapshotRefresh()}handleDragMove(e){if(!this.dragState)return;this.dragState.slots.length||this.updateLayoutSnapshot();let t=this.computePointerPosition(e);if(!t)return void this.applyPreview(null);let l=this.resolveDragSlot(t);this.applyPreview(l)}finishDrag(){var e,t;this.dragState&&(this.dragState.refreshTimer&&clearTimeout(this.dragState.refreshTimer),null==(e=(t=this.dragState).cleanupListeners)||e.call(t),this.dragState=void 0,this.setProps("dragOverlayRect",null))}handleDragEnd(e){if(!this.dragState)return;let t=this.computePointerPosition(e);if(t){let e=this.resolveDragSlot(t);this.applyPreview(e)}let l=this.dragState.previewLayout;l&&(l.layout?this.syncLayoutProps(g.default.cloneDeep(l.layout)):(this.setProps("rows",g.default.cloneDeep(l.rows)),this.setProps("sizes",g.default.cloneDeep(l.sizes)),l.rowOrder&&this.setProps("rowOrder",g.default.cloneDeep(l.rowOrder))),this.saveGridLayout(l)),this.finishDrag()}handleDragCancel(e){this.finishDrag()}renderAddSubModelButton(){throw Error("renderAddSubModelButton method must be implemented in subclasses of GridModel")}getVisibleLayout(){var e;let t=this.normalizeLayoutFromSource(),l=this.context.isMobileLayout?(0,r.normalizeGridLayout)({rows:eu((0,r.projectLayoutToLegacyRows)(t).rows),itemUids:this.getItemUids()}):t,o=(0,r.projectLayoutToLegacyRows)(l),{rows:n,rowOrder:i}=this.normalizeRowsWithOrder(o.rows,o.rowOrder),a=this.orderSizesByRowOrder(o.sizes,i);if(this.context.flowSettingsEnabled)return{layout:l,rows:n,sizes:a};let s=(null==(e=this.subModels)?void 0:e.items)||[];if(!s.length)return{layout:l,rows:o.rows,sizes:o.sizes};let d=new Map(s.map(e=>[e.uid,e])),u=e=>e.map(e=>{let t=[],l=[];return e.cells.forEach((o,n)=>{var i;let a=null==(i=e.sizes)?void 0:i[n],s=Number.isFinite(a)&&a>0?a:1;if(o.rows){let e=u(o.rows);e.length&&(t.push({...o,rows:e}),l.push(s));return}let c=(o.items||[]).filter(e=>{var t;return e!==r.EMPTY_COLUMN_UID&&(null==(t=d.get(e))?void 0:t.hidden)!==!0});c.some(e=>{let t=d.get(e);return!t||!t.hidden})&&(t.push({...o,items:c}),l.push(s))}),t.length?{...e,cells:t,sizes:l}:null}).filter(Boolean),c=(0,r.normalizeGridLayout)({layout:{version:2,rows:u(l.rows)}}),p=(0,r.projectLayoutToLegacyRows)(c);return{layout:c,rows:p.rows,sizes:p.sizes}}render(){let{layout:e,rows:t,sizes:l}=this.getVisibleLayout(),o=Object.keys(t||{}).length>0;return(0,m.jsxs)(m.Fragment,{children:[o&&(0,m.jsx)(k.Space,{ref:this.gridContainerRef,direction:"vertical",style:{width:"100%",marginBottom:this.props.rowGap},size:this.props.rowGap,children:(0,m.jsx)(r.DndProvider,{onDragStart:this.handleDragStart.bind(this),onDragMove:this.handleDragMove.bind(this),onDragEnd:this.handleDragEnd.bind(this),onDragCancel:this.handleDragCancel.bind(this),children:(0,m.jsx)(Z,{rowGap:this.props.rowGap,colGap:this.props.colGap,layout:e,rows:t,sizes:l,dragOverlayRect:this.props.dragOverlayRect,renderItem:e=>{var t,l,o,n,i;let a=this.flowEngine.getModel(e);if(!a)return this.itemFallback;let s=this.context.fieldKey,d=this.context.fieldIndex,u=this.context.getPropertyOptions("item"),c=null==(t=(l=this.context).getPropertyOptions)?void 0:t.call(l,"record"),p=null==(o=(n=this.context).getPropertyOptions)?void 0:o.call(n,"currentObject"),h=null==d?a:(()=>{let t=a.createFork({},`${s}:${e}`);t.context.defineProperty("fieldIndex",{get:()=>d}),t.context.defineProperty("fieldKey",{get:()=>s}),t.context.defineProperty("record",{get:()=>this.context.record,cache:!1,meta:null==c?void 0:c.meta,resolveOnServer:null==c?void 0:c.resolveOnServer,serverOnlyWhenContextParams:null==c?void 0:c.serverOnlyWhenContextParams}),t.context.defineProperty("currentObject",{get:()=>this.context.currentObject,cache:!1,resolveOnServer:null==p?void 0:p.resolveOnServer,serverOnlyWhenContextParams:null==p?void 0:p.serverOnlyWhenContextParams});let{value:l,...o}=u||{};return t.context.defineProperty("item",{...o,get:()=>this.context.item,cache:!1}),t})();return(0,m.jsx)(r.Droppable,{model:h,children:(0,m.jsx)(r.MemoFlowModelRenderer,{model:h,fallback:a.skeleton||this.itemFallback,showFlowSettings:!!this.context.flowSettingsEnabled&&this.getItemFlowSettings(),showErrorFallback:!0,settingsMenuLevel:(null==h?void 0:h.settingsMenuLevel)??this.itemSettingsMenuLevel,showTitle:!0,extraToolbarItems:this.itemExtraToolbarItems},`${h.uid}:${s}:${(null==h?void 0:h.use)||(null==h||null==(i=h.constructor)?void 0:i.name)||"m"}`)})}})})}),this.context.flowSettingsEnabled&&(0,m.jsx)("div",{style:{marginBottom:16},children:this.renderAddSubModelButton()})]})}constructor(...e){super(...e),this.subModelBaseClass="BlockModel",this.gridContainerRef=h.default.createRef(),this.prevMoveDistance=0,this.itemSettingsMenuLevel=1,this.itemFlowSettings={},this.itemFallback=(0,m.jsx)(F,{}),this.itemExtraToolbarItems=[{key:"drag-handler",component:r.DragHandler,sort:1}],this.updateDragPointerPosition=e=>{if(!this.dragState)return;let t=es(e);t&&(this.dragState.pointerPosition=t)},this.handleDragScroll=()=>{this.dragState&&this.scheduleSnapshotRefresh()}}}function eu(e,t){let l=(null==t?void 0:t.emptyColumnUid)??r.EMPTY_COLUMN_UID,o={};return Object.keys(e).forEach(t=>{e[t].forEach(e=>{let t=e.filter(e=>e!==l);t.length>0&&(o[(0,Q.uid)()]=[t])})}),o}function ec(e){var t,l;let{position:o,direction:n,resizeDistance:i,prevMoveDistance:r,oldSizes:a,oldRows:s,gridContainerWidth:d,gutter:u=16,columnCount:c=24}=e,p=g.default.cloneDeep(s),m=g.default.cloneDeep(a),h=Math.floor(i/(d-u*((m[o.rowId]||[]).length-1))*c);if(h===r)return{newRows:p,newSizes:m,moveDistance:h};(t=m)[l=o.rowId]??(t[l]=[c]);let f=m[o.rowId],v=h-r,y="left"===n&&o.columnIndex>0,_="right"===n&&o.columnIndex<f.length-1;if(!y&&!_&&v>0){let e=c-f.reduce((e,t)=>e+t,0);if(e<=0)return{newRows:p,newSizes:m,moveDistance:r};v>e&&(h=r+e,v=e)}if(m[o.rowId][o.columnIndex]+=v,"left"===n&&o.columnIndex>0&&(m[o.rowId][o.columnIndex-1]-=v,0===m[o.rowId][o.columnIndex-1]&&em({rows:p,sizes:m,position:o,direction:"left"})),"left"===n&&0===o.columnIndex){let e=m[o.rowId].slice(1).reduce((e,t)=>e+t,0);m[o.rowId][0]<c-e&&ep({rows:p,sizes:m,position:o,direction:"left"})}if("right"===n&&o.columnIndex<m[o.rowId].length-1&&(m[o.rowId][o.columnIndex+1]-=v,0===m[o.rowId][o.columnIndex+1]&&em({rows:p,sizes:m,position:o,direction:"right"})),"right"===n&&o.columnIndex===m[o.rowId].length-1){let e=m[o.rowId].slice(0,-1).reduce((e,t)=>e+t,0);m[o.rowId][o.columnIndex]<c-e&&ep({rows:p,sizes:m,position:o,direction:"right"})}return{newRows:p,newSizes:m,moveDistance:h}}function ep(e){let{rows:t,sizes:l,position:o,direction:n}=e,i=t[o.rowId]||[],a=l[o.rowId]||[];if("left"===n){let e=i[o.columnIndex-1];if(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID))return;i.splice(o.columnIndex,0,[r.EMPTY_COLUMN_UID]),a.splice(o.columnIndex,0,1)}if("right"===n){let e=i[o.columnIndex+1];if(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID))return;i.splice(o.columnIndex+1,0,[r.EMPTY_COLUMN_UID]),a.splice(o.columnIndex+1,0,1)}}function em(e){let{rows:t,sizes:l,position:o,direction:n}=e,i=t[o.rowId]||[],a=l[o.rowId]||[];if("left"===n){let e=i[o.columnIndex-1];if(!(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID)))return;i.splice(o.columnIndex-1,1),a.splice(o.columnIndex-1,1)}if("right"===n){let e=i[o.columnIndex+1];if(!(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID)))return;i.splice(o.columnIndex+1,1),a.splice(o.columnIndex+1,1)}}ed.registerFlow({key:er,steps:{resetRows:{handler(e){e.model.resetRows()}},grid:{uiSchema:{layout:{title:(0,r.tExpr)("Layout"),"x-decorator":"FormItem","x-component":ei,"x-component-props":{autoSize:{minRows:10,maxRows:20},description:(0,r.tExpr)("Configure the nested layout of the grid.")}}},async handler(e,t){let l=e.model,o=(0,r.normalizeGridLayout)({layout:t.layout,rows:t.rows,sizes:t.sizes,rowOrder:t.rowOrder,itemUids:l.getItemUids(),gridUid:l.uid,logger:console});l.setGridStepLayout(o),l.syncLayoutProps(o)}}}});let eh=["JSBlockModel","IframeBlockModel","MarkdownBlockModel"];class ef extends ed{onInit(e){super.onInit(e),this.context.defineProperty("blockGridModel",{value:this}),this.context.defineProperty("filterManager",{once:!0,get:()=>new X(this,e.filterManager)})}get subModelBaseClasses(){var e;let t=(null==(e=this.context.view)?void 0:e.inputArgs)??{};return t.collectionName&&!t.filterByTk,["DataBlockModel","FilterBlockModel","BlockModel"]}get filterManager(){return this.context.filterManager}get addBlockItems(){var e,t;if((null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)==="select")return async e=>{let t=await (0,r.buildSubModelGroups)(["DataBlockModel","FilterBlockModel"])(e),l=eh.filter(t=>!!e.engine.getModelClass(t)),o=(await Promise.all(l.map(t=>(0,r.buildSubModelItems)(t)(e)))).flat().sort((e,t)=>(e.sort??1e3)-(t.sort??1e3));return o.length>0&&t.push({key:"select-scene-other-blocks",type:"group",label:e.t("Other blocks"),sort:1e3,children:o}),t}}serialize(){let e=super.serialize();return e.filterManager=this.filterManager.getFilterConfigs(),e}renderAddSubModelButton(){let e=this.addBlockItems;return(0,m.jsx)(r.AddSubModelButton,{model:this,subModelKey:"items",items:e,subModelBaseClasses:e?void 0:this.subModelBaseClasses,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(H.PlusOutlined,{}),"data-flow-add-block":!0,children:this.context.t("Add block")})})}render(){return(0,m.jsx)("div",{className:"nb-block-grid",style:this.context.disableBlockGridPadding?null:{padding:this.context.isMobileLayout?8:this.context.themeToken.marginBlock,paddingBottom:0},children:super.render()})}constructor(...e){super(...e),this.dragOverlayConfig={columnInsert:{before:{offsetTop:-12},after:{offsetTop:12}},columnEdge:{left:{offsetLeft:-5},right:{offsetLeft:6}}}}}ef.registerFlow({key:"blockGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",e.isMobileLayout?12:e.themeToken.marginBlock),e.model.setProps("colGap",e.themeToken.marginBlock)}}}});var eg=l(3890);class ev extends D{}ev.define({children:async e=>(await (0,r.buildSubModelItems)(D)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(L.collection))});var ey=l(146);class e_ extends r.FlowModel{}var eb=l(2606),ex=l(6859);class eM extends eg.z{}eM.define({hide:!0,label:"Filter blocks"});var ew=l(4829);async function eS(e){var t,l,o,n,i;(null==(l=e.inputArgs)||null==(t=l.dirty)?void 0:t.hasDirtyForms)&&(await e.modal.confirm({title:e.t("Unsaved changes"),content:e.t("Are you sure you don't want to save?"),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||(null==(i=e.inputArgs)||null==(n=i.controller)||null==(o=n.prevent)||o.call(n),e.exitAll()))}class ek extends r.FlowModel{getEnableTabs(){var e,t;let l=null==(t=this.context)||null==(e=t.currentRoute)?void 0:e.enableTabs;return null!=this.props.routeId&&"boolean"==typeof l?l:!!this.props.enableTabs}getActiveTabKey(){var e,t,l,o;let n=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;return n?n.tabUid||(null==(o=this.getFirstTab())?void 0:o.uid):this.props.tabActiveKey||(null==(l=this.getFirstTab())?void 0:l.uid)}scheduleActiveLifecycleRefresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirtyRefreshScheduled||(this.dirtyRefreshScheduled=!0,Promise.resolve().then(()=>{if(this.dirtyRefreshScheduled=!1,this.unmounted||!1===(0,r.getPageActive)(this.context))return;let t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive",e)}).catch(()=>{}))}onMount(){var e,t,l,o,n,i,a,s,d;super.onMount(),this.unmounted=!1,this.setProps("tabActiveKey",null==(e=this.context.view.inputArgs)?void 0:e.tabUid),(null==(t=this.context)?void 0:t.pageInfo)&&(this.context.pageInfo.version="v2"),this.updateDocumentTitle(),this.viewActivatedListener||(this.viewActivatedListener=e=>{let t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive")},null==(i=this.flowEngine)||null==(n=i.emitter)||null==(o=n.on)||o.call(n,r.VIEW_ACTIVATED_EVENT,this.viewActivatedListener));let u=(0,r.getEmitterViewActivatedVersion)(null==(l=this.flowEngine)?void 0:l.emitter),c=u>0&&u!==this.lastSeenEmitterViewActivatedVersion;if(this.lastSeenEmitterViewActivatedVersion=u,c&&!1!==(0,r.getPageActive)(this.context)){let e=this.getActiveTabKey();e&&this.invokeTabModelLifecycleMethod(e,"onActive")}this.dataSourceDirtyListener||(this.dataSourceDirtyListener=e=>{this.scheduleActiveLifecycleRefresh()},null==(d=this.flowEngine)||null==(s=d.emitter)||null==(a=s.on)||a.call(s,r.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener))}onUnmount(){var e,t,l,o,n,i;this.unmounted=!0,this.viewActivatedListener&&(null==(l=this.flowEngine)||null==(t=l.emitter)||null==(e=t.off)||e.call(t,r.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),this.dataSourceDirtyListener&&(null==(i=this.flowEngine)||null==(n=i.emitter)||null==(o=n.off)||o.call(n,r.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener),this.dataSourceDirtyListener=void 0),super.onUnmount()}invokeTabModelLifecycleMethod(e,t){var l,o;let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];"onActive"===t&&(null==(l=this.context)?void 0:l.pageInfo)&&(this.context.pageInfo.version="v2");let i=this.flowEngine.getModel(e);if(i){if(i.context.tabActive){let e=!1!==(0,r.getPageActive)(i.context);i.context.tabActive.value=e&&"onActive"===t}null==(o=i.subModels.grid)||o.mapSubModels("items",e=>{var l;null==(l=e[t])||l.call(e,n)})}"onActive"===t&&this.updateDocumentTitle(e)}async updateDocumentTitle(e){var t,l,o,n,i,a,s,d,u,c,p,m,h,f,g,v;let y=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.unmounted||!1===(0,r.getPageActive)(this.context))return;let _=!!(null==(l=this.context)||null==(t=l.view)?void 0:t.navigation),b=null==(i=this.context)||null==(n=i.view)||null==(o=n.inputArgs)?void 0:o.viewUid,x=null==(d=this.flowEngine)||null==(s=d.context)||null==(a=s.route)?void 0:a.pathname;if(_&&b&&"string"==typeof x){let e=null==(u=(0,r.parsePathnameToViewParams)(x).at(-1))?void 0:u.viewUid;if(e&&e!==b)return}let M=++this.documentTitleUpdateVersion,w=async e=>{if(!e||"string"!=typeof e)return"";try{var t,l;let o=await (null==(t=(l=this.context).resolveJsonTemplate)?void 0:t.call(l,e));return null==o?"":String(o)}catch(t){return e}},S="";if(this.getEnableTabs()){let t=e||this.getActiveTabKey(),l=t?this.flowEngine.getModel(t):this.getFirstTab();if(!l&&y<5)return void window.setTimeout(()=>{this.unmounted||M===this.documentTitleUpdateVersion&&this.updateDocumentTitle(t,y+1)},0);S=await w(null==l||null==(m=l.stepParams)||null==(p=m.pageTabSettings)||null==(c=p.tab)?void 0:c.documentTitle)||(null==l||null==(h=l.getTabTitle)?void 0:h.call(l))||""}else S=await w(null==(v=this.stepParams)||null==(g=v.pageSettings)||null==(f=g.general)?void 0:f.documentTitle)||this.props.title||"";M===this.documentTitleUpdateVersion&&"string"==typeof S&&""!==S&&(document.title=S)}mapTabs(){return this.mapSubModels("tabs",e=>!this.context.flowSettingsEnabled&&e.hidden?null:{key:e.uid,label:(0,m.jsx)(r.Droppable,{model:e,children:(0,m.jsx)(r.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!0,showBorder:!1,toolbarPosition:"above",style:{transform:"translateY(8px)"}},extraToolbarItems:[{key:"drag-handler",component:r.DragHandler,sort:1}]})}),children:e.renderChildren()}).filter(Boolean)}getFirstTab(){var e;return null==(e=this.subModels.tabs)?void 0:e[0]}renderFirstTab(){var e;let t=this.getFirstTab();return null==t||null==(e=t.renderChildren)?void 0:e.call(t)}async handleDragEnd(e){throw Error("Method not implemented.")}renderTabs(){var e,t,l,o;let n=(null==(e=this.context.themeToken)?void 0:e.paddingLG)??16,i=void 0!==this.tabBarExtraContent.left?this.tabBarExtraContent.left:(0,m.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:n,height:1}}),a=void 0!==this.tabBarExtraContent.right?this.tabBarExtraContent.right:(0,m.jsx)("span",{style:{display:"inline-flex",marginInlineEnd:n},children:(0,m.jsx)(r.AddSubModelButton,{model:this,subModelKey:"tabs",items:[{key:"blank",label:this.context.t("Blank tab"),createModelOptions:this.createPageTabModelOptions}],children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(H.PlusOutlined,{}),children:this.context.t("Add tab")})})});return(0,m.jsx)(r.DndProvider,{onDragEnd:this.handleDragEnd.bind(this),children:(0,m.jsx)(k.Tabs,{activeKey:(null==(l=this.context.view)||null==(t=l.navigation)?void 0:t.viewParams)?this.context.view.navigation.viewParams.tabUid||(null==(o=this.getFirstTab())?void 0:o.uid):this.props.tabActiveKey,tabBarStyle:this.props.tabBarStyle,items:this.mapTabs(),onChange:e=>{var t,l;null==(l=this.context.view.navigation)||null==(t=l.changeTo)||t.call(l,{tabUid:e}),this.invokeTabModelLifecycleMethod(e,"onActive"),this.invokeTabModelLifecycleMethod(this.props.tabActiveKey,"onInactive"),this.setProps("tabActiveKey",e)},tabBarExtraContent:{left:i,right:a}})})}render(){let e=this.context.themeToken,t={...this.props.headerStyle};e&&(t.paddingBlock=e.paddingSM,t.paddingInline=e.paddingLG);let l=this.getEnableTabs();return l&&(t.paddingBottom=0),(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&(0,m.jsx)(ew.PageHeader,{title:this.props.title,style:t}),l?this.renderTabs():this.renderFirstTab()]})}constructor(...e){super(...e),this.tabBarExtraContent={},this.lastSeenEmitterViewActivatedVersion=0,this.dirtyRefreshScheduled=!1,this.unmounted=!1,this.documentTitleUpdateVersion=0,this.createPageTabModelOptions=()=>{let e=(0,Q.uid)();return{uid:e,use:"RootPageTabModel",props:{route:{parentId:this.props.routeId,type:"tabs",schemaUid:e,tabSchemaName:(0,Q.uid)(),params:[],hideInMenu:!1,enableTabs:!1}}}}}}ek.registerEvents({close:{title:(0,r.tExpr)("Close"),name:"close",hideInSettings(e){var t;return!!(null==(t=e.view)?void 0:t.preventClose)},uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":O.H}},handler:O.b}}),ek.registerFlow({key:"closeGuard",title:(0,r.tExpr)("Close guard"),on:"close",steps:{confirmUnsavedChanges:{title:(0,r.tExpr)("Unsaved changes confirmation"),handler:eS}}}),ek.registerFlow({key:"pageSettings",title:(0,r.tExpr)("Page settings"),steps:{general:{title:(0,r.tExpr)("Edit page"),uiSchema:{title:{type:"string",title:(0,r.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},documentTitle:{type:"string",title:(0,r.tExpr)("Document title"),description:(0,r.tExpr)("Used as the browser tab title when tabs are disabled. Supports variables. Leave empty to use Page title."),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:1,maxRows:6}},displayTitle:{type:"boolean",title:(0,r.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"},enableTabs:{type:"boolean",title:(0,r.tExpr)("Enable tabs"),"x-decorator":"FormItem","x-component":"Switch"}},defaultParams:e=>({displayTitle:!0,enableTabs:!1}),async handler(e,t){if(e.model.setProps("displayTitle",t.displayTitle),e.model.context.closable)e.model.setProps("title",e.t(t.title,{ns:"lm-desktop-routes"}));else{var l,o;let n=null==(o=e.model.context)||null==(l=o.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||n,{ns:"lm-desktop-routes"}))}e.model.setProps("enableTabs",t.enableTabs),"embed"===e.view.type?(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgContainer)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgContainer)",marginBottom:0})):(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgLayout)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgLayout)",marginBottom:0})),e.model.updateDocumentTitle()}}}});class eF extends ek{renderBackButtonWhenTabsDisabled(){var e,t,l;if((null==(t=this.context)||null==(e=t.view)?void 0:e.type)!=="embed")return null;let o=null==(l=this.context)?void 0:l.themeToken,n={...this.props.tabBarStyle,paddingBlock:(null==o?void 0:o.paddingXS)??8};return(0,m.jsx)("div",{style:n,children:(0,m.jsx)(eC,{renderSpacerWhenNoBack:!1})})}async handleDragEnd(e){var t,l;if(!(null==(t=e.active)?void 0:t.id)||!(null==(l=e.over)?void 0:l.id))throw Error("Invalid drag event");this.flowEngine.moveModel(e.active.id,e.over.id)}render(){return(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&this.props.title&&(0,m.jsx)(ew.PageHeader,{title:this.props.title,style:this.props.headerStyle}),this.props.enableTabs?this.renderTabs():(0,m.jsxs)(m.Fragment,{children:[this.renderBackButtonWhenTabsDisabled(),this.renderFirstTab()]})]})}constructor(...e){super(...e),this.tabBarExtraContent={left:(0,m.jsx)(eC,{})},this.createPageTabModelOptions=()=>({use:"ChildPageTabModel"})}}let eC=e=>{let{renderSpacerWhenNoBack:t=!0}=e,l=(0,r.useFlowContext)(),o=l.themeToken,n=32,i=(null==o?void 0:o.paddingLG)??16,a=(0,h.useMemo)(()=>({width:"auto",height:"auto",lineHeight:1,padding:o.paddingXS,marginLeft:o.paddingLG,marginRight:n-o.paddingXS}),[o.paddingLG,o.paddingXS]);return"embed"!==l.view.type?t?(0,m.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:i,height:1}}):null:(0,m.jsx)(k.Button,{"aria-label":"back-button",type:"text",icon:(0,m.jsx)(H.ArrowLeftOutlined,{}),style:a,onClick:l.view.close})};class eA extends r.FlowModel{}eA.registerFlow({key:"pageSettings",title:(0,r.tExpr)("Page settings"),steps:{general:{title:(0,r.tExpr)("General"),uiSchema:{title:{type:"string",title:(0,r.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},displayTitle:{type:"boolean",title:(0,r.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"}},defaultParams:e=>({displayTitle:!0,enableTabs:!1}),async handler(e,t){if(e.model.setProps("displayTitle",t.displayTitle),e.model.context.closable)e.model.setProps("title",t.title?e.t(t.title):null);else{var l,o;let n=null==(o=e.model.context)||null==(l=o.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||n))}e.model.setProps("enableTabs",t.enableTabs),e.model.context.closable?(e.model.setProps("headerStyle",{backgroundColor:e.themeToken.colorBgContainer}),e.model.setProps("tabBarStyle",{backgroundColor:e.themeToken.colorBgLayout,paddingInline:16,marginBottom:0})):(e.model.setProps("headerStyle",{backgroundColor:e.themeToken.colorBgContainer}),e.model.setProps("tabBarStyle",{backgroundColor:e.themeToken.colorBgContainer,paddingInline:16,marginBottom:0}))}}}});class eP extends eA{renderFirstTab(){var e;return(0,m.jsx)(r.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&(0,m.jsx)(ew.PageHeader,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}function eT(e){let{ctx:t,options:l}=e,{data:o,loading:n}=(0,w.useRequest)(async()=>{let e=await t.engine.loadOrCreateModel(l,{skipSave:!t.flowSettingsEnabled});return e.context.addDelegate(t),e},{refreshDeps:[t.model.uid]}),i=(null==t?void 0:t.isMobileLayout)?8:null==t?void 0:t.themeToken.marginBlock;return!n&&(null==o?void 0:o.uid)?(0,m.jsx)(r.FlowModelRenderer,{model:o,fallback:(0,m.jsx)(F,{style:{margin:i}})}):(0,m.jsx)(F,{style:{margin:i}})}function eI(e){return Array.isArray(e)?e.find(e=>!!e&&"object"==typeof e):e&&"object"==typeof e?e:void 0}class ej extends r.FlowModel{onInit(e){super.onInit(e),this.context.defineProperty("tabActive",{value:r.observable.ref(!0),info:{description:"Whether current tab is active (observable.ref).",detail:"observable.ref<boolean>"}})}getTabTitle(){var e,t;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Untitled",o=this.context.t(l,{ns:"client"});return this.context.t(null==(t=this.stepParams.pageTabSettings)||null==(e=t.tab)?void 0:e.title,{ns:"lm-desktop-routes"})||o}getTabIcon(){var e,t;return null==(t=this.stepParams.pageTabSettings)||null==(e=t.tab)?void 0:e.icon}renderChildren(){return null}renderHiddenInConfig(){return(0,m.jsxs)("span",{style:{display:"inline-block",opacity:.5},children:[(0,m.jsx)(a.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}render(){return(0,m.jsxs)("span",{style:{display:"inline-block"},children:[(0,m.jsx)(a.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}}ej.registerFlow({key:"pageTabSettings",title:(0,r.tExpr)("Tab settings"),steps:{tab:{title:(0,r.tExpr)("Edit tab"),preset:!0,uiSchema:{title:{title:(0,r.tExpr)("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},documentTitle:{type:"string",title:(0,r.tExpr)("Document title"),description:(0,r.tExpr)("Used as the browser tab title when this tab is active. Supports variables. Leave empty to use Tab name."),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:1,maxRows:6}},icon:{title:(0,r.tExpr)("Icon"),"x-decorator":"FormItem","x-component":"IconPicker"}},async handler(e,t){var l;let o="function"==typeof(null==e?void 0:e.t)?e.t.bind(e):e=>e;e.model.setProps("title",o(t.title,{ns:"lm-desktop-routes"})),e.model.setProps("icon",t.icon);let n=e.engine.getModel(e.model.parentId);null==n||null==(l=n.updateDocumentTitle)||l.call(n)}}}});class eL extends ej{renderChildren(){return(0,m.jsx)(eT,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}async saveStepParams(){return this.save()}async save(){var e,t,l,o,n;let i=this.serialize(),r=null==(l=this.stepParams)||null==(t=l.pageTabSettings)||null==(e=t.tab)?void 0:e.documentTitle,a=await this.context.api.request({method:"post",url:"desktopRoutes:updateOrCreate",params:{filterKeys:["schemaUid"]},data:{...this.props.route,title:this.getTabTitle(""),icon:this.getTabIcon(),options:{flowRegistry:i.flowRegistry,documentTitle:r}}}),s=eI(null==a||null==(o=a.data)?void 0:o.data);s&&this.setProps("route",{...this.props.route,...s,options:{...null==(n=this.props.route)?void 0:n.options,...s.options}})}async destroy(){return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.removeModel(this.uid),await this.context.api.request({method:"post",url:"desktopRoutes:destroy",params:{filter:{schemaUid:this.uid}},data:this.props.route}),!0}}class eD extends ej{renderChildren(){return(0,m.jsx)(eT,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class eY extends r.FlowModel{render(){return(0,m.jsx)(eT,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class eE extends ek{syncPageSettingsEnableTabsFromRoute(){var e,t;let l=null==(t=this.context)||null==(e=t.currentRoute)?void 0:e.enableTabs;"boolean"==typeof l&&this.setStepParams("pageSettings","general",{enableTabs:l})}syncEnableTabsToCurrentPage(e){var t;let l=null==(t=this.context)?void 0:t.currentRoute,o=this.props.routeId;l&&(null==o||null==l.id||String(l.id)===String(o))&&(l.enableTabs=e),this.setProps("enableTabs",e)}async ensurePersistedRouteId(e){var t,l,o,n;let i=null==e||null==(l=e.props)||null==(t=l.route)?void 0:t.id;return null!=i?i:("function"==typeof(null==e?void 0:e.save)&&await e.save(),null==e||null==(n=e.props)||null==(o=n.route)?void 0:o.id)}onMount(){super.onMount(),(0,r.reaction)(()=>this.context.pageActive.value,()=>{var e,t;if(this.context.pageActive.value&&this.mounted){let t=null==(e=this.subModels.tabs)?void 0:e[0];t&&(this.setProps("tabActiveKey",t.uid),this.invokeTabModelLifecycleMethod(t.uid,"onActive",!0))}if(!1===this.context.pageActive.value)if(this.props.tabActiveKey)this.invokeTabModelLifecycleMethod(this.props.tabActiveKey,"onInactive");else{let e=null==(t=this.subModels.tabs)?void 0:t[0];e&&this.invokeTabModelLifecycleMethod(e.uid,"onInactive")}this.mounted=!0})}async openFlowSettings(e){return(null==e?void 0:e.flowKey)==="pageSettings"&&(null==e?void 0:e.stepKey)==="general"&&this.syncPageSettingsEnableTabsFromRoute(),super.openFlowSettings(e)}async saveStepParams(){if(await super.saveStepParams(),this.stepParams.pageSettings){var e,t;let l=!!this.stepParams.pageSettings.general.enableTabs;await this.context.api.request({url:`desktopRoutes:update?filter[id]=${this.props.routeId}`,method:"post",data:{enableTabs:l}}),this.syncEnableTabsToCurrentPage(l),await (null==(e=(t=this.context).refreshDesktopRoutes)?void 0:e.call(t))}}async handleDragEnd(e){var t,l;let o=this.flowEngine.getModel(null==(t=e.active)?void 0:t.id),n=this.flowEngine.getModel(null==(l=e.over)?void 0:l.id);if(!o||!n||o.uid===n.uid)return;let[i,r]=await Promise.all([this.ensurePersistedRouteId(o),this.ensurePersistedRouteId(n)]);null!=i&&null!=r&&(await this.context.api.request({url:"desktopRoutes:move",method:"post",params:{sourceId:i,targetId:r,sortField:"sort"}}),this.flowEngine.moveModel(o.uid,n.uid,{persist:!1}))}constructor(...e){super(...e),this.mounted=!1}}eE.registerFlow({key:"rootPageSettings",steps:{init:{async handler(e,t){if(e.model.hasSubModel("tabs"))return;let l=e.routeRepository.getRouteBySchemaUid(e.model.parentId);for(let t of(e.model.setProps("routeId",null==l?void 0:l.id),g.default.castArray(null==l?void 0:l.children).filter(Boolean).sort((e,t)=>(e.sort||0)-(t.sort||0)))){var o,n;if(t.hideInMenu)continue;let l=e.engine.createModel({parentId:e.model.uid,uid:t.schemaUid,subKey:"tabs",subType:"array",use:"RootPageTabModel",sortIndex:t.sort,props:{route:t},flowRegistry:null==(o=t.options)?void 0:o.flowRegistry,stepParams:{pageTabSettings:{tab:{title:t.title,icon:t.icon,documentTitle:null==(n=t.options)?void 0:n.documentTitle}}}});e.model.addSubModel("tabs",l)}}}}});class eR extends eA{renderFirstTab(){var e;return(0,m.jsx)(r.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&(0,m.jsx)(ew.PageHeader,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}var eN=l(296);class eO extends D{constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Popup"),icon:"ExportOutlined"}}}eO.define({label:(0,r.tExpr)("Popup")}),eO.registerFlow(eN.g);class eB extends D{}eB.define({children:async e=>(await (0,r.buildSubModelItems)(D)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(L.record))});var eH=l(1442);class eq extends eO{getAclActionName(){return"create"}constructor(...e){super(...e),this.defaultPopupTitle=(0,r.tExpr)("Add new"),this.defaultProps={type:"primary",title:(0,r.tExpr)("Add new"),icon:"PlusOutlined"}}}eq.scene=L.collection,eq.define({label:(0,r.tExpr)("Add new"),sort:10});let eV=e=>{var t,l,o,n,i,r;let a=(null==e?void 0:e.blockModel)||(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel);return(null==a||null==(o=a.getResourceSettingsInitParams)?void 0:o.call(a))||(null==a||null==(n=a.getStepParams)?void 0:n.call(a,"resourceSettings","init"))||(null==e||null==(r=e.model)||null==(i=r.getStepParams)?void 0:i.call(r,"resourceSettings","init"))},e$=e=>{var t;return!!(null==(t=eV(e))?void 0:t.associationName)},ez=e=>{var t,l,o,n;let i=eV(e),r=(null==e||null==(t=e.blockModel)?void 0:t.association)||(null==e||null==(n=e.model)||null==(o=n.context)||null==(l=o.blockModel)?void 0:l.association),a=null==r?void 0:r.targetCollection;return{dataSourceKey:(null==a?void 0:a.dataSourceKey)||(null==i?void 0:i.dataSourceKey),collectionName:(null==a?void 0:a.name)||(null==r?void 0:r.target)||(null==i?void 0:i.collectionName)}},eK=e=>{var t,l,o,n,i,r;let a=(null==e?void 0:e.blockModel)||(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel),s=null==a?void 0:a.association,d=eV(e);return{collectionField:s,sourceId:(null==a||null==(n=a.resource)||null==(o=n.getSourceId)?void 0:o.call(n))??(null==d?void 0:d.sourceId),associatedRecords:(null==a||null==(r=a.resource)||null==(i=r.getData)?void 0:i.call(r))||[]}},eU=async(e,t,l)=>{var o;return"function"==typeof(null==e?void 0:e[t])?await e[t]({values:l}):await (null==e||null==(o=e.runAction)?void 0:o.call(e,t,{data:l}))},eG=async e=>{var t,l,o,n,i,r,a,s,d,u,c,p;let m=(null==e||null==(t=e.blockModel)?void 0:t.resource)||(null==e?void 0:e.resource),h=(null==e||null==(l=e.blockModel)?void 0:l.collection)||(null==e?void 0:e.collection);if(!e$(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!m){null==(u=e.message)||null==(d=u.error)||d.call(u,e.t("No resource selected for disassociation"));return}if(!e.record){null==(p=e.message)||null==(c=p.error)||c.call(p,e.t("No record selected for disassociation"));return}let f=null==h||null==(o=h.getFilterByTK)?void 0:o.call(h,e.record);await eU(m,"remove",[f]),await (null==(n=m.refresh)?void 0:n.call(m)),null==(r=e.message)||null==(i=r.success)||i.call(r,e.t("Record disassociated successfully"))},eJ=async(e,t)=>{var l,o,n,i,r,a,s,d,u,c,p;let m=(null==e||null==(l=e.blockModel)?void 0:l.resource)||(null==e?void 0:e.resource),h=(null==e||null==(o=e.blockModel)?void 0:o.collection)||(null==e?void 0:e.collection);if(!e$(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!m){null==(u=e.message)||null==(d=u.error)||d.call(u,e.t("No resource selected for association"));return}if(!(null==t?void 0:t.length)){null==(p=e.message)||null==(c=p.warning)||c.call(p,e.t("Please select at least one record"));return}let f=t.map(e=>{var t;return(null==h||null==(t=h.getFilterByTK)?void 0:t.call(h,e))??e}).filter(e=>null!=e);await eU(m,"add",f),await (null==(n=m.refresh)?void 0:n.call(m)),null==(r=e.message)||null==(i=r.success)||i.call(r,e.t("Record associated successfully"))};function eW(e){let{options:t}=e,l=(0,r.useFlowViewContext)(),{data:o,loading:n}=(0,w.useRequest)(async()=>await l.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:l,skipSave:!l.flowSettingsEnabled}),{refreshDeps:[l,t]});return!n&&(null==o?void 0:o.uid)?(0,m.jsx)(r.FlowModelRenderer,{model:o,fallback:(0,m.jsx)(F,{style:{margin:16}})}):(0,m.jsx)(F,{style:{margin:16}})}function eX(e){let{model:t}=e,l=(0,r.useFlowViewContext)(),{Header:o,Footer:n,type:i}=l.view;return(0,m.jsxs)("div",{children:[(0,m.jsx)(o,{title:"dialog"===i?(0,m.jsx)("div",{style:{padding:`${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px 0`,marginBottom:-l.themeToken.marginSM,backgroundColor:"var(--colorBgLayout)"},children:l.t("Select record")}):l.t("Select record")}),(0,m.jsx)(eW,{options:{parentId:l.view.inputArgs.parentId,subKey:"associate-selector-grid",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"}}),(0,m.jsx)(n,{children:"dialog"===i?(0,m.jsx)("div",{style:{padding:`0 ${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px`},children:(0,m.jsx)(k.Button,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})}):(0,m.jsx)(k.Button,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})})]})}class eQ extends D{getAclActionName(){return"update"}async associateSelectedRows(){await eJ(this.context,this.selectedRows),this.selectedRows=[]}constructor(...e){super(...e),this.defaultPopupTitle=(0,r.tExpr)("Select record"),this.selectedRows=[],this.defaultProps={title:(0,r.tExpr)("Associate"),icon:"LinkOutlined"}}}eQ.scene=L.collection,eQ.capabilityActionName="update",eQ.define({label:(0,r.tExpr)("Associate"),sort:15,hide:e=>!e$(e)}),eQ.registerFlow({key:"associateSettings",title:(0,r.tExpr)("Associate settings"),on:"click",steps:{openSelector:{async handler(e,t){var l,o,n;let i=ez(e),r=(null==(l=e.inputArgs)?void 0:l.isMobileLayout)?"embed":(null==(o=e.inputArgs)?void 0:o.mode)||(null==t?void 0:t.mode)||"drawer",a=(null==(n=e.inputArgs)?void 0:n.size)||(null==t?void 0:t.size)||"medium",s={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}};e.model.selectedRows=[],await e.viewer.open({type:r,width:s[r][a],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:i.dataSourceKey,collectionName:i.collectionName,...eK(e),rowSelectionProps:{type:"checkbox",renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{e.model.selectedRows=l||[]}}},content:()=>(0,m.jsx)(eX,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===r?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}});class eZ extends D{getAclActionName(){return"destroy"}constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Delete"),icon:"DeleteOutlined"}}}eZ.scene=L.collection,eZ.capabilityActionName="destroyMany",eZ.define({label:(0,r.tExpr)("Delete")}),eZ.registerFlow({key:"deleteSettings",title:(0,r.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,r.tExpr)("Delete record"),content:(0,r.tExpr)("Are you sure you want to delete it?")}},delete:{async handler(e,t){var l;if(!(null==(l=e.blockModel)?void 0:l.resource))return void e.message.error(e.t("No resource selected for deletion"));let o=e.blockModel.resource;0===o.getSelectedRows().length?e.message.warning(e.t("Please select at least one record to delete")):(await o.destroy(e.blockModel.collection.getFilterByTK(o.getSelectedRows())),e.message.success(e.t("Selected records deleted successfully")))}}}});class e0 extends D{getAclActionName(){return"destroy"}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,r.tExpr)("Delete"),icon:"DeleteOutlined"}}}e0.scene=L.record,e0.define({label:(0,r.tExpr)("Delete"),sort:60}),e0.registerFlow({key:"deleteSettings",title:(0,r.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,r.tExpr)("Delete record"),content:(0,r.tExpr)("Are you sure you want to delete it?")}},delete:{async handler(e,t){e.resource?e.record?(await e.resource.destroy(e.blockModel.collection.getFilterByTK(e.record)),e.message.success(e.t("Record deleted successfully"))):e.message.error(e.t("No resource or record selected for deletion")):e.message.error(e.t("No resource selected for deletion"))}}}});class e1 extends D{getAclActionName(){return"update"}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,r.tExpr)("Disassociate"),icon:"DisconnectOutlined"}}}e1.scene=L.record,e1.capabilityActionName="update",e1.define({label:(0,r.tExpr)("Disassociate"),sort:65,hide:e=>!e$(e)}),e1.registerFlow({key:"disassociateSettings",title:(0,r.tExpr)("Disassociate settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,r.tExpr)("Disassociate record"),content:(0,r.tExpr)("Are you sure you want to disassociate it?")}},disassociate:{async handler(e){await eG(e)}}}});class e2 extends eO{getAclActionName(){return"update"}constructor(...e){super(...e),this.defaultPopupTitle=(0,r.tExpr)("Edit"),this.defaultProps={title:(0,r.tExpr)("Edit"),icon:"EditOutlined"}}}e2.scene=L.record,e2.define({label:(0,r.tExpr)("Edit"),sort:20});var e5=l(8442);class e4 extends D{getIgnoreFieldNames(){var e;if(this.map.has(this.props.filterableFieldNames))return this.map.get(this.props.filterableFieldNames);let t=(null==(e=this.context.blockModel.collection)?void 0:e.getFields())||[],l=e3(this.props.filterableFieldNames||[],t.map(e=>e.name));return this.map.set(this.props.filterableFieldNames,l),l}render(){return this.context.isMobileLayout?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(r.MobilePopup,{title:this.context.t("Filter"),visible:this.props.open,onClose:()=>{this.setProps("open",!1)},children:(0,m.jsxs)("div",{style:{padding:this.context.themeToken.paddingMD,backgroundColor:this.context.themeToken.colorBgContainer},children:[(0,m.jsx)(e5.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames()})}),(0,m.jsx)("div",{style:{height:150}})]})}),super.render()]}):(0,m.jsx)(k.Popover,{open:this.props.open,content:(0,m.jsx)(e5.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames()})}),trigger:"click",placement:"bottomLeft",onOpenChange:e=>{!1===e&&this.setProps("open",void 0)},children:super.render()})}constructor(...e){super(...e),this.map=new WeakMap,this.defaultProps={type:"default",title:(0,r.tExpr)("Filter"),icon:"FilterOutlined",filterValue:{logic:"$and",items:[]}}}}function e8(e){for(var t,l=arguments.length,o=Array(l>1?l-1:0),n=1;n<l;n++)o[n-1]=arguments[n];return((null==e||null==(t=e.getFields)?void 0:t.call(e))||[]).filter(e=>{if(!(null==e?void 0:e.interface)||(null==e?void 0:e.filterable)===!1)return!1;let t=(0,a.w6)(e.interface,...o);return!!(null==t?void 0:t.filterable)})}function e3(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}e4.scene="collection",e4.define({label:(0,r.tExpr)("Filter"),toggleable:!0,sort:5}),e4.registerFlow({key:"filterSettings",title:(0,r.tExpr)("Filter settings"),steps:{position:{handler(e,t){e.model.setProps("position",t.position||"left")}},filterableFieldNames:{title:(0,r.tExpr)("Filterable fields"),uiSchema:{filterableFieldNames:{type:"array","x-decorator":"FormItem","x-component":e=>{var t;let{model:l}=(0,r.useFlowSettingsContext)(),o=e8(l.context.blockModel.collection,l.context.dataSourceManager,null==(t=l.context.app)?void 0:t.dataSourceManager).map(e=>({key:e.name,title:e.title}));return(0,m.jsx)(k.Transfer,{...e,dataSource:o,targetKeys:e.value||[],onChange:t=>{var l;return null==(l=e.onChange)?void 0:l.call(e,t)},render:e=>e.title})},"x-component-props":{showSearch:!0,listStyle:{width:280,height:360}}}},defaultParams(e){var t,l,o,n,i;return{filterableFieldNames:e8(e.blockModel.collection,null==(l=e.model)||null==(t=l.context)?void 0:t.dataSourceManager,null==(i=e.model)||null==(n=i.context)||null==(o=n.app)?void 0:o.dataSourceManager).map(e=>e.name)||[]}},handler(e,t){e.model.setProps("filterableFieldNames",t.filterableFieldNames)}},defaultFilter:{title:(0,r.tExpr)("Default filter conditions"),uiSchema:{defaultFilter:{type:"object","x-decorator":"FormItem","x-component":e=>{let{model:t}=(0,r.useFlowSettingsContext)();return(0,m.jsx)(f.I8,{value:e.value||{},FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:t})})}}},defaultParams:e=>({defaultFilter:e.model.defaultProps.filterValue}),handler(e,t){e.model.setProps("defaultFilterValue",g.default.cloneDeep(t.defaultFilter)),e.model.setProps("filterValue",g.default.cloneDeep(t.defaultFilter))}}}}),e4.registerFlow({key:"submitSettings",on:"submit",steps:{submit:{handler(e,t){let l=e.blockModel,o=null==l?void 0:l.resource;if(!l||!o)return;let n=(0,d.transformFilter)(e.model.props.filterValue),i=!(0,d.isEmptyFilter)(n);l.setFilterActive(e.model.uid,i),i?(o.addFilterGroup(e.model.uid,n),o.setPage(1)):o.removeFilterGroup(e.model.uid),"manual"!==l.getDataLoadingMode()||i||l.hasActiveFilters()?o.refresh():(o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1),e.model.setProps("open",!1)}}}}),e4.registerFlow({key:"resetSettings",title:(0,r.tExpr)("Reset"),on:"reset",steps:{reset:{handler(e,t){let l=e.blockModel,o=null==l?void 0:l.resource;if(!l||!o)return;o.removeFilterGroup(e.model.uid),l.setFilterActive(e.model.uid,!1);let n=l.getDataLoadingMode(),i=e.model.props.defaultFilterValue,r=!(0,d.isEmptyFilter)((0,d.transformFilter)(i));"manual"!==n||r||l.hasActiveFilters()?(r&&(o.addFilterGroup(e.model.uid,(0,d.transformFilter)(i)),l.setFilterActive(e.model.uid,!0),o.setPage(1)),o.refresh()):(o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1),e.model.setProps("open",!1),e.model.setProps("filterValue",g.default.cloneDeep(i))}}}}),e4.registerFlow({key:"openSettings",on:"click",steps:{open:{handler(e,t){e.model.setProps("open",!e.model.props.open)}}}});var e6=l(9253);function e9(e,t){var l;let o=(null==(l=e.inputArgs)?void 0:l.preview)||{},n=(null==o?void 0:o.version)??(null==t?void 0:t.version)??"v1";return{code:("string"==typeof(null==o?void 0:o.code)?o.code:void 0)??(null==t?void 0:t.code)??"",version:n}}class e7 extends D{constructor(...e){super(...e),this.defaultProps={type:"default",title:(0,r.tExpr)("JS action"),icon:"JavaScriptOutlined"}}}e7.define({label:(0,r.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSActionModel"}}),e7.registerFlow({key:"clickSettings",on:"click",title:(0,r.tExpr)("Click settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":e6.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
265
+ ${n}`,u)}}let o=T(e.issues.filter(e=>"runtime"===e.type)),n=o?`Key runtime issue: ${I(o)}`:"",i=["RunJS preview output was truncated.",t,e.execution?j(e.execution):void 0,n||void 0].filter(Boolean).join("\n").trim();return i.length<=u?i:L(i,u-1)+"\n"}function E(e){return Y(e)}async function R(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o="string"==typeof e?e:String(e??""),n=[],i=[],r=null==l?void 0:l.version,a=(0,s.shouldPreprocessRunJSTemplates)({version:r});i.push(...C(o)),i.push(...A(o));let d="u">typeof performance&&"function"==typeof performance.now?performance.now():Date.now(),u={started:!1,finished:!1,timeout:!1,durationMs:void 0};try{u.started=!0;let{consoleCapture:e,loggerCapture:l}=P(n),d={console:e};try{if("u">typeof window){let e=(0,s.createSafeNavigator)();d.navigator=e,d.window=(0,s.createSafeWindow)({navigator:e}),d.document=(0,s.createSafeDocument)()}}catch(e){}let p=o;try{p=await (0,s.prepareRunJsCode)(o,{preprocessTemplates:a})}catch(o){let e=String((null==o?void 0:o.name)||""),t=v((null==o?void 0:o.message)||o),l=o instanceof SyntaxError||/^SyntaxError\b/i.test(e)||/SyntaxError\b/i.test(t);return i.push({type:"runtime",ruleId:l?"preview-start-failed":"internal",message:l?t:`Preview internal failure: ${t}`,stack:M(o)}),u.finished=!0,u.timeout=!1,{issues:k(i),logs:n,execution:u}}let m=await t.createJSRunner({globals:d,timeoutMs:c,version:r});m.globals.ctx.defineProperty("logger",{value:l});let h=await m.run(p);if(u.finished=!0,u.timeout=!!(null==h?void 0:h.timeout),!(null==h?void 0:h.success)){let e=null==h?void 0:h.error,t=(null==h?void 0:h.timeout)?"Execution timed out":v((null==e?void 0:e.message)||e||"Unknown error"),l=e instanceof SyntaxError||/^SyntaxError\b/i.test(String((null==e?void 0:e.name)||""));i.push({type:"runtime",ruleId:(null==h?void 0:h.timeout)?"timeout":l?"preview-start-failed":"runtime-error",message:t,stack:M(e)})}}catch(e){u.finished=!0,u.timeout=!1,i.push({type:"runtime",ruleId:"internal",message:`Preview internal failure: ${v((null==e?void 0:e.message)||e)}`,stack:M(e)})}finally{let e=Math.max(0,("u">typeof performance&&"function"==typeof performance.now?performance.now():Date.now())-d);u.durationMs=Number.isFinite(e)?e:void 0}return{issues:k(i),logs:n,execution:u}}function N(e){let t=new s.FlowContext;if(t.addDelegate(e),"u">typeof document&&"function"==typeof document.createElement&&!e.element)try{let e=document.createElement("div");t.defineProperty("element",{value:e})}catch(e){}return t}async function O(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=N(t),n=await R(e,o,l),i=0===n.issues.length,r=E(n);return{success:i,message:r.length>u?L(r,u):r}}},8442(e,t,l){l.d(t,{a:()=>r});var o=l(1178),n=l(2793);l(1649);var i=l(5886);let r=(0,l(504).observer)(e=>{var t;let{value:l,FilterItem:r,ctx:a}=e;l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let s=()=>{var e;(null==a||null==(e=a.model)?void 0:e.dispatchEvent)&&a.model.dispatchEvent("reset")},d=()=>{var e;(null==a||null==(e=a.model)?void 0:e.dispatchEvent)&&a.model.dispatchEvent("submit")},u=(null==a||null==(t=a.model)?void 0:t.translate)||(e=>e);return(0,o.jsxs)("form",{onSubmit:e=>{e.preventDefault(),d()},children:[(0,o.jsx)(i.I,{value:l,FilterItem:r}),(0,o.jsxs)(n.Space,{style:{width:"100%",display:"flex",justifyContent:"flex-end"},children:[(0,o.jsx)(n.Button,{htmlType:"button",onClick:s,children:u("Reset")}),(0,o.jsx)(n.Button,{type:"primary",htmlType:"submit",children:u("Submit")})]})]})},{displayName:"FilterContent"})},5886(e,t,l){l.d(t,{I:()=>c});var o=l(1178),n=l(2113),i=l(2793),r=l(7843);l(1649);var a=l(504);let s=new WeakMap,d=0,u=e=>{let t=s.get(e);return t||(d+=1,t=`filter-item-${d}`,s.set(e,t)),t},c=(0,a.observer)(e=>{let{token:t}=i.theme.useToken(),{value:l={logic:"$and",items:[]},FilterItem:a,showBorder:s=!1,onRemove:d,onChange:p,closeIcon:m=(0,o.jsx)(n.CloseCircleOutlined,{style:{color:t.colorIcon}})}=e,{t:h}=(0,r.useTranslation)();l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let{logic:f,items:g}=l,v=s?{position:"relative",border:`1px dashed ${t.colorBorder}`,padding:t.paddingSM,marginBottom:t.marginXS,borderRadius:t.borderRadius}:{position:"relative",marginBottom:t.marginXS},y=e=>{l.logic=e,null==p||p(l)},_=()=>{g.push({path:"",operator:"",value:""}),null==p||p(l)},b=()=>{g.push({logic:"$and",items:[]}),null==p||p(l)},x=e=>{g.splice(e,1),null==p||p(l)},M=e=>"path"in e||"operator"in e||"value"in e,w=e=>"logic"in e&&"items"in e;return(0,o.jsxs)("div",{style:v,children:[s&&d&&(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{position:"absolute",right:10,top:10,cursor:"pointer",background:"transparent",border:0,padding:0},onClick:d,children:m}),(0,o.jsx)("div",{style:{marginBottom:8,color:t.colorText},children:(0,o.jsxs)("span",{children:[h("Meet")," ",(0,o.jsxs)(i.Select,{"data-testid":"filter-select-all-or-any",style:{width:"auto"},value:f,onChange:y,children:[(0,o.jsx)(i.Select.Option,{value:"$and",children:h("All")}),(0,o.jsx)(i.Select.Option,{value:"$or",children:h("Any")})]})," ",h("conditions in the group")]})}),(0,o.jsx)("div",{children:g.map((e,n)=>w(e)?(0,o.jsx)(c,{value:e,FilterItem:a,showBorder:!0,onRemove:()=>x(n),onChange:e=>{g[n]=e,null==p||p(l)}},u(e)):M(e)?a?(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsx)(a,{value:e}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)):(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsxs)("span",{children:[e.path," ",e.operator," ",String(e.value)]}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)):(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsx)("span",{style:{color:t.colorTextTertiary},children:"Invalid filter item"}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)))}),(0,o.jsxs)(i.Space,{size:16,style:{marginTop:8,marginBottom:8},children:[(0,o.jsx)(i.Button,{style:{padding:0},type:"link",size:"small",icon:(0,o.jsx)(n.PlusOutlined,{}),onClick:_,children:h("Add condition")}),(0,o.jsx)(i.Button,{style:{padding:0},type:"link",size:"small",icon:(0,o.jsx)(n.PlusOutlined,{}),onClick:b,children:h("Add condition group")})]})]})},{displayName:"FilterGroup"})},9215(e,t,l){l.d(t,{Ru:()=>j,I8:()=>n.I,qi:()=>c,oJ:()=>o.a,Et:()=>M});var o=l(8442),n=l(5886),i=l(1178),r=l(504),a=l(2793),s=l(1649);let d=(e,t,l,o)=>e.map(e=>u(e,t,l,o)).filter(Boolean),u=(e,t,l,o)=>{var n;if(l.length&&1===t&&l.includes(e.name)||!e.interface||!1===e.filterable)return;let i=e.getInterfaceOptions();if(!(null==i?void 0:i.filterable))return;let{nested:r,children:a,operators:s}=i.filterable,u={name:e.name,type:e.type,target:e.target,title:o(e.title),schema:null==e?void 0:e.uiSchema,operators:((null==s||null==(n=s.filter)?void 0:n.call(s,t=>!(null==t?void 0:t.visible)||t.visible(e)))||[]).map(e=>({...e,label:o(e.label)}))};if(!e.target||!(t>2)){if(t>2)return u;if((null==a?void 0:a.length)&&(u.children=a),r){let n=d(e.getFields().filter(e=>"attachments"!==e.target&&"formula"!==e.interface),t+1,l,o).filter(Boolean);u.children=u.children||[],u.children.push(...n)}return u}},c=(0,r.observer)(e=>{var t;let{path:l,operator:o,value:n}=e.value,r=e.model,u=(null==(t=r.context.blockModel.collection)?void 0:t.getFields().filter(e=>"attachments"!==e.target))||[],c=p(r.props.filterableFieldNames||[],u.map(e=>e.name)),m=r.translate,h=d(u.filter(e=>"attachments"!==e.target&&"formula"!==e.interface&&!["belongsTo","belongsToMany","hasOne","hasMany","oho","obo","m2o","o2m","m2m"].includes(e.type)),1,e.noIgnore?[]:c,m).filter(Boolean),f=(0,s.useMemo)(()=>{let e=h.find(e=>e.name===l);return(null==e?void 0:e.operators)||[]},[h,l]),g=t=>{var l;e.value.path=t;let o=h.find(e=>e.name===t);(null==o||null==(l=o.operators)?void 0:l.length)>0?e.value.operator=o.operators[0].value:e.value.operator="",e.value.value=""},v=t=>{e.value.operator=t},y=t=>{e.value.value=t.target.value};return(0,i.jsxs)(a.Space,{children:[(0,i.jsx)(a.Select,{style:{width:200},placeholder:m("Select field"),value:l||void 0,onChange:g,children:h.map(e=>(0,i.jsx)(a.Select.Option,{value:e.name,children:e.title},e.name))}),(0,i.jsx)(a.Select,{style:{width:120},placeholder:m("Select operator"),value:o||void 0,onChange:v,disabled:!l||0===f.length,children:f.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),(0,i.jsx)(a.Input,{style:{width:200},placeholder:m("Enter value"),value:n,onChange:y})]})},{displayName:"FilterItem"});function p(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}var m=l(6305),h=l(7583),f=l(6220),g=l(7309),v=l(7720);let{DateFilterDynamicComponent:y}=(0,m.RZ)(()=>Promise.resolve().then(l.bind(l,6832)),"DateFilterDynamicComponent");async function _(e){var t,l,o,n;let i=async e=>Array.isArray(e)?e:"function"==typeof e?await e():[];if(null==(l=e.getPropertyOptions)||null==(t=l.call(e,"collection"))?void 0:t.meta){let t=null==(n=e.getPropertyMetaTree)?void 0:n.call(e,"{{ ctx.collection }}");return await i(t)}let a=()=>(null==e?void 0:e.collection)??null,s=await (0,r.createEphemeralContext)(e,{defineProperties:{collection:{get:a,meta:(0,r.createCollectionContextMeta)(a,"Current collection")}}}),d=null==(o=s.getPropertyMetaTree)?void 0:o.call(s,"{{ ctx.collection }}");return await i(d)}function b(e,t,l,o){var n;let r=null==e?void 0:e["x-component"],s=(null==t||null==(n=t.uiSchema)?void 0:n["x-component-props"])||{},d=(null==e?void 0:e["x-component-props"])||{},u=(0,__rspack_external_lodash_merge_8f812c65.default)({},s,d),c=(0,g.di)(null==e?void 0:e.enum,l)||[],p={style:{width:200,...(null==u?void 0:u.style)||{}},placeholder:(null==u?void 0:u.placeholder)||l("Enter value"),...u},m=e=>{if("number"==typeof e||(null==u?void 0:u.stringMode)===!0&&"string"==typeof e)return e};return e=>{let{value:t,onChange:l,...n}=e||{};if("InputNumber"===r)return(0,i.jsx)(a.InputNumber,{...p,...n,value:m(t),onChange:e=>null==l?void 0:l(e)});if("NumberPicker"===r)return(0,i.jsx)(f.NumberPicker,{...p,...n,value:m(t),onChange:e=>null==l?void 0:l(e)});if("Switch"===r)return(0,i.jsx)(a.Switch,{...p,...n,checked:!!t,onChange:e=>null==l?void 0:l(e)});if("Select"===r)return(0,i.jsx)(a.Select,{options:c,...p,...n,value:(0,g.xO)(t,p),onChange:e=>null==l?void 0:l(e)});if("Checkbox"===r)return(0,i.jsx)(a.Checkbox,{...p,...n,checked:!!t,onChange:e=>null==l?void 0:l(e.target.checked)});if("Checkbox.Group"===r)return(0,i.jsx)(a.Checkbox.Group,{...p,...n,value:Array.isArray(t)?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Radio.Group"===r)return(0,i.jsx)(a.Radio.Group,{...p,...n,value:Array.isArray(t)||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?t:void 0,onChange:e=>null==l?void 0:l(e.target.value)});if("Cascader"===r)return(0,i.jsx)(a.Cascader,{...p,...n,value:Array.isArray(t)?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Input.TextArea"===r||"TextArea"===r)return(0,i.jsx)(a.Input.TextArea,{...p,...n,value:"string"==typeof t?t:null==t?"":String(t),onChange:e=>null==l?void 0:l(e.target.value)});if("DateFilterDynamicComponent"===r)return(0,i.jsx)(y,{...p,...n,value:t,onChange:e=>null==l?void 0:l(e)});if(r&&(null==o?void 0:o.getComponent)){let e=o.getComponent(r);if(e)return(0,i.jsx)(e,{...p,...n,value:t,onChange:e=>null==l?void 0:l(e),style:{width:200,...p.style||{},...null==n?void 0:n.style}})}return(0,i.jsx)(a.Input,{...p,...n,value:"string"==typeof t?t:null==t?"":String(t),onChange:e=>null==l?void 0:l(e.target.value)})}}function x(e){if(e&&"object"==typeof e){let l=e;if("function"==typeof l.preventDefault||l.nativeEvent||"target"in l){var t;let o=null==(t=l.target)?void 0:t.value;return void 0!==o?o:e}}return e}let M=(0,r.observer)(e=>{let{value:t,model:l,rightAsVariable:o,rightMetaTree:n,ignoreFieldNames:d}=e,u=(0,r.useFlowViewContext)(),c=l.translate,{path:p,operator:f,value:y}=t,[M,w]=(0,s.useState)(null),S=(0,s.useCallback)(e=>{var t;return(0,m.w6)(e,l.context.dataSourceManager,null==(t=l.context.app)?void 0:t.dataSourceManager)},[l]),k=(0,s.useMemo)(()=>{var e,t;if(!M)return[];let l=M.interface?S(M.interface):void 0,o=null==M||null==(e=M.uiSchema)?void 0:e["x-filter-operators"];return((Array.isArray(o)&&o.length?o:null==l||null==(t=l.filterable)?void 0:t.operators)||[]).filter(e=>!e.visible||e.visible(M))},[S,M]);(0,s.useEffect)(()=>{if(!k.length)return;let e=h.default.find(k,e=>e.value===t.operator);if(e)t.noValue=!!e.noValue;else{let e=k[0];t.operator=e.value,t.value=!!e.noValue||void 0,t.noValue=!!e.noValue}},[k,t]);let F=(0,s.useMemo)(()=>k.map(e=>({value:e.value,label:"string"==typeof e.label?c(e.label):e.label})),[k,c]),C=(0,s.useCallback)((e,l)=>{let o=t.path||"",n=e||"",i=n!==o;t.path=n,i&&o&&(t.operator="",t.value=void 0,t.noValue=!1),l&&w(l)},[t]),A=(0,s.useMemo)(()=>({resolveValueFromPath:e=>(w(e),(null==e?void 0:e.paths.slice(1).join("."))||null),resolvePathFromValue(e){if(null==e)return;let t=String(e).trim();if(t)return["collection",...t.split(".")]}}),[]),P=(0,s.useCallback)(e=>{t.operator=e;let l=k.find(t=>t.value===e);(null==l?void 0:l.noValue)?(t.value=!0,t.noValue=!0):(t.value=void 0,t.noValue=!1)},[k,t]),T=(0,s.useMemo)(()=>k.find(e=>e.value===f),[k,f]),I=(0,s.useCallback)(e=>{var t,l;return(null==e||null==(t=e.options)?void 0:t.dataType)||(null==e?void 0:e.dataType)||(null==e?void 0:e.type)||(null==e||null==(l=e.uiSchema)?void 0:l.type)||"double"},[]),j=(0,s.useCallback)(e=>{switch(e){case"boolean":return"Switch";case"date":return"DateFilterDynamicComponent";case"integer":case"bigInt":case"double":case"decimal":case"number":return"InputNumber";default:return"Input"}},[]),L=(0,s.useMemo)(()=>{let e=(null==M?void 0:M.uiSchema)||{},t=(null==T?void 0:T.schema)||{},l=(0,__rspack_external_lodash_merge_8f812c65.default)({},e,t);if((null==M?void 0:M.interface)==="formula"){let e={"x-read-pretty":!1,"x-component":j(I(M)),"x-component-props":{...l["x-component-props"]}};return(0,__rspack_external_lodash_merge_8f812c65.default)({},l,e)}return l},[M,T,j,I]),D=s.default.useRef(null==L?void 0:L["x-component"]),Y=null==L?void 0:L["x-component"],E=(0,s.useMemo)(()=>{let e=D.current;D.current=Y;let l=void 0!==e&&e!==Y;if(null==T?void 0:T.noValue)return y;if(l&&null!=y){t.value=void 0;return}return y},[Y,y,t,T]),R=(0,s.useCallback)(e=>{t.value=x(e)},[t]),N=s.default.useRef(c);s.default.useEffect(()=>{N.current=c},[c]);let O=s.default.useCallback(e=>{var t;return(null==(t=N.current)?void 0:t.call(N,e))??e},[]),B=(0,s.useMemo)(()=>(0,g.di)(null==L?void 0:L.enum,O)||[],[L,O]),H=(0,s.useMemo)(()=>b(L,M,O,l.context.app),[L,M,O,l.context.app]),q=(0,s.useCallback)(()=>{let e=(0,v._)(l.context.app,f,k),t="$in"===f||"$notIn"===f;if(e&&t){let{Comp:t,props:l}=e,o={...l};(!(null==o?void 0:o.options)||(null==o?void 0:o.options.length)===0)&&(null==B?void 0:B.length)&&(o.options=B);let n={flex:"1 1 40%",minWidth:160,maxWidth:"100%",...(null==o?void 0:o.style)||{}},r=Array.isArray(E)&&E.every(e=>"string"==typeof e||"number"==typeof e)?E:"string"==typeof E?E.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[];return(0,i.jsx)("div",{style:n,children:(0,i.jsx)(t,{...o,style:{width:"100%",...(null==o?void 0:o.style)||{}},value:r,onChange:e=>R(e)})})}let o=H;return(0,i.jsx)("div",{style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},children:(0,i.jsx)(o,{value:E,onChange:e=>R(e)})})},[f,k,E,H,l.context.app,R,B]),V=(0,s.useMemo)(()=>function(){return(0,i.jsx)(a.Input,{placeholder:`<${c("Null")}>`,readOnly:!0})},[c]),$=(0,s.useMemo)(()=>async()=>{let e="function"==typeof n?await n():n??u.getPropertyMetaTree(),t=Array.isArray(e)?e:await e();return[{title:c("Constant"),name:"constant",type:"string",paths:["constant"],render:H},{title:c("Null"),name:"null",type:"object",paths:["null"],render:V},...t]},[n,u,H,V,c]),z=(0,s.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?H:"null"===l?V:null},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:void 0},resolvePathFromValue:e=>{if(null===e)return["null"];let t="string"==typeof e?(0,r.parseValueToPath)(e):void 0;return t||["constant"]}}),[V,H]),K=(0,s.useMemo)(()=>async()=>{let e=await _(l.context),t=async e=>{let t=e.interface?S(e.interface):void 0,o=[],n=null==t?void 0:t.filterable,i=null==n?void 0:n.children;if(Array.isArray(i)&&i.length)for(let t of i){var r,a,s;let n=t.title||t.name,i=(null==(r=l.context)?void 0:r.t)?l.context.t(n):n;o.push({name:t.name,title:i,type:(null==(a=t.schema)?void 0:a.type)||"string",interface:(null==(s=t.schema)?void 0:s["x-component"])==="Select"?"select":"input",uiSchema:{...t.schema||{},"x-filter-operators":t.operators},paths:[...e.paths||[],t.name],parentTitles:[...e.parentTitles||[],e.title]})}if("function"==typeof e.children){let t=e.children;return{...e,children:async()=>{let e=await t(),l=[...Array.isArray(e)?e:[],...o];return h.default.uniqBy(l,"name")}}}let d=[...Array.isArray(e.children)?e.children:[],...o];return{...e,children:d.length?d:e.children}},o=[];for(let l of e)o.push(await t(l));return o},[S,l]);return(0,i.jsxs)(a.Space,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:p,metaTree:K,onChange:C,converters:A,showValueComponent:!1,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},onlyLeafSelectable:!0,placeholder:c("Select field"),ignoreFieldNames:d}),(0,i.jsx)(a.Select,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:c("Comparison"),value:f||void 0,onChange:P,children:F.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),!(null==T?void 0:T.noValue)&&(o?(0,i.jsx)(r.VariableInput,{value:E,onChange:e=>R(e),metaTree:$,converters:z,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:c("Enter value")}):q())]})});var w=l(1793);let{DateFilterDynamicComponent:S}=(0,m.RZ)(()=>Promise.resolve().then(l.bind(l,6832)),"DateFilterDynamicComponent");function k(e,t,l){var o,n,r;let s=null==e?void 0:e["x-component"],d=(null==t||null==(o=t.uiSchema)?void 0:o["x-component-props"])||{},u=(null==e?void 0:e["x-component-props"])||{},c=(0,__rspack_external_lodash_merge_8f812c65.default)({},d,u),p=Array.isArray(null==t||null==(n=t.uiSchema)?void 0:n.enum)?null==t||null==(r=t.uiSchema)?void 0:r.enum:void 0,m=(0,g.di)(p,l),h={style:{width:200,...(null==c?void 0:c.style)||{}},placeholder:(null==c?void 0:c.placeholder)||l("Enter value"),...c};return e=>{let{value:t,onChange:o,...n}=e||{};if("InputNumber"===s)return(0,i.jsx)(a.InputNumber,{...h,...n,value:t,onChange:o});if("NumberPicker"===s)return(0,i.jsx)(f.NumberPicker,{...h,...n,value:t,onChange:o});if("Switch"===s)return(0,i.jsx)(a.Switch,{...h,...n,checked:!!t,onChange:o});if("Select"===s){let e=h;return Array.isArray(null==e?void 0:e.options)&&e.options.length>0?e={...e,options:(0,g.ZY)(e.options,l)}:m&&(e={...e,options:m}),(0,i.jsx)(a.Select,{...e,...n,value:(0,g.xO)(t,e),onChange:o})}return"DateFilterDynamicComponent"===s?(0,i.jsx)(S,{...h,...n,value:t,onChange:o}):(0,i.jsx)(a.Input,{...h,...n,value:t,onChange:e=>{var t;return null==o?void 0:o(null==e||null==(t=e.target)?void 0:t.value)}})}}let F=[{value:"$includes",label:"contains",selected:!0},{value:"$notIncludes",label:"does not contain"},{value:"$eq",label:"is"},{value:"$ne",label:"is not"},{value:"$empty",label:"is empty",noValue:!0},{value:"$notEmpty",label:"is not empty",noValue:!0}],C=new Set(["$in","$notIn"]);function A(e,t){let l=Array.isArray(e)?e:[],o=Array.isArray(t)?t:[];if(!o.length)return l;let n=o.find(e=>(null==e?void 0:e.name)==="item");if(!n)return[...o,...l];let i=(0,w.mD)(l,[n]);return[...o.filter(e=>(null==e?void 0:e.name)!=="item"),...i]}function P(e,t){var l,o;return{name:t.name,title:t.title||t.name,type:(null==(l=t.schema)?void 0:l.type)||"string",interface:(null==(o=t.schema)?void 0:o["x-component"])==="Select"?"select":"input",uiSchema:{...t.schema||{},"x-filter-operators":t.operators},paths:[...e.paths||[],t.name],parentTitles:[...e.parentTitles||[],e.title]}}async function T(e,t){var l,o;let n=e.interface&&t?t(e.interface):void 0,i=(Array.isArray(null==n||null==(l=n.filterable)?void 0:l.children)?null==n||null==(o=n.filterable)?void 0:o.children:[]).map(t=>P(e,t)),r=async e=>{let l=[...await Promise.all(e.map(e=>T(e,t))),...i];return(0,__rspack_external_lodash_uniqBy_85106929.default)(l,e=>e.name)};if("function"==typeof e.children){let t=e.children;return{...e,children:async()=>{let e=await t(),l=Array.isArray(e)?e:[];return await r(l)}}}return Array.isArray(e.children)?{...e,children:await r(e.children)}:i.length?{...e,children:i}:e}async function I(e,t){let l=Array.isArray(e)?e:[];return await Promise.all(l.map(e=>T(e,t)))}let j=(0,r.observer)(e=>{var t;let{value:l,model:o,extraMetaTree:n}=e,d=(0,r.useFlowViewContext)(),u=o.translate,{path:c,operator:p,value:h}=l||{},[f,y]=(0,s.useState)(null),_=(0,s.useRef)(!1),b=(0,s.useMemo)(()=>{if(f){var e,t,l;let n=f.interface?(0,m.w6)(f.interface,o.context.dataSourceManager,null==(e=o.context.app)?void 0:e.dataSourceManager):void 0,i=null==f||null==(t=f.uiSchema)?void 0:t["x-filter-operators"];return((Array.isArray(i)&&i.length?i:null==n||null==(l=n.filterable)?void 0:l.operators)||F).filter(e=>!e.visible||e.visible(f)).map(e=>({value:e.value,label:e.label,noValue:!!e.noValue,schema:e.schema,selected:!!e.selected}))}return[]},[f,o]),x=(0,s.useMemo)(()=>b.map(e=>({value:e.value,label:"string"==typeof e.label?u(e.label):e.label})),[b,u]);(0,s.useEffect)(()=>{if(0!==b.length){if(!p){if(_.current){let e=b.find(e=>e.selected)||b[0];l.operator=(null==e?void 0:e.value)||"",(null==e?void 0:e.noValue)?(l.value=!0,l.noValue=!0):l.noValue=!1,_.current=!1}return}if(!b.some(e=>e.value===p)){let e=b.find(e=>e.selected)||b[0];l.operator=(null==e?void 0:e.value)||"",(null==e?void 0:e.noValue)?(l.value=!0,l.noValue=!0):l.noValue=!1}}},[b,p,l]);let M=(0,s.useMemo)(()=>b.find(e=>e.value===p),[b,p]),w=(0,s.useMemo)(()=>{let e=(null==f?void 0:f.uiSchema)||{},t=(null==M?void 0:M.schema)||{};return(0,__rspack_external_lodash_merge_8f812c65.default)({},e,t)},[f,M]),S=(0,s.useRef)(u);(0,s.useEffect)(()=>{S.current=u},[u]);let P=(0,s.useCallback)(e=>{var t;return(null==(t=S.current)?void 0:t.call(S,e))??e},[]),T=(0,s.useMemo)(()=>k(w,f,P),[w,f,P]),j=(0,s.useMemo)(()=>(0,g.di)(null==w?void 0:w.enum,P)||[],[w,P]),L=(0,s.useMemo)(()=>{let e=(0,v._)(o.context.app,p,b),t=C.has(p);if(!e||!t)return T;let{Comp:l,props:n}=e;return e=>{let{value:t,onChange:o,...r}=e||{},a={...n};(null==a?void 0:a.options)&&(null==a?void 0:a.options.length)!==0||!(j.length>0)||(a.options=j);let s=Array.isArray(t)?t:"string"==typeof t?t.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[];return(0,i.jsx)(l,{...a,...r,value:s,onChange:o,style:{width:200,...(null==a?void 0:a.style)||{},...(null==r?void 0:r.style)||{}}})}},[j,o.context.app,b,p,T]),D=(0,s.useMemo)(()=>function(){return(0,i.jsx)(a.Input,{placeholder:`<${u("Null")}>`,readOnly:!0})},[u]),Y=(0,s.useMemo)(()=>async()=>{let e=A((null==o?void 0:o.context.getPropertyMetaTree())||d.getPropertyMetaTree(),n);return[{title:u("Constant"),name:"constant",type:"string",paths:["constant"]},{title:u("Null"),name:"null",type:"object",paths:["null"]},...e]},[d,o,u,n]),E=(0,s.useCallback)(async()=>{var e,t;let l=(null==o||null==(t=o.context)||null==(e=t.getPropertyMetaTree)?void 0:e.call(t))||d.getPropertyMetaTree(),i=A(Array.isArray(l)?l:[],n),r=e=>{var t;return(0,m.w6)(e,o.context.dataSourceManager,null==(t=o.context.app)?void 0:t.dataSourceManager)};return await I(i,r)},[d,o,n]),R=(0,s.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?L:"null"===l?D:null},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:void 0},resolvePathFromValue:e=>{if(null===e)return["null"];let t=(0,r.parseValueToPath)(e);return t||["constant"]}}),[D,L]),N=(0,s.useCallback)((e,t)=>{let o=l.path||"",n=e||"",i=n!==o;l.path=n,i&&o&&(l.operator="",l.value="",_.current=!0),o||!n||l.operator||(_.current=!0),t&&y(t)},[l]),O=(0,s.useCallback)(e=>{let t=l.operator;l.operator=e;let o=b.find(t=>t.value===e);(null==o?void 0:o.noValue)?(l.value=!0,l.noValue=!0):(C.has(t)&&!C.has(e)&&Array.isArray(l.value)&&(l.value=l.value.join("\n")),l.noValue=!1)},[l,b]);return(0,i.jsxs)(a.Space,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:c,onChange:N,metaTree:E,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:u("Select variable"),onlyLeafSelectable:!0}),(0,i.jsx)(a.Select,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:u("Comparison"),value:p||void 0,onChange:O,children:x.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),!(null==(t=b.find(e=>e.value===p))?void 0:t.noValue)&&(0,i.jsx)(r.VariableInput,{value:h,onChange:e=>l.value=e,metaTree:Y,converters:R,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:u("Enter value"),clearValue:""})]})})},8563(e,t,l){l.d(t,{b2:()=>n.b,tn:()=>o.t,S5:()=>n.S});var o=l(8804);l(1178),l(8533),l(8198),l(504),l(1649),l(7326),l(8102);var n=l(5026);l(9253),l(4244)},296(e,t,l){l.d(t,{g:()=>n,k:()=>i});var o=l(504);let n=(0,o.defineFlow)({key:"popupSettings",title:(0,o.tExpr)("Popup settings"),on:"click",sort:300,steps:{openView:{use:"openView",hideInSettings:async e=>{var t,l,o,n;let i=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return!!e.collectionField&&(void 0===i?!(null==(n=e.collectionField)?void 0:n.isAssociationField())||e.disableFieldClickToOpen:!1===i)}}},defaultParams:e=>{var t,l,o,n,i,r,a,s;let d,u,c,p=e.collectionField,m=e.blockModel,h=null==(l=e.model)||null==(t=l.parent)?void 0:t.associationPathName,f=e.collection||(null==m?void 0:m.collection),g=e=>{var t;return!!(null==e||null==(t=e.isAssociationField)?void 0:t.call(e))},v=!g(p)&&h?null==f||null==(o=f.getFieldByPath)?void 0:o.call(f,h):void 0,y=g(p)?p:v;if(g(y)){let e=y.targetCollection;null==m||m.collection,d=null==e?void 0:e.name,u=null==e?void 0:e.dataSourceKey,c=null==y?void 0:y.resourceName}else p?(d=null==(n=e.collection)?void 0:n.name,u=null==(i=e.collection)?void 0:i.dataSourceKey,c=null==p?void 0:p.target):(d=null==(r=e.collection)?void 0:r.name,u=null==(a=e.collection)?void 0:a.dataSourceKey,c=null==(s=e.association)?void 0:s.resourceName);return{openView:{collectionName:d,associationName:c,dataSourceKey:u}}}}),i=e=>e.getStepParams("popupSettings","openView")},381(e,t,l){l.d(t,{er5:()=>aP,tPG:()=>ey.t,wUQ:()=>o9,Ui7:()=>c6.Ui,JvK:()=>eF,m5p:()=>sy,l5h:()=>nr,jqd:()=>cb,WHj:()=>iX,T9:()=>on,ZMt:()=>lL,Xw5:()=>tL,xEQ:()=>sI,r39:()=>ak,YXI:()=>tc,riZ:()=>c8.ri,s2k:()=>as,zA_:()=>e6.zA,gbJ:()=>u3,DvX:()=>aH,wwh:()=>aI,p$W:()=>c6.p$,xtQ:()=>c8.xt,qi_:()=>f.qi,d13:()=>ta,UX6:()=>eQ,sJK:()=>rj,mzg:()=>rT,mHU:()=>i3,Ppd:()=>sS,Tuv:()=>sU,Uk$:()=>rX,byO:()=>e6.by,Tnx:()=>c8.Tn,ZCq:()=>s4,HWn:()=>c8.HW,I8R:()=>f.I8,v9U:()=>sW,T16:()=>dq,spd:()=>tr,xz3:()=>oc,XMh:()=>eG,ROt:()=>tV,$T1:()=>sz,jjG:()=>c8.jj,Px_:()=>c8.Px,COB:()=>cy,ysz:()=>sQ.ys,kA1:()=>oi,_IX:()=>c8._I,AvD:()=>os,cYG:()=>ck,mOW:()=>tj.mO,zqF:()=>ah,v0X:()=>rf,UfC:()=>c8.Uf,_TB:()=>j,uMh:()=>ss,mQM:()=>u5,aDm:()=>ec,Hn2:()=>e7,KTk:()=>A,rGX:()=>s6,y2s:()=>oJ,s2f:()=>tj.s2,upH:()=>si,BmO:()=>c6.Bm,foc:()=>lY,Uhv:()=>e_,ZVp:()=>sH,bPr:()=>ln,hNf:()=>sK,u36:()=>to,J$w:()=>iL,Bum:()=>un,ux6:()=>c8.ux,Ra0:()=>sk,QuL:()=>ed,V6y:()=>c8.V6,djK:()=>c6.dj,qh$:()=>X,K4N:()=>lR,xIu:()=>nI,XK0:()=>ek,xc1:()=>c8.xc,C_u:()=>c6.C_,Ru1:()=>f.Ru,s$$:()=>c9,lrV:()=>tm.lr,znN:()=>ch,OaU:()=>c6.O,$dA:()=>eJ,N9e:()=>c3.N,m$$:()=>aX,cPq:()=>au,gk0:()=>N,to1:()=>eq,dhL:()=>s_,mSG:()=>id,Fy3:()=>aJ,VPO:()=>s$,d6j:()=>rS,y8o:()=>c8.y8,nCj:()=>c6.nC,eLO:()=>c8.eL,LAC:()=>eB,fCM:()=>c8.fC,R0X:()=>c6.R0,Dsh:()=>de,saj:()=>t0,VcJ:()=>sA,dv2:()=>ox,t_Y:()=>c8.t_,er8:()=>u4,FKm:()=>sQ.FK,ksX:()=>c6.ks,Ucr:()=>c8.Uc,Eq4:()=>dV,xkv:()=>aa,sEB:()=>tl,_ol:()=>rg,W4I:()=>rL,qPo:()=>sD,n8$:()=>c8.n8,JNs:()=>c8.JN,vIF:()=>oz,vrA:()=>sT,tUI:()=>$,CII:()=>tC,v6e:()=>aT,MeX:()=>r6,ccc:()=>sQ.cc,mw1:()=>B,i6C:()=>na,sJA:()=>r$,hOt:()=>tm.hO,kNV:()=>e$,biS:()=>nc,AMH:()=>az,fMK:()=>cn,PU8:()=>t4,UZR:()=>ev,fAh:()=>M,Yjq:()=>c8.FY,_e9:()=>iu,Myf:()=>cr,fnr:()=>ax,qqP:()=>su,BYM:()=>e6.BY,RBt:()=>eb.R,dpX:()=>tY,FF9:()=>ia,sYw:()=>eY,oM7:()=>iC,e7P:()=>dI,ODR:()=>ll,hCX:()=>tA,qJX:()=>e1,x_D:()=>ns,Imp:()=>re,mNj:()=>aM,P0:()=>aZ,Qt8:()=>c8.Qt,zDb:()=>it,ivU:()=>nD,VGp:()=>dL,uFv:()=>u8,Pqd:()=>dy,Gap:()=>c8.G,kkB:()=>dT,wqT:()=>tw,R8A:()=>tn,vbm:()=>eu,ugJ:()=>c8.ug,KYF:()=>oW,FaR:()=>r2,v8l:()=>tb,IAc:()=>dF,lv4:()=>c6.lv,qlo:()=>rM,I6c:()=>dl,_UX:()=>ea,t_n:()=>oU,Xig:()=>tm.Xi,isP:()=>dt,fi1:()=>c8.fi,a6D:()=>eO,uTv:()=>c6.uT,MhO:()=>t_,l2T:()=>ip,n6C:()=>tp,OtO:()=>c8.Ot,FWr:()=>c8.FW,wW_:()=>eD,X2M:()=>c6.X2,h2d:()=>sX.h2,cm5:()=>sq,eCD:()=>oo,GJ1:()=>nB,B94:()=>c8.B9,gaO:()=>iA,orA:()=>c4.o,OsV:()=>aB,I6Z:()=>oa,zsf:()=>R,HJv:()=>rZ,WzN:()=>c6.Wz,qNx:()=>c8.qN,Odw:()=>eV,G9F:()=>lS,YjI:()=>c8.Yj,xFY:()=>c8.xF,PW6:()=>eg.P,rvE:()=>e0,cNN:()=>ob,mLo:()=>aS,YJB:()=>nb,QBt:()=>c8.QB,LFq:()=>u2,Ck8:()=>rw,hPI:()=>e6.hP,ur8:()=>nv,F4f:()=>tj.F4,tQF:()=>cp,aWb:()=>cc,iT0:()=>r5,mYX:()=>c8.mY,zUb:()=>oG,rpg:()=>ay,sW6:()=>rl,Z0H:()=>r7,K$V:()=>nL,v$f:()=>eM,_$j:()=>eL,ULH:()=>lx,M6q:()=>tm.M6,pKk:()=>lH,www:()=>oK,MMn:()=>c8.MM,kPK:()=>tq,jj_:()=>dM,Xmd:()=>i7,B82:()=>c8.B8,zCA:()=>P,np$:()=>sQ.np,YXr:()=>nu,hsC:()=>dS,IBN:()=>d7,Zu2:()=>d$,m2W:()=>e2,k9E:()=>sX.k9,KSc:()=>F,Yh4:()=>dN,Mxl:()=>c8.Mx,B6V:()=>nO,KAX:()=>u6,J9o:()=>ds,mUg:()=>am,mU7:()=>sm,YmV:()=>S.default,_J0:()=>rh,pXX:()=>c8.pX,EcU:()=>np,mRH:()=>o2.m,j0c:()=>eH.j,vW_:()=>nd,o8y:()=>e6.o8,ThI:()=>c8.Th,e6V:()=>c4.e,qmt:()=>cm,Anr:()=>ru,tSM:()=>c8.tS,qir:()=>eP,kN:()=>ni,s5W:()=>rk,NYj:()=>tm.NY,LE6:()=>d_,ngq:()=>sQ.ng,omq:()=>e4,Nxx:()=>st,gvx:()=>eN.g,upW:()=>rv,D1b:()=>oL,Cuw:()=>c8.Cu,S3Z:()=>ue,B_2:()=>c8.B_,D8m:()=>oT,e8C:()=>s5,T8$:()=>or,nap:()=>u.n,CCB:()=>a$,zFh:()=>r3,lJp:()=>p,Dhs:()=>cg,eDc:()=>c6.eD,Zpx:()=>dC,Fts:()=>nY,$FU:()=>sJ,oJ5:()=>f.oJ,RLu:()=>eR,wBN:()=>nn,Ybt:()=>tD,A14:()=>c8.A1,o2o:()=>c8.o2,hHg:()=>tm.hH,CDb:()=>o0,YgY:()=>ez,BpQ:()=>ej,gLn:()=>c6.gL,Bnh:()=>sQ.Bn,oIl:()=>rz,uVo:()=>tu,Ie6:()=>rQ,mKE:()=>c,dWc:()=>d6,CM3:()=>c6.CM,SMJ:()=>tm.SM,lcp:()=>tI,ivi:()=>t3,dIg:()=>te,jmZ:()=>c6.jm,sD1:()=>t1,ymi:()=>td,Kgy:()=>c8.Kg,ESx:()=>sX.ES,wLo:()=>no,vy4:()=>iI,Et2:()=>f.Et,xdz:()=>E,Y5n:()=>tK.EditFormModel,BgT:()=>lC,S0L:()=>D,mk:()=>is,zTu:()=>ci,qtW:()=>ae,Ni4:()=>eZ,Mf0:()=>lo,khg:()=>lQ,S5n:()=>iP,IJk:()=>iQ.IJ,k9Q:()=>sw,Q7G:()=>c6.Q7,mw3:()=>dA,D2p:()=>cf,mp5:()=>dh,LaP:()=>ef,eDQ:()=>c8.eD,qJ3:()=>sc,s5y:()=>L,ql0:()=>t6,dWg:()=>aF,e7h:()=>lO,ZjK:()=>tz,w5F:()=>z,C9C:()=>c6.C9,aqk:()=>V,JUj:()=>tj.JU,udY:()=>o_,Vrl:()=>sG,t4X:()=>at,JgE:()=>tX,kbf:()=>dk,fLT:()=>e6.fL,HZo:()=>tm.HZ,LbM:()=>sV,oLV:()=>ex.o,T6P:()=>eE,KHY:()=>nt,Jbm:()=>eK,WuM:()=>cS,zgg:()=>eg.z,Hwd:()=>c3.H,Evi:()=>c8.Ev,Qb_:()=>c8.Qb,AV5:()=>rV,cEK:()=>er,XCP:()=>sX.XC,pVr:()=>ad});var o={};l.r(o),l.d(o,{connectFields:()=>oW,customizeFilterRender:()=>o9,defaultOperator:()=>o0,operatorComponentProps:()=>nt});var n={};l.r(n),l.d(n,{ActionGroupModel:()=>E,ActionModel:()=>D,ActionSceneEnum:()=>L,ActionWithoutPermission:()=>j,AddChildActionModel:()=>tI,AddNewActionModel:()=>eq,AssignFormGridModel:()=>tY,AssignFormItemModel:()=>t0,AssignFormModel:()=>tL,AssociateActionModel:()=>eQ,AssociationFieldGroupModel:()=>B,AssociationFieldModel:()=>ln,BasePageTabModel:()=>ej,BlockGridModel:()=>ef,BlockModel:()=>eg.z,BlockSceneEnum:()=>eg.P,BulkDeleteActionModel:()=>eZ,CascadeSelectFieldModel:()=>rj,CascadeSelectInnerFieldModel:()=>rT,CascadeSelectListFieldModel:()=>rL,CheckboxFieldModel:()=>r3,CheckboxGroupFieldModel:()=>r6,ChildPageModel:()=>eF,ChildPageTabModel:()=>eD,ClickableFieldModel:()=>rv,CollectionActionGroupModel:()=>R,CollectionActionModel:()=>ev,CollectionBlockModel:()=>ey.t,CollectionSelectorFieldModel:()=>r7,ColorFieldModel:()=>at,CommonItemModel:()=>e_,CreateContent:()=>lS,CreateFormModel:()=>no,CustomWidth:()=>nL,DataBlockModel:()=>eb.R,DateOnlyFieldModel:()=>as,DateOnlyFilterFieldModel:()=>lR,DateOnlyPicker:()=>aa,DateTimeFilterFieldModel:()=>lY,DateTimeNoTzFieldModel:()=>au,DateTimeNoTzFilterFieldModel:()=>lO,DateTimeNoTzPicker:()=>ad,DateTimeTzFieldModel:()=>ah,DateTimeTzFilterFieldModel:()=>lH,DateTimeTzPicker:()=>am,DeleteActionModel:()=>e0,DetailsAssociationFieldGroupModel:()=>t1,DetailsBlockModel:()=>t4,DetailsCustomItemModel:()=>t3,DetailsGridModel:()=>t6,DetailsItemModel:()=>tz,DetailsJSFieldItemModel:()=>ll,DisassociateActionModel:()=>e1,DisplayCheckboxFieldModel:()=>sW,DisplayColorFieldModel:()=>sS,DisplayDateTimeFieldModel:()=>sk,DisplayEnumFieldModel:()=>sA,DisplayHtmlFieldModel:()=>sT,DisplayIconFieldModel:()=>sI,DisplayJSONFieldModel:()=>sD,DisplayNumberFieldModel:()=>sV,DisplayPasswordFieldModel:()=>sz,DisplayPercentFieldModel:()=>sK,DisplaySubItemFieldModel:()=>s_,DisplaySubListFieldModel:()=>sw,DisplaySubTableFieldModel:()=>sy,DisplayTextFieldModel:()=>sU,DisplayTimeFieldModel:()=>sJ,DisplayTitleFieldModel:()=>sm,DisplayURLFieldModel:()=>sG,DividerItemModel:()=>si,EditActionModel:()=>e2,EditFormContent:()=>rV,EditFormModel:()=>tK.EditFormModel,ExpandCollapseActionModel:()=>tA,FieldDeletePlaceholder:()=>nI,FieldModel:()=>ex.o,FieldModelSelect:()=>lQ,FieldOperatorSelect:()=>or,FilterActionModel:()=>e4,FilterBlockModel:()=>eM,FilterFormActionGroupModel:()=>ox,FilterFormActionModel:()=>ob,FilterFormBlockModel:()=>oT,FilterFormCollapseActionModel:()=>oL,FilterFormCustomFieldModel:()=>oc,FilterFormCustomItemModel:()=>oa,FilterFormCustomRecordSelectFieldModel:()=>o_,FilterFormFieldModel:()=>lo,FilterFormGridModel:()=>oK,FilterFormItemModel:()=>oz,FilterFormJSActionModel:()=>oU,FilterFormRecordSelectFieldModel:()=>lL,FilterFormResetActionModel:()=>oG,FilterFormSubmitActionModel:()=>oJ,FilterManager:()=>X,FormActionGroupModel:()=>tn,FormActionModel:()=>tl,FormAssociationFieldGroupModel:()=>np,FormAssociationItemModel:()=>nv,FormBlockContent:()=>tj.JU,FormBlockModel:()=>tj.F4,FormComponent:()=>tj.s2,FormCustomItemModel:()=>nn,FormGridModel:()=>tD,FormItemModel:()=>tX,FormJSFieldItemModel:()=>ni,FormModel:()=>tj.mO,FormSubmitActionModel:()=>to,GRID_FLOW_KEY:()=>er,GRID_STEP:()=>ea,GridModel:()=>ed,IconFieldModel:()=>ay,InputFieldModel:()=>o2.m,InputNumberField:()=>aS,JSActionModel:()=>e7,JSBlockModel:()=>nb,JSCollectionActionModel:()=>te,JSColumnModel:()=>ip,JSEditableFieldModel:()=>st,JSFieldModel:()=>aZ,JSFormActionModel:()=>nr,JSItemActionModel:()=>td,JSItemModel:()=>sc,JSRecordActionModel:()=>tu,JsonFieldModel:()=>aM,JsonInput:()=>ax,LinkActionModel:()=>tC,MainPageModel:()=>eP,MarkdownItemModel:()=>su,NBColorPicker:()=>ae,NumberFieldModel:()=>ak,ObjectNester:()=>i7,PageModel:()=>ek,PageTabModel:()=>eY,PasswordFieldModel:()=>aF,PercentFieldModel:()=>aT,PercentInput:()=>aP,PluginSettingsTopbarActionModel:()=>sX.ES,PopupActionModel:()=>eO,PopupCollectionActionModel:()=>tc,PopupSubTableActionGroupModel:()=>rZ,PopupSubTableActionsColumnModel:()=>r2,PopupSubTableEditActionModel:()=>rz,PopupSubTableFieldModel:()=>rX,PopupSubTableFormActionGroupModel:()=>ta,PopupSubTableFormModel:()=>r5,PopupSubTableFormSubmitActionModel:()=>tr,PopupSubTableRemoveActionModel:()=>rQ,QUICK_EDIT_FORM_MAX_HEIGHT:()=>ns,QUICK_EDIT_MARKDOWN_HEIGHT:()=>nd,QUICK_EDIT_POPOVER_MAX_HEIGHT:()=>na,QuickEditFormModel:()=>nc,RadioGroupFieldModel:()=>aI,RecordActionGroupModel:()=>N,RecordActionModel:()=>eB,RecordPickerContent:()=>iI,RecordPickerFieldModel:()=>iL,RecordSelectFieldModel:()=>lC,RefreshActionModel:()=>tp,RichTextField:()=>aB,RichTextFieldModel:()=>aH,RootPageModel:()=>eE,RootPageTabModel:()=>eL,RouteModel:()=>eH.j,SelectFieldModel:()=>a$,SourceCascader:()=>os,SubFormFieldModel:()=>re,SubFormListFieldModel:()=>rl,SubPageModel:()=>eR,SubTableColumnModel:()=>iX,SubTableFieldModel:()=>i3,SubTableRecordAction:()=>r$,TableActionsColumnModel:()=>nO,TableAssociationFieldGroupModel:()=>nB,TableBlockModel:()=>it,TableColumnModel:()=>nD,TableCustomColumnModel:()=>nY,TableJSFieldItemModel:()=>iu,TableSelectModel:()=>id,TextareaFieldModel:()=>az,TimeFieldModel:()=>aJ,TopbarActionModel:()=>sX.k9,UIEditorTopbarActionModel:()=>sX.h2,USER_CENTER_ACTION_ID:()=>sQ.Bn,UnitConversion:()=>s$,UpdateRecordActionModel:()=>t_,UserCenterActionItemModel:()=>sQ.ng,UserCenterItemModel:()=>sQ.np,UserCenterSelectItemModel:()=>sQ.FK,UserCenterTextItemModel:()=>sQ.ys,UserCenterTopbarActionModel:()=>sQ.cc,VariableFieldFormModel:()=>aX,ViewActionModel:()=>tb,applyAssociateAction:()=>eJ,applyClickToOpenProps:()=>rh,applyClickToOpenSetting:()=>rg,applyDisassociateAction:()=>eG,buildDisplayPathFromValue:()=>rS,buildRecordPickerParentItemContext:()=>iC,buildRecordPickerPopupContextInputArgs:()=>iP,collectAssociationHydrationCandidates:()=>lx,collectCascadeHydrationCandidate:()=>rM,connectFields:()=>oW,customizeFilterRender:()=>o9,defaultOperator:()=>o0,findOptionPathByTk:()=>rk,formatNumber:()=>sH,getAllDataModels:()=>z,getAssociationBlockResourceSettings:()=>eV,getAssociationSelectAssociatedRecordsFilter:()=>is,getAssociationSelectForeignKeyFilter:()=>ia,getAssociationSelectorContextInputArgs:()=>eK,getAssociationTargetResourceSettings:()=>ez,getDefaultOperator:()=>V,getDetailsItemValue:()=>tV,getDisplayNumber:()=>sq,getQuickEditFieldProps:()=>nu,getTopbarPluginSettingsItems:()=>sX.XC,getValueWithIndex:()=>tq,injectRecordPickerPopupContext:()=>iA,isAssociationBlockContext:()=>e$,isFilterValueEmpty:()=>$,joinUrlSearch:()=>tw,markCascadeHydrationDone:()=>rw,operatorComponentProps:()=>nt,recalculateGridSizes:()=>ec,refreshClickToOpenRuntime:()=>rf,resolveCustomFieldOperatorList:()=>oo,resolveDefaultCustomFieldOperator:()=>on,toOperatorSelectOptions:()=>oi,transformNestedData:()=>ru,transformRowsToSingleColumn:()=>eu});var i={};l.r(i),l.d(i,{aclCheck:()=>dL,aclCheckRefresh:()=>dN,actionLinkageRules:()=>cp,afterSuccess:()=>c,blockHeight:()=>un,blockLinkageRules:()=>cc,confirm:()=>p,customVariable:()=>dl,dataLoadingMode:()=>dk,dataScope:()=>M,dateRangeLimit:()=>dM,dateTimeFormat:()=>d_,detailsFieldLinkageRules:()=>cg,displayFieldComponent:()=>dT,fieldComponent:()=>dI,fieldLinkageRules:()=>ch,filterFormDefaultValues:()=>d7,fixed:()=>d$,formAssignRules:()=>d6,layout:()=>dC,linkageAssignField:()=>cn,linkageRulesRefresh:()=>ue,linkageRunjs:()=>cr,linkageSetActionProps:()=>u5,linkageSetBlockProps:()=>u2,linkageSetDetailsFieldProps:()=>u6,linkageSetFieldProps:()=>u8,linkageSetMenuItemProps:()=>u4,menuLinkageRules:()=>cm,navigateToURL:()=>dt,numberFormat:()=>cb,openView:()=>s5,overflowMode:()=>cy,pattern:()=>dq,refreshTargetBlocks:()=>ds,renderMode:()=>dF,required:()=>dA,runjs:()=>s4,setTargetDataScope:()=>dh,showMessage:()=>s6,showNotification:()=>de,sortingRule:()=>dS,subFormFieldLinkageRules:()=>cf,subFormLinkageAssignField:()=>ci,subFormLinkageSetFieldProps:()=>u3,titleField:()=>dy,validation:()=>dV});var r=l(504),a=l(6305),s=l(4214),d=l(3526),u=l(4244);let c=(0,r.defineAction)({name:"afterSuccess",title:(0,r.tExpr)("After successful submission"),uiSchema:{successMessage:{type:"string",title:(0,r.tExpr)("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea"},manualClose:{type:"boolean",title:(0,r.tExpr)("Message popup close method"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,r.tExpr)("Automatic close"),value:!1},{label:(0,r.tExpr)("Manually close"),value:!0}]},actionAfterSuccess:{type:"string",title:(0,r.tExpr)("Action after successful submission"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,r.tExpr)("Stay on the current popup or page"),value:"stay"},{label:(0,r.tExpr)("Return to the previous popup or page"),value:"previous"},{label:(0,r.tExpr)("Close popup and redirect to"),value:"redirect"}]},redirectTo:{type:"string",title:(0,r.tExpr)("Link"),"x-decorator":"FormItem","x-component":u.n,"x-reactions":{dependencies:["actionAfterSuccess"],fulfill:{state:{visible:"{{$deps[0]==='redirect'}}"}}}}},defaultParams:{successMessage:(0,r.tExpr)("Saved successfully"),manualClose:!1,actionAfterSuccess:"previous"},async handler(e,t){let{successMessage:l,manualClose:o=!1,actionAfterSuccess:n="previous",redirectTo:i}=t;"previous"===n&&e.view&&e.view.close();let r=t=>{if(e.engine){let t=e.engine;for(;t.nextEngine;)t=t.nextEngine;let l=[],o=t;for(;o;)l.push(o),o=o.previousEngine;for(let e of l)e.destroyView()}e.router.navigate(t)},a=e=>{if((0,d.isURL)(e)){window.location.href=e;return}r(e)};if(l){let t=e.t(l);if(o)return void await e.modal.success({title:t,onOk:async()=>{"redirect"===n&&i&&a(i)}});e.message.success(t)}"redirect"===n&&i&&a(i)}}),p=(0,r.defineAction)({name:"confirm",title:(0,r.tExpr)("Confirmation"),uiSchema:{enable:{type:"boolean",title:(0,r.tExpr)("Enable secondary confirmation"),"x-decorator":"FormItem","x-component":"Switch"},title:{type:"string",title:(0,r.tExpr)("Title"),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:2}},content:{type:"string",title:(0,r.tExpr)("Content"),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:3}}},defaultParams:{enable:!1,title:(0,r.tExpr)("Please Confirm"),content:(0,r.tExpr)("Are you sure you want to perform the action?")},async handler(e,t){t.enable&&(await e.modal.confirm({title:e.t(t.title,{ns:"lm-flow-engine"}),content:e.t(t.content,{ns:"lm-flow-engine"}),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||e.exit())}});var m=l(1178),h=l(1649),f=l(9215),g=l(7583);let v={__nocobaseDataScopeNull__:!0};function y(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!0===e.__nocobaseDataScopeNull__&&1===Object.keys(e).length}function _(e){return y(e)?null:Array.isArray(e)?e.map(e=>_(e)):e&&"object"==typeof e?Object.keys(e).reduce((t,l)=>(t[l]=_(e[l]),t),{}):e}function b(e,t){if(e&&t&&"object"==typeof e&&"object"==typeof t){if("path"in e&&"operator"in e){(0,r.isVariableExpression)(e.value)&&(void 0===t.value||null===t.value||""===t.value)&&(t.value=v);return}Array.isArray(e.items)&&Array.isArray(t.items)&&e.items.forEach((e,l)=>{b(e,t.items[l])})}}function x(e,t){let l=g.default.cloneDeep(t);return b(e,l),_((0,r.pruneFilter)((0,d.transformFilter)(l)))}let M=(0,r.defineAction)({name:"dataScope",title:(0,r.tExpr)("Data scope"),uiMode:{type:"dialog",props:{width:800}},uiSchema:{filter:{type:"object","x-decorator":"FormItem","x-component":function(e){let t=(0,r.useFlowSettingsContext)();return(0,m.jsx)(f.I8,{value:e.value,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:t.model,rightAsVariable:!0})})}}},defaultParams:e=>({filter:{logic:"$and",items:[]}}),useRawParams:!0,async handler(e,t){var l;let o=null==(l=e.model)?void 0:l.resource;if(!o)return;let n=await e.resolveJsonTemplate(t.filter),i=x(t.filter,n);(0,d.isEmptyFilter)(i)?o.removeFilterGroup(e.model.uid):o.addFilterGroup(e.model.uid,i)}});var w=l(1883),S=l(2600),k=l(2793);function F(e){return(0,m.jsx)(k.Card,{...e,children:(0,m.jsx)(k.Skeleton,{paragraph:{rows:3}})})}function C(e){let{uid:t,...l}=e,o=(0,r.useFlowModelById)(t);return(0,m.jsx)(r.FlowModelRenderer,{model:o,fallback:(0,m.jsx)(F,{style:{margin:(null==o?void 0:o.context.isMobileLayout)?8:null==o?void 0:o.context.themeToken.marginBlock}}),hideRemoveInSettings:!0,showFlowSettings:{showBackground:!1,showBorder:!1},...l})}let A=h.default.memo(e=>{let{pageModelClass:t="ChildPageModel",parentId:l,onModelLoaded:o,defaultTabTitle:n,...i}=e,a=(0,r.useFlowEngine)(),s=(0,r.useFlowViewContext)(),{loading:d,data:u}=(0,w.useRequest)(async()=>{let e={async:!0,parentId:l,subKey:"page",subType:"object",use:t};if("ChildPageModel"===t){var i;e.subModels={tabs:[{use:"ChildPageTabModel",stepParams:{pageTabSettings:{tab:{title:n||(null==(i=a.translate)?void 0:i.call(a,"Details"))}}}}]},e.stepParams={pageSettings:{general:{displayTitle:!1,enableTabs:!0}}}}let r=await a.loadOrCreateModel(e,{skipSave:!a.context.flowSettingsEnabled});return(null==r?void 0:r.uid)&&o&&(r.context.addDelegate(s),r.removeParentDelegate(),o(r.uid,r)),r},{refreshDeps:[l]});return!d&&(null==u?void 0:u.uid)?(0,m.jsx)(C,{uid:u.uid,...i}):(0,m.jsx)(F,{style:{margin:(null==s?void 0:s.isMobileLayout)?8:null==s?void 0:s.themeToken.marginBlock}})});A.displayName="FlowPage";let P=e=>{let{uid:t,parentId:l,subKey:o,...n}=e,i=(0,r.useFlowEngine)(),{loading:a,data:s}=(0,w.useRequest)(async()=>await i.loadModel({uid:t,parentId:l,subKey:o}),{refreshDeps:[t,l,o]});return!a&&(null==s?void 0:s.uid)?(0,m.jsx)(C,{uid:s.uid,...n}):(0,m.jsx)(F,{style:{margin:16}})};var T=l(7703),I=l(7843);function j(e){let{t}=(0,I.useTranslation)(),l=(0,r.useFlowModel)(),o=l.context.blockModel,n=e.collection||o.collection,i=n.dataSource,a=(0,h.useMemo)(()=>{let e=`${t(i.displayName||i.key)} > `,l=n?`${t(n.title)||n.name||n.tableName} `:"";return`${e}${l}`},[]),{actionName:s}=(null==e?void 0:e.forbidden)||l.forbidden,d=(0,h.useMemo)(()=>t('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:a,actionName:t(g.default.capitalize(s))}).replaceAll("&gt;",">"),[s,a,t]);return(0,m.jsx)(k.Tooltip,{title:e.message||d,children:e.children})}let L={collection:"collection",record:"record",all:["collection","record"],both:["collection","record"]};class D extends r.FlowModel{static _getScene(){return g.default.castArray(this.scene||[])}static _isScene(e){return this._getScene().includes(e)}getAclActionName(){return null}onInit(e){super.onInit(e),this.context.defineProperty("actionName",{get:()=>this.getAclActionName(),cache:!1})}getInputArgs(){let e={},t=[];if(this.context.resource){let l=this.context.resource.getSourceId();l&&(e.sourceId=l,t.push("sourceId"))}if(this.context.collection&&this.context.record){let l=this.context.collection.getFilterByTK(this.context.record);l&&(e.filterByTk=l,t.push("filterByTk"))}return t.length&&(e.defaultInputKeys=t),e}onClick(e){this.dispatchEvent("click",{event:e,...this.getInputArgs()},{debounce:!0})}getTitle(){return this.props.title}getIcon(){return this.props.icon}renderButton(){let e=this.props,t=this.getIcon()?(0,m.jsx)(T.In,{type:this.getIcon()}):void 0;return(0,m.jsx)(k.Button,{...e,onClick:this.onClick.bind(this),icon:t,children:e.children||this.getTitle()})}render(){return this.props.tooltip?(0,m.jsx)(k.Tooltip,{title:this.props.tooltip,children:this.renderButton()}):this.renderButton()}renderHiddenInConfig(){let e=this.props,t=this.getIcon()?(0,m.jsx)(T.In,{type:this.getIcon()}):void 0;return this.forbidden?(0,m.jsx)(j,{children:(0,m.jsx)(k.Button,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})}):(0,m.jsx)(k.Tooltip,{title:this.context.t("The button is hidden and only visible when the UI Editor is active"),children:(0,m.jsx)(k.Button,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})})}constructor(...e){super(...e),this.defaultProps={type:"default",title:(0,r.tExpr)("Action")},this.enableEditTooltip=!0,this.enableEditTitle=!0,this.enableEditIcon=!0,this.enableEditType=!0,this.enableEditDanger=!0,this.enableEditColor=!1}}var Y=l(8481);class E extends r.FlowModel{static getAllParentClasses(){let e=[],t=this;for(;t&&t!==Object;)(null==(t=Object.getPrototypeOf(t))?void 0:t.currentModels)&&e.push(t);return e}static get currentModels(){return Object.prototype.hasOwnProperty.call(this,"_models")&&this._models||(this._models=new Map),this._models}static get models(){let e=new Map;for(let t of this.getAllParentClasses())for(let[l,o]of t.currentModels)e.set(l,o);for(let[t,l]of this.currentModels)e.set(t,l);return e}static registerActionModels(e){for(let[t,l]of Object.entries(e))Object.defineProperty(l,"name",{value:t}),this.currentModels.set(t,l)}static isActionModelVisible(e,t){var l;let o=t.collection||(null==(l=t.blockModel)?void 0:l.collection),n=(0,Y.GX)(e);return(0,Y.F3)(o,n)}static async defineChildren(e){let t=this.baseClass?await (0,r.buildSubModelItems)(this.baseClass)(e):[],l=[],o=t.filter(t=>{let l=e.engine.getModelClass(t.useModel);return!!this.isActionModelVisible(l,e)&&(!this.scene||l._isScene(this.scene))});for(let[t,n]of this.models){if(!this.isActionModelVisible(n,e)||o.find(e=>e.useModel===n.name))continue;let t=await (0,r.buildSubModelItem)(n,e);t&&l.push(t)}return g.default.sortBy([...o,...l],"sort")}}class R extends E{}R.baseClass=D,R.scene=L.collection;class N extends E{}N.baseClass=D,N.scene=L.record;var O=l(2542);D.registerFlow({key:"buttonSettings",title:(0,r.tExpr)("Button settings"),sort:-999,steps:{general:{title:(0,r.tExpr)("Edit button"),uiSchema:e=>({title:e.model.enableEditTitle?{"x-decorator":"FormItem","x-component":"Input",title:(0,r.tExpr)("Button title")}:void 0,tooltip:e.model.enableEditTooltip?{"x-decorator":"FormItem","x-component":"Input",title:(0,r.tExpr)("Button tooltip")}:void 0,icon:e.model.enableEditIcon?{"x-decorator":"FormItem","x-component":"IconPicker",title:(0,r.tExpr)("Button icon")}:void 0,type:e.model.enableEditType?{"x-decorator":"FormItem","x-component":"Radio.Group",title:(0,r.tExpr)("Button type"),enum:[{value:"default",label:'{{t("Default")}}'},{value:"primary",label:'{{t("Primary")}}'},{value:"dashed",label:'{{t("Dashed")}}'},{value:"link",label:'{{t("Link")}}'},{value:"text",label:'{{t("Text")}}'}]}:void 0,danger:e.model.enableEditDanger?{"x-decorator":"FormItem","x-component":"Switch",title:(0,r.tExpr)("Danger action")}:void 0,color:e.model.enableEditColor?{"x-decorator":"FormItem","x-component":a.sk,title:(0,r.tExpr)("Color")}:void 0}),defaultParams:e=>e.model.defaultProps,handler(e,t){let{title:l,tooltip:o,...n}=t;e.model.setProps({title:e.t(l,{ns:"lm-flow-engine"}),tooltip:e.t(o,{ns:"lm-flow-engine"}),...n})}},linkageRules:{use:"actionLinkageRules"}}}),D.registerFlow({key:"buttonAclSettings",steps:{aclCheck:{use:"aclCheck"}}}),D.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh"},linkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"actionLinkageRules",flowKey:"buttonSettings",stepKey:"linkageRules"}}}}),D.registerEvents({click:{title:(0,r.tExpr)("Click"),name:"click",uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":O.H}},handler:O.b}});class B extends r.FlowModel{static defineChildren(e){let t=this.itemModelName,l=function(o){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return o.getToOneAssociationFields().map(o=>{let i=n?`${n}.${o.name}`:o.name;return o.targetCollection?{key:`${i}-assocationField`,label:o.title,children:()=>[{key:`${i}-children-collectionField`,label:e.t("Display fields"),type:"group",children:o.targetCollection.getFields().map(l=>{let o=`${i}.${l.name}`,n=r.DisplayItemModel.getDefaultBindingByField(e,l,{fallbackToTargetTitleField:!0});if(!n)return;let a=n.modelName;return{key:`c-${i}.${l.name}`,label:l.title,useModel:t,toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===o},createModelOptions:{stepParams:{fieldSettings:{init:{dataSourceKey:e.collection.dataSourceKey,collectionName:e.prefixFieldPath?e.blockModel.context.collection.name:e.collection.name,fieldPath:o,associationPathName:i}}},subModels:{field:{use:a}}}}}).filter(Boolean)},{key:`${i}-children-associationField`,label:"Display association fields",type:"group",children:(l(o.targetCollection,i)||[]).filter(Boolean)}]}:void console.error(`AssociationFieldGroupModel: target collection ${o.target} not found for field ${o.name}`)}).filter(Boolean)};return l(e.collection,e.prefixFieldPath)}}B.itemModelName="DetailsItemModel",B.define({label:'{{t("Display fields")}}'});var H=l(2113);function q(e){return["multipleSelect","checkboxGroup"].includes(null==e?void 0:e.interface)||["array","json","jsonb"].includes(null==e?void 0:e.type)}function V(e){var t,l,o,n,i,r;return e.operator||(null==(t=e.getStepParams("filterFormItemSettings","defaultOperator"))?void 0:t.value)||(null==(l=e.subModels.field)?void 0:l.operator)||(null==(r=e.collectionField)||null==(i=r.filterable)||null==(n=i.operators)||null==(o=n[0])?void 0:o.value)||"$includes"}function $(e){return!!(null==e||"string"==typeof e&&""===e.trim()||Array.isArray(e)&&0===e.filter(e=>null!=e&&("string"!=typeof e||""!==e.trim())).length)||"object"==typeof e&&e.constructor===Object&&0===Object.keys(e).length}function z(e){return e.filterSubModels("items",e=>{var t;return!!(null==(t=e.resource)?void 0:t.supportsFilter)})}let K={$match:"$in",$anyOf:"$in",$notMatch:"$notIn",$noneOf:"$notIn"};function U(e,t){var l,o,n;let i=null==e||null==(l=e.context)?void 0:l.dataSourceManager,r=null==e?void 0:e.collection;if(!i||!(null==r?void 0:r.dataSourceKey)||!(null==r?void 0:r.name)||!t)return;let a=r.name,s=t.split(".").filter(Boolean);for(let e=0;e<s.length;e+=1){let t=null==(o=i.getCollectionField)?void 0:o.call(i,`${r.dataSourceKey}.${a}.${s[e]}`);if(!t||e===s.length-1)return t;if(!(a=t.target||(null==(n=t.targetCollection)?void 0:n.name)))return}}function G(e,t,l){let o=K[e];if(!o)return e;let n=U(t,l);return!n||q(n)?e:o}async function J(e){(null==e?void 0:e.loading)&&await new Promise(t=>{let l=()=>{e.loading?setTimeout(l,16):t()};l()})}function W(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Unknown error"}}class X{async saveFilterConfigs(){await this.gridModel.saveStepParams()}getFilterConfigs(){return this.filterConfigs}getConnectFieldsConfig(e){let t=this.filterConfigs.filter(t=>t.filterId===e);if(0!==t.length)return{targets:t.map(e=>({targetId:e.targetId,filterPaths:e.filterPaths}))}}async prepareFiltersForTarget(e){let t=this.filterConfigs.filter(t=>t.targetId===e),l=new Set;return await Promise.all(t.map(async t=>{try{var o;let e=this.gridModel.flowEngine.getModel(t.filterId),n=null==e||null==(o=e.context)?void 0:o.blockModel;if(!n||"function"!=typeof n.prepareInitialFilterValues)return;let i=await n.prepareInitialFilterValues();!1!==i&&l.add(n)}catch(t){console.error(`Failed to prepare filter defaults for target "${e}": ${W(t)}`)}})),l}async saveConnectFieldsConfig(e,t){let l=t.targets.map(t=>({filterId:e,targetId:t.targetId,filterPaths:t.filterPaths})),o=this.filterConfigs.filter(t=>t.filterId!==e);this.filterConfigs=[],this.filterConfigs.push(...o,...l),await this.saveFilterConfigs()}async addFilterConfig(e){if(!e.filterId||!e.targetId)return void console.error("FilterConfig must have filterId, targetId, and operator");if(!Array.isArray(e.filterPaths)||0===e.filterPaths.length)return void console.error("FilterConfig must have non-empty filterPaths array");let t=this.filterConfigs.findIndex(t=>t.filterId===e.filterId&&t.targetId===e.targetId);t>=0?this.filterConfigs[t]={...e}:this.filterConfigs.push({...e}),await this.saveFilterConfigs()}async removeFilterConfig(e){let{filterId:t,targetId:l,persist:o=!0}=e;if(!t&&!l)return console.error("At least one of filterId or targetId must be provided"),0;let n=this.filterConfigs.length;this.filterConfigs=this.filterConfigs.filter(e=>t&&l?e.filterId!==t||e.targetId!==l:t?e.filterId!==t:!l||e.targetId!==l);let i=n-this.filterConfigs.length;return i>0&&o&&await this.saveFilterConfigs(),i}bindToTarget(e){if(!e||"string"!=typeof e)return void console.error("[NocoBase]: targetId must be a non-empty string");let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`[NocoBase]: Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.addFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with addFilterGroup method`);if("function"!=typeof t.resource.removeFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with removeFilterGroup method`);let l=this.filterConfigs.filter(t=>t.targetId===e);if(0===l.length)return;let o=t;l.forEach(e=>{let l=this.gridModel.flowEngine.getModel(e.filterId);if(!l)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" not found`);if(!l.getFilterValue)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" does not have getFilterValue method`);let n=l.getFilterValue();if($(n)){try{t.resource.removeFilterGroup(e.filterId),o.setFilterActive(e.filterId,!1)}catch(e){console.error(`[NocoBase]: Failed to remove filter configuration from target model: ${e.message}`)}return}o.setFilterActive(e.filterId,!0);let i=e.filterPaths.map(o=>({path:o,operator:G(e.operator||V(l),t,o),value:n}));try{if(1===i.length)t.resource.addFilterGroup(e.filterId,new r.FilterItem({path:i[0].path,operator:i[0].operator,value:i[0].value}));else if(i.length>1){let l={logic:"$or",items:i};t.resource.addFilterGroup(e.filterId,new r.FilterGroup(l))}}catch(e){console.error(`Failed to bind filter configuration to target model: ${e.message}`);return}})}unbindFromTarget(e){if(!e||"string"!=typeof e)return void console.error("targetId must be a non-empty string");let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.removeFilterGroup)return void console.error(`Target model with uid "${e}" does not have a valid resource with removeFilterGroup method`);let l=this.filterConfigs.filter(t=>t.targetId===e);if(0===l.length)return;let o=t;l.forEach(e=>{try{t.resource.removeFilterGroup(e.filterId),"function"==typeof(null==o?void 0:o.removeFilterSource)&&o.removeFilterSource(e.filterId)}catch(e){console.error(`Failed to unbind filter configuration from target model: ${e.message}`);return}})}async refreshTargetsByFilter(e,t){if(!e)return void console.error("filterId must be provided");let l=Array.isArray(e)?e:[e];if(0===l.length||l.some(e=>!e||"string"!=typeof e))return void console.error("filterId must be non-empty string(s)");let o=this.filterConfigs.filter(e=>l.includes(e.filterId));if(0===o.length)return;let n=(null==t?void 0:t.excludeTargetIds)?new Set(t.excludeTargetIds):void 0,i=[...new Set(o.map(e=>e.targetId))].filter(e=>!(null==n?void 0:n.has(e))).map(async e=>{try{this.bindToTarget(e);let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.refresh)return void console.error(`Target model with uid "${e}" does not have a valid resource with refresh method`);let l=t,o=t.resource,n=l.getDataLoadingMode();if("manual"===n&&!l.hasActiveFilters()){o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1;return}await J(o),"function"==typeof o.setPage&&o.setPage(1),await o.refresh()}catch(t){console.error(`Failed to refresh target model "${e}": ${t.message}`);return}});await Promise.all(i)}constructor(e,t){this.gridModel=e,this.filterConfigs=t||[]}}var Q=l(7404);function Z(e){let{rows:t={},sizes:l={},layout:o,renderItem:n,rowGap:i=16,colGap:a=16,dragOverlayRect:s}=e,d=o||(0,r.normalizeGridLayout)({rows:t,sizes:l});return d.rows.length?(0,m.jsxs)("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:i},"data-grid-root":!0,children:[s&&(0,m.jsx)(el,{rect:s}),(0,m.jsx)(ee,{rows:d.rows,renderItem:n,rowGap:i,colGap:a,parentPath:[]})]}):(0,m.jsx)("div",{style:{position:"relative"},"data-grid-root":!0,"data-grid-empty-container":!0,children:s&&(0,m.jsx)(el,{rect:s})})}function ee(e){let{rows:t,renderItem:l,rowGap:o,colGap:n,parentPath:i}=e;return(0,m.jsx)(m.Fragment,{children:t.map(e=>{let t=e.cells.length,r=e.sizes||[],a=r.some(e=>null!=e&&void 0!==e),s=[...i,{rowId:e.id}],d=e.cells.map((e,l)=>{if(!a)return 24/t;{let e=r.reduce((e,t)=>e+(t||0),0),o=t-r.filter(Boolean).length,n=o>0?(24-e)/o:0;return r[l]??n}});return(0,m.jsx)(k.Row,{gutter:n,"data-grid-row-id":e.id,"data-grid-path":JSON.stringify(s),children:e.cells.map((t,i)=>(0,m.jsx)(et,{rowKey:e.id,columnIndex:i,span:d[i],rowGap:o,colGap:n,cell:t,path:[...s.slice(0,-1),{rowId:e.id,cellId:t.id}],renderItem:l},t.id))},e.id)})})}let et=h.default.memo(function(e){var t;let{rowKey:l,columnIndex:o,span:n,rowGap:i,colGap:a,cell:s,path:d,renderItem:u}=e,c=s.items||[];return(0,m.jsx)(k.Col,{span:n,"data-grid-column-row-id":l,"data-grid-column-index":o,"data-grid-path":JSON.stringify(d),children:(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:i},children:[c.map((e,t)=>e===r.EMPTY_COLUMN_UID?null:(0,m.jsx)("div",{"data-grid-item-row-id":l,"data-grid-column-index":o,"data-grid-item-index":t,"data-grid-item-uid":e,"data-grid-path":JSON.stringify(d),children:u(e)},e)),(null==(t=s.rows)?void 0:t.length)?(0,m.jsx)(ee,{rows:s.rows,renderItem:u,rowGap:i,colGap:a,parentPath:d}):null]})})});function el(e){let{rect:t}=e,l={position:"absolute",top:t.top,left:t.left,width:t.width,height:t.height,borderRadius:6,pointerEvents:"none",transition:"all 60ms ease-out",zIndex:100},o={column:{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.08)"},"column-edge":{border:"2px solid var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.12)"},"row-gap":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.05)"},"empty-row":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.04)"},"empty-column":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.04)"},"item-edge":{border:"2px solid var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.12)"}};return(0,m.jsx)("div",{style:{...l,...o[t.type]}})}et.displayName="GridColumn";var eo=l(6920);let en=e=>{let{value:t,onChange:l,rows:o=10,...n}=e,[i,r]=(0,h.useState)(()=>t?JSON.stringify(t,null,2):""),[a,s]=(0,h.useState)(null);(0,h.useEffect)(()=>{r(t?JSON.stringify(t,null,2):"")},[t]);let d=e=>{let t=e.target.value;r(t);try{let e=t.trim()?JSON.parse(t):void 0;s(null),null==l||l(e)}catch(e){s(e.message)}};return(0,m.jsxs)("div",{children:[(0,m.jsx)(k.Input.TextArea,{value:i,autoSize:{minRows:o,maxRows:o+10},onChange:d,...n}),a&&(0,m.jsx)(k.Alert,{type:"error",message:a,showIcon:!0,style:{marginTop:8}})]})},ei=(0,eo.connect)(en),er="gridSettings",ea="grid",es=e=>{if(!e)return null;if("number"==typeof e.clientX&&"number"==typeof e.clientY)return{x:e.clientX,y:e.clientY};if(e.touches&&e.touches.length>0){let t=e.touches[0];return{x:t.clientX,y:t.clientY}}if(e.changedTouches&&e.changedTouches.length>0){let t=e.changedTouches[0];return{x:t.clientX,y:t.clientY}}return null};class ed extends r.FlowModel{onInit(e){super.onInit(e),this.props.dragOverlayRect&&this.setProps("dragOverlayRect",null)}bindDragDocumentListeners(){var e;let t=(null==(e=this.getDragContainer())?void 0:e.ownerDocument)||("u"<typeof document?null:document);if(!t)return;let l={capture:!0,passive:!0},o={capture:!0},n=t.defaultView;return t.addEventListener("pointermove",this.updateDragPointerPosition,l),t.addEventListener("mousemove",this.updateDragPointerPosition,l),t.addEventListener("touchmove",this.updateDragPointerPosition,l),t.addEventListener("scroll",this.handleDragScroll,l),null==n||n.addEventListener("scroll",this.handleDragScroll,l),()=>{t.removeEventListener("pointermove",this.updateDragPointerPosition,o),t.removeEventListener("mousemove",this.updateDragPointerPosition,o),t.removeEventListener("touchmove",this.updateDragPointerPosition,o),t.removeEventListener("scroll",this.handleDragScroll,o),null==n||n.removeEventListener("scroll",this.handleDragScroll,o)}}deriveRowOrder(e,t){let l=[],o=new Set;return(t||Object.keys(e)).forEach(t=>{e[t]&&!o.has(t)&&(l.push(t),o.add(t))}),Object.keys(e).forEach(e=>{o.has(e)||(l.push(e),o.add(e))}),l}normalizeRowsWithOrder(e,t){let l=this.deriveRowOrder(e,t),o={};return l.forEach(t=>{e[t]&&(o[t]=e[t])}),Object.keys(e).forEach(t=>{o[t]||(o[t]=e[t])}),{rows:o,rowOrder:l}}orderSizesByRowOrder(e,t){let l={};return t.forEach(t=>{e[t]&&(l[t]=e[t])}),Object.keys(e).forEach(t=>{l[t]||(l[t]=e[t])}),l}getItemFlowSettings(){return this._memoItemFlowSettings||(this._memoItemFlowSettings={showBackground:!1,showDragHandle:!0,...this.itemFlowSettings}),this._memoItemFlowSettings}getItemUids(){return(this.subModels.items||[]).map(e=>e.uid)}normalizeLayoutFromSource(e){let t=this.getStepParams(er,ea)||{};return(0,r.normalizeGridLayout)({layout:(null==e?void 0:e.layout)??this.props.layout??t.layout,rows:(null==e?void 0:e.rows)??this.props.rows??t.rows,sizes:(null==e?void 0:e.sizes)??this.props.sizes??t.sizes,rowOrder:(null==e?void 0:e.rowOrder)??this.props.rowOrder??t.rowOrder,itemUids:this.getItemUids(),gridUid:this.uid,logger:console})}getGridLayout(){return this.normalizeLayoutFromSource()}serialize(){let e=super.serialize();return e.props=g.default.omit(e.props,["dragOverlayRect"]),e}syncLayoutProps(e){let t=(0,r.projectLayoutToLegacyRows)(e);this.setProps("layout",e),this.setProps("rows",t.rows),this.setProps("sizes",t.sizes),this.setProps("rowOrder",t.rowOrder)}setGridStepLayout(e){this.setStepParams(er,{[ea]:{layout:e}})}findLayoutRowByPath(e,t){if(!(null==t?void 0:t.length))return null;let l=e.rows;for(let e=0;e<t.length;e+=1){let o=t[e],n=l.find(e=>e.id===o.rowId);if(!n)break;if(e===t.length-1)return n;let i=n.cells.find(e=>e.id===o.cellId);l=(null==i?void 0:i.rows)||[]}return null}collectCellItemsForResize(e){return Array.isArray(e.items)?[...e.items]:(e.rows||[]).flatMap(e=>e.cells.flatMap(e=>this.collectCellItemsForResize(e)))}buildResizedCells(e,t){let l=new Set;return t.map((t,o)=>{let n=e.cells.findIndex((e,o)=>!l.has(o)&&g.default.isEqual(this.collectCellItemsForResize(e),t));if(-1!==n){l.add(n);let o=e.cells[n];return o.rows&&!o.items?g.default.cloneDeep(o):{id:o.id,items:[...t]}}return{id:`${e.id}:cell:${o}:${(0,Q.uid)()}`,items:[...t]}})}getResizeRowPath(e){if(!(null==e?void 0:e.length))return[];let t=e.map(e=>({...e}));return delete t[t.length-1].cellId,t}getResizeContainerWidth(e){var t,l,o;let n=this.getResizeRowPath(e),i=(null==(t=this.gridContainerRef.current)?void 0:t.clientWidth)||0;if(!n.length)return i;let r=Array.from((null==(l=this.gridContainerRef.current)?void 0:l.querySelectorAll("[data-grid-row-id]"))||[]).find(e=>{try{return g.default.isEqual(JSON.parse(e.dataset.gridPath||"[]"),n)}catch{return!1}});return(null==r||null==(o=r.parentElement)?void 0:o.clientWidth)||i}resizeGridLayout(e){var t;let{direction:l,resizeDistance:o,model:n}=e,i=this.getGridLayout(),a=(0,r.findModelUidLayoutPosition)(i,n.uid);if(!a)return null;let s=this.findLayoutRowByPath(i,a.path);if(!s)return null;let d=this.getResizeContainerWidth(a.path),u=s.cells.map(e=>this.collectCellItemsForResize(e)),{newRows:c,newSizes:p,moveDistance:m}=ec({position:{rowId:s.id,columnIndex:a.cellIndex,itemIndex:a.itemIndex},direction:l,resizeDistance:o,prevMoveDistance:this.prevMoveDistance,oldRows:{[s.id]:u},oldSizes:{[s.id]:s.sizes||[]},gutter:(null==(t=this.context.themeToken)?void 0:t.marginBlock)??16,gridContainerWidth:d}),h=g.default.cloneDeep(i),f=this.findLayoutRowByPath(h,a.path);return f?(f.cells=this.buildResizedCells(s,c[s.id]||[]),f.sizes=p[s.id]||[],{layout:(0,r.normalizeGridLayout)({layout:h,itemUids:this.getItemUids(),gridUid:this.uid,logger:console}),moveDistance:m}):null}onMount(){super.onMount(),this.emitter.on("onSubModelAdded",e=>{e.isNew&&(this.resetRows(!0),this.setGridStepLayout(this.props.layout))}),this.emitter.on("onSubModelDestroyed",e=>{var t,l;let o=e.uid;this.resetRows(!0),this.setGridStepLayout(this.props.layout),null==(t=this.context.filterManager)||t.removeFilterConfig({targetId:o}),null==(l=this.context.filterManager)||l.removeFilterConfig({filterId:o}),this.saveStepParams()}),this.emitter.on("onSubModelMoved",()=>{this.resetRows(!0)}),this.emitter.on("onResizeLeft",e=>{let{resizeDistance:t,model:l}=e,o=this.resizeGridLayout({direction:"left",resizeDistance:t,model:l});o&&(this.prevMoveDistance=o.moveDistance,this.syncLayoutProps(o.layout))}),this.emitter.on("onResizeRight",e=>{let{resizeDistance:t,model:l}=e,o=this.resizeGridLayout({direction:"right",resizeDistance:t,model:l});o&&(this.prevMoveDistance=o.moveDistance,this.syncLayoutProps(o.layout))}),this.emitter.on("onResizeBottom",e=>{let{resizeDistance:t,model:l}=e}),this.emitter.on("onResizeEnd",()=>{this.prevMoveDistance=0,this.saveGridLayout(this.props.layout)})}saveGridLayout(e){let t=e&&"version"in e?(0,r.normalizeGridLayout)({layout:e,itemUids:this.getItemUids(),gridUid:this.uid,logger:console}):this.normalizeLayoutFromSource(e);this.setGridStepLayout(t),this.syncLayoutProps(t),this.saveStepParams()}mergeRowsWithItems(e){let t=this.subModels.items||[];if(!t||0===t.length)return{};let l=new Set(t.map(e=>e.uid));l.add(r.EMPTY_COLUMN_UID);let o=new Set,n={};for(let[t,i]of Object.entries(e)){let e=i.map(e=>g.default.castArray(e).filter(e=>l.has(e))).filter(e=>e.length>0);e.length>0&&(n[t]=e,e.forEach(e=>e.forEach(e=>o.add(e))))}let i=new Set;for(let e of(Object.values(n).forEach(e=>e.forEach(e=>e.forEach(e=>i.add(e)))),t))i.has(e.uid)||(n[(0,Q.uid)()]=[[e.uid]]);return n}resetRows(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getStepParams(er,ea)||{},l=this.normalizeLayoutFromSource(t);this.setGridStepLayout(l),e&&this.syncLayoutProps(l)}computePointerPosition(e){var t;if(!this.dragState)return null;if(this.dragState.pointerPosition)return this.dragState.pointerPosition;let l=this.dragState.pointerOrigin;if(l)return{x:l.x+e.delta.x,y:l.y+e.delta.y};let o=es(e.activatorEvent);if(o)return this.dragState.pointerOrigin=o,{x:o.x+e.delta.x,y:o.y+e.delta.y};let n=null==(t=e.over)?void 0:t.rect;return n?{x:n.left+n.width/2,y:n.top+n.height/2}:null}getDragContainer(){if(!this.dragState)return this.gridContainerRef.current;let e=this.gridContainerRef.current;return e&&this.dragState.containerEl!==e&&(this.dragState.containerEl=e),this.dragState.containerEl||e}updateLayoutSnapshot(){if(!this.dragState)return;let e=(0,r.buildLayoutSnapshot)({container:this.getDragContainer()});this.dragState.slots=e.slots,this.dragState.containerRect=e.containerRect}scheduleSnapshotRefresh(){!this.dragState||this.dragState.refreshTimer||(this.dragState.refreshTimer=setTimeout(()=>{this.dragState&&(this.dragState.refreshTimer=null,this.updateLayoutSnapshot(),this.refreshPreviewFromPointer())},16))}refreshPreviewFromPointer(){if(!this.dragState)return;let e=this.dragState.pointerPosition||this.dragState.pointerOrigin;if(!e)return;let t=this.resolveDragSlot(e);this.applyPreview(t)}computeOverlayRect(e){var t,l,o,n;let i=this.dragOverlayConfig,r=e.rect;switch(e.type){case"column":{let l=null==i||null==(t=i.columnInsert)?void 0:t[e.position],o=(null==l?void 0:l.height)??r.height,n=(null==l?void 0:l.offsetTop)??0;return{top:r.top+n,left:r.left,width:r.width,height:o}}case"column-edge":{let t=null==i||null==(l=i.columnEdge)?void 0:l[e.direction],o=(null==t?void 0:t.width)??r.width,n=(null==t?void 0:t.offsetLeft)??0;return{top:r.top,left:r.left+n,width:o,height:r.height}}case"item-edge":{let t=null==i||null==(o=i.columnEdge)?void 0:o[e.direction],l=(null==t?void 0:t.width)??r.width,n=(null==t?void 0:t.offsetLeft)??0;return{top:r.top,left:r.left+n,width:l,height:r.height}}case"row-gap":{let t=null==i||null==(n=i.rowGap)?void 0:n[e.position],l=(null==t?void 0:t.height)??r.height,o=(null==t?void 0:t.offsetTop)??0;return{top:r.top+o,left:r.left,width:r.width,height:l}}default:return{top:r.top,left:r.left,width:r.width,height:r.height}}}getHitTestSlot(e){return{...e,rect:this.computeOverlayRect(e)}}resolveDragSlot(e){var t;return(null==(t=this.dragState)?void 0:t.slots.length)?(0,r.resolveDropIntent)(e,this.dragState.slots.map(e=>this.getHitTestSlot(e))):null}applyPreview(e){if(!this.dragState)return;if(!e){null!==this.dragState.activeSlotKey&&(this.dragState.activeSlotKey=null,this.dragState.previewLayout=void 0,this.setProps("dragOverlayRect",null));return}let t=(0,r.getSlotKey)(e);if(this.dragState.activeSlotKey===t&&this.dragState.previewLayout)return;let l=(0,r.simulateLayoutForSlot)({slot:e,sourceUid:this.dragState.sourceUid,layout:this.dragState.snapshot,generateRowId:Q.uid,generatedIds:this.dragState.generatedIds,generateId:()=>(0,Q.uid)()});if(l.layout&&this.dragState.snapshot.layout&&(0,r.isSameGridLayout)(l.layout,this.dragState.snapshot.layout))return void this.applyPreview(null);this.dragState.previewLayout={rows:g.default.cloneDeep(l.rows),sizes:g.default.cloneDeep(l.sizes),rowOrder:g.default.cloneDeep(l.rowOrder),layout:g.default.cloneDeep(l.layout)};let o=this.computeOverlayRect(e),n={top:o.top-this.dragState.containerRect.top,left:o.left-this.dragState.containerRect.left,width:o.width,height:o.height,type:e.type};this.setProps("dragOverlayRect",n),this.dragState.activeSlotKey=t}handleDragStart(e){let t=e.active.id,l=this.normalizeLayoutFromSource(),o=(0,r.projectLayoutToLegacyRows)(l);this.dragState={sourceUid:t,snapshot:{rows:g.default.cloneDeep(o.rows),sizes:g.default.cloneDeep(o.sizes),rowOrder:g.default.cloneDeep(o.rowOrder),layout:g.default.cloneDeep(l)},slots:[],containerEl:this.gridContainerRef.current,containerRect:{top:0,left:0,width:0,height:0},pointerOrigin:es(e.activatorEvent)??void 0,activeSlotKey:null,previewLayout:void 0,refreshTimer:null,generatedIds:new Map},this.dragState.cleanupListeners=this.bindDragDocumentListeners(),this.setProps("dragOverlayRect",null),this.updateLayoutSnapshot(),this.scheduleSnapshotRefresh()}handleDragMove(e){if(!this.dragState)return;this.dragState.slots.length||this.updateLayoutSnapshot();let t=this.computePointerPosition(e);if(!t)return void this.applyPreview(null);let l=this.resolveDragSlot(t);this.applyPreview(l)}finishDrag(){var e,t;this.dragState&&(this.dragState.refreshTimer&&clearTimeout(this.dragState.refreshTimer),null==(e=(t=this.dragState).cleanupListeners)||e.call(t),this.dragState=void 0,this.setProps("dragOverlayRect",null))}handleDragEnd(e){if(!this.dragState)return;let t=this.computePointerPosition(e);if(t){let e=this.resolveDragSlot(t);this.applyPreview(e)}let l=this.dragState.previewLayout;l&&(l.layout?this.syncLayoutProps(g.default.cloneDeep(l.layout)):(this.setProps("rows",g.default.cloneDeep(l.rows)),this.setProps("sizes",g.default.cloneDeep(l.sizes)),l.rowOrder&&this.setProps("rowOrder",g.default.cloneDeep(l.rowOrder))),this.saveGridLayout(l)),this.finishDrag()}handleDragCancel(e){this.finishDrag()}renderAddSubModelButton(){throw Error("renderAddSubModelButton method must be implemented in subclasses of GridModel")}getVisibleLayout(){var e;let t=this.normalizeLayoutFromSource(),l=this.context.isMobileLayout?(0,r.normalizeGridLayout)({rows:eu((0,r.projectLayoutToLegacyRows)(t).rows),itemUids:this.getItemUids()}):t,o=(0,r.projectLayoutToLegacyRows)(l),{rows:n,rowOrder:i}=this.normalizeRowsWithOrder(o.rows,o.rowOrder),a=this.orderSizesByRowOrder(o.sizes,i);if(this.context.flowSettingsEnabled)return{layout:l,rows:n,sizes:a};let s=(null==(e=this.subModels)?void 0:e.items)||[];if(!s.length)return{layout:l,rows:o.rows,sizes:o.sizes};let d=new Map(s.map(e=>[e.uid,e])),u=e=>e.map(e=>{let t=[],l=[];return e.cells.forEach((o,n)=>{var i;let a=null==(i=e.sizes)?void 0:i[n],s=Number.isFinite(a)&&a>0?a:1;if(o.rows){let e=u(o.rows);e.length&&(t.push({...o,rows:e}),l.push(s));return}let c=(o.items||[]).filter(e=>{var t;return e!==r.EMPTY_COLUMN_UID&&(null==(t=d.get(e))?void 0:t.hidden)!==!0});c.some(e=>{let t=d.get(e);return!t||!t.hidden})&&(t.push({...o,items:c}),l.push(s))}),t.length?{...e,cells:t,sizes:l}:null}).filter(Boolean),c=(0,r.normalizeGridLayout)({layout:{version:2,rows:u(l.rows)}}),p=(0,r.projectLayoutToLegacyRows)(c);return{layout:c,rows:p.rows,sizes:p.sizes}}render(){let{layout:e,rows:t,sizes:l}=this.getVisibleLayout(),o=Object.keys(t||{}).length>0;return(0,m.jsxs)(m.Fragment,{children:[o&&(0,m.jsx)(k.Space,{ref:this.gridContainerRef,direction:"vertical",style:{width:"100%",marginBottom:this.props.rowGap},size:this.props.rowGap,children:(0,m.jsx)(r.DndProvider,{onDragStart:this.handleDragStart.bind(this),onDragMove:this.handleDragMove.bind(this),onDragEnd:this.handleDragEnd.bind(this),onDragCancel:this.handleDragCancel.bind(this),children:(0,m.jsx)(Z,{rowGap:this.props.rowGap,colGap:this.props.colGap,layout:e,rows:t,sizes:l,dragOverlayRect:this.props.dragOverlayRect,renderItem:e=>{var t,l,o,n,i;let a=this.flowEngine.getModel(e);if(!a)return this.itemFallback;let s=this.context.fieldKey,d=this.context.fieldIndex,u=this.context.getPropertyOptions("item"),c=null==(t=(l=this.context).getPropertyOptions)?void 0:t.call(l,"record"),p=null==(o=(n=this.context).getPropertyOptions)?void 0:o.call(n,"currentObject"),h=null==d?a:(()=>{let t=a.createFork({},`${s}:${e}`);t.context.defineProperty("fieldIndex",{get:()=>d}),t.context.defineProperty("fieldKey",{get:()=>s}),t.context.defineProperty("record",{get:()=>this.context.record,cache:!1,meta:null==c?void 0:c.meta,resolveOnServer:null==c?void 0:c.resolveOnServer,serverOnlyWhenContextParams:null==c?void 0:c.serverOnlyWhenContextParams}),t.context.defineProperty("currentObject",{get:()=>this.context.currentObject,cache:!1,resolveOnServer:null==p?void 0:p.resolveOnServer,serverOnlyWhenContextParams:null==p?void 0:p.serverOnlyWhenContextParams});let{value:l,...o}=u||{};return t.context.defineProperty("item",{...o,get:()=>this.context.item,cache:!1}),t})();return(0,m.jsx)(r.Droppable,{model:h,children:(0,m.jsx)(r.MemoFlowModelRenderer,{model:h,fallback:a.skeleton||this.itemFallback,showFlowSettings:!!this.context.flowSettingsEnabled&&this.getItemFlowSettings(),showErrorFallback:!0,settingsMenuLevel:(null==h?void 0:h.settingsMenuLevel)??this.itemSettingsMenuLevel,showTitle:!0,extraToolbarItems:this.itemExtraToolbarItems},`${h.uid}:${s}:${(null==h?void 0:h.use)||(null==h||null==(i=h.constructor)?void 0:i.name)||"m"}`)})}})})}),this.context.flowSettingsEnabled&&(0,m.jsx)("div",{style:{marginBottom:16},children:this.renderAddSubModelButton()})]})}constructor(...e){super(...e),this.subModelBaseClass="BlockModel",this.gridContainerRef=h.default.createRef(),this.prevMoveDistance=0,this.itemSettingsMenuLevel=1,this.itemFlowSettings={},this.itemFallback=(0,m.jsx)(F,{}),this.itemExtraToolbarItems=[{key:"drag-handler",component:r.DragHandler,sort:1}],this.updateDragPointerPosition=e=>{if(!this.dragState)return;let t=es(e);t&&(this.dragState.pointerPosition=t)},this.handleDragScroll=()=>{this.dragState&&this.scheduleSnapshotRefresh()}}}function eu(e,t){let l=(null==t?void 0:t.emptyColumnUid)??r.EMPTY_COLUMN_UID,o={};return Object.keys(e).forEach(t=>{e[t].forEach(e=>{let t=e.filter(e=>e!==l);t.length>0&&(o[(0,Q.uid)()]=[t])})}),o}function ec(e){var t,l;let{position:o,direction:n,resizeDistance:i,prevMoveDistance:r,oldSizes:a,oldRows:s,gridContainerWidth:d,gutter:u=16,columnCount:c=24}=e,p=g.default.cloneDeep(s),m=g.default.cloneDeep(a),h=Math.floor(i/(d-u*((m[o.rowId]||[]).length-1))*c);if(h===r)return{newRows:p,newSizes:m,moveDistance:h};(t=m)[l=o.rowId]??(t[l]=[c]);let f=m[o.rowId],v=h-r,y="left"===n&&o.columnIndex>0,_="right"===n&&o.columnIndex<f.length-1;if(!y&&!_&&v>0){let e=c-f.reduce((e,t)=>e+t,0);if(e<=0)return{newRows:p,newSizes:m,moveDistance:r};v>e&&(h=r+e,v=e)}if(m[o.rowId][o.columnIndex]+=v,"left"===n&&o.columnIndex>0&&(m[o.rowId][o.columnIndex-1]-=v,0===m[o.rowId][o.columnIndex-1]&&em({rows:p,sizes:m,position:o,direction:"left"})),"left"===n&&0===o.columnIndex){let e=m[o.rowId].slice(1).reduce((e,t)=>e+t,0);m[o.rowId][0]<c-e&&ep({rows:p,sizes:m,position:o,direction:"left"})}if("right"===n&&o.columnIndex<m[o.rowId].length-1&&(m[o.rowId][o.columnIndex+1]-=v,0===m[o.rowId][o.columnIndex+1]&&em({rows:p,sizes:m,position:o,direction:"right"})),"right"===n&&o.columnIndex===m[o.rowId].length-1){let e=m[o.rowId].slice(0,-1).reduce((e,t)=>e+t,0);m[o.rowId][o.columnIndex]<c-e&&ep({rows:p,sizes:m,position:o,direction:"right"})}return{newRows:p,newSizes:m,moveDistance:h}}function ep(e){let{rows:t,sizes:l,position:o,direction:n}=e,i=t[o.rowId]||[],a=l[o.rowId]||[];if("left"===n){let e=i[o.columnIndex-1];if(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID))return;i.splice(o.columnIndex,0,[r.EMPTY_COLUMN_UID]),a.splice(o.columnIndex,0,1)}if("right"===n){let e=i[o.columnIndex+1];if(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID))return;i.splice(o.columnIndex+1,0,[r.EMPTY_COLUMN_UID]),a.splice(o.columnIndex+1,0,1)}}function em(e){let{rows:t,sizes:l,position:o,direction:n}=e,i=t[o.rowId]||[],a=l[o.rowId]||[];if("left"===n){let e=i[o.columnIndex-1];if(!(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID)))return;i.splice(o.columnIndex-1,1),a.splice(o.columnIndex-1,1)}if("right"===n){let e=i[o.columnIndex+1];if(!(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID)))return;i.splice(o.columnIndex+1,1),a.splice(o.columnIndex+1,1)}}ed.registerFlow({key:er,steps:{resetRows:{handler(e){e.model.resetRows()}},grid:{uiSchema:{layout:{title:(0,r.tExpr)("Layout"),"x-decorator":"FormItem","x-component":ei,"x-component-props":{autoSize:{minRows:10,maxRows:20},description:(0,r.tExpr)("Configure the nested layout of the grid.")}}},async handler(e,t){let l=e.model,o=(0,r.normalizeGridLayout)({layout:t.layout,rows:t.rows,sizes:t.sizes,rowOrder:t.rowOrder,itemUids:l.getItemUids(),gridUid:l.uid,logger:console});l.setGridStepLayout(o),l.syncLayoutProps(o)}}}});let eh=["JSBlockModel","IframeBlockModel","MarkdownBlockModel"];class ef extends ed{onInit(e){super.onInit(e),this.context.defineProperty("blockGridModel",{value:this}),this.context.defineProperty("filterManager",{once:!0,get:()=>new X(this,e.filterManager)})}get subModelBaseClasses(){var e;let t=(null==(e=this.context.view)?void 0:e.inputArgs)??{};return t.collectionName&&!t.filterByTk,["DataBlockModel","FilterBlockModel","BlockModel"]}get filterManager(){return this.context.filterManager}get addBlockItems(){var e,t;if((null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)==="select")return async e=>{let t=await (0,r.buildSubModelGroups)(["DataBlockModel","FilterBlockModel"])(e),l=eh.filter(t=>!!e.engine.getModelClass(t)),o=(await Promise.all(l.map(t=>(0,r.buildSubModelItems)(t)(e)))).flat().sort((e,t)=>(e.sort??1e3)-(t.sort??1e3));return o.length>0&&t.push({key:"select-scene-other-blocks",type:"group",label:e.t("Other blocks"),sort:1e3,children:o}),t}}serialize(){let e=super.serialize();return e.filterManager=this.filterManager.getFilterConfigs(),e}renderAddSubModelButton(){let e=this.addBlockItems;return(0,m.jsx)(r.AddSubModelButton,{model:this,subModelKey:"items",items:e,subModelBaseClasses:e?void 0:this.subModelBaseClasses,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(H.PlusOutlined,{}),"data-flow-add-block":!0,children:this.context.t("Add block")})})}render(){return(0,m.jsx)("div",{className:"nb-block-grid",style:this.context.disableBlockGridPadding?null:{padding:this.context.isMobileLayout?8:this.context.themeToken.marginBlock,paddingBottom:0},children:super.render()})}constructor(...e){super(...e),this.dragOverlayConfig={columnInsert:{before:{offsetTop:-12},after:{offsetTop:12}},columnEdge:{left:{offsetLeft:-5},right:{offsetLeft:6}}}}}ef.registerFlow({key:"blockGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",e.isMobileLayout?12:e.themeToken.marginBlock),e.model.setProps("colGap",e.themeToken.marginBlock)}}}});var eg=l(3890);class ev extends D{}ev.define({children:async e=>(await (0,r.buildSubModelItems)(D)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(L.collection))});var ey=l(146);class e_ extends r.FlowModel{}var eb=l(2606),ex=l(6859);class eM extends eg.z{}eM.define({hide:!0,label:"Filter blocks"});var ew=l(4829);async function eS(e){var t,l,o,n,i;(null==(l=e.inputArgs)||null==(t=l.dirty)?void 0:t.hasDirtyForms)&&(await e.modal.confirm({title:e.t("Unsaved changes"),content:e.t("Are you sure you don't want to save?"),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||(null==(i=e.inputArgs)||null==(n=i.controller)||null==(o=n.prevent)||o.call(n),e.exitAll()))}class ek extends r.FlowModel{getEnableTabs(){var e,t;let l=null==(t=this.context)||null==(e=t.currentRoute)?void 0:e.enableTabs;return null!=this.props.routeId&&"boolean"==typeof l?l:!!this.props.enableTabs}getActiveTabKey(){var e,t,l,o;let n=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;return n?n.tabUid||(null==(o=this.getFirstTab())?void 0:o.uid):this.props.tabActiveKey||(null==(l=this.getFirstTab())?void 0:l.uid)}scheduleActiveLifecycleRefresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirtyRefreshScheduled||(this.dirtyRefreshScheduled=!0,Promise.resolve().then(()=>{if(this.dirtyRefreshScheduled=!1,this.unmounted||!1===(0,r.getPageActive)(this.context))return;let t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive",e)}).catch(()=>{}))}onMount(){var e,t,l,o,n,i,a,s,d;super.onMount(),this.unmounted=!1,this.setProps("tabActiveKey",null==(e=this.context.view.inputArgs)?void 0:e.tabUid),(null==(t=this.context)?void 0:t.pageInfo)&&(this.context.pageInfo.version="v2"),this.updateDocumentTitle(),this.viewActivatedListener||(this.viewActivatedListener=e=>{let t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive")},null==(i=this.flowEngine)||null==(n=i.emitter)||null==(o=n.on)||o.call(n,r.VIEW_ACTIVATED_EVENT,this.viewActivatedListener));let u=(0,r.getEmitterViewActivatedVersion)(null==(l=this.flowEngine)?void 0:l.emitter),c=u>0&&u!==this.lastSeenEmitterViewActivatedVersion;if(this.lastSeenEmitterViewActivatedVersion=u,c&&!1!==(0,r.getPageActive)(this.context)){let e=this.getActiveTabKey();e&&this.invokeTabModelLifecycleMethod(e,"onActive")}this.dataSourceDirtyListener||(this.dataSourceDirtyListener=e=>{this.scheduleActiveLifecycleRefresh()},null==(d=this.flowEngine)||null==(s=d.emitter)||null==(a=s.on)||a.call(s,r.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener))}onUnmount(){var e,t,l,o,n,i;this.unmounted=!0,this.viewActivatedListener&&(null==(l=this.flowEngine)||null==(t=l.emitter)||null==(e=t.off)||e.call(t,r.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),this.dataSourceDirtyListener&&(null==(i=this.flowEngine)||null==(n=i.emitter)||null==(o=n.off)||o.call(n,r.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener),this.dataSourceDirtyListener=void 0),super.onUnmount()}invokeTabModelLifecycleMethod(e,t){var l,o;let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];"onActive"===t&&(null==(l=this.context)?void 0:l.pageInfo)&&(this.context.pageInfo.version="v2");let i=this.flowEngine.getModel(e);if(i){if(i.context.tabActive){let e=!1!==(0,r.getPageActive)(i.context);i.context.tabActive.value=e&&"onActive"===t}null==(o=i.subModels.grid)||o.mapSubModels("items",e=>{var l;null==(l=e[t])||l.call(e,n)})}"onActive"===t&&this.updateDocumentTitle(e)}async updateDocumentTitle(e){var t,l,o,n,i,a,s,d,u,c,p,m,h,f,g,v;let y=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.unmounted||!1===(0,r.getPageActive)(this.context))return;let _=!!(null==(l=this.context)||null==(t=l.view)?void 0:t.navigation),b=null==(i=this.context)||null==(n=i.view)||null==(o=n.inputArgs)?void 0:o.viewUid,x=null==(d=this.flowEngine)||null==(s=d.context)||null==(a=s.route)?void 0:a.pathname;if(_&&b&&"string"==typeof x){let e=null==(u=(0,r.parsePathnameToViewParams)(x).at(-1))?void 0:u.viewUid;if(e&&e!==b)return}let M=++this.documentTitleUpdateVersion,w=async e=>{if(!e||"string"!=typeof e)return"";try{var t,l;let o=await (null==(t=(l=this.context).resolveJsonTemplate)?void 0:t.call(l,e));return null==o?"":String(o)}catch(t){return e}},S="";if(this.getEnableTabs()){let t=e||this.getActiveTabKey(),l=t?this.flowEngine.getModel(t):this.getFirstTab();if(!l&&y<5)return void window.setTimeout(()=>{this.unmounted||M===this.documentTitleUpdateVersion&&this.updateDocumentTitle(t,y+1)},0);S=await w(null==l||null==(m=l.stepParams)||null==(p=m.pageTabSettings)||null==(c=p.tab)?void 0:c.documentTitle)||(null==l||null==(h=l.getTabTitle)?void 0:h.call(l))||""}else S=await w(null==(v=this.stepParams)||null==(g=v.pageSettings)||null==(f=g.general)?void 0:f.documentTitle)||this.props.title||"";M===this.documentTitleUpdateVersion&&"string"==typeof S&&""!==S&&(document.title=S)}mapTabs(){return this.mapSubModels("tabs",e=>!this.context.flowSettingsEnabled&&e.hidden?null:{key:e.uid,label:(0,m.jsx)(r.Droppable,{model:e,children:(0,m.jsx)(r.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!0,showBorder:!1,toolbarPosition:"above",style:{transform:"translateY(8px)"}},extraToolbarItems:[{key:"drag-handler",component:r.DragHandler,sort:1}]})}),children:e.renderChildren()}).filter(Boolean)}getFirstTab(){var e;return null==(e=this.subModels.tabs)?void 0:e[0]}renderFirstTab(){var e;let t=this.getFirstTab();return null==t||null==(e=t.renderChildren)?void 0:e.call(t)}async handleDragEnd(e){throw Error("Method not implemented.")}renderTabs(){var e,t,l,o;let n=(null==(e=this.context.themeToken)?void 0:e.paddingLG)??16,i=void 0!==this.tabBarExtraContent.left?this.tabBarExtraContent.left:(0,m.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:n,height:1}}),a=void 0!==this.tabBarExtraContent.right?this.tabBarExtraContent.right:(0,m.jsx)("span",{style:{display:"inline-flex",marginInlineEnd:n},children:(0,m.jsx)(r.AddSubModelButton,{model:this,subModelKey:"tabs",items:[{key:"blank",label:this.context.t("Blank tab"),createModelOptions:this.createPageTabModelOptions}],children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(H.PlusOutlined,{}),children:this.context.t("Add tab")})})});return(0,m.jsx)(r.DndProvider,{onDragEnd:this.handleDragEnd.bind(this),children:(0,m.jsx)(k.Tabs,{activeKey:(null==(l=this.context.view)||null==(t=l.navigation)?void 0:t.viewParams)?this.context.view.navigation.viewParams.tabUid||(null==(o=this.getFirstTab())?void 0:o.uid):this.props.tabActiveKey,tabBarStyle:this.props.tabBarStyle,items:this.mapTabs(),onChange:e=>{var t,l;null==(l=this.context.view.navigation)||null==(t=l.changeTo)||t.call(l,{tabUid:e}),this.invokeTabModelLifecycleMethod(e,"onActive"),this.invokeTabModelLifecycleMethod(this.props.tabActiveKey,"onInactive"),this.setProps("tabActiveKey",e)},tabBarExtraContent:{left:i,right:a}})})}render(){let e=this.context.themeToken,t={...this.props.headerStyle};e&&(t.paddingBlock=e.paddingSM,t.paddingInline=e.paddingLG);let l=this.getEnableTabs();return l&&(t.paddingBottom=0),(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&(0,m.jsx)(ew.PageHeader,{title:this.props.title,style:t}),l?this.renderTabs():this.renderFirstTab()]})}constructor(...e){super(...e),this.tabBarExtraContent={},this.lastSeenEmitterViewActivatedVersion=0,this.dirtyRefreshScheduled=!1,this.unmounted=!1,this.documentTitleUpdateVersion=0,this.createPageTabModelOptions=()=>{let e=(0,Q.uid)();return{uid:e,use:"RootPageTabModel",props:{route:{parentId:this.props.routeId,type:"tabs",schemaUid:e,tabSchemaName:(0,Q.uid)(),params:[],hideInMenu:!1,enableTabs:!1}}}}}}ek.registerEvents({close:{title:(0,r.tExpr)("Close"),name:"close",hideInSettings(e){var t;return!!(null==(t=e.view)?void 0:t.preventClose)},uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":O.H}},handler:O.b}}),ek.registerFlow({key:"closeGuard",title:(0,r.tExpr)("Close guard"),on:"close",steps:{confirmUnsavedChanges:{title:(0,r.tExpr)("Unsaved changes confirmation"),handler:eS}}}),ek.registerFlow({key:"pageSettings",title:(0,r.tExpr)("Page settings"),steps:{general:{title:(0,r.tExpr)("Edit page"),uiSchema:{title:{type:"string",title:(0,r.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},documentTitle:{type:"string",title:(0,r.tExpr)("Document title"),description:(0,r.tExpr)("Used as the browser tab title when tabs are disabled. Supports variables. Leave empty to use Page title."),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:1,maxRows:6}},displayTitle:{type:"boolean",title:(0,r.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"},enableTabs:{type:"boolean",title:(0,r.tExpr)("Enable tabs"),"x-decorator":"FormItem","x-component":"Switch"}},defaultParams:e=>({displayTitle:!0,enableTabs:!1}),async handler(e,t){if(e.model.setProps("displayTitle",t.displayTitle),e.model.context.closable)e.model.setProps("title",e.t(t.title,{ns:"lm-desktop-routes"}));else{var l,o;let n=null==(o=e.model.context)||null==(l=o.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||n,{ns:"lm-desktop-routes"}))}e.model.setProps("enableTabs",t.enableTabs),"embed"===e.view.type?(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgContainer)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgContainer)",marginBottom:0})):(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgLayout)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgLayout)",marginBottom:0})),e.model.updateDocumentTitle()}}}});class eF extends ek{renderBackButtonWhenTabsDisabled(){var e,t,l;if((null==(t=this.context)||null==(e=t.view)?void 0:e.type)!=="embed")return null;let o=null==(l=this.context)?void 0:l.themeToken,n={...this.props.tabBarStyle,paddingBlock:(null==o?void 0:o.paddingXS)??8};return(0,m.jsx)("div",{style:n,children:(0,m.jsx)(eC,{renderSpacerWhenNoBack:!1})})}async handleDragEnd(e){var t,l;if(!(null==(t=e.active)?void 0:t.id)||!(null==(l=e.over)?void 0:l.id))throw Error("Invalid drag event");this.flowEngine.moveModel(e.active.id,e.over.id)}render(){return(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&this.props.title&&(0,m.jsx)(ew.PageHeader,{title:this.props.title,style:this.props.headerStyle}),this.props.enableTabs?this.renderTabs():(0,m.jsxs)(m.Fragment,{children:[this.renderBackButtonWhenTabsDisabled(),this.renderFirstTab()]})]})}constructor(...e){super(...e),this.tabBarExtraContent={left:(0,m.jsx)(eC,{})},this.createPageTabModelOptions=()=>({use:"ChildPageTabModel"})}}let eC=e=>{let{renderSpacerWhenNoBack:t=!0}=e,l=(0,r.useFlowContext)(),o=l.themeToken,n=32,i=(null==o?void 0:o.paddingLG)??16,a=(0,h.useMemo)(()=>({width:"auto",height:"auto",lineHeight:1,padding:o.paddingXS,marginLeft:o.paddingLG,marginRight:n-o.paddingXS}),[o.paddingLG,o.paddingXS]);return"embed"!==l.view.type?t?(0,m.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:i,height:1}}):null:(0,m.jsx)(k.Button,{"aria-label":"back-button",type:"text",icon:(0,m.jsx)(H.ArrowLeftOutlined,{}),style:a,onClick:l.view.close})};class eA extends r.FlowModel{}eA.registerFlow({key:"pageSettings",title:(0,r.tExpr)("Page settings"),steps:{general:{title:(0,r.tExpr)("General"),uiSchema:{title:{type:"string",title:(0,r.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},displayTitle:{type:"boolean",title:(0,r.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"}},defaultParams:e=>({displayTitle:!0,enableTabs:!1}),async handler(e,t){if(e.model.setProps("displayTitle",t.displayTitle),e.model.context.closable)e.model.setProps("title",t.title?e.t(t.title):null);else{var l,o;let n=null==(o=e.model.context)||null==(l=o.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||n))}e.model.setProps("enableTabs",t.enableTabs),e.model.context.closable?(e.model.setProps("headerStyle",{backgroundColor:e.themeToken.colorBgContainer}),e.model.setProps("tabBarStyle",{backgroundColor:e.themeToken.colorBgLayout,paddingInline:16,marginBottom:0})):(e.model.setProps("headerStyle",{backgroundColor:e.themeToken.colorBgContainer}),e.model.setProps("tabBarStyle",{backgroundColor:e.themeToken.colorBgContainer,paddingInline:16,marginBottom:0}))}}}});class eP extends eA{renderFirstTab(){var e;return(0,m.jsx)(r.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&(0,m.jsx)(ew.PageHeader,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}function eT(e){let{ctx:t,options:l}=e,{data:o,loading:n}=(0,w.useRequest)(async()=>{let e=await t.engine.loadOrCreateModel(l,{skipSave:!t.flowSettingsEnabled});return e.context.addDelegate(t),e},{refreshDeps:[t.model.uid]}),i=(null==t?void 0:t.isMobileLayout)?8:null==t?void 0:t.themeToken.marginBlock;return!n&&(null==o?void 0:o.uid)?(0,m.jsx)(r.FlowModelRenderer,{model:o,fallback:(0,m.jsx)(F,{style:{margin:i}})}):(0,m.jsx)(F,{style:{margin:i}})}function eI(e){return Array.isArray(e)?e.find(e=>!!e&&"object"==typeof e):e&&"object"==typeof e?e:void 0}class ej extends r.FlowModel{onInit(e){super.onInit(e),this.context.defineProperty("tabActive",{value:r.observable.ref(!0),info:{description:"Whether current tab is active (observable.ref).",detail:"observable.ref<boolean>"}})}getTabTitle(){var e,t;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Untitled",o=this.context.t(l,{ns:"client"});return this.context.t(null==(t=this.stepParams.pageTabSettings)||null==(e=t.tab)?void 0:e.title,{ns:"lm-desktop-routes"})||o}getTabIcon(){var e,t;return null==(t=this.stepParams.pageTabSettings)||null==(e=t.tab)?void 0:e.icon}renderChildren(){return null}renderHiddenInConfig(){return(0,m.jsxs)("span",{style:{display:"inline-block",opacity:.5},children:[(0,m.jsx)(a.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}render(){return(0,m.jsxs)("span",{style:{display:"inline-block"},children:[(0,m.jsx)(a.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}}ej.registerFlow({key:"pageTabSettings",title:(0,r.tExpr)("Tab settings"),steps:{tab:{title:(0,r.tExpr)("Edit tab"),preset:!0,uiSchema:{title:{title:(0,r.tExpr)("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},documentTitle:{type:"string",title:(0,r.tExpr)("Document title"),description:(0,r.tExpr)("Used as the browser tab title when this tab is active. Supports variables. Leave empty to use Tab name."),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:1,maxRows:6}},icon:{title:(0,r.tExpr)("Icon"),"x-decorator":"FormItem","x-component":"IconPicker"}},async handler(e,t){var l;let o="function"==typeof(null==e?void 0:e.t)?e.t.bind(e):e=>e;e.model.setProps("title",o(t.title,{ns:"lm-desktop-routes"})),e.model.setProps("icon",t.icon);let n=e.engine.getModel(e.model.parentId);null==n||null==(l=n.updateDocumentTitle)||l.call(n)}}}});class eL extends ej{renderChildren(){return(0,m.jsx)(eT,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}async saveStepParams(){return this.save()}async save(){var e,t,l,o,n;let i=this.serialize(),r=null==(l=this.stepParams)||null==(t=l.pageTabSettings)||null==(e=t.tab)?void 0:e.documentTitle,a=await this.context.api.request({method:"post",url:"desktopRoutes:updateOrCreate",params:{filterKeys:["schemaUid"]},data:{...this.props.route,title:this.getTabTitle(""),icon:this.getTabIcon(),options:{flowRegistry:i.flowRegistry,documentTitle:r}}}),s=eI(null==a||null==(o=a.data)?void 0:o.data);s&&this.setProps("route",{...this.props.route,...s,options:{...null==(n=this.props.route)?void 0:n.options,...s.options}})}async destroy(){return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.removeModel(this.uid),await this.context.api.request({method:"post",url:"desktopRoutes:destroy",params:{filter:{schemaUid:this.uid}},data:this.props.route}),!0}}class eD extends ej{renderChildren(){return(0,m.jsx)(eT,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class eY extends r.FlowModel{render(){return(0,m.jsx)(eT,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class eE extends ek{syncPageSettingsEnableTabsFromRoute(){var e,t;let l=null==(t=this.context)||null==(e=t.currentRoute)?void 0:e.enableTabs;"boolean"==typeof l&&this.setStepParams("pageSettings","general",{enableTabs:l})}syncEnableTabsToCurrentPage(e){var t;let l=null==(t=this.context)?void 0:t.currentRoute,o=this.props.routeId;l&&(null==o||null==l.id||String(l.id)===String(o))&&(l.enableTabs=e),this.setProps("enableTabs",e)}async ensurePersistedRouteId(e){var t,l,o,n;let i=null==e||null==(l=e.props)||null==(t=l.route)?void 0:t.id;return null!=i?i:("function"==typeof(null==e?void 0:e.save)&&await e.save(),null==e||null==(n=e.props)||null==(o=n.route)?void 0:o.id)}onMount(){super.onMount(),(0,r.reaction)(()=>this.context.pageActive.value,()=>{var e,t;if(this.context.pageActive.value&&this.mounted){let t=null==(e=this.subModels.tabs)?void 0:e[0];t&&(this.setProps("tabActiveKey",t.uid),this.invokeTabModelLifecycleMethod(t.uid,"onActive",!0))}if(!1===this.context.pageActive.value)if(this.props.tabActiveKey)this.invokeTabModelLifecycleMethod(this.props.tabActiveKey,"onInactive");else{let e=null==(t=this.subModels.tabs)?void 0:t[0];e&&this.invokeTabModelLifecycleMethod(e.uid,"onInactive")}this.mounted=!0})}async openFlowSettings(e){return(null==e?void 0:e.flowKey)==="pageSettings"&&(null==e?void 0:e.stepKey)==="general"&&this.syncPageSettingsEnableTabsFromRoute(),super.openFlowSettings(e)}async saveStepParams(){if(await super.saveStepParams(),this.stepParams.pageSettings){var e,t;let l=!!this.stepParams.pageSettings.general.enableTabs;await this.context.api.request({url:`desktopRoutes:update?filter[id]=${this.props.routeId}`,method:"post",data:{enableTabs:l}}),this.syncEnableTabsToCurrentPage(l),await (null==(e=(t=this.context).refreshDesktopRoutes)?void 0:e.call(t))}}async handleDragEnd(e){var t,l;let o=this.flowEngine.getModel(null==(t=e.active)?void 0:t.id),n=this.flowEngine.getModel(null==(l=e.over)?void 0:l.id);if(!o||!n||o.uid===n.uid)return;let[i,r]=await Promise.all([this.ensurePersistedRouteId(o),this.ensurePersistedRouteId(n)]);null!=i&&null!=r&&(await this.context.api.request({url:"desktopRoutes:move",method:"post",params:{sourceId:i,targetId:r,sortField:"sort"}}),this.flowEngine.moveModel(o.uid,n.uid,{persist:!1}))}constructor(...e){super(...e),this.mounted=!1}}eE.registerFlow({key:"rootPageSettings",steps:{init:{async handler(e,t){if(e.model.hasSubModel("tabs"))return;let l=e.routeRepository.getRouteBySchemaUid(e.model.parentId);for(let t of(e.model.setProps("routeId",null==l?void 0:l.id),g.default.castArray(null==l?void 0:l.children).filter(Boolean).sort((e,t)=>(e.sort||0)-(t.sort||0)))){var o,n;if(t.hideInMenu)continue;let l=e.engine.createModel({parentId:e.model.uid,uid:t.schemaUid,subKey:"tabs",subType:"array",use:"RootPageTabModel",sortIndex:t.sort,props:{route:t},flowRegistry:null==(o=t.options)?void 0:o.flowRegistry,stepParams:{pageTabSettings:{tab:{title:t.title,icon:t.icon,documentTitle:null==(n=t.options)?void 0:n.documentTitle}}}});e.model.addSubModel("tabs",l)}}}}});class eR extends eA{renderFirstTab(){var e;return(0,m.jsx)(r.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&(0,m.jsx)(ew.PageHeader,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}var eN=l(296);class eO extends D{constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Popup"),icon:"ExportOutlined"}}}eO.define({label:(0,r.tExpr)("Popup")}),eO.registerFlow(eN.g);class eB extends D{}eB.define({children:async e=>(await (0,r.buildSubModelItems)(D)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(L.record))});var eH=l(1442);class eq extends eO{getAclActionName(){return"create"}constructor(...e){super(...e),this.defaultPopupTitle=(0,r.tExpr)("Add new"),this.defaultProps={type:"primary",title:(0,r.tExpr)("Add new"),icon:"PlusOutlined"}}}eq.scene=L.collection,eq.define({label:(0,r.tExpr)("Add new"),sort:10});let eV=e=>{var t,l,o,n,i,r;let a=(null==e?void 0:e.blockModel)||(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel);return(null==a||null==(o=a.getResourceSettingsInitParams)?void 0:o.call(a))||(null==a||null==(n=a.getStepParams)?void 0:n.call(a,"resourceSettings","init"))||(null==e||null==(r=e.model)||null==(i=r.getStepParams)?void 0:i.call(r,"resourceSettings","init"))},e$=e=>{var t;return!!(null==(t=eV(e))?void 0:t.associationName)},ez=e=>{var t,l,o,n;let i=eV(e),r=(null==e||null==(t=e.blockModel)?void 0:t.association)||(null==e||null==(n=e.model)||null==(o=n.context)||null==(l=o.blockModel)?void 0:l.association),a=null==r?void 0:r.targetCollection;return{dataSourceKey:(null==a?void 0:a.dataSourceKey)||(null==i?void 0:i.dataSourceKey),collectionName:(null==a?void 0:a.name)||(null==r?void 0:r.target)||(null==i?void 0:i.collectionName)}},eK=e=>{var t,l,o,n,i,r;let a=(null==e?void 0:e.blockModel)||(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel),s=null==a?void 0:a.association,d=eV(e);return{collectionField:s,sourceId:(null==a||null==(n=a.resource)||null==(o=n.getSourceId)?void 0:o.call(n))??(null==d?void 0:d.sourceId),associatedRecords:(null==a||null==(r=a.resource)||null==(i=r.getData)?void 0:i.call(r))||[]}},eU=async(e,t,l)=>{var o;return"function"==typeof(null==e?void 0:e[t])?await e[t]({values:l}):await (null==e||null==(o=e.runAction)?void 0:o.call(e,t,{data:l}))},eG=async e=>{var t,l,o,n,i,r,a,s,d,u,c,p;let m=(null==e||null==(t=e.blockModel)?void 0:t.resource)||(null==e?void 0:e.resource),h=(null==e||null==(l=e.blockModel)?void 0:l.collection)||(null==e?void 0:e.collection);if(!e$(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!m){null==(u=e.message)||null==(d=u.error)||d.call(u,e.t("No resource selected for disassociation"));return}if(!e.record){null==(p=e.message)||null==(c=p.error)||c.call(p,e.t("No record selected for disassociation"));return}let f=null==h||null==(o=h.getFilterByTK)?void 0:o.call(h,e.record);await eU(m,"remove",[f]),await (null==(n=m.refresh)?void 0:n.call(m)),null==(r=e.message)||null==(i=r.success)||i.call(r,e.t("Record disassociated successfully"))},eJ=async(e,t)=>{var l,o,n,i,r,a,s,d,u,c,p;let m=(null==e||null==(l=e.blockModel)?void 0:l.resource)||(null==e?void 0:e.resource),h=(null==e||null==(o=e.blockModel)?void 0:o.collection)||(null==e?void 0:e.collection);if(!e$(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!m){null==(u=e.message)||null==(d=u.error)||d.call(u,e.t("No resource selected for association"));return}if(!(null==t?void 0:t.length)){null==(p=e.message)||null==(c=p.warning)||c.call(p,e.t("Please select at least one record"));return}let f=t.map(e=>{var t;return(null==h||null==(t=h.getFilterByTK)?void 0:t.call(h,e))??e}).filter(e=>null!=e);await eU(m,"add",f),await (null==(n=m.refresh)?void 0:n.call(m)),null==(r=e.message)||null==(i=r.success)||i.call(r,e.t("Record associated successfully"))};function eW(e){let{options:t}=e,l=(0,r.useFlowViewContext)(),{data:o,loading:n}=(0,w.useRequest)(async()=>await l.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:l,skipSave:!l.flowSettingsEnabled}),{refreshDeps:[l,t]});return!n&&(null==o?void 0:o.uid)?(0,m.jsx)(r.FlowModelRenderer,{model:o,fallback:(0,m.jsx)(F,{style:{margin:16}})}):(0,m.jsx)(F,{style:{margin:16}})}function eX(e){let{model:t}=e,l=(0,r.useFlowViewContext)(),{Header:o,Footer:n,type:i}=l.view;return(0,m.jsxs)("div",{children:[(0,m.jsx)(o,{title:"dialog"===i?(0,m.jsx)("div",{style:{padding:`${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px 0`,marginBottom:-l.themeToken.marginSM,backgroundColor:"var(--colorBgLayout)"},children:l.t("Select record")}):l.t("Select record")}),(0,m.jsx)(eW,{options:{parentId:l.view.inputArgs.parentId,subKey:"associate-selector-grid",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"}}),(0,m.jsx)(n,{children:"dialog"===i?(0,m.jsx)("div",{style:{padding:`0 ${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px`},children:(0,m.jsx)(k.Button,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})}):(0,m.jsx)(k.Button,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})})]})}class eQ extends D{getAclActionName(){return"update"}async associateSelectedRows(){await eJ(this.context,this.selectedRows),this.selectedRows=[]}constructor(...e){super(...e),this.defaultPopupTitle=(0,r.tExpr)("Select record"),this.selectedRows=[],this.defaultProps={title:(0,r.tExpr)("Associate"),icon:"LinkOutlined"}}}eQ.scene=L.collection,eQ.capabilityActionName="update",eQ.define({label:(0,r.tExpr)("Associate"),sort:15,hide:e=>!e$(e)}),eQ.registerFlow({key:"associateSettings",title:(0,r.tExpr)("Associate settings"),on:"click",steps:{openSelector:{async handler(e,t){var l,o,n;let i=ez(e),r=(null==(l=e.inputArgs)?void 0:l.isMobileLayout)?"embed":(null==(o=e.inputArgs)?void 0:o.mode)||(null==t?void 0:t.mode)||"drawer",a=(null==(n=e.inputArgs)?void 0:n.size)||(null==t?void 0:t.size)||"medium",s={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}};e.model.selectedRows=[],await e.viewer.open({type:r,width:s[r][a],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:i.dataSourceKey,collectionName:i.collectionName,...eK(e),rowSelectionProps:{type:"checkbox",renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{e.model.selectedRows=l||[]}}},content:()=>(0,m.jsx)(eX,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===r?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}});class eZ extends D{getAclActionName(){return"destroy"}constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Delete"),icon:"DeleteOutlined"}}}eZ.scene=L.collection,eZ.capabilityActionName="destroyMany",eZ.define({label:(0,r.tExpr)("Delete")}),eZ.registerFlow({key:"deleteSettings",title:(0,r.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,r.tExpr)("Delete record"),content:(0,r.tExpr)("Are you sure you want to delete it?")}},delete:{async handler(e,t){var l;if(!(null==(l=e.blockModel)?void 0:l.resource))return void e.message.error(e.t("No resource selected for deletion"));let o=e.blockModel.resource;0===o.getSelectedRows().length?e.message.warning(e.t("Please select at least one record to delete")):(await o.destroy(e.blockModel.collection.getFilterByTK(o.getSelectedRows())),e.message.success(e.t("Selected records deleted successfully")))}}}});class e0 extends D{getAclActionName(){return"destroy"}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,r.tExpr)("Delete"),icon:"DeleteOutlined"}}}e0.scene=L.record,e0.define({label:(0,r.tExpr)("Delete"),sort:60}),e0.registerFlow({key:"deleteSettings",title:(0,r.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,r.tExpr)("Delete record"),content:(0,r.tExpr)("Are you sure you want to delete it?")}},delete:{async handler(e,t){e.resource?e.record?(await e.resource.destroy(e.blockModel.collection.getFilterByTK(e.record)),e.message.success(e.t("Record deleted successfully"))):e.message.error(e.t("No resource or record selected for deletion")):e.message.error(e.t("No resource selected for deletion"))}}}});class e1 extends D{getAclActionName(){return"update"}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,r.tExpr)("Disassociate"),icon:"DisconnectOutlined"}}}e1.scene=L.record,e1.capabilityActionName="update",e1.define({label:(0,r.tExpr)("Disassociate"),sort:65,hide:e=>!e$(e)}),e1.registerFlow({key:"disassociateSettings",title:(0,r.tExpr)("Disassociate settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,r.tExpr)("Disassociate record"),content:(0,r.tExpr)("Are you sure you want to disassociate it?")}},disassociate:{async handler(e){await eG(e)}}}});class e2 extends eO{getAclActionName(){return"update"}constructor(...e){super(...e),this.defaultPopupTitle=(0,r.tExpr)("Edit"),this.defaultProps={title:(0,r.tExpr)("Edit"),icon:"EditOutlined"}}}e2.scene=L.record,e2.define({label:(0,r.tExpr)("Edit"),sort:20});var e5=l(8442);class e4 extends D{getIgnoreFieldNames(){var e;if(this.map.has(this.props.filterableFieldNames))return this.map.get(this.props.filterableFieldNames);let t=(null==(e=this.context.blockModel.collection)?void 0:e.getFields())||[],l=e3(this.props.filterableFieldNames||[],t.map(e=>e.name));return this.map.set(this.props.filterableFieldNames,l),l}render(){return this.context.isMobileLayout?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(r.MobilePopup,{title:this.context.t("Filter"),visible:this.props.open,onClose:()=>{this.setProps("open",!1)},children:(0,m.jsxs)("div",{style:{padding:this.context.themeToken.paddingMD,backgroundColor:this.context.themeToken.colorBgContainer},children:[(0,m.jsx)(e5.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames()})}),(0,m.jsx)("div",{style:{height:150}})]})}),super.render()]}):(0,m.jsx)(k.Popover,{open:this.props.open,content:(0,m.jsx)(e5.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames()})}),trigger:"click",placement:"bottomLeft",onOpenChange:e=>{!1===e&&this.setProps("open",void 0)},children:super.render()})}constructor(...e){super(...e),this.map=new WeakMap,this.defaultProps={type:"default",title:(0,r.tExpr)("Filter"),icon:"FilterOutlined",filterValue:{logic:"$and",items:[]}}}}function e8(e){for(var t,l=arguments.length,o=Array(l>1?l-1:0),n=1;n<l;n++)o[n-1]=arguments[n];return((null==e||null==(t=e.getFields)?void 0:t.call(e))||[]).filter(e=>{if(!(null==e?void 0:e.interface)||(null==e?void 0:e.filterable)===!1)return!1;let t=(0,a.w6)(e.interface,...o);return!!(null==t?void 0:t.filterable)})}function e3(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}e4.scene="collection",e4.define({label:(0,r.tExpr)("Filter"),toggleable:!0,sort:5}),e4.registerFlow({key:"filterSettings",title:(0,r.tExpr)("Filter settings"),steps:{position:{handler(e,t){e.model.setProps("position",t.position||"left")}},filterableFieldNames:{title:(0,r.tExpr)("Filterable fields"),uiSchema:{filterableFieldNames:{type:"array","x-decorator":"FormItem","x-component":e=>{var t;let{model:l}=(0,r.useFlowSettingsContext)(),o=e8(l.context.blockModel.collection,l.context.dataSourceManager,null==(t=l.context.app)?void 0:t.dataSourceManager).map(e=>({key:e.name,title:e.title}));return(0,m.jsx)(k.Transfer,{...e,dataSource:o,targetKeys:e.value||[],onChange:t=>{var l;return null==(l=e.onChange)?void 0:l.call(e,t)},render:e=>e.title})},"x-component-props":{showSearch:!0,listStyle:{width:280,height:360}}}},defaultParams(e){var t,l,o,n,i;return{filterableFieldNames:e8(e.blockModel.collection,null==(l=e.model)||null==(t=l.context)?void 0:t.dataSourceManager,null==(i=e.model)||null==(n=i.context)||null==(o=n.app)?void 0:o.dataSourceManager).map(e=>e.name)||[]}},handler(e,t){e.model.setProps("filterableFieldNames",t.filterableFieldNames)}},defaultFilter:{title:(0,r.tExpr)("Default filter conditions"),uiSchema:{defaultFilter:{type:"object","x-decorator":"FormItem","x-component":e=>{let{model:t}=(0,r.useFlowSettingsContext)();return(0,m.jsx)(f.I8,{value:e.value||{},FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:t})})}}},defaultParams:e=>({defaultFilter:e.model.defaultProps.filterValue}),handler(e,t){e.model.setProps("defaultFilterValue",g.default.cloneDeep(t.defaultFilter)),e.model.setProps("filterValue",g.default.cloneDeep(t.defaultFilter))}}}}),e4.registerFlow({key:"submitSettings",on:"submit",steps:{submit:{handler(e,t){let l=e.blockModel,o=null==l?void 0:l.resource;if(!l||!o)return;let n=(0,d.transformFilter)(e.model.props.filterValue),i=!(0,d.isEmptyFilter)(n);l.setFilterActive(e.model.uid,i),i?(o.addFilterGroup(e.model.uid,n),o.setPage(1)):o.removeFilterGroup(e.model.uid),"manual"!==l.getDataLoadingMode()||i||l.hasActiveFilters()?o.refresh():(o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1),e.model.setProps("open",!1)}}}}),e4.registerFlow({key:"resetSettings",title:(0,r.tExpr)("Reset"),on:"reset",steps:{reset:{handler(e,t){let l=e.blockModel,o=null==l?void 0:l.resource;if(!l||!o)return;o.removeFilterGroup(e.model.uid),l.setFilterActive(e.model.uid,!1);let n=l.getDataLoadingMode(),i=e.model.props.defaultFilterValue,r=!(0,d.isEmptyFilter)((0,d.transformFilter)(i));"manual"!==n||r||l.hasActiveFilters()?(r&&(o.addFilterGroup(e.model.uid,(0,d.transformFilter)(i)),l.setFilterActive(e.model.uid,!0),o.setPage(1)),o.refresh()):(o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1),e.model.setProps("open",!1),e.model.setProps("filterValue",g.default.cloneDeep(i))}}}}),e4.registerFlow({key:"openSettings",on:"click",steps:{open:{handler(e,t){e.model.setProps("open",!e.model.props.open)}}}});var e6=l(9253);function e9(e,t){var l;let o=(null==(l=e.inputArgs)?void 0:l.preview)||{},n=(null==o?void 0:o.version)??(null==t?void 0:t.version)??"v1";return{code:("string"==typeof(null==o?void 0:o.code)?o.code:void 0)??(null==t?void 0:t.code)??"",version:n}}class e7 extends D{constructor(...e){super(...e),this.defaultProps={type:"default",title:(0,r.tExpr)("JS action"),icon:"JavaScriptOutlined"}}}e7.define({label:(0,r.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSActionModel"}}),e7.registerFlow({key:"clickSettings",on:"click",title:(0,r.tExpr)("Click settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":e6.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
266
266
  ctx.message.info('Hello JS action.');
267
267
  `}),async handler(e,t){let{code:l,version:o}=e9(e,t),n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})}}}});class te extends D{constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("JS action"),icon:"JavaScriptOutlined"}}}te.scene=L.collection,te.define({label:(0,r.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSCollectionActionModel"}}),te.registerFlow({key:"clickSettings",on:"click",title:(0,r.tExpr)("Click settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":e6.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
268
268
  const rows = ctx.resource?.getSelectedRows?.() || [];
@@ -692,7 +692,7 @@ function JsEditableField() {
692
692
 
693
693
  // Mount to the field container
694
694
  ctx.render(<JsEditableField />);
695
- `;function a1(e){var t,l,o,n;return(null==e||null==(t=e.props)?void 0:t.pattern)??(null==e||null==(l=e.context)?void 0:l.pattern)??(null==e||null==(n=e.parent)||null==(o=n.props)?void 0:o.pattern)}function a2(e){var t;return!!(null==e||null==(t=e.props)?void 0:t.readOnly)||"readPretty"===a1(e)}function a5(e){let t=e??a0;return"string"==typeof t?t.trim():""}let a4=e=>{var t,l;let{model:o,value:n,onChange:i,disabled:r,readOnly:a}=e,s=(0,h.useRef)(null),d=null==(t=o.context)?void 0:t.ref,u=e=>{s.current=e,d&&"object"==typeof d&&(d.current=e)},c=null==(l=o.getStepParams("jsSettings","runJs"))?void 0:l.code,p=(0,h.useMemo)(()=>a5(c),[c]);return((0,h.useEffect)(()=>{s.current&&p&&o.scheduleApplyJsSettings()},[o,p]),(0,h.useEffect)(()=>{if(!s.current||!p)return;let e=new CustomEvent("js-field:value-change",{detail:n});s.current.dispatchEvent(e)},[n,p]),a&&!p)?(0,m.jsx)("span",{children:String(n??"")}):p?(0,m.jsx)("span",{ref:u,style:{display:"inline-block",width:"100%"}}):(0,m.jsx)(k.Input,{value:n,onChange:e=>null==i?void 0:i(e.target.value),disabled:r,style:{width:"100%"}})};class a8 extends ex.o{scheduleApplyJsSettings(){var e;!a5(null==(e=this.getStepParams("jsSettings","runJs"))?void 0:e.code)||this._pendingJsSettingsApply||(this._pendingJsSettingsApply=!0,queueMicrotask(()=>{var e,t,l;this._pendingJsSettingsApply=!1;let o=a5(null==(e=this.getStepParams("jsSettings","runJs"))?void 0:e.code),n=null==(t=this.context.ref)?void 0:t.current;if(!o||!n)return;let i={code:o,disabled:!!(null==(l=this.props)?void 0:l.disabled),readOnly:a2(this),element:n},r=this._lastAppliedJsSettings;r&&r.code===i.code&&r.disabled===i.disabled&&r.readOnly===i.readOnly&&r.element===i.element||(this._lastAppliedJsSettings=i,this.applyFlow("jsSettings"))}))}useHooksBeforeRender(){var e,t;let l=a5(null==(e=this.getStepParams("jsSettings","runJs"))?void 0:e.code),o=null==(t=this.props)?void 0:t.disabled;(0,h.useEffect)(()=>{l&&this.scheduleApplyJsSettings()},[l,o])}render(){var e,t,l;let o=a2(this);return(0,m.jsx)(a4,{model:this,value:null==(e=this.props)?void 0:e.value,onChange:null==(t=this.props)?void 0:t.onChange,disabled:null==(l=this.props)?void 0:l.disabled,readOnly:o})}onMount(){if(this._mountedOnce){var e;(null==(e=this.context.ref)?void 0:e.current)&&this.rerender()}this._mountedOnce=!0}constructor(...e){super(...e),this._mountedOnce=!1,this._pendingJsSettingsApply=!1}}let a3={label:(0,r.tExpr)("JS field"),preserveOnPatternChange:!0};a8.define(a3),a8.registerFlow({key:"jsSettings",title:(0,r.tExpr)("JavaScript settings"),manual:!0,steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":e6.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams(e){var t;return null==(t=e.collectionField)||t.title,{version:"v2",code:a0}},async handler(e,t){let{code:l,version:o}=e9(e,t);(null==l?void 0:l.trim())&&e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>{var l;return new r.ElementProxy((null==(l=e.ref)?void 0:l.current)||t)},cache:!1}),e.defineMethod("getValue",()=>{var t,l,o,n,i;let r=null==(t=e.model.props)?void 0:t.name;if(null!=r){let t=null==(n=e.form)||null==(o=n.getFieldValue)?void 0:o.call(n,r);return void 0!==t?t:null==(i=e.model.props)?void 0:i.value}return null==(l=e.model.props)?void 0:l.value}),e.defineMethod("setValue",t=>{try{var l,o,n;e.model.setProps("value",t);let i=null==(l=e.model.props)?void 0:l.name;null!=i&&(null==(n=e.form)||null==(o=n.setFieldValue)||o.call(n,i,t))}catch(e){}}),e.defineProperty("namePath",{get:()=>{var t;return null==(t=e.model.props)?void 0:t.name},cache:!1}),e.defineProperty("disabled",{get:()=>{var t;return!!(null==(t=e.model.props)?void 0:t.disabled)},cache:!1}),e.defineProperty("readOnly",{get:()=>a2(e.model),cache:!1});let n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})})}}}});let a6=(e,t)=>e||t,a9=e=>{let{token:t}=k.theme.useToken(),{color:l,borderColor:o,label:n,orientation:i,dashed:r}=e;return(0,m.jsx)(k.Divider,{type:"horizontal",style:{color:a6(l,t.colorText),borderColor:a6(o,t.colorSplit)},orientationMargin:"0",orientation:i,dashed:r,children:n})};class a7 extends e_{render(){return(0,m.jsx)(r.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,m.jsx)(a9,{...this.props})})}}a7.registerFlow({key:"markdownItemSetting",title:'{{t("Divider settings")}}',steps:{title:{title:'{{t("Edit divider")}}',defaultParams:e=>{var t,l;return{label:'{{t("Text")}}',orientation:"left",color:null==(t=e.themeToken)?void 0:t.colorText,borderColor:null==(l=e.themeToken)?void 0:l.colorSplit}},uiSchema:e=>({label:{title:'{{t("Divider label")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:!0}},orientation:{"x-component":"Radio.Group","x-decorator":"FormItem",title:'{{t("Label position")}}',enum:[{label:e.t("Left"),value:"left"},{label:e.t("Center"),value:"center"},{label:e.t("Right"),value:"right"}]},dashed:{title:'{{t("Dashed")}}',"x-component":"Switch","x-decorator":"FormItem"},color:{title:'{{t("Color")}}',"x-component":ae,"x-decorator":"FormItem"},borderColor:{title:'{{t("Divider line color")}}',"x-component":ae,"x-decorator":"FormItem"}}),handler(e,t){let l=t.label;l&&l!==e.t("Text")&&(l=e.t(l,{ns:"lm-flow-engine"})),e.model.setProps({...t,label:l})}}}}),a7.define({label:'{{t("Divider")}}'});let se=e=>{let{style:t}=e,{t:l}=(0,I.useTranslation)(),o=(0,r.useFlowContext)();return(0,h.useEffect)(()=>{let e=o.getStepFormValues("markdownBlockSettings","editMarkdown");o.model._previousStepParams=g.default.cloneDeep(e)},[]),(0,m.jsx)(k.Button,{color:"primary",variant:"outlined",style:t,onClick:()=>{let e=o.getStepFormValues("markdownBlockSettings","editMarkdown");o.model.setStepParams("markdownBlockSettings","editMarkdown",e)},children:l("Preview")})},st=e=>{let{style:t}=e,{t:l}=(0,I.useTranslation)(),o=(0,r.useFlowContext)();return(0,m.jsx)(k.Button,{type:"default",style:t,onClick:()=>{o.model._previousStepParams&&(o.model.setStepParams("markdownBlockSettings","editMarkdown",o.model._previousStepParams),o.model._previousStepParams=null),o.view.close()},children:l("Cancel")})},sl=(0,r.defineFlow)({key:"markdownBlockSettings",title:(0,r.tExpr)("Markdown block settings",{ns:"block-markdown"}),steps:{editMarkdown:{title:(0,r.tExpr)("Edit markdown"),uiSchema(e){let t=e.t;return{content:{type:"string","x-decorator":"FormItem","x-component":t=>e.markdown.edit({...t,value:t.value||e.model.props.value,mode:"sv",height:"82vh",style:{padding:10}}),description:(0,m.jsxs)(k.Space,{children:[(0,m.jsxs)("span",{style:{marginLeft:"10px"},className:"ant-formily-item-extra",children:[t("References"),":"]}),(0,m.jsx)("a",{href:"https://v2.docs.nocobase.com/interface-builder/blocks/other-blocks/markdown",target:"_blank",rel:"noreferrer",children:"Markdown"})]})}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}},footer:(e,t)=>{let{OkBtn:l}=t;return(0,m.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center"},children:[(0,m.jsx)(st,{style:{marginRight:6}}),(0,m.jsx)(se,{style:{marginRight:6}}),(0,m.jsx)(l,{})]})}}},useRawParams:!0,defaultParams:e=>({content:e.t('{{t("This is a demo text, **supports Markdown syntax**.")}}')}),async handler(e,t){let l=t.content;try{let t=await e.liquid.renderWithFullContext(l,e),o=e.markdown.render(t,{textOnly:!1});e.model.setProps({content:o,value:l})}catch(t){e.model.setProps({content:(0,m.jsx)("pre",{children:`渲染失败: ${t}`}),value:l})}}}}}),so=e=>{let{ctx:t,raw:l,record:o}=e,[n,i]=h.default.useState(null);return h.default.useEffect(()=>{let e=!1;return(async()=>{try{let o=await t.liquid.renderWithFullContext(l,t),n=await t.markdown.render(o,{textOnly:!1});e||i(n)}catch(t){e||i(`<pre>渲染失败: ${t}</pre>`)}})(),()=>{e=!0}},[l,o]),n};class sn extends e_{render(){let e=this.context.record,t=this.props.value;return(0,m.jsx)(r.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,m.jsx)(so,{ctx:this.context,raw:t,record:e})})}}sn.registerFlow(sl),sn.define({label:'{{t("Markdown")}}'});class si extends e_{getInputArgs(){let e={};if(this.context.resource){let t=this.context.resource.getSourceId();t&&(e.sourceId=t)}if(this.context.collection&&this.context.record){let t=this.context.collection.getFilterByTK(this.context.record);t&&(e.filterByTk=t)}return e}render(){return(0,m.jsx)(r.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,m.jsx)("div",{ref:this.context.ref})})}onMount(){let e=this.context.resource;if(e){let t=()=>{this.applyFlow("jsSettings")};e.on("refresh",t),this._offResourceRefresh=()=>{e.off("refresh",t)}}if(this._mountedOnce){var t;(null==(t=this.context.ref)?void 0:t.current)&&this.rerender()}this._mountedOnce=!0}onUnmount(){var e,t;null==(e=(t=this)._offResourceRefresh)||e.call(t),this._offResourceRefresh=void 0}constructor(...e){super(...e),this._mountedOnce=!1}}function sr(e){var t,l,o,n,i;return!!(null==(i=e.model)||null==(n=i.parent)||null==(o=n.context)||null==(l=o.collectionField)||null==(t=l.isAssociationField)?void 0:t.call(l))}si.define({label:(0,r.tExpr)("JS item"),createModelOptions:{use:"JSItemModel"},sort:120}),si.registerFlow({key:"jsSettings",title:(0,r.tExpr)("JavaScript settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":e6.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
695
+ `;function a1(e){var t,l,o,n;return(null==e||null==(t=e.props)?void 0:t.pattern)??(null==e||null==(l=e.context)?void 0:l.pattern)??(null==e||null==(n=e.parent)||null==(o=n.props)?void 0:o.pattern)}function a2(e){var t;return!!(null==e||null==(t=e.props)?void 0:t.readOnly)||"readPretty"===a1(e)}function a5(e){let t=e??a0;return"string"==typeof t?t.trim():""}function a4(e){return Array.isArray(e)?e.filter(e=>"string"==typeof e||"number"==typeof e):"number"==typeof e?[e]:"string"==typeof e?e.split(".").map(e=>e.trim()).filter(Boolean):null}function a8(e,t){return t.length<=e.length&&t.every((t,l)=>String(e[l])===String(t))}function a3(e){var t,l,o;let n=(null==e||null==(t=e.getStepParams)?void 0:t.call(e,"fieldSettings","init"))||(null==e||null==(o=e.parent)||null==(l=o.getStepParams)?void 0:l.call(o,"fieldSettings","init")),i=a4(null==n?void 0:n.fieldPath),r=a4(null==n?void 0:n.associationPathName);return(null==i?void 0:i.length)?!(null==r?void 0:r.length)||a8(i,r)?i:[...r,...i]:null}function a6(e,t){if(!(null==e?void 0:e.length))return null;if(e.some(e=>"number"==typeof e)||!Array.isArray(t)||0===t.length)return e;let l=new Map;for(let e of t){if("string"!=typeof e)continue;let[t,o]=e.split(":"),n=Number(o);if(!t||!Number.isFinite(n))continue;let i=l.get(t)||[];i.push(n),l.set(t,i)}if(!l.size)return e;let o=[];for(let t of e){o.push(t);let e=l.get(String(t));(null==e?void 0:e.length)&&o.push(e.shift())}return o}function a9(e){var t,l;return a6(a3(e.model)||a4(e.fieldPathArray)||a4(null==(l=e.model)||null==(t=l.props)?void 0:t.name),e.fieldIndex)}function a7(e,t,l){if("function"==typeof(null==e?void 0:e.setFieldValue))return void e.setFieldValue(t,l);if("function"==typeof(null==e?void 0:e.setFieldsValue)){let o={},n=o;t.forEach((e,o)=>{if(o===t.length-1){n[e]=l;return}n[e]="number"==typeof t[o+1]?[]:{},n=n[e]}),e.setFieldsValue(o)}}let se=e=>{var t,l;let{model:o,value:n,onChange:i,disabled:r,readOnly:a}=e,s=(0,h.useRef)(null),d=null==(t=o.context)?void 0:t.ref,u=e=>{s.current=e,d&&"object"==typeof d&&(d.current=e)},c=null==(l=o.getStepParams("jsSettings","runJs"))?void 0:l.code,p=(0,h.useMemo)(()=>a5(c),[c]);return((0,h.useEffect)(()=>{s.current&&p&&o.scheduleApplyJsSettings()},[o,p]),(0,h.useEffect)(()=>{if(!s.current||!p)return;let e=new CustomEvent("js-field:value-change",{detail:n});s.current.dispatchEvent(e)},[n,p]),a&&!p)?(0,m.jsx)("span",{children:String(n??"")}):p?(0,m.jsx)("span",{ref:u,style:{display:"inline-block",width:"100%"}}):(0,m.jsx)(k.Input,{value:n,onChange:e=>null==i?void 0:i(e.target.value),disabled:r,style:{width:"100%"}})};class st extends ex.o{scheduleApplyJsSettings(){var e;!a5(null==(e=this.getStepParams("jsSettings","runJs"))?void 0:e.code)||this._pendingJsSettingsApply||(this._pendingJsSettingsApply=!0,queueMicrotask(()=>{var e,t,l;this._pendingJsSettingsApply=!1;let o=a5(null==(e=this.getStepParams("jsSettings","runJs"))?void 0:e.code),n=null==(t=this.context.ref)?void 0:t.current;if(!o||!n)return;let i={code:o,disabled:!!(null==(l=this.props)?void 0:l.disabled),readOnly:a2(this),element:n},r=this._lastAppliedJsSettings;r&&r.code===i.code&&r.disabled===i.disabled&&r.readOnly===i.readOnly&&r.element===i.element||(this._lastAppliedJsSettings=i,this.applyFlow("jsSettings"))}))}useHooksBeforeRender(){var e,t;let l=a5(null==(e=this.getStepParams("jsSettings","runJs"))?void 0:e.code),o=null==(t=this.props)?void 0:t.disabled;(0,h.useEffect)(()=>{l&&this.scheduleApplyJsSettings()},[l,o])}render(){var e,t,l;let o=a2(this);return(0,m.jsx)(se,{model:this,value:null==(e=this.props)?void 0:e.value,onChange:null==(t=this.props)?void 0:t.onChange,disabled:null==(l=this.props)?void 0:l.disabled,readOnly:o})}onMount(){if(this._mountedOnce){var e;(null==(e=this.context.ref)?void 0:e.current)&&this.rerender()}this._mountedOnce=!0}constructor(...e){super(...e),this._mountedOnce=!1,this._pendingJsSettingsApply=!1}}let sl={label:(0,r.tExpr)("JS field"),preserveOnPatternChange:!0};st.define(sl),st.registerFlow({key:"jsSettings",title:(0,r.tExpr)("JavaScript settings"),manual:!0,steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":e6.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams(e){var t;return null==(t=e.collectionField)||t.title,{version:"v2",code:a0}},async handler(e,t){let{code:l,version:o}=e9(e,t);(null==l?void 0:l.trim())&&e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>{var l;return new r.ElementProxy((null==(l=e.ref)?void 0:l.current)||t)},cache:!1}),e.defineMethod("getValue",()=>{var t,l,o,n;let i=a9(e);if(null==i?void 0:i.length){let t=null==(o=e.form)||null==(l=o.getFieldValue)?void 0:l.call(o,i);return void 0!==t?t:null==(n=e.model.props)?void 0:n.value}return null==(t=e.model.props)?void 0:t.value}),e.defineMethod("setValue",t=>{try{e.model.setProps("value",t);let l=a9(e);(null==l?void 0:l.length)&&a7(e.form,l,t)}catch(e){}}),e.defineProperty("namePath",{get:()=>a9(e),cache:!1}),e.defineProperty("disabled",{get:()=>{var t;return!!(null==(t=e.model.props)?void 0:t.disabled)},cache:!1}),e.defineProperty("readOnly",{get:()=>a2(e.model),cache:!1});let n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})})}}}});let so=(e,t)=>e||t,sn=e=>{let{token:t}=k.theme.useToken(),{color:l,borderColor:o,label:n,orientation:i,dashed:r}=e;return(0,m.jsx)(k.Divider,{type:"horizontal",style:{color:so(l,t.colorText),borderColor:so(o,t.colorSplit)},orientationMargin:"0",orientation:i,dashed:r,children:n})};class si extends e_{render(){return(0,m.jsx)(r.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,m.jsx)(sn,{...this.props})})}}si.registerFlow({key:"markdownItemSetting",title:'{{t("Divider settings")}}',steps:{title:{title:'{{t("Edit divider")}}',defaultParams:e=>{var t,l;return{label:'{{t("Text")}}',orientation:"left",color:null==(t=e.themeToken)?void 0:t.colorText,borderColor:null==(l=e.themeToken)?void 0:l.colorSplit}},uiSchema:e=>({label:{title:'{{t("Divider label")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:!0}},orientation:{"x-component":"Radio.Group","x-decorator":"FormItem",title:'{{t("Label position")}}',enum:[{label:e.t("Left"),value:"left"},{label:e.t("Center"),value:"center"},{label:e.t("Right"),value:"right"}]},dashed:{title:'{{t("Dashed")}}',"x-component":"Switch","x-decorator":"FormItem"},color:{title:'{{t("Color")}}',"x-component":ae,"x-decorator":"FormItem"},borderColor:{title:'{{t("Divider line color")}}',"x-component":ae,"x-decorator":"FormItem"}}),handler(e,t){let l=t.label;l&&l!==e.t("Text")&&(l=e.t(l,{ns:"lm-flow-engine"})),e.model.setProps({...t,label:l})}}}}),si.define({label:'{{t("Divider")}}'});let sr=e=>{let{style:t}=e,{t:l}=(0,I.useTranslation)(),o=(0,r.useFlowContext)();return(0,h.useEffect)(()=>{let e=o.getStepFormValues("markdownBlockSettings","editMarkdown");o.model._previousStepParams=g.default.cloneDeep(e)},[]),(0,m.jsx)(k.Button,{color:"primary",variant:"outlined",style:t,onClick:()=>{let e=o.getStepFormValues("markdownBlockSettings","editMarkdown");o.model.setStepParams("markdownBlockSettings","editMarkdown",e)},children:l("Preview")})},sa=e=>{let{style:t}=e,{t:l}=(0,I.useTranslation)(),o=(0,r.useFlowContext)();return(0,m.jsx)(k.Button,{type:"default",style:t,onClick:()=>{o.model._previousStepParams&&(o.model.setStepParams("markdownBlockSettings","editMarkdown",o.model._previousStepParams),o.model._previousStepParams=null),o.view.close()},children:l("Cancel")})},ss=(0,r.defineFlow)({key:"markdownBlockSettings",title:(0,r.tExpr)("Markdown block settings",{ns:"block-markdown"}),steps:{editMarkdown:{title:(0,r.tExpr)("Edit markdown"),uiSchema(e){let t=e.t;return{content:{type:"string","x-decorator":"FormItem","x-component":t=>e.markdown.edit({...t,value:t.value||e.model.props.value,mode:"sv",height:"82vh",style:{padding:10}}),description:(0,m.jsxs)(k.Space,{children:[(0,m.jsxs)("span",{style:{marginLeft:"10px"},className:"ant-formily-item-extra",children:[t("References"),":"]}),(0,m.jsx)("a",{href:"https://v2.docs.nocobase.com/interface-builder/blocks/other-blocks/markdown",target:"_blank",rel:"noreferrer",children:"Markdown"})]})}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}},footer:(e,t)=>{let{OkBtn:l}=t;return(0,m.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center"},children:[(0,m.jsx)(sa,{style:{marginRight:6}}),(0,m.jsx)(sr,{style:{marginRight:6}}),(0,m.jsx)(l,{})]})}}},useRawParams:!0,defaultParams:e=>({content:e.t('{{t("This is a demo text, **supports Markdown syntax**.")}}')}),async handler(e,t){let l=t.content;try{let t=await e.liquid.renderWithFullContext(l,e),o=e.markdown.render(t,{textOnly:!1});e.model.setProps({content:o,value:l})}catch(t){e.model.setProps({content:(0,m.jsx)("pre",{children:`渲染失败: ${t}`}),value:l})}}}}}),sd=e=>{let{ctx:t,raw:l,record:o}=e,[n,i]=h.default.useState(null);return h.default.useEffect(()=>{let e=!1;return(async()=>{try{let o=await t.liquid.renderWithFullContext(l,t),n=await t.markdown.render(o,{textOnly:!1});e||i(n)}catch(t){e||i(`<pre>渲染失败: ${t}</pre>`)}})(),()=>{e=!0}},[l,o]),n};class su extends e_{render(){let e=this.context.record,t=this.props.value;return(0,m.jsx)(r.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,m.jsx)(sd,{ctx:this.context,raw:t,record:e})})}}su.registerFlow(ss),su.define({label:'{{t("Markdown")}}'});class sc extends e_{getInputArgs(){let e={};if(this.context.resource){let t=this.context.resource.getSourceId();t&&(e.sourceId=t)}if(this.context.collection&&this.context.record){let t=this.context.collection.getFilterByTK(this.context.record);t&&(e.filterByTk=t)}return e}render(){return(0,m.jsx)(r.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,m.jsx)("div",{ref:this.context.ref})})}onMount(){let e=this.context.resource;if(e){let t=()=>{this.applyFlow("jsSettings")};e.on("refresh",t),this._offResourceRefresh=()=>{e.off("refresh",t)}}if(this._mountedOnce){var t;(null==(t=this.context.ref)?void 0:t.current)&&this.rerender()}this._mountedOnce=!0}onUnmount(){var e,t;null==(e=(t=this)._offResourceRefresh)||e.call(t),this._offResourceRefresh=void 0}constructor(...e){super(...e),this._mountedOnce=!1}}function sp(e){var t,l,o,n,i;return!!(null==(i=e.model)||null==(n=i.parent)||null==(o=n.context)||null==(l=o.collectionField)||null==(t=l.isAssociationField)?void 0:t.call(l))}sc.define({label:(0,r.tExpr)("JS item"),createModelOptions:{use:"JSItemModel"},sort:120}),sc.registerFlow({key:"jsSettings",title:(0,r.tExpr)("JavaScript settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":e6.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
696
696
  function JsItem() {
697
697
  return (
698
698
  <div style={{ fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif", lineHeight: 1.6 }}>
@@ -703,14 +703,14 @@ function JsItem() {
703
703
  }
704
704
 
705
705
  ctx.render(<JsItem />);
706
- `.trim()}),async handler(e,t){let{code:l,version:o}=e9(e,t);e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>new r.ElementProxy(t)});let n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})})}}}});class sa extends rv{get collectionField(){var e,t,l;let o=this.context.collectionField;return(null==o||null==(e=o.isAssociationField)?void 0:e.call(o))?o:(null==(l=this.parent)||null==(t=l.context)?void 0:t.collectionField)||o}renderComponent(e){return e}render(){let{value:e,fieldNames:t,overflowMode:l,width:o,style:n,className:i}=this.props,r=this.props.titleField||(null==t?void 0:t.label),a={className:i,ellipsis:"ellipsis"===l&&{tooltip:{rootClassName:(0,tx.css)`
706
+ `.trim()}),async handler(e,t){let{code:l,version:o}=e9(e,t);e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>new r.ElementProxy(t)});let n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})})}}}});class sm extends rv{get collectionField(){var e,t,l;let o=this.context.collectionField;return(null==o||null==(e=o.isAssociationField)?void 0:e.call(o))?o:(null==(l=this.parent)||null==(t=l.context)?void 0:t.collectionField)||o}renderComponent(e){return e}render(){let{value:e,fieldNames:t,overflowMode:l,width:o,style:n,className:i}=this.props,r=this.props.titleField||(null==t?void 0:t.label),a={className:i,ellipsis:"ellipsis"===l&&{tooltip:{rootClassName:(0,tx.css)`
707
707
  .ant-tooltip-inner {
708
708
  color: #000;
709
709
  max-height: 500px;
710
710
  overflow-y: auto;
711
711
  padding: 10px;
712
712
  }
713
- `,color:"#fff"}},style:{...n||{},whiteSpace:"wrap"===l?"normal":"nowrap",width:o||"auto"}};if(!r)return(0,m.jsx)(k.Typography.Text,{...a,children:this.renderInDisplayStyle(e)});{let t=(0,g.castArray)(e).flatMap((t,l)=>{let o=this.renderInDisplayStyle(null==t?void 0:t[r],t,Array.isArray(e)),n=h.default.isValidElement(o)?h.default.cloneElement(o,{key:`item-${l}`}):o;return 0===l?[n]:[(0,m.jsx)("span",{children:", "},`sep-${l}`),n]});return(0,m.jsx)(k.Typography.Text,{...a,children:t})}}}sa.registerFlow({key:"displayFieldSettings",title:(0,r.tExpr)("Display Field settings"),sort:200,steps:{overflowMode:{use:"overflowMode"},clickToOpen:{title:(0,r.tExpr)("Enable click-to-open"),uiMode:{type:"switch",key:"clickToOpen"},defaultParams:e=>{var t,l;return e.disableFieldClickToOpen?{clickToOpen:!1}:{clickToOpen:(null==(l=e.collectionField)||null==(t=l.isAssociationField)?void 0:t.call(l))||sr(e)}},hideInSettings:e=>e.disableFieldClickToOpen,async afterParamsSave(e,t){await rg(e,t)},handler(e,t){rh(e,t)}}}}),sa.registerFlow(eN.g);let ss=h.default.memo(e=>{let t=(0,r.useFlowEngine)(),l=e=>{let{active:l,over:o}=e;l.id&&(null==o?void 0:o.id)&&l.id!==o.id&&t.moveModel(l.id,o.id)};return(0,m.jsx)(r.DndProvider,{onDragEnd:l,children:(0,m.jsx)("thead",{...e})})}),sd=(0,r.observer)(e=>{let{className:t,title:l,editable:o,width:n,record:i,recordIndex:r,dataIndex:a,children:s,model:d,...u}=e;return(0,m.jsx)("td",{className:(0,nH.default)(t),...u,children:(0,m.jsxs)("div",{style:{width:n},children:[" ",s]})})}),su=e=>{let{model:t}=e;return(0,m.jsx)(r.AddSubModelButton,{model:t,subModelKey:"columns",subModelBaseClasses:["TableColumnModel","TableAssociationFieldGroupModel"],keepDropdownOpen:!0,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(H.SettingOutlined,{}),children:t.translate("Fields")})})},sc=e=>{let{pageSize:t,value:l,size:o,collection:n,baseColumns:i,enableIndexColumn:r=!0,model:a}=e,[s,d]=(0,h.useState)(1),[u,c]=(0,h.useState)(t),{t:p}=(0,I.useTranslation)();(0,h.useEffect)(()=>{c(t)},[t]);let f=(0,h.useMemo)(()=>({current:s,pageSize:u,total:null==l?void 0:l.length,onChange:(e,t)=>{d(e),c(t)},showSizeChanger:!0,showTotal:e=>p("Total {{count}} items",{count:e})}),[s,u,l]),v=()=>{let e=nw([r&&{key:"__index__",width:48,align:"center",fixed:"left",render:(e,t,l)=>(s-1)*u+l+1},...i.concat({key:"empty"})].filter(Boolean));return a.context.flowSettingsEnabled&&e.push({key:"addColumn",fixed:"right",width:100,title:(0,m.jsx)(su,{model:a})}),e},y=(0,h.useCallback)(async(e,t,l)=>{if(!(0,g.isEmpty)(l)){let e=a.context.blockModel.resource,t=a.props.globalSort,o=a.context.collectionField.name,n=l.order?"ascend"===l.order?[l.field]:[`-${l.field}`]:t,i=n?`${o}(sort=${n})`:o,r=e.getAppends().map(e=>RegExp(`^${o}\\(sort=[^)]+\\)$`).test(e)||e===o?i:e);l&&e.setAppends(r),await e.refresh()}},[a]);return(0,m.jsx)(k.Table,{tableLayout:"fixed",size:o,rowKey:n.filterTargetKey,scroll:{x:"max-content"},dataSource:l,columns:v(),pagination:f,onChange:y,className:(0,tx.css)`
713
+ `,color:"#fff"}},style:{...n||{},whiteSpace:"wrap"===l?"normal":"nowrap",width:o||"auto"}};if(!r)return(0,m.jsx)(k.Typography.Text,{...a,children:this.renderInDisplayStyle(e)});{let t=(0,g.castArray)(e).flatMap((t,l)=>{let o=this.renderInDisplayStyle(null==t?void 0:t[r],t,Array.isArray(e)),n=h.default.isValidElement(o)?h.default.cloneElement(o,{key:`item-${l}`}):o;return 0===l?[n]:[(0,m.jsx)("span",{children:", "},`sep-${l}`),n]});return(0,m.jsx)(k.Typography.Text,{...a,children:t})}}}sm.registerFlow({key:"displayFieldSettings",title:(0,r.tExpr)("Display Field settings"),sort:200,steps:{overflowMode:{use:"overflowMode"},clickToOpen:{title:(0,r.tExpr)("Enable click-to-open"),uiMode:{type:"switch",key:"clickToOpen"},defaultParams:e=>{var t,l;return e.disableFieldClickToOpen?{clickToOpen:!1}:{clickToOpen:(null==(l=e.collectionField)||null==(t=l.isAssociationField)?void 0:t.call(l))||sp(e)}},hideInSettings:e=>e.disableFieldClickToOpen,async afterParamsSave(e,t){await rg(e,t)},handler(e,t){rh(e,t)}}}}),sm.registerFlow(eN.g);let sh=h.default.memo(e=>{let t=(0,r.useFlowEngine)(),l=e=>{let{active:l,over:o}=e;l.id&&(null==o?void 0:o.id)&&l.id!==o.id&&t.moveModel(l.id,o.id)};return(0,m.jsx)(r.DndProvider,{onDragEnd:l,children:(0,m.jsx)("thead",{...e})})}),sf=(0,r.observer)(e=>{let{className:t,title:l,editable:o,width:n,record:i,recordIndex:r,dataIndex:a,children:s,model:d,...u}=e;return(0,m.jsx)("td",{className:(0,nH.default)(t),...u,children:(0,m.jsxs)("div",{style:{width:n},children:[" ",s]})})}),sg=e=>{let{model:t}=e;return(0,m.jsx)(r.AddSubModelButton,{model:t,subModelKey:"columns",subModelBaseClasses:["TableColumnModel","TableAssociationFieldGroupModel"],keepDropdownOpen:!0,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(H.SettingOutlined,{}),children:t.translate("Fields")})})},sv=e=>{let{pageSize:t,value:l,size:o,collection:n,baseColumns:i,enableIndexColumn:r=!0,model:a}=e,[s,d]=(0,h.useState)(1),[u,c]=(0,h.useState)(t),{t:p}=(0,I.useTranslation)();(0,h.useEffect)(()=>{c(t)},[t]);let f=(0,h.useMemo)(()=>({current:s,pageSize:u,total:null==l?void 0:l.length,onChange:(e,t)=>{d(e),c(t)},showSizeChanger:!0,showTotal:e=>p("Total {{count}} items",{count:e})}),[s,u,l]),v=()=>{let e=nw([r&&{key:"__index__",width:48,align:"center",fixed:"left",render:(e,t,l)=>(s-1)*u+l+1},...i.concat({key:"empty"})].filter(Boolean));return a.context.flowSettingsEnabled&&e.push({key:"addColumn",fixed:"right",width:100,title:(0,m.jsx)(sg,{model:a})}),e},y=(0,h.useCallback)(async(e,t,l)=>{if(!(0,g.isEmpty)(l)){let e=a.context.blockModel.resource,t=a.props.globalSort,o=a.context.collectionField.name,n=l.order?"ascend"===l.order?[l.field]:[`-${l.field}`]:t,i=n?`${o}(sort=${n})`:o,r=e.getAppends().map(e=>RegExp(`^${o}\\(sort=[^)]+\\)$`).test(e)||e===o?i:e);l&&e.setAppends(r),await e.refresh()}},[a]);return(0,m.jsx)(k.Table,{tableLayout:"fixed",size:o,rowKey:n.filterTargetKey,scroll:{x:"max-content"},dataSource:l,columns:v(),pagination:f,onChange:y,className:(0,tx.css)`
714
714
  .ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content {
715
715
  display: inline;
716
716
  }
@@ -720,22 +720,22 @@ ctx.render(<JsItem />);
720
720
  .ant-table-column-sorters .ant-table-column-title {
721
721
  overflow: visible;
722
722
  }
723
- `,components:{header:{wrapper:ss},body:{cell:sd}}})};class sp extends ex.o{get collection(){return this.context.collection}get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("resourceName",{get:()=>this.context.collectionField.target,cache:!1}),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.context.fieldPath}),this.context.defineProperty("actionName",{get:()=>"view",cache:!1})}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.dispatchEvent("beforeRender")}getBaseColumns(){return this.mapSubModels("columns",e=>"TableColumnModel"===e.use&&e.getColumnProps()).filter(e=>e&&!(null==e?void 0:e.hidden))}render(){return(0,m.jsx)(sc,{...this.props,collection:this.collection,baseColumns:this.getBaseColumns(),model:this})}constructor(...e){super(...e),this.disableTitleField=!0,this.defaultOverflowMode="ellipsis"}}sp.registerFlow({key:"TableAssociation",title:(0,r.tExpr)("Association table settings"),steps:{init:{async handler(e){await e.model.applySubModelsBeforeRenderFlows("columns")}},pageSize:{title:(0,r.tExpr)("Page size"),uiMode:{type:"select",key:"pageSize",props:{options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}]}},defaultParams:{pageSize:10},handler(e,t){e.model.setProps({pageSize:t.pageSize})}}}}),sp.define({label:(0,r.tExpr)("Sub-table")}),tz.bindModelToInterface("DisplaySubTableFieldModel",["m2m","o2m","mbm"]);class sm extends ex.o{getAddSubModelButtonProps(e){let t=this.subModelBaseClasses[e];return Array.isArray(t)?{subModelBaseClasses:t}:{subModelBaseClass:t}}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.parent.fieldPath})}render(){return(0,m.jsx)(i7,{...this.props})}constructor(...e){super(...e),this.disableTitleField=!0,this.subModelBaseClasses={action:"RecordActionGroupModel",field:["DetailsItemModel"]}}}sm.define({label:(0,r.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubItemFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),tz.bindModelToInterface("DisplaySubItemFieldModel",["m2o","o2o","oho","obo","updatedBy","createdBy"]);let sh=e=>(0,g.castArray)(e).filter(e=>null!=e&&""!==e).map(e=>String(e)),sf=e=>{let{parentFieldIndex:t,index:l,blockPage:o}=e,n=t.length>0?t.join("|"):"root";return`row_${n}_${l}_${o}`},sg=e=>{var t;let{name:l,value:o=[]}=e,n=(0,r.useFlowModel)(),i=n.subModels.grid,a=sh(n.context.fieldIndex),s=n.context.record,d=n.context.collectionField.name,u=n.context.flowSettingsEnabled&&0===o.length?[{}]:o,c=n.context.blockModel.resource,p=(null==c||null==(t=c.getPage)?void 0:t.call(c))||0;return u.length>0&&(0,m.jsx)(k.Card,{bordered:!0,style:{position:"relative"},className:(0,tx.css)`
723
+ `,components:{header:{wrapper:sh},body:{cell:sf}}})};class sy extends ex.o{get collection(){return this.context.collection}get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("resourceName",{get:()=>this.context.collectionField.target,cache:!1}),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.context.fieldPath}),this.context.defineProperty("actionName",{get:()=>"view",cache:!1})}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.dispatchEvent("beforeRender")}getBaseColumns(){return this.mapSubModels("columns",e=>"TableColumnModel"===e.use&&e.getColumnProps()).filter(e=>e&&!(null==e?void 0:e.hidden))}render(){return(0,m.jsx)(sv,{...this.props,collection:this.collection,baseColumns:this.getBaseColumns(),model:this})}constructor(...e){super(...e),this.disableTitleField=!0,this.defaultOverflowMode="ellipsis"}}sy.registerFlow({key:"TableAssociation",title:(0,r.tExpr)("Association table settings"),steps:{init:{async handler(e){await e.model.applySubModelsBeforeRenderFlows("columns")}},pageSize:{title:(0,r.tExpr)("Page size"),uiMode:{type:"select",key:"pageSize",props:{options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}]}},defaultParams:{pageSize:10},handler(e,t){e.model.setProps({pageSize:t.pageSize})}}}}),sy.define({label:(0,r.tExpr)("Sub-table")}),tz.bindModelToInterface("DisplaySubTableFieldModel",["m2m","o2m","mbm"]);class s_ extends ex.o{getAddSubModelButtonProps(e){let t=this.subModelBaseClasses[e];return Array.isArray(t)?{subModelBaseClasses:t}:{subModelBaseClass:t}}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.parent.fieldPath})}render(){return(0,m.jsx)(i7,{...this.props})}constructor(...e){super(...e),this.disableTitleField=!0,this.subModelBaseClasses={action:"RecordActionGroupModel",field:["DetailsItemModel"]}}}s_.define({label:(0,r.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubItemFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),tz.bindModelToInterface("DisplaySubItemFieldModel",["m2o","o2o","oho","obo","updatedBy","createdBy"]);let sb=e=>(0,g.castArray)(e).filter(e=>null!=e&&""!==e).map(e=>String(e)),sx=e=>{let{parentFieldIndex:t,index:l,blockPage:o}=e,n=t.length>0?t.join("|"):"root";return`row_${n}_${l}_${o}`},sM=e=>{var t;let{name:l,value:o=[]}=e,n=(0,r.useFlowModel)(),i=n.subModels.grid,a=sb(n.context.fieldIndex),s=n.context.record,d=n.context.collectionField.name,u=n.context.flowSettingsEnabled&&0===o.length?[{}]:o,c=n.context.blockModel.resource,p=(null==c||null==(t=c.getPage)?void 0:t.call(c))||0;return u.length>0&&(0,m.jsx)(k.Card,{bordered:!0,style:{position:"relative"},className:(0,tx.css)`
724
724
  > .ant-card-body > .ant-divider:last-child {
725
725
  display: none;
726
726
  }
727
- `,children:u.map((e,t)=>{var l;let o=sf({parentFieldIndex:a,index:t,blockPage:p}),c=i.createFork({},`${o}`);c.gridContainerRef===i.gridContainerRef&&(c.gridContainerRef=h.default.createRef());let f=null==n||null==(l=n.context)?void 0:l.item;return c.context.defineProperty("fieldIndex",{get:()=>[...a,`${d}:${t}`]}),c.context.defineProperty("fieldKey",{get:()=>o}),c.context.defineProperty("record",{get:()=>s}),c.context.defineProperty("currentObject",{get:()=>e}),c.context.defineProperty("item",{get:()=>({index:t,length:u.length,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:f}),cache:!1}),(0,m.jsxs)("div",{style:{marginBottom:12},children:[(0,m.jsx)(r.FlowModelRenderer,{model:c,showFlowSettings:!1}),(0,m.jsx)(k.Divider,{})]},o)})})};class sv extends ex.o{getAddSubModelButtonProps(e){let t=this.subModelBaseClasses[e];return Array.isArray(t)?{subModelBaseClasses:t}:{subModelBaseClass:t}}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.parent.fieldPath})}render(){return(0,m.jsx)(sg,{...this.props})}constructor(...e){super(...e),this.disableTitleField=!0,this.subModelBaseClasses={action:"RecordActionGroupModel",field:["DetailsItemModel"]}}}sv.define({label:(0,r.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubListFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),tz.bindModelToInterface("DisplaySubListFieldModel",["m2m","o2m","mbm"]);class sy extends ex.o{render(){let{value:e,style:t,className:l}=this.props;return e?(0,m.jsx)("div",{role:"button","aria-label":"color-picker-read-pretty",style:t,className:(0,tx.cx)(l,(0,tx.css)`
727
+ `,children:u.map((e,t)=>{var l;let o=sx({parentFieldIndex:a,index:t,blockPage:p}),c=i.createFork({},`${o}`);c.gridContainerRef===i.gridContainerRef&&(c.gridContainerRef=h.default.createRef());let f=null==n||null==(l=n.context)?void 0:l.item;return c.context.defineProperty("fieldIndex",{get:()=>[...a,`${d}:${t}`]}),c.context.defineProperty("fieldKey",{get:()=>o}),c.context.defineProperty("record",{get:()=>s}),c.context.defineProperty("currentObject",{get:()=>e}),c.context.defineProperty("item",{get:()=>({index:t,length:u.length,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:f}),cache:!1}),(0,m.jsxs)("div",{style:{marginBottom:12},children:[(0,m.jsx)(r.FlowModelRenderer,{model:c,showFlowSettings:!1}),(0,m.jsx)(k.Divider,{})]},o)})})};class sw extends ex.o{getAddSubModelButtonProps(e){let t=this.subModelBaseClasses[e];return Array.isArray(t)?{subModelBaseClasses:t}:{subModelBaseClass:t}}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.parent.fieldPath})}render(){return(0,m.jsx)(sM,{...this.props})}constructor(...e){super(...e),this.disableTitleField=!0,this.subModelBaseClasses={action:"RecordActionGroupModel",field:["DetailsItemModel"]}}}sw.define({label:(0,r.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubListFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),tz.bindModelToInterface("DisplaySubListFieldModel",["m2m","o2m","mbm"]);class sS extends ex.o{render(){let{value:e,style:t,className:l}=this.props;return e?(0,m.jsx)("div",{role:"button","aria-label":"color-picker-read-pretty",style:t,className:(0,tx.cx)(l,(0,tx.css)`
728
728
  display: inline-flex;
729
729
  .ant-color-picker-trigger-disabled {
730
730
  cursor: default;
731
731
  }
732
- `),children:(0,m.jsx)(k.ColorPicker,{disabled:!0,value:e,size:"small"})}):null}}r.DisplayItemModel.bindModelToInterface("DisplayColorFieldModel",["color"],{isDefault:!0});class s_ extends rv{renderComponent(e){let{className:t,style:l}=this.props,o=this.props.format,n="";if(e){let t=(0,al.default)(e);n=t.isValid()?t.format(o):""}return(0,m.jsx)("div",{className:t,style:l,children:n})}}function sb(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0;return(Array.isArray(e)?e:[e]).map(e=>{var o,n;return(null==t||null==(o=t.find)?void 0:o.call(t,t=>t[l.value]==e))??{value:e,label:(null==e||null==(n=e.toString)?void 0:n.call(e))??e}})}s_.registerFlow({key:"datetimeSettings",sort:1e3,title:(0,r.tExpr)("Datetime settings"),steps:{dateFormat:{use:"dateDisplayFormat",title:(0,r.tExpr)("Date display format")}}}),s_.define({label:(0,r.tExpr)("Datetime")}),r.DisplayItemModel.bindModelToInterface("DisplayDateTimeFieldModel",["date","datetimeNoTz","createdAt","datetime","updatedAt","unixTimestamp","formula"],{isDefault:!0,when:(e,t)=>"formula"!==t.type||"date"===t.dataType});let sx={label:"label",value:"value",color:"color"};class sM extends rv{isEmpty(e){return null==e||""===e}isEmptyEnumValue(e){return Array.isArray(e)?0===e.length:this.isEmpty(e)}renderComponent(e){let{options:t=[],dataSource:l}=this.props,o=sb(e,l||t,sx);return this.isEmpty(e)||!o.length?null:o.map(e=>(0,m.jsx)(k.Tag,{color:e[sx.color],icon:(0,m.jsx)(a.In,{type:e.icon}),children:this.translate(e[sx.label])},e[sx.value]))}renderInDisplayStyle(e,t,l,o){let{clickToOpen:n=!1,...i}=this.props,r=this.renderComponent(e),a=t&&this.isEmptyEnumValue(e)?"N/A":r,s={cursor:n?"pointer":"default",alignItems:"center",gap:4,display:l&&"inline-block"},d=e=>{n&&this.onClick(e,t)};return n?(0,m.jsx)("a",{...i,style:s,onClick:d,children:a}):(0,m.jsx)("span",{...i,style:s,className:i.className,children:a})}}sM.define({label:(0,r.tExpr)("Select")}),sM.registerFlow({key:"displayCollectionSelectSettings",sort:6e3,steps:{init:{handler(e){if(["collection","tableoid"].includes(e.collectionField.interface))if(e.model.props.isTableOid){let t=e.dataSourceManager.getDataSource("main").collectionManager.getChildrenCollections(e.collectionField.collectionName),l=(0,g.castArray)(e.collectionField.collection).concat(t).map(e=>({label:e.title||e.name,value:e.name||e.value}));e.model.setProps({options:l})}else{let t=e.dataSourceManager.getDataSource("main").getCollections(),l=e.model.context.collectionField.enum||[],o=t.filter(e=>!e.options.hidden).filter(e=>!l.length||l.find(t=>t.value===e.name)).map(e=>{var t;return{label:e.title||e.name,value:e.name||e.value,color:null==(t=e.category)?void 0:t.color}});e.model.setProps({dataSource:o})}}}}}),r.DisplayItemModel.bindModelToInterface("DisplayEnumFieldModel",["select","multipleSelect","radioGroup","checkboxGroup","collection","tableoid"],{isDefault:!0});var sw=l(9378);class sS extends sa{renderComponent(e){let{textOnly:t=!0}=this.props;return(0,m.jsx)(sw.g,{...this.props,textOnly:t,value:e})}}sS.define({label:(0,r.tExpr)("HTML")}),sS.registerFlow({key:"htmlFieldSettings",title:(0,r.tExpr)("Content settings"),sort:200,steps:{renderMode:{use:"renderMode"}}}),r.DisplayItemModel.bindModelToInterface("DisplayHtmlFieldModel",["richText"],{isDefault:!0});class sk extends ex.o{render(){let{value:e,style:t,className:l}=this.props;return(0,m.jsx)(a.In,{type:e,style:t,className:l})}}r.DisplayItemModel.bindModelToInterface("DisplayIconFieldModel",["icon"],{isDefault:!0});let sF=(0,tx.css)`
732
+ `),children:(0,m.jsx)(k.ColorPicker,{disabled:!0,value:e,size:"small"})}):null}}r.DisplayItemModel.bindModelToInterface("DisplayColorFieldModel",["color"],{isDefault:!0});class sk extends rv{renderComponent(e){let{className:t,style:l}=this.props,o=this.props.format,n="";if(e){let t=(0,al.default)(e);n=t.isValid()?t.format(o):""}return(0,m.jsx)("div",{className:t,style:l,children:n})}}function sF(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0;return(Array.isArray(e)?e:[e]).map(e=>{var o,n;return(null==t||null==(o=t.find)?void 0:o.call(t,t=>t[l.value]==e))??{value:e,label:(null==e||null==(n=e.toString)?void 0:n.call(e))??e}})}sk.registerFlow({key:"datetimeSettings",sort:1e3,title:(0,r.tExpr)("Datetime settings"),steps:{dateFormat:{use:"dateDisplayFormat",title:(0,r.tExpr)("Date display format")}}}),sk.define({label:(0,r.tExpr)("Datetime")}),r.DisplayItemModel.bindModelToInterface("DisplayDateTimeFieldModel",["date","datetimeNoTz","createdAt","datetime","updatedAt","unixTimestamp","formula"],{isDefault:!0,when:(e,t)=>"formula"!==t.type||"date"===t.dataType});let sC={label:"label",value:"value",color:"color"};class sA extends rv{isEmpty(e){return null==e||""===e}isEmptyEnumValue(e){return Array.isArray(e)?0===e.length:this.isEmpty(e)}renderComponent(e){let{options:t=[],dataSource:l}=this.props,o=sF(e,l||t,sC);return this.isEmpty(e)||!o.length?null:o.map(e=>(0,m.jsx)(k.Tag,{color:e[sC.color],icon:(0,m.jsx)(a.In,{type:e.icon}),children:this.translate(e[sC.label])},e[sC.value]))}renderInDisplayStyle(e,t,l,o){let{clickToOpen:n=!1,...i}=this.props,r=this.renderComponent(e),a=t&&this.isEmptyEnumValue(e)?"N/A":r,s={cursor:n?"pointer":"default",alignItems:"center",gap:4,display:l&&"inline-block"},d=e=>{n&&this.onClick(e,t)};return n?(0,m.jsx)("a",{...i,style:s,onClick:d,children:a}):(0,m.jsx)("span",{...i,style:s,className:i.className,children:a})}}sA.define({label:(0,r.tExpr)("Select")}),sA.registerFlow({key:"displayCollectionSelectSettings",sort:6e3,steps:{init:{handler(e){if(["collection","tableoid"].includes(e.collectionField.interface))if(e.model.props.isTableOid){let t=e.dataSourceManager.getDataSource("main").collectionManager.getChildrenCollections(e.collectionField.collectionName),l=(0,g.castArray)(e.collectionField.collection).concat(t).map(e=>({label:e.title||e.name,value:e.name||e.value}));e.model.setProps({options:l})}else{let t=e.dataSourceManager.getDataSource("main").getCollections(),l=e.model.context.collectionField.enum||[],o=t.filter(e=>!e.options.hidden).filter(e=>!l.length||l.find(t=>t.value===e.name)).map(e=>{var t;return{label:e.title||e.name,value:e.name||e.value,color:null==(t=e.category)?void 0:t.color}});e.model.setProps({dataSource:o})}}}}}),r.DisplayItemModel.bindModelToInterface("DisplayEnumFieldModel",["select","multipleSelect","radioGroup","checkboxGroup","collection","tableoid"],{isDefault:!0});var sP=l(9378);class sT extends sm{renderComponent(e){let{textOnly:t=!0}=this.props;return(0,m.jsx)(sP.g,{...this.props,textOnly:t,value:e})}}sT.define({label:(0,r.tExpr)("HTML")}),sT.registerFlow({key:"htmlFieldSettings",title:(0,r.tExpr)("Content settings"),sort:200,steps:{renderMode:{use:"renderMode"}}}),r.DisplayItemModel.bindModelToInterface("DisplayHtmlFieldModel",["richText"],{isDefault:!0});class sI extends ex.o{render(){let{value:e,style:t,className:l}=this.props;return(0,m.jsx)(a.In,{type:e,style:t,className:l})}}r.DisplayItemModel.bindModelToInterface("DisplayIconFieldModel",["icon"],{isDefault:!0});let sj=(0,tx.css)`
733
733
  margin-bottom: 0;
734
734
  line-height: 1.5;
735
735
  font-size: 90%;
736
736
  background: none !important;
737
737
  border: none !important;
738
- `,sC=e=>{let{content:t,style:l,className:o}=e,n=(0,h.useRef)(null),[i,r]=(0,h.useState)(!1);(0,h.useEffect)(()=>{let e=n.current;e&&r(e.scrollWidth>e.clientWidth)},[t]);let a=(0,m.jsx)("div",{ref:n,style:{...l,whiteSpace:"nowrap",fontFamily:"Consolas, Monaco, monospace",overflow:"hidden",textOverflow:"ellipsis"},children:t});return i?(0,m.jsx)(k.Tooltip,{title:(0,m.jsx)("pre",{style:{margin:0,maxHeight:400},className:o,children:t}),overlayInnerStyle:{background:"#fff",color:"#000",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",maxWidth:500},color:"#fff",overlayStyle:{maxWidth:500,whiteSpace:"pre-wrap"},children:a}):a};class sA extends sa{renderComponent(e){let{space:t,style:l,className:o,overflowMode:n}=this.props,i="";if(null!=e)try{i=JSON.stringify(e,null,t??2)}catch(e){i=this.flowEngine.translate("Invalid JSON format")}return"ellipsis"===n?(0,m.jsx)(sC,{content:i,style:l,className:(0,tx.cx)(o,sF)}):(0,m.jsx)("pre",{className:(0,tx.cx)(o,sF),style:l,children:i})}}function sP(e){let t=(0,g.toString)(e);return t.includes(".")?t.split(".")[1].replace(/0+$/,"").length:0}r.DisplayItemModel.bindModelToInterface("DisplayJSONFieldModel",["json"],{isDefault:!0});let sT={"0,0.00":{thousands:",",decimal:"."},"0.0,00":{thousands:".",decimal:","},"0 0,00":{thousands:" ",decimal:"."},"0.00":{thousands:"",decimal:"."}};function sI(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3?arguments[3]:void 0;if(e>Number.MAX_SAFE_INTEGER||e<Number.MIN_SAFE_INTEGER)return sj(e,t,l,o);let n=e;o&&(n=Number(e));let i="";if(sT[t]){let{thousands:e,decimal:o}=sT[t];i=n.toLocaleString("en-US",{style:"decimal",minimumFractionDigits:l,maximumFractionDigits:l}).replace(/,/g,"comma_placeholder").replace(/\./g,"dot_placeholder").replace(/comma_placeholder/g,e).replace(/dot_placeholder/g,o)}else i=n.toString();return i}function sj(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3?arguments[3]:void 0,n=e;o&&(n=new __rspack_external_bignumber_js_b933f7e9.default(e).toString());let i="";if(sT[t]){let{thousands:e,decimal:o}=sT[t],[r,a]=n.toString().split("."),s=a,d=r.replace(/\B(?=(\d{3})+(?!\d))/g,e);s&&l?(s=s.substring(0,l),i=`${d}${o}${s}`):i=d}else i=n.toString();return i}function sL(e){let t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"*",o=arguments.length>2?arguments[2]:void 0;if(!o)return e;if("*"===l)t=e*o;else{if("/"!==l)return console.error("Error: Invalid operator. Use '*' for multiplication or '/' for division."),null;if(0===o)return console.error("Error: Division by zero."),null;t=e/o}return __rspack_external_mathjs.round(t,9)}function sD(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";return(0,__rspack_external_d3_format_e0459777.format)(`.${t}e`)(e).replace(".",l).replace(/e([+-]?\d+)/,(e,t)=>t.startsWith("+")?`\xd710<sup>${t.slice(1)}</sup>`:`\xd710<sup>-${t.slice(1)}</sup>`)}function sY(e){let t,{step:l,formatStyle:o="normal",value:n,unitConversion:i,unitConversionType:r,separator:a="0,0.00"}=e;if(!(0,Q.isValid)(n))return null;let s=sL(n,r,i);if(t=sI((0,d.toFixedByStep)(s,l),a,sP(l),o),"scientifix"===o){var u;t=sD(Number(s),sP(l),null==sT||null==(u=sT[a])?void 0:u.decimal)}return"NaN"===t&&(t=n),t}let sE=e=>{let{numberStep:t,formatStyle:l,value:o,unitConversion:n,unitConversionType:i,separator:r}=e;return sY({step:t,formatStyle:l,value:o,unitConversion:n,unitConversionType:i,separator:r})};class sR extends rv{renderComponent(e){let{addonBefore:t,addonAfter:l,style:o,className:n}=this.props,i=sE({...this.props,value:e});return i?(0,m.jsxs)("span",{className:n,style:o,children:[t,(0,m.jsx)("span",{dangerouslySetInnerHTML:{__html:i}}),l]}):null}}sR.define({label:(0,r.tExpr)("Number")});let sN=()=>{let e=(0,eo.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,I.useTranslation)();return(0,m.jsxs)(k.Select,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,m.jsx)(k.Select.Option,{value:"*",children:l("Multiply by")}),(0,m.jsx)(k.Select.Option,{value:"/",children:l("Divide by")})]})};sR.registerFlow({key:"numberSettings",sort:500,title:(0,r.tExpr)("Number settings"),steps:{format:{title:(0,r.tExpr)("Number format"),use:"numberFormat"}}}),r.DisplayItemModel.bindModelToInterface("DisplayNumberFieldModel",["number","integer","id","snowflakeId"],{isDefault:!0});class sO extends ex.o{render(){let{value:e,style:t,className:l}=this.props;return e?(0,m.jsx)("div",{className:l,style:t,children:"********"}):(0,m.jsx)("div",{className:l,style:t})}}r.DisplayItemModel.bindModelToInterface("DisplayPasswordFieldModel",["password"],{isDefault:!0});class sB extends rv{renderComponent(e){let{addonBefore:t="",addonAfter:l="%",numberStep:o,style:n,className:i}=this.props,r=__rspack_external_mathjs.round(100*e,9);if(null==e)return;let a=sE({...this.props,value:r,numberStep:o});return a?(0,m.jsxs)("div",{className:i,style:n,children:[t,(0,m.jsx)("span",{dangerouslySetInnerHTML:{__html:a}}),l]}):null}}sB.registerFlow({key:"numberSettings",sort:500,title:(0,r.tExpr)("Number settings"),steps:{format:{title:(0,r.tExpr)("Number format"),uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,r.tExpr)("Normal")},{value:"scientifix",label:(0,r.tExpr)("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"NumberPicker",title:"{{t('Unit conversion')}}","x-component-props":{style:{width:"100%"},addonBefore:(0,m.jsx)(sN,{})}},separator:{type:"string",enum:[{value:"0,0.00",label:"100,000.00"},{value:"0.0,00",label:"100.000,00"},{value:"0 0,00",label:"100 000.00"},{value:"0.00",label:"100000.00"}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},numberStep:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem"},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem","x-disabled":!0}}),defaultParams:e=>{let{formatStyle:t,unitConversion:l,unitConversionType:o,separator:n,step:i,addonBefore:r,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:o,separator:n||"0,0.00",numberStep:i||"1",addonBefore:r,addonAfter:a||"%"}},handler(e,t){let{formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s})}}}}),sB.define({label:(0,r.tExpr)("Percent")}),r.DisplayItemModel.bindModelToInterface("DisplayPercentFieldModel",["percent"],{isDefault:!0});class sH extends rv{t(e){return"string"!=typeof e?e:e.startsWith("{{")&&e.endsWith("}}")?this.translate(e):e}renderComponent(e,t){let{prefix:l,suffix:o,overflowMode:n,style:i,className:r}=this.props;return(0,m.jsxs)("span",{className:r,style:{...i||{},whiteSpace:"wrap"===n||t?"pre-line":"nowrap"},children:[l,this.t(e),o]})}}sH.define({label:(0,r.tExpr)("Text")}),r.DisplayItemModel.bindModelToInterface("DisplayTextFieldModel",["input","email","phone","uuid","textarea","nanoid"],{isDefault:!0});class sq extends sa{renderComponent(e){let{style:t,className:l}=this.props,o=e&&(0,m.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:e,className:l,style:{...t||{},overflowWrap:"anywhere"},children:e});return(0,m.jsx)(m.Fragment,{children:o})}}sq.define({label:(0,r.tExpr)("URL")}),r.DisplayItemModel.bindModelToInterface("DisplayURLFieldModel",["url"],{isDefault:!0,when:e=>!0});class sV extends rv{renderComponent(e){let{prefix:t,suffix:l,style:o,className:n}=this.props,i=this.props.format||"HH:mm:ss",r=e&&(0,al.default)(e,"HH:mm:ss").format(i);return(0,m.jsxs)("span",{className:n,style:o,children:[t,r,l]})}}sV.registerFlow({key:"timeSettings",sort:1e3,title:(0,r.tExpr)("Time settings"),steps:{dateFormat:{title:(0,r.tExpr)("Time format"),use:"dateDisplayFormat"}}}),sV.define({label:(0,r.tExpr)("Time")}),r.DisplayItemModel.bindModelToInterface("DisplayTimeFieldModel",["time"],{isDefault:!0});class s$ extends ex.o{render(){let{value:e,showUnchecked:t,style:l,className:o}=this.props;return e?(0,m.jsx)(H.CheckOutlined,{className:o,style:{color:"#52c41a",...l||{}}}):t?(0,m.jsx)(H.CloseOutlined,{className:o,style:{color:"#ff4d4f",...l||{}}}):(0,m.jsx)(k.Checkbox,{className:o,style:l,disabled:!0})}}s$.define({label:(0,r.tExpr)("Checkbox")}),r.DisplayItemModel.bindModelToInterface("DisplayCheckboxFieldModel",["checkbox"],{isDefault:!0});var sz=l(4695),sK=l(6854);function sU(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e)return[];let l=new Set,o=[],n=t.length?new Set(t):null,i=e=>{var t;if(!(null==e?void 0:e.uid)||l.has(e.uid))return;l.add(e.uid);let r=null==(t=e.getUserModifiedFields)?void 0:t.call(e);(null==r?void 0:r.size)&&!(null==n?void 0:n.has(e.uid))&&o.push(e.uid),Object.values(e.subModels||{}).forEach(e=>{g.default.castArray(e).forEach(e=>{e&&"object"==typeof e&&i(e)})})};return i(e),o}function sG(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=sU(e,t);return{hasDirtyForms:l.length>0,formModelUids:l}}function sJ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||!t.length)return;let l=new Set,o=new Set(t),n=e=>{if(!(!(null==e?void 0:e.uid)||l.has(e.uid))){if(l.add(e.uid),o.has(e.uid)){var t;null==(t=e.resetUserModifiedFields)||t.call(e)}Object.values(e.subModels||{}).forEach(e=>{g.default.castArray(e).forEach(e=>{e&&"object"==typeof e&&n(e)})})}};n(e)}function sW(e){return async t=>{let{result:l,force:o,ignoredDirtyFormModelUids:n}=t;if(o)return!0;let i=sG(e,n),a=!1,s=await e.dispatchEvent("close",{result:l,force:!1,dirty:i,controller:{prevent(){a=!0}}}),d=(null==s?void 0:s.__abortedByExitAll)===!0||!!Array.isArray(s)&&s.some(e=>e instanceof r.FlowExitAllException),u=!a&&!d;return u&&i.hasDirtyForms&&sJ(e,i.formModelUids),u}}let sX=(0,r.defineAction)({name:"openView",title:(0,r.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"},{label:(0,r.tExpr)("Page"),value:"embed"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "embed"}}'}}}}},hideInSettings:async e=>{var t,l,o,n;if(!e.model.getFlow("displayFieldSettings"))return!1;let i=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return void 0===i?!(null==(n=e.collectionField)?void 0:n.isAssociationField()):!1===i},defaultParams:async e=>{var t,l,o,n,i,r,a,s,d,u;let c,p=e.getPropertyMetaTree()||[],m=Array.isArray(p)&&p.some(e=>"record"===String(null==e?void 0:e.name)),h=(null==(t=e.collection)?void 0:t.filterTargetKey)||"id";if(null==(o=e.blockModel)||null==(l=o.resource)?void 0:l.resourceName){let t=e.collection.dataSource.collectionManager.getAssociation(null==(s=e.blockModel)||null==(a=s.resource)?void 0:a.resourceName);(null==t?void 0:t.interface)!=="m2m"&&(h=(null==t?void 0:t.targetKey)||h)}let f=m?`{{ ctx.record.${h} }}`:void 0;try{let t=null==(u=e.resource)||null==(d=u.getSourceId)?void 0:d.call(u);null!=t&&""!==String(t)&&(c="{{ ctx.resource.sourceId }}")}catch(e){}let g=null==(n=e.collection)?void 0:n.dataSourceKey,v=null==(i=e.collection)?void 0:i.name;return{mode:"drawer",size:"medium",pageModelClass:"ChildPageModel",uid:null==(r=e.model)?void 0:r.uid,...f?{filterByTk:f}:{},...c?{sourceId:c}:{},...g?{dataSourceKey:g}:{},...v?{collectionName:v}:{}}},async beforeParamsSave(e,t){if(null==t?void 0:t.uid){let l=e.engine;if(!(l.getModel(t.uid)||await l.loadModel({uid:t.uid})))throw Error(e.t("Popup UID not exists"))}},async handler(e,t){var l,o,n,i,r,a,s,d,u,c,p,h,f,v,y,_,b,x,M;let w=e.inputArgs||{},S=w.defineProperties??(null==(o=e.model.context)||null==(l=o.inputArgs)?void 0:l.defineProperties)??void 0,k=w.defineMethods??(null==(i=e.model.context)||null==(n=i.inputArgs)?void 0:n.defineMethods)??void 0,F=(null==(a=e.model)||null==(r=a.getInputArgs)?void 0:r.call(a))||{},C=(null==w?void 0:w.defaultInputKeys)||[],P=e=>{let l=void 0!==(null==w?void 0:w[e]),o=C.includes(e);return l&&!o?w[e]:void 0!==(null==t?void 0:t[e])?t[e]:l?w[e]:null==F?void 0:F[e]},T=(()=>{var t,l;let o=P("filterByTk");return(null==(t=e.collection)?void 0:t.template)==="sql"&&Array.isArray(null==(l=e.collection)?void 0:l.filterTargetKey)&&1===e.collection.filterTargetKey.length&&null!=o&&"object"!=typeof o?{[e.collection.filterTargetKey[0]]:o}:o})(),I=P("sourceId"),j=void 0!==(null==w?void 0:w.dataSourceKey)?w.dataSourceKey:null==t?void 0:t.dataSourceKey,L=void 0!==(null==w?void 0:w.collectionName)?w.collectionName:null==t?void 0:t.collectionName,D=void 0!==(null==w?void 0:w.associationName)?w.associationName:null==t?void 0:t.associationName,Y=void 0!==w.tabUid?w.tabUid:t.tabUid,E=(null==(s=e.inputArgs)?void 0:s.isMobileLayout)?"embed":(null==(d=e.inputArgs)?void 0:d.mode)||t.mode||"drawer",R=void 0!==w.navigation?w.navigation:t.navigation;if((S||k)&&(R=!1),!1!==R&&!1!==e.isNavigationEnabled&&!e.inputArgs.navigation&&(null==(v=e.view)?void 0:v.navigation)){let l={type:E,inputArgs:{...e.inputArgs,dataSourceKey:j,collectionName:L,associationName:D,filterByTk:T,sourceId:I,tabUid:Y,viewUid:(null==(_=e.model.context)||null==(y=_.inputArgs)?void 0:y.viewUid)||e.model.uid},navigation:null==(b=e.view)?void 0:b.navigation,preventClose:!!(null==t?void 0:t.preventClose),engineCtx:e.engine.context};e.model.context.defineProperty("view",{value:l});let o={viewUid:(null==(M=e.model.context)||null==(x=M.inputArgs)?void 0:x.viewUid)||e.model.uid,filterByTk:T,sourceId:I,tabUid:Y};e.view.navigation.navigateTo(o);return}if((null==t?void 0:t.uid)&&t.uid!==e.model.uid)return void await e.openView(t.uid,{...w,...t||{},navigation:R,target:e.inputArgs.target||e.layoutContentElement,dataSourceKey:j??F.dataSourceKey,collectionName:L??F.collectionName,associationName:void 0!==D?D:F.associationName,filterByTk:T,sourceId:I,tabUid:Y,...S?{defineProperties:S}:{},...k?{defineMethods:k}:{}});let N={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},O=e.inputArgs.pageModelClass||t.pageModelClass||"ChildPageModel",B=e.inputArgs.size||t.size||"medium",H=null,q=null,V=e.model.uid;if(t.subModelKey){let l=await e.engine.loadOrCreateModel({async:!0,parentId:e.model.uid,subKey:t.subModelKey,subType:"object",use:"FlowModel"},{skipSave:!e.flowSettingsEnabled});(null==l?void 0:l.uid)&&(V=l.uid)}let $=!!(null==(u=e.inputArgs)?void 0:u.navigation),z=(null==(p=e.view)||null==(c=p.inputArgs)?void 0:c.openerUids)||w.openerUids||[],K=$?w.openerUids||z:[...z,(null==(f=e.model.context)||null==(h=f.inputArgs)?void 0:h.viewUid)||e.model.uid],U=void 0!==w.preventClose?!!w.preventClose:!!t.preventClose,G={viewUid:e.model.uid,...e.inputArgs,...w,dataSourceKey:j,collectionName:L,associationName:D,tabUid:Y,openerUids:K,pageActive:!0};G.filterByTk=T,G.sourceId=I,await e.viewer.open({type:E,triggerByRouter:G.triggerByRouter,inputArgs:g.default.omit(G,"triggerByRouter"),preventClose:U,destroyOnClose:!0,inheritContext:!1,target:e.inputArgs.target||e.layoutContentElement,width:N[E][B],content:t=>(e.inputArgs.destroyRef&&(e.inputArgs.destroyRef.current=t.destroy),e.inputArgs.updateRef&&(e.inputArgs.updateRef.current=t.update),(0,m.jsx)(A,{parentId:V,pageModelClass:O,onModelLoaded:(l,o)=>{var n,i,r,a;H=l;let s=o||e.engine.getModel(H);if(q=s||null,!s)return;t.beforeClose=sW(s);let d=w.defineProperties??(null==(i=e.model.context)||null==(n=i.inputArgs)?void 0:n.defineProperties)??{},u=w.defineMethods??(null==(a=e.model.context)||null==(r=a.inputArgs)?void 0:r.defineMethods)??{};s.context.defineProperty("currentView",{get:()=>t}),s.context.defineProperty("flowSettingsEnabled",{get:()=>e.flowSettingsEnabled,cache:!1}),s.context.defineProperty("view",{get:()=>t}),s.context.defineProperty("closable",{get:()=>"embed"!==E}),s instanceof eE&&s.context.defineProperty("pageActive",{get:()=>e.pageActive}),Object.entries(d).forEach(e=>{let[t,l]=e;s.context.defineProperty(t,l)}),Object.entries(u).forEach(e=>{let[t,l]=e;s.context.defineMethod(t,l)}),s.invalidateFlowCache("beforeRender",!0),s._rerunLastAutoRun()},defaultTabTitle:e.model.defaultPopupTitle})),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===E?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}},onClose:()=>{if(H){let t=q||e.model.flowEngine.getModel(H);null==t||t.invalidateFlowCache("beforeRender",!0)}},onOpen:e.inputArgs.onOpen})}}),sQ=(0,r.defineAction)({name:"runjs",title:(0,r.tExpr)("Execute JavaScript"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:1e4,useRawParams:!0,uiSchema:{code:{type:"string","x-component":e6.BY,"x-component-props":{enableLinter:!0,height:"200px",scene:"eventFlow"}}},async handler(e,t){var l;if(null==(l=e.inputArgs)?void 0:l.navigation)return;let o=(0,r.createSafeNavigator)();return e.runjs(t.code,{window:(0,r.createSafeWindow)({navigator:o}),document:(0,r.createSafeDocument)(),navigator:o})}}),sZ=3;function s0(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:sZ;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let s1=(0,r.defineAction)({name:"showMessage",title:(0,r.tExpr)("Show message"),scene:r.ActionScene.DYNAMIC_EVENT_FLOW,sort:500,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model),i={type:t.type??"info",content:t.content||"",duration:s0(t.duration)},a=e=>{l({...i,...e})},s=e=>{a({type:e.target.value})},d=e=>{a({content:e.target.value})},u=e=>{a({duration:s0(e)})},c=e=>(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[c(n("Message type")),(0,m.jsxs)(k.Radio.Group,{value:i.type,onChange:s,children:[(0,m.jsx)(k.Radio,{value:"success",children:n("Success")}),(0,m.jsx)(k.Radio,{value:"error",children:n("Error")}),(0,m.jsx)(k.Radio,{value:"info",children:n("Info")}),(0,m.jsx)(k.Radio,{value:"warning",children:n("Warning")}),(0,m.jsx)(k.Radio,{value:"loading",children:n("Loading")})]})]}),(0,m.jsxs)("div",{children:[c(n("Message content")),(0,m.jsx)(k.Input.TextArea,{value:i.content,onChange:d,placeholder:n("Please input message content"),rows:3,style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[c(n("Duration (seconds, 0 = no auto close)")),(0,m.jsx)(k.InputNumber,{value:i.duration,onChange:u,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:o="info",content:n,duration:i=sZ}=l||{type:"info",content:"",duration:sZ},r=s0(i);if(!n)return;let a=`flow-message-${(0,d.uid)()}`,s=0===r?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[(0,m.jsx)("span",{children:n}),(0,m.jsx)(H.CloseOutlined,{role:"button","aria-label":"close message",style:{color:"rgba(0, 0, 0, 0.45)",cursor:"pointer",fontSize:"12px"},onClick:()=>{var t,l;return null==(t=(l=e.message).destroy)?void 0:t.call(l,a)}})]}):n,u={key:a,type:o,content:s,duration:r};e.message.open(u)}}),s2=5;function s5(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s2;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let s4=(0,r.defineAction)({name:"showNotification",title:(0,r.tExpr)("Show notification"),scene:r.ActionScene.DYNAMIC_EVENT_FLOW,sort:600,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model),i={type:t.type??"info",title:t.title||"",description:t.description||"",duration:s5(t.duration),placement:t.placement??"topRight"},a=e=>{l({...i,...e})},s=e=>{a({type:e.target.value})},d=e=>{a({title:e.target.value})},u=e=>{a({description:e.target.value})},c=e=>{a({duration:s5(e)})},p=e=>{a({placement:e})},h=[{label:n("Top left"),value:"topLeft"},{label:n("Top right"),value:"topRight"},{label:n("Bottom left"),value:"bottomLeft"},{label:n("Bottom right"),value:"bottomRight"}],f=e=>(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[f(n("Notification type")),(0,m.jsxs)(k.Radio.Group,{value:i.type,onChange:s,children:[(0,m.jsx)(k.Radio,{value:"success",children:n("Success")}),(0,m.jsx)(k.Radio,{value:"error",children:n("Error")}),(0,m.jsx)(k.Radio,{value:"info",children:n("Info")}),(0,m.jsx)(k.Radio,{value:"warning",children:n("Warning")})]})]}),(0,m.jsxs)("div",{children:[f(n("Notification title")),(0,m.jsx)(k.Input,{value:i.title,onChange:d,placeholder:n("Please input notification title"),style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[f(n("Notification description")),(0,m.jsx)(k.Input.TextArea,{value:i.description,onChange:u,placeholder:n("Please input notification description"),rows:3,style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[f(n("Placement")),(0,m.jsx)(k.Select,{value:i.placement,onChange:p,options:h,style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[f(n("Duration (seconds, 0 = no auto close)")),(0,m.jsx)(k.InputNumber,{value:i.duration,onChange:c,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:o="info",title:n,description:i,duration:r=s2,placement:a="topRight"}=l||{type:"info",title:"",description:"",duration:s2,placement:"topRight"},s=s5(r);(n||i)&&e.notification.open({type:o,message:n,description:i,duration:s,placement:a})}}),s8=(0,r.defineAction)({name:"navigateToURL",title:(0,r.tExpr)("Navigate to URL"),scene:r.ActionScene.DYNAMIC_EVENT_FLOW,sort:400,uiSchema:{value:{type:"object",properties:{url:{title:(0,r.tExpr)("URL"),type:"string","x-decorator":"FormItem","x-component":u.n,description:'{{t("Do not concatenate search params in the URL")}}',required:!0},searchParams:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:'{{t("Search parameters")}}',items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,tx.css)`
738
+ `,sL=e=>{let{content:t,style:l,className:o}=e,n=(0,h.useRef)(null),[i,r]=(0,h.useState)(!1);(0,h.useEffect)(()=>{let e=n.current;e&&r(e.scrollWidth>e.clientWidth)},[t]);let a=(0,m.jsx)("div",{ref:n,style:{...l,whiteSpace:"nowrap",fontFamily:"Consolas, Monaco, monospace",overflow:"hidden",textOverflow:"ellipsis"},children:t});return i?(0,m.jsx)(k.Tooltip,{title:(0,m.jsx)("pre",{style:{margin:0,maxHeight:400},className:o,children:t}),overlayInnerStyle:{background:"#fff",color:"#000",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",maxWidth:500},color:"#fff",overlayStyle:{maxWidth:500,whiteSpace:"pre-wrap"},children:a}):a};class sD extends sm{renderComponent(e){let{space:t,style:l,className:o,overflowMode:n}=this.props,i="";if(null!=e)try{i=JSON.stringify(e,null,t??2)}catch(e){i=this.flowEngine.translate("Invalid JSON format")}return"ellipsis"===n?(0,m.jsx)(sL,{content:i,style:l,className:(0,tx.cx)(o,sj)}):(0,m.jsx)("pre",{className:(0,tx.cx)(o,sj),style:l,children:i})}}function sY(e){let t=(0,g.toString)(e);return t.includes(".")?t.split(".")[1].replace(/0+$/,"").length:0}r.DisplayItemModel.bindModelToInterface("DisplayJSONFieldModel",["json"],{isDefault:!0});let sE={"0,0.00":{thousands:",",decimal:"."},"0.0,00":{thousands:".",decimal:","},"0 0,00":{thousands:" ",decimal:"."},"0.00":{thousands:"",decimal:"."}};function sR(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3?arguments[3]:void 0;if(e>Number.MAX_SAFE_INTEGER||e<Number.MIN_SAFE_INTEGER)return sN(e,t,l,o);let n=e;o&&(n=Number(e));let i="";if(sE[t]){let{thousands:e,decimal:o}=sE[t];i=n.toLocaleString("en-US",{style:"decimal",minimumFractionDigits:l,maximumFractionDigits:l}).replace(/,/g,"comma_placeholder").replace(/\./g,"dot_placeholder").replace(/comma_placeholder/g,e).replace(/dot_placeholder/g,o)}else i=n.toString();return i}function sN(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3?arguments[3]:void 0,n=e;o&&(n=new __rspack_external_bignumber_js_b933f7e9.default(e).toString());let i="";if(sE[t]){let{thousands:e,decimal:o}=sE[t],[r,a]=n.toString().split("."),s=a,d=r.replace(/\B(?=(\d{3})+(?!\d))/g,e);s&&l?(s=s.substring(0,l),i=`${d}${o}${s}`):i=d}else i=n.toString();return i}function sO(e){let t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"*",o=arguments.length>2?arguments[2]:void 0;if(!o)return e;if("*"===l)t=e*o;else{if("/"!==l)return console.error("Error: Invalid operator. Use '*' for multiplication or '/' for division."),null;if(0===o)return console.error("Error: Division by zero."),null;t=e/o}return __rspack_external_mathjs.round(t,9)}function sB(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";return(0,__rspack_external_d3_format_e0459777.format)(`.${t}e`)(e).replace(".",l).replace(/e([+-]?\d+)/,(e,t)=>t.startsWith("+")?`\xd710<sup>${t.slice(1)}</sup>`:`\xd710<sup>-${t.slice(1)}</sup>`)}function sH(e){let t,{step:l,formatStyle:o="normal",value:n,unitConversion:i,unitConversionType:r,separator:a="0,0.00"}=e;if(!(0,Q.isValid)(n))return null;let s=sO(n,r,i);if(t=sR((0,d.toFixedByStep)(s,l),a,sY(l),o),"scientifix"===o){var u;t=sB(Number(s),sY(l),null==sE||null==(u=sE[a])?void 0:u.decimal)}return"NaN"===t&&(t=n),t}let sq=e=>{let{numberStep:t,formatStyle:l,value:o,unitConversion:n,unitConversionType:i,separator:r}=e;return sH({step:t,formatStyle:l,value:o,unitConversion:n,unitConversionType:i,separator:r})};class sV extends rv{renderComponent(e){let{addonBefore:t,addonAfter:l,style:o,className:n}=this.props,i=sq({...this.props,value:e});return i?(0,m.jsxs)("span",{className:n,style:o,children:[t,(0,m.jsx)("span",{dangerouslySetInnerHTML:{__html:i}}),l]}):null}}sV.define({label:(0,r.tExpr)("Number")});let s$=()=>{let e=(0,eo.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,I.useTranslation)();return(0,m.jsxs)(k.Select,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,m.jsx)(k.Select.Option,{value:"*",children:l("Multiply by")}),(0,m.jsx)(k.Select.Option,{value:"/",children:l("Divide by")})]})};sV.registerFlow({key:"numberSettings",sort:500,title:(0,r.tExpr)("Number settings"),steps:{format:{title:(0,r.tExpr)("Number format"),use:"numberFormat"}}}),r.DisplayItemModel.bindModelToInterface("DisplayNumberFieldModel",["number","integer","id","snowflakeId"],{isDefault:!0});class sz extends ex.o{render(){let{value:e,style:t,className:l}=this.props;return e?(0,m.jsx)("div",{className:l,style:t,children:"********"}):(0,m.jsx)("div",{className:l,style:t})}}r.DisplayItemModel.bindModelToInterface("DisplayPasswordFieldModel",["password"],{isDefault:!0});class sK extends rv{renderComponent(e){let{addonBefore:t="",addonAfter:l="%",numberStep:o,style:n,className:i}=this.props,r=__rspack_external_mathjs.round(100*e,9);if(null==e)return;let a=sq({...this.props,value:r,numberStep:o});return a?(0,m.jsxs)("div",{className:i,style:n,children:[t,(0,m.jsx)("span",{dangerouslySetInnerHTML:{__html:a}}),l]}):null}}sK.registerFlow({key:"numberSettings",sort:500,title:(0,r.tExpr)("Number settings"),steps:{format:{title:(0,r.tExpr)("Number format"),uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,r.tExpr)("Normal")},{value:"scientifix",label:(0,r.tExpr)("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"NumberPicker",title:"{{t('Unit conversion')}}","x-component-props":{style:{width:"100%"},addonBefore:(0,m.jsx)(s$,{})}},separator:{type:"string",enum:[{value:"0,0.00",label:"100,000.00"},{value:"0.0,00",label:"100.000,00"},{value:"0 0,00",label:"100 000.00"},{value:"0.00",label:"100000.00"}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},numberStep:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem"},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem","x-disabled":!0}}),defaultParams:e=>{let{formatStyle:t,unitConversion:l,unitConversionType:o,separator:n,step:i,addonBefore:r,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:o,separator:n||"0,0.00",numberStep:i||"1",addonBefore:r,addonAfter:a||"%"}},handler(e,t){let{formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s})}}}}),sK.define({label:(0,r.tExpr)("Percent")}),r.DisplayItemModel.bindModelToInterface("DisplayPercentFieldModel",["percent"],{isDefault:!0});class sU extends rv{t(e){return"string"!=typeof e?e:e.startsWith("{{")&&e.endsWith("}}")?this.translate(e):e}renderComponent(e,t){let{prefix:l,suffix:o,overflowMode:n,style:i,className:r}=this.props;return(0,m.jsxs)("span",{className:r,style:{...i||{},whiteSpace:"wrap"===n||t?"pre-line":"nowrap"},children:[l,this.t(e),o]})}}sU.define({label:(0,r.tExpr)("Text")}),r.DisplayItemModel.bindModelToInterface("DisplayTextFieldModel",["input","email","phone","uuid","textarea","nanoid"],{isDefault:!0});class sG extends sm{renderComponent(e){let{style:t,className:l}=this.props,o=e&&(0,m.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:e,className:l,style:{...t||{},overflowWrap:"anywhere"},children:e});return(0,m.jsx)(m.Fragment,{children:o})}}sG.define({label:(0,r.tExpr)("URL")}),r.DisplayItemModel.bindModelToInterface("DisplayURLFieldModel",["url"],{isDefault:!0,when:e=>!0});class sJ extends rv{renderComponent(e){let{prefix:t,suffix:l,style:o,className:n}=this.props,i=this.props.format||"HH:mm:ss",r=e&&(0,al.default)(e,"HH:mm:ss").format(i);return(0,m.jsxs)("span",{className:n,style:o,children:[t,r,l]})}}sJ.registerFlow({key:"timeSettings",sort:1e3,title:(0,r.tExpr)("Time settings"),steps:{dateFormat:{title:(0,r.tExpr)("Time format"),use:"dateDisplayFormat"}}}),sJ.define({label:(0,r.tExpr)("Time")}),r.DisplayItemModel.bindModelToInterface("DisplayTimeFieldModel",["time"],{isDefault:!0});class sW extends ex.o{render(){let{value:e,showUnchecked:t,style:l,className:o}=this.props;return e?(0,m.jsx)(H.CheckOutlined,{className:o,style:{color:"#52c41a",...l||{}}}):t?(0,m.jsx)(H.CloseOutlined,{className:o,style:{color:"#ff4d4f",...l||{}}}):(0,m.jsx)(k.Checkbox,{className:o,style:l,disabled:!0})}}sW.define({label:(0,r.tExpr)("Checkbox")}),r.DisplayItemModel.bindModelToInterface("DisplayCheckboxFieldModel",["checkbox"],{isDefault:!0});var sX=l(4695),sQ=l(6854);function sZ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e)return[];let l=new Set,o=[],n=t.length?new Set(t):null,i=e=>{var t;if(!(null==e?void 0:e.uid)||l.has(e.uid))return;l.add(e.uid);let r=null==(t=e.getUserModifiedFields)?void 0:t.call(e);(null==r?void 0:r.size)&&!(null==n?void 0:n.has(e.uid))&&o.push(e.uid),Object.values(e.subModels||{}).forEach(e=>{g.default.castArray(e).forEach(e=>{e&&"object"==typeof e&&i(e)})})};return i(e),o}function s0(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=sZ(e,t);return{hasDirtyForms:l.length>0,formModelUids:l}}function s1(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||!t.length)return;let l=new Set,o=new Set(t),n=e=>{if(!(!(null==e?void 0:e.uid)||l.has(e.uid))){if(l.add(e.uid),o.has(e.uid)){var t;null==(t=e.resetUserModifiedFields)||t.call(e)}Object.values(e.subModels||{}).forEach(e=>{g.default.castArray(e).forEach(e=>{e&&"object"==typeof e&&n(e)})})}};n(e)}function s2(e){return async t=>{let{result:l,force:o,ignoredDirtyFormModelUids:n}=t;if(o)return!0;let i=s0(e,n),a=!1,s=await e.dispatchEvent("close",{result:l,force:!1,dirty:i,controller:{prevent(){a=!0}}}),d=(null==s?void 0:s.__abortedByExitAll)===!0||!!Array.isArray(s)&&s.some(e=>e instanceof r.FlowExitAllException),u=!a&&!d;return u&&i.hasDirtyForms&&s1(e,i.formModelUids),u}}let s5=(0,r.defineAction)({name:"openView",title:(0,r.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"},{label:(0,r.tExpr)("Page"),value:"embed"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "embed"}}'}}}}},hideInSettings:async e=>{var t,l,o,n;if(!e.model.getFlow("displayFieldSettings"))return!1;let i=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return void 0===i?!(null==(n=e.collectionField)?void 0:n.isAssociationField()):!1===i},defaultParams:async e=>{var t,l,o,n,i,r,a,s,d,u;let c,p=e.getPropertyMetaTree()||[],m=Array.isArray(p)&&p.some(e=>"record"===String(null==e?void 0:e.name)),h=(null==(t=e.collection)?void 0:t.filterTargetKey)||"id";if(null==(o=e.blockModel)||null==(l=o.resource)?void 0:l.resourceName){let t=e.collection.dataSource.collectionManager.getAssociation(null==(s=e.blockModel)||null==(a=s.resource)?void 0:a.resourceName);(null==t?void 0:t.interface)!=="m2m"&&(h=(null==t?void 0:t.targetKey)||h)}let f=m?`{{ ctx.record.${h} }}`:void 0;try{let t=null==(u=e.resource)||null==(d=u.getSourceId)?void 0:d.call(u);null!=t&&""!==String(t)&&(c="{{ ctx.resource.sourceId }}")}catch(e){}let g=null==(n=e.collection)?void 0:n.dataSourceKey,v=null==(i=e.collection)?void 0:i.name;return{mode:"drawer",size:"medium",pageModelClass:"ChildPageModel",uid:null==(r=e.model)?void 0:r.uid,...f?{filterByTk:f}:{},...c?{sourceId:c}:{},...g?{dataSourceKey:g}:{},...v?{collectionName:v}:{}}},async beforeParamsSave(e,t){if(null==t?void 0:t.uid){let l=e.engine;if(!(l.getModel(t.uid)||await l.loadModel({uid:t.uid})))throw Error(e.t("Popup UID not exists"))}},async handler(e,t){var l,o,n,i,r,a,s,d,u,c,p,h,f,v,y,_,b,x,M;let w=e.inputArgs||{},S=w.defineProperties??(null==(o=e.model.context)||null==(l=o.inputArgs)?void 0:l.defineProperties)??void 0,k=w.defineMethods??(null==(i=e.model.context)||null==(n=i.inputArgs)?void 0:n.defineMethods)??void 0,F=(null==(a=e.model)||null==(r=a.getInputArgs)?void 0:r.call(a))||{},C=(null==w?void 0:w.defaultInputKeys)||[],P=e=>{let l=void 0!==(null==w?void 0:w[e]),o=C.includes(e);return l&&!o?w[e]:void 0!==(null==t?void 0:t[e])?t[e]:l?w[e]:null==F?void 0:F[e]},T=(()=>{var t,l;let o=P("filterByTk");return(null==(t=e.collection)?void 0:t.template)==="sql"&&Array.isArray(null==(l=e.collection)?void 0:l.filterTargetKey)&&1===e.collection.filterTargetKey.length&&null!=o&&"object"!=typeof o?{[e.collection.filterTargetKey[0]]:o}:o})(),I=P("sourceId"),j=void 0!==(null==w?void 0:w.dataSourceKey)?w.dataSourceKey:null==t?void 0:t.dataSourceKey,L=void 0!==(null==w?void 0:w.collectionName)?w.collectionName:null==t?void 0:t.collectionName,D=void 0!==(null==w?void 0:w.associationName)?w.associationName:null==t?void 0:t.associationName,Y=void 0!==w.tabUid?w.tabUid:t.tabUid,E=(null==(s=e.inputArgs)?void 0:s.isMobileLayout)?"embed":(null==(d=e.inputArgs)?void 0:d.mode)||t.mode||"drawer",R=void 0!==w.navigation?w.navigation:t.navigation;if((S||k)&&(R=!1),!1!==R&&!1!==e.isNavigationEnabled&&!e.inputArgs.navigation&&(null==(v=e.view)?void 0:v.navigation)){let l={type:E,inputArgs:{...e.inputArgs,dataSourceKey:j,collectionName:L,associationName:D,filterByTk:T,sourceId:I,tabUid:Y,viewUid:(null==(_=e.model.context)||null==(y=_.inputArgs)?void 0:y.viewUid)||e.model.uid},navigation:null==(b=e.view)?void 0:b.navigation,preventClose:!!(null==t?void 0:t.preventClose),engineCtx:e.engine.context};e.model.context.defineProperty("view",{value:l});let o={viewUid:(null==(M=e.model.context)||null==(x=M.inputArgs)?void 0:x.viewUid)||e.model.uid,filterByTk:T,sourceId:I,tabUid:Y};e.view.navigation.navigateTo(o);return}if((null==t?void 0:t.uid)&&t.uid!==e.model.uid)return void await e.openView(t.uid,{...w,...t||{},navigation:R,target:e.inputArgs.target||e.layoutContentElement,dataSourceKey:j??F.dataSourceKey,collectionName:L??F.collectionName,associationName:void 0!==D?D:F.associationName,filterByTk:T,sourceId:I,tabUid:Y,...S?{defineProperties:S}:{},...k?{defineMethods:k}:{}});let N={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},O=e.inputArgs.pageModelClass||t.pageModelClass||"ChildPageModel",B=e.inputArgs.size||t.size||"medium",H=null,q=null,V=e.model.uid;if(t.subModelKey){let l=await e.engine.loadOrCreateModel({async:!0,parentId:e.model.uid,subKey:t.subModelKey,subType:"object",use:"FlowModel"},{skipSave:!e.flowSettingsEnabled});(null==l?void 0:l.uid)&&(V=l.uid)}let $=!!(null==(u=e.inputArgs)?void 0:u.navigation),z=(null==(p=e.view)||null==(c=p.inputArgs)?void 0:c.openerUids)||w.openerUids||[],K=$?w.openerUids||z:[...z,(null==(f=e.model.context)||null==(h=f.inputArgs)?void 0:h.viewUid)||e.model.uid],U=void 0!==w.preventClose?!!w.preventClose:!!t.preventClose,G={viewUid:e.model.uid,...e.inputArgs,...w,dataSourceKey:j,collectionName:L,associationName:D,tabUid:Y,openerUids:K,pageActive:!0};G.filterByTk=T,G.sourceId=I,await e.viewer.open({type:E,triggerByRouter:G.triggerByRouter,inputArgs:g.default.omit(G,"triggerByRouter"),preventClose:U,destroyOnClose:!0,inheritContext:!1,target:e.inputArgs.target||e.layoutContentElement,width:N[E][B],content:t=>(e.inputArgs.destroyRef&&(e.inputArgs.destroyRef.current=t.destroy),e.inputArgs.updateRef&&(e.inputArgs.updateRef.current=t.update),(0,m.jsx)(A,{parentId:V,pageModelClass:O,onModelLoaded:(l,o)=>{var n,i,r,a;H=l;let s=o||e.engine.getModel(H);if(q=s||null,!s)return;t.beforeClose=s2(s);let d=w.defineProperties??(null==(i=e.model.context)||null==(n=i.inputArgs)?void 0:n.defineProperties)??{},u=w.defineMethods??(null==(a=e.model.context)||null==(r=a.inputArgs)?void 0:r.defineMethods)??{};s.context.defineProperty("currentView",{get:()=>t}),s.context.defineProperty("flowSettingsEnabled",{get:()=>e.flowSettingsEnabled,cache:!1}),s.context.defineProperty("view",{get:()=>t}),s.context.defineProperty("closable",{get:()=>"embed"!==E}),s instanceof eE&&s.context.defineProperty("pageActive",{get:()=>e.pageActive}),Object.entries(d).forEach(e=>{let[t,l]=e;s.context.defineProperty(t,l)}),Object.entries(u).forEach(e=>{let[t,l]=e;s.context.defineMethod(t,l)}),s.invalidateFlowCache("beforeRender",!0),s._rerunLastAutoRun()},defaultTabTitle:e.model.defaultPopupTitle})),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===E?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}},onClose:()=>{if(H){let t=q||e.model.flowEngine.getModel(H);null==t||t.invalidateFlowCache("beforeRender",!0)}},onOpen:e.inputArgs.onOpen})}}),s4=(0,r.defineAction)({name:"runjs",title:(0,r.tExpr)("Execute JavaScript"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:1e4,useRawParams:!0,uiSchema:{code:{type:"string","x-component":e6.BY,"x-component-props":{enableLinter:!0,height:"200px",scene:"eventFlow"}}},async handler(e,t){var l;if(null==(l=e.inputArgs)?void 0:l.navigation)return;let o=(0,r.createSafeNavigator)();return e.runjs(t.code,{window:(0,r.createSafeWindow)({navigator:o}),document:(0,r.createSafeDocument)(),navigator:o})}}),s8=3;function s3(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s8;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let s6=(0,r.defineAction)({name:"showMessage",title:(0,r.tExpr)("Show message"),scene:r.ActionScene.DYNAMIC_EVENT_FLOW,sort:500,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model),i={type:t.type??"info",content:t.content||"",duration:s3(t.duration)},a=e=>{l({...i,...e})},s=e=>{a({type:e.target.value})},d=e=>{a({content:e.target.value})},u=e=>{a({duration:s3(e)})},c=e=>(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[c(n("Message type")),(0,m.jsxs)(k.Radio.Group,{value:i.type,onChange:s,children:[(0,m.jsx)(k.Radio,{value:"success",children:n("Success")}),(0,m.jsx)(k.Radio,{value:"error",children:n("Error")}),(0,m.jsx)(k.Radio,{value:"info",children:n("Info")}),(0,m.jsx)(k.Radio,{value:"warning",children:n("Warning")}),(0,m.jsx)(k.Radio,{value:"loading",children:n("Loading")})]})]}),(0,m.jsxs)("div",{children:[c(n("Message content")),(0,m.jsx)(k.Input.TextArea,{value:i.content,onChange:d,placeholder:n("Please input message content"),rows:3,style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[c(n("Duration (seconds, 0 = no auto close)")),(0,m.jsx)(k.InputNumber,{value:i.duration,onChange:u,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:o="info",content:n,duration:i=s8}=l||{type:"info",content:"",duration:s8},r=s3(i);if(!n)return;let a=`flow-message-${(0,d.uid)()}`,s=0===r?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[(0,m.jsx)("span",{children:n}),(0,m.jsx)(H.CloseOutlined,{role:"button","aria-label":"close message",style:{color:"rgba(0, 0, 0, 0.45)",cursor:"pointer",fontSize:"12px"},onClick:()=>{var t,l;return null==(t=(l=e.message).destroy)?void 0:t.call(l,a)}})]}):n,u={key:a,type:o,content:s,duration:r};e.message.open(u)}}),s9=5;function s7(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s9;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let de=(0,r.defineAction)({name:"showNotification",title:(0,r.tExpr)("Show notification"),scene:r.ActionScene.DYNAMIC_EVENT_FLOW,sort:600,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model),i={type:t.type??"info",title:t.title||"",description:t.description||"",duration:s7(t.duration),placement:t.placement??"topRight"},a=e=>{l({...i,...e})},s=e=>{a({type:e.target.value})},d=e=>{a({title:e.target.value})},u=e=>{a({description:e.target.value})},c=e=>{a({duration:s7(e)})},p=e=>{a({placement:e})},h=[{label:n("Top left"),value:"topLeft"},{label:n("Top right"),value:"topRight"},{label:n("Bottom left"),value:"bottomLeft"},{label:n("Bottom right"),value:"bottomRight"}],f=e=>(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[f(n("Notification type")),(0,m.jsxs)(k.Radio.Group,{value:i.type,onChange:s,children:[(0,m.jsx)(k.Radio,{value:"success",children:n("Success")}),(0,m.jsx)(k.Radio,{value:"error",children:n("Error")}),(0,m.jsx)(k.Radio,{value:"info",children:n("Info")}),(0,m.jsx)(k.Radio,{value:"warning",children:n("Warning")})]})]}),(0,m.jsxs)("div",{children:[f(n("Notification title")),(0,m.jsx)(k.Input,{value:i.title,onChange:d,placeholder:n("Please input notification title"),style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[f(n("Notification description")),(0,m.jsx)(k.Input.TextArea,{value:i.description,onChange:u,placeholder:n("Please input notification description"),rows:3,style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[f(n("Placement")),(0,m.jsx)(k.Select,{value:i.placement,onChange:p,options:h,style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[f(n("Duration (seconds, 0 = no auto close)")),(0,m.jsx)(k.InputNumber,{value:i.duration,onChange:c,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:o="info",title:n,description:i,duration:r=s9,placement:a="topRight"}=l||{type:"info",title:"",description:"",duration:s9,placement:"topRight"},s=s7(r);(n||i)&&e.notification.open({type:o,message:n,description:i,duration:s,placement:a})}}),dt=(0,r.defineAction)({name:"navigateToURL",title:(0,r.tExpr)("Navigate to URL"),scene:r.ActionScene.DYNAMIC_EVENT_FLOW,sort:400,uiSchema:{value:{type:"object",properties:{url:{title:(0,r.tExpr)("URL"),type:"string","x-decorator":"FormItem","x-component":u.n,description:'{{t("Do not concatenate search params in the URL")}}',required:!0},searchParams:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:'{{t("Search parameters")}}',items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,tx.css)`
739
739
  & > .ant-space-item:first-child {
740
740
  flex: 3;
741
741
  }
@@ -747,7 +747,7 @@ ctx.render(<JsItem />);
747
747
  flex-shrink: 0;
748
748
  flex: 1;
749
749
  }
750
- `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:1}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:'{{t("Add parameter")}}',"x-component":"ArrayItems.Addition"}}},openInNewWindow:{type:"boolean","x-content":'{{t("Open in new window")}}',"x-decorator":"FormItem","x-component":"Checkbox"}}}},async handler(e,t){let{value:l}=t,{url:o,searchParams:n=[],openInNewWindow:i=!1}=l||{url:"",searchParams:[],openInNewWindow:!1};if(!o)return;let r=o;if(n&&n.length>0){let e=new URL(o,globalThis.location.origin);for(let t of n)t.name&&void 0!==t.value&&e.searchParams.append(t.name,t.value);r=e.pathname+e.search+e.hash}i?globalThis.open(r,"_blank"):e.router.navigate(r)}}),s3=(0,r.defineAction)({name:"customVariable",title:(0,r.tExpr)("Custom variable"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:100,uiSchema:{variables:{type:"array","x-component":de,"x-component-props":{}}},async handler(e,t){let{variables:l=[]}=t;l.forEach(t=>{if("runjs"===t.type){let l=async()=>{let{code:l,version:o}=(0,r.normalizeRunJSValue)(t.runjs);return(0,r.runjsWithSafeGlobals)(e,l,{version:o})},o=()=>({title:t.title,type:"any"});o.title=t.title,e.model.context.defineProperty(t.key,{get:l,cache:!1,meta:o});return}let l=()=>{var l;let o=e.model.flowEngine.getModel(t.formUid);return null==o||null==(l=o.form)?void 0:l.getFieldsValue(!0)},o=()=>{var l;let o=e.model.flowEngine.getModel(t.formUid),n=null==o||null==(l=o.subModels)?void 0:l.grid,i={};return n?(n.mapSubModels("items",e=>{i[e.props.name]={title:e.props.label,type:"string"}}),{title:t.title,type:"object",properties:i}):void console.warn(`Not found form or form has no grid: ${t.formUid}`)};o.title=t.title,e.model.context.defineProperty(t.key,{get:l,cache:!1,meta:o})})}}),s6={formValue:(0,r.tExpr)("Form variable"),runjs:(0,r.tExpr)("JS variable")},s9=()=>`var_${(0,Q.uid)().slice(0,4)}`,s7=()=>({code:"",version:"v2"});function de(e){let{value:t=[],onChange:l,disabled:o}=e,n=(0,r.useFlowContext)(),i=h.default.useMemo(()=>n.model.translate.bind(n.model),[n.model]),[a]=k.Form.useForm(),[s,d]=h.default.useState(!1),[u,c]=h.default.useState(null),[p,f]=h.default.useState("formValue"),g=h.default.useCallback(()=>{a.resetFields(),a.setFieldsValue({key:s9(),title:"",formUid:"",runjs:s7()})},[a]),v=h.default.useCallback((e,l)=>{if(f(e),c(l),null===l)g();else{let e=t[l];if(!e)return;a.setFieldsValue({key:e.key,title:e.title,formUid:"formValue"===e.type?e.formUid:"",runjs:"runjs"===e.type?(0,r.normalizeRunJSValue)(e.runjs):s7()})}d(!0)},[a,g,t]),y=h.default.useCallback(()=>{d(!1),c(null),g()},[g]),_=h.default.useCallback(async()=>{let e=await a.validateFields(),o="runjs"===p?{key:e.key,title:e.title,type:"runjs",runjs:(0,r.normalizeRunJSValue)(e.runjs)}:{key:e.key,title:e.title,type:"formValue",formUid:e.formUid},n=[...t];null===u?n.push(o):n.splice(u,1,o),null==l||l(n),y()},[y,p,u,a,l,t]),b=h.default.useCallback(e=>{k.Modal.confirm({title:i("Delete variable"),content:i("Are you sure you want to delete this variable?"),okText:i("Confirm"),cancelText:i("Cancel"),onOk:()=>{let o=t.filter((t,l)=>l!==e);null==l||l(o)}})},[l,i,t]),x=h.default.useCallback(e=>{o||v(e,null)},[o,v]),M=h.default.useCallback(e=>{if(o)return;let l=t[e];l&&v(l.type,e)},[o,v,t]),w=h.default.useMemo(()=>[{title:i("Title"),dataIndex:"title",key:"title",ellipsis:!0,render:e=>(0,m.jsx)("span",{style:{whiteSpace:"nowrap"},children:e})},{title:i("Identifier"),dataIndex:"key",key:"key",ellipsis:!0,render:e=>(0,m.jsx)("span",{style:{whiteSpace:"nowrap"},children:e})},{title:i("Type"),dataIndex:"type",key:"type",ellipsis:!0,render:e=>(0,m.jsx)(k.Tag,{style:{whiteSpace:"nowrap"},children:i(s6[e]||e)})},{title:i("Actions"),key:"actions",render:(e,t,l)=>(0,m.jsxs)(k.Space,{size:12,style:{whiteSpace:"nowrap"},children:[(0,m.jsx)(k.Button,{type:"link",size:"small",icon:(0,m.jsx)(H.EditOutlined,{}),onClick:()=>M(l),disabled:o,title:i("Edit")}),(0,m.jsx)(k.Button,{type:"link",size:"small",icon:(0,m.jsx)(H.DeleteOutlined,{}),danger:!0,onClick:()=>b(l),disabled:o,title:i("Delete")})]})}],[o,b,M,i]),S=h.default.useMemo(()=>({items:[{key:"formValue",label:i(s6.formValue)},{key:"runjs",label:i(s6.runjs)}],onClick:e=>{let{key:t}=e;return x(t)}}),[x,i]);return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,m.jsx)(k.Table,{rowKey:"key",columns:w,dataSource:t,pagination:!1,locale:{emptyText:i("No data")},size:"small",scroll:{x:"max-content"},bordered:!0}),(0,m.jsx)(k.Dropdown,{menu:S,trigger:["hover"],disabled:o,children:(0,m.jsx)(k.Button,{type:"dashed",block:!0,icon:(0,m.jsx)(H.PlusOutlined,{}),disabled:o,children:i("Add variable")})}),(0,m.jsx)(k.Modal,{open:s,title:null===u?i("Add variable"):i("Edit variable"),onCancel:y,onOk:_,okText:i("Confirm"),cancelText:i("Cancel"),destroyOnClose:!0,maskClosable:!1,okButtonProps:{disabled:o},cancelButtonProps:{disabled:o},children:(0,m.jsxs)(k.Form,{form:a,layout:"vertical",disabled:o,children:[(0,m.jsx)(k.Form.Item,{label:i("Variable title"),name:"title",rules:[{required:!0,message:i("Please enter variable title")}],children:(0,m.jsx)(k.Input,{placeholder:i("Please enter variable title")})}),(0,m.jsx)(k.Form.Item,{label:i("Variable identifier"),name:"key",rules:[{required:!0,message:i("Please enter variable identifier")}],children:(0,m.jsx)(k.Input,{placeholder:i("Please enter variable identifier")})}),"formValue"===p?(0,m.jsx)(k.Form.Item,{label:i("Form UID"),name:"formUid",rules:[{required:!0,message:i("Please enter form uid")}],children:(0,m.jsx)(k.Input,{placeholder:i("Please enter form uid")})}):null,"runjs"===p?(0,m.jsx)(k.Form.Item,{label:i("JavaScript"),name:"runjs",rules:[{validator:async(e,t)=>{if(!(0,r.isRunJSValue)(t)||!(0,r.normalizeRunJSValue)(t).code.trim())throw Error(i("Please enter JavaScript code"))}}],children:(0,m.jsx)(tZ.h,{t:i,scene:"eventFlow",height:"240px",containerStyle:{width:"100%"}})}):null]})})]})}let dt=(0,r.defineAction)({name:"refreshTargetBlocks",title:(0,r.tExpr)("Refresh target blocks"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:300,uiSchema:{targets:{type:"array","x-component":dl,"x-component-props":{}}},async handler(e,t){let{targets:l=[]}=t;l.forEach(t=>{let l=e.engine.getModel(t,!0);l?l.refresh():console.warn(`Not found model: ${t}`)})}});function dl(e){let{value:t=[],onChange:l}=e,{t:o}=(0,I.useTranslation)(),n=(0,r.useFlowContext)().themeToken,i=t.length>0?t:[""],a=(e,t)=>{let o=[...i];o[e]=t,null==l||l(o)},s=e=>{let t=i.filter((t,l)=>l!==e);null==l||l(t.length>0?t:[""])},d=()=>{null==l||l([...i,""])};return(0,m.jsxs)(k.Space,{direction:"vertical",size:8,style:{width:"100%"},children:[i.map((e,t)=>(0,m.jsxs)(k.Space,{style:{width:"100%"},size:8,children:[(0,m.jsx)(k.Input,{placeholder:o("Target block uid"),value:e,onChange:e=>a(t,e.target.value),style:{flex:1}}),i.length>1&&(0,m.jsx)(k.Button,{type:"text",icon:(0,m.jsx)(H.CloseOutlined,{}),onClick:()=>s(t),"aria-label":o("Remove"),style:{color:n.colorTextSecondary}})]},`target-${t}-${e}`)),(0,m.jsx)(k.Button,{type:"dashed",block:!0,icon:(0,m.jsx)(H.PlusOutlined,{}),onClick:d,children:o("Add target block")})]})}function dn(e){if(!e)return!1;let t=(0,r.extractUsedVariablePaths)(e)||{};return Object.prototype.hasOwnProperty.call(t,"clickedRowRecord")}function di(e,t){var l;return(null==(l=e.inputArgs)?void 0:l.selected)===!1&&dn(t.filter)}function dr(e,t,l){if(!di(e,t))return x(t.filter,l.filter)}function da(e){var t,l;return!!e.hasData()||(null==(t=e.getMeta)?void 0:t.call(e,"count"))!==void 0||(null==(l=e.getMeta)?void 0:l.call(e,"hasNext"))!==void 0}let ds=(0,r.defineAction)({name:"setTargetDataScope",title:(0,r.tExpr)("Set data scope"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:200,uiSchema:{targetBlockUid:{type:"string",title:(0,r.tExpr)("Target block UID"),"x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:(0,r.tExpr)("Please enter the target block UID")}},filter:{type:"object",title:(0,r.tExpr)("Condition"),"x-decorator":"FormItem","x-component":dd,"x-reactions":[{dependencies:["targetBlockUid"],fulfill:{state:{componentProps:{uid:"{{$deps[0]}}"},hidden:"{{!$deps[0]}}"}}}]}},defaultParams:e=>({targetBlockUid:"",filter:{logic:"$and",items:[]}}),useRawParams:!0,async handler(e,t){let l=await e.resolveJsonTemplate(t),o=l.targetBlockUid;if(!o)return;let n=e.model,i=dr(e,t,l);n.scheduleModelOperation(o,t=>{let l=t.resource;l&&((0,d.isEmptyFilter)(i)?l.removeFilterGroup(`setTargetDataScope_${e.model.uid}`):l.addFilterGroup(`setTargetDataScope_${e.model.uid}`,i),da(l)&&l.refresh())})}});function dd(e){let t=(0,r.useFlowContext)(),l=e.uid,o=t.engine.getModel(l,!0);return o?(0,m.jsx)(f.I8,{value:e.value,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:o,rightAsVariable:!0})}):(0,m.jsxs)("div",{style:{color:t.themeToken.colorError},children:[t.t("Cannot find the model instance with UID"),": ",l]})}let du=e=>"string"==typeof e?e:Array.isArray(e)&&1===e.length?e[0]:void 0,dc=(e,t)=>{var l;if(!e)return null;let o=t||(null==(l=e.titleCollectionField)?void 0:l.name)||du(e.filterTargetKey);return o?e.getField(o):null},dp=(0,r.defineAction)({name:"titleField",title:(0,r.tExpr)("Title field"),uiMode:e=>{var t,l,o,n;let i=e.collectionField.targetCollection,r=e.dataSourceManager||(null==(l=e.model)||null==(t=l.context)?void 0:t.dataSourceManager)||(null==(o=e.app)?void 0:o.dataSourceManager);return{type:"select",key:"label",props:{options:((null==i||null==(n=i.getFields)?void 0:n.call(i))??[]).filter(e=>{var t;return(0,a.w)("function"==typeof e.getInterfaceOptions?e.getInterfaceOptions():(0,a.w6)((null==(t=e.options)?void 0:t.interface)||e.interface,r))}).map(e=>({value:e.name,label:null==e?void 0:e.title}))}}},defaultParams:e=>{var t,l,o,n,i;let r=null==(o=e.model)||null==(l=o.context)||null==(t=l.collectionField)?void 0:t.targetCollectionTitleFieldName;return{label:(null==(i=e.model.parent)||null==(n=i.props)?void 0:n.titleField)||e.model.props.titleField||r}},hideInSettings:async e=>{var t;return!e.collectionField||!e.collectionField.isAssociationField()||(null==(t=e.model.subModels.field)?void 0:t.disableTitleField)},beforeParamsSave:async(e,t,l)=>{let o=e.model.collectionField.target,n=e.model.collectionField.targetCollection;if(t.label!==l.label){var i;let l=null==(i=e.model.subModels.field)?void 0:i.uid;l&&await e.engine.destroyModel(l);let a=dc(n,t.label);if(!a)return;let s=r.DisplayItemModel.getDefaultBindingByField(e,a);if(!s)return;let d=s.modelName,u=e.model.setSubModel("field",{use:d,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:o,fieldPath:t.label}}}});await u.save(),await u.dispatchEvent("beforeRender"),await e.model.save()}},async handler(e,t){let l=e.model.collectionField.target,o=e.model.collectionField.targetCollection,n=dc(o,t.label);if(!n)return;let i={value:du(o.filterTargetKey)||n.name,label:n.name};e.model.setProps({fieldNames:i});let a=r.DisplayItemModel.getDefaultBindingByField(e,n);if(!a)return;let s=a.modelName;if(!e.model.subModels.field){let t=e.model.setSubModel("field",{use:s,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:l,fieldPath:i.label}}}});await t.dispatchEvent("beforeRender")}}}),dm=(0,r.defineAction)({title:(0,r.tExpr)("Date display format"),name:"dateDisplayFormat",uiSchema:e=>{let{collectionField:t}=e.model.context,l=t.type,o={type:"string",title:'{{t("Time format")}}',"x-component":ny.S5,"x-decorator":"FormItem","x-component-props":{className:(0,tx.css)`
750
+ `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:1}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:'{{t("Add parameter")}}',"x-component":"ArrayItems.Addition"}}},openInNewWindow:{type:"boolean","x-content":'{{t("Open in new window")}}',"x-decorator":"FormItem","x-component":"Checkbox"}}}},async handler(e,t){let{value:l}=t,{url:o,searchParams:n=[],openInNewWindow:i=!1}=l||{url:"",searchParams:[],openInNewWindow:!1};if(!o)return;let r=o;if(n&&n.length>0){let e=new URL(o,globalThis.location.origin);for(let t of n)t.name&&void 0!==t.value&&e.searchParams.append(t.name,t.value);r=e.pathname+e.search+e.hash}i?globalThis.open(r,"_blank"):e.router.navigate(r)}}),dl=(0,r.defineAction)({name:"customVariable",title:(0,r.tExpr)("Custom variable"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:100,uiSchema:{variables:{type:"array","x-component":da,"x-component-props":{}}},async handler(e,t){let{variables:l=[]}=t;l.forEach(t=>{if("runjs"===t.type){let l=async()=>{let{code:l,version:o}=(0,r.normalizeRunJSValue)(t.runjs);return(0,r.runjsWithSafeGlobals)(e,l,{version:o})},o=()=>({title:t.title,type:"any"});o.title=t.title,e.model.context.defineProperty(t.key,{get:l,cache:!1,meta:o});return}let l=()=>{var l;let o=e.model.flowEngine.getModel(t.formUid);return null==o||null==(l=o.form)?void 0:l.getFieldsValue(!0)},o=()=>{var l;let o=e.model.flowEngine.getModel(t.formUid),n=null==o||null==(l=o.subModels)?void 0:l.grid,i={};return n?(n.mapSubModels("items",e=>{i[e.props.name]={title:e.props.label,type:"string"}}),{title:t.title,type:"object",properties:i}):void console.warn(`Not found form or form has no grid: ${t.formUid}`)};o.title=t.title,e.model.context.defineProperty(t.key,{get:l,cache:!1,meta:o})})}}),dn={formValue:(0,r.tExpr)("Form variable"),runjs:(0,r.tExpr)("JS variable")},di=()=>`var_${(0,Q.uid)().slice(0,4)}`,dr=()=>({code:"",version:"v2"});function da(e){let{value:t=[],onChange:l,disabled:o}=e,n=(0,r.useFlowContext)(),i=h.default.useMemo(()=>n.model.translate.bind(n.model),[n.model]),[a]=k.Form.useForm(),[s,d]=h.default.useState(!1),[u,c]=h.default.useState(null),[p,f]=h.default.useState("formValue"),g=h.default.useCallback(()=>{a.resetFields(),a.setFieldsValue({key:di(),title:"",formUid:"",runjs:dr()})},[a]),v=h.default.useCallback((e,l)=>{if(f(e),c(l),null===l)g();else{let e=t[l];if(!e)return;a.setFieldsValue({key:e.key,title:e.title,formUid:"formValue"===e.type?e.formUid:"",runjs:"runjs"===e.type?(0,r.normalizeRunJSValue)(e.runjs):dr()})}d(!0)},[a,g,t]),y=h.default.useCallback(()=>{d(!1),c(null),g()},[g]),_=h.default.useCallback(async()=>{let e=await a.validateFields(),o="runjs"===p?{key:e.key,title:e.title,type:"runjs",runjs:(0,r.normalizeRunJSValue)(e.runjs)}:{key:e.key,title:e.title,type:"formValue",formUid:e.formUid},n=[...t];null===u?n.push(o):n.splice(u,1,o),null==l||l(n),y()},[y,p,u,a,l,t]),b=h.default.useCallback(e=>{k.Modal.confirm({title:i("Delete variable"),content:i("Are you sure you want to delete this variable?"),okText:i("Confirm"),cancelText:i("Cancel"),onOk:()=>{let o=t.filter((t,l)=>l!==e);null==l||l(o)}})},[l,i,t]),x=h.default.useCallback(e=>{o||v(e,null)},[o,v]),M=h.default.useCallback(e=>{if(o)return;let l=t[e];l&&v(l.type,e)},[o,v,t]),w=h.default.useMemo(()=>[{title:i("Title"),dataIndex:"title",key:"title",ellipsis:!0,render:e=>(0,m.jsx)("span",{style:{whiteSpace:"nowrap"},children:e})},{title:i("Identifier"),dataIndex:"key",key:"key",ellipsis:!0,render:e=>(0,m.jsx)("span",{style:{whiteSpace:"nowrap"},children:e})},{title:i("Type"),dataIndex:"type",key:"type",ellipsis:!0,render:e=>(0,m.jsx)(k.Tag,{style:{whiteSpace:"nowrap"},children:i(dn[e]||e)})},{title:i("Actions"),key:"actions",render:(e,t,l)=>(0,m.jsxs)(k.Space,{size:12,style:{whiteSpace:"nowrap"},children:[(0,m.jsx)(k.Button,{type:"link",size:"small",icon:(0,m.jsx)(H.EditOutlined,{}),onClick:()=>M(l),disabled:o,title:i("Edit")}),(0,m.jsx)(k.Button,{type:"link",size:"small",icon:(0,m.jsx)(H.DeleteOutlined,{}),danger:!0,onClick:()=>b(l),disabled:o,title:i("Delete")})]})}],[o,b,M,i]),S=h.default.useMemo(()=>({items:[{key:"formValue",label:i(dn.formValue)},{key:"runjs",label:i(dn.runjs)}],onClick:e=>{let{key:t}=e;return x(t)}}),[x,i]);return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,m.jsx)(k.Table,{rowKey:"key",columns:w,dataSource:t,pagination:!1,locale:{emptyText:i("No data")},size:"small",scroll:{x:"max-content"},bordered:!0}),(0,m.jsx)(k.Dropdown,{menu:S,trigger:["hover"],disabled:o,children:(0,m.jsx)(k.Button,{type:"dashed",block:!0,icon:(0,m.jsx)(H.PlusOutlined,{}),disabled:o,children:i("Add variable")})}),(0,m.jsx)(k.Modal,{open:s,title:null===u?i("Add variable"):i("Edit variable"),onCancel:y,onOk:_,okText:i("Confirm"),cancelText:i("Cancel"),destroyOnClose:!0,maskClosable:!1,okButtonProps:{disabled:o},cancelButtonProps:{disabled:o},children:(0,m.jsxs)(k.Form,{form:a,layout:"vertical",disabled:o,children:[(0,m.jsx)(k.Form.Item,{label:i("Variable title"),name:"title",rules:[{required:!0,message:i("Please enter variable title")}],children:(0,m.jsx)(k.Input,{placeholder:i("Please enter variable title")})}),(0,m.jsx)(k.Form.Item,{label:i("Variable identifier"),name:"key",rules:[{required:!0,message:i("Please enter variable identifier")}],children:(0,m.jsx)(k.Input,{placeholder:i("Please enter variable identifier")})}),"formValue"===p?(0,m.jsx)(k.Form.Item,{label:i("Form UID"),name:"formUid",rules:[{required:!0,message:i("Please enter form uid")}],children:(0,m.jsx)(k.Input,{placeholder:i("Please enter form uid")})}):null,"runjs"===p?(0,m.jsx)(k.Form.Item,{label:i("JavaScript"),name:"runjs",rules:[{validator:async(e,t)=>{if(!(0,r.isRunJSValue)(t)||!(0,r.normalizeRunJSValue)(t).code.trim())throw Error(i("Please enter JavaScript code"))}}],children:(0,m.jsx)(tZ.h,{t:i,scene:"eventFlow",height:"240px",containerStyle:{width:"100%"}})}):null]})})]})}let ds=(0,r.defineAction)({name:"refreshTargetBlocks",title:(0,r.tExpr)("Refresh target blocks"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:300,uiSchema:{targets:{type:"array","x-component":dd,"x-component-props":{}}},async handler(e,t){let{targets:l=[]}=t;l.forEach(t=>{let l=e.engine.getModel(t,!0);l?l.refresh():console.warn(`Not found model: ${t}`)})}});function dd(e){let{value:t=[],onChange:l}=e,{t:o}=(0,I.useTranslation)(),n=(0,r.useFlowContext)().themeToken,i=t.length>0?t:[""],a=(e,t)=>{let o=[...i];o[e]=t,null==l||l(o)},s=e=>{let t=i.filter((t,l)=>l!==e);null==l||l(t.length>0?t:[""])},d=()=>{null==l||l([...i,""])};return(0,m.jsxs)(k.Space,{direction:"vertical",size:8,style:{width:"100%"},children:[i.map((e,t)=>(0,m.jsxs)(k.Space,{style:{width:"100%"},size:8,children:[(0,m.jsx)(k.Input,{placeholder:o("Target block uid"),value:e,onChange:e=>a(t,e.target.value),style:{flex:1}}),i.length>1&&(0,m.jsx)(k.Button,{type:"text",icon:(0,m.jsx)(H.CloseOutlined,{}),onClick:()=>s(t),"aria-label":o("Remove"),style:{color:n.colorTextSecondary}})]},`target-${t}-${e}`)),(0,m.jsx)(k.Button,{type:"dashed",block:!0,icon:(0,m.jsx)(H.PlusOutlined,{}),onClick:d,children:o("Add target block")})]})}function du(e){if(!e)return!1;let t=(0,r.extractUsedVariablePaths)(e)||{};return Object.prototype.hasOwnProperty.call(t,"clickedRowRecord")}function dc(e,t){var l;return(null==(l=e.inputArgs)?void 0:l.selected)===!1&&du(t.filter)}function dp(e,t,l){if(!dc(e,t))return x(t.filter,l.filter)}function dm(e){var t,l;return!!e.hasData()||(null==(t=e.getMeta)?void 0:t.call(e,"count"))!==void 0||(null==(l=e.getMeta)?void 0:l.call(e,"hasNext"))!==void 0}let dh=(0,r.defineAction)({name:"setTargetDataScope",title:(0,r.tExpr)("Set data scope"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:200,uiSchema:{targetBlockUid:{type:"string",title:(0,r.tExpr)("Target block UID"),"x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:(0,r.tExpr)("Please enter the target block UID")}},filter:{type:"object",title:(0,r.tExpr)("Condition"),"x-decorator":"FormItem","x-component":df,"x-reactions":[{dependencies:["targetBlockUid"],fulfill:{state:{componentProps:{uid:"{{$deps[0]}}"},hidden:"{{!$deps[0]}}"}}}]}},defaultParams:e=>({targetBlockUid:"",filter:{logic:"$and",items:[]}}),useRawParams:!0,async handler(e,t){let l=await e.resolveJsonTemplate(t),o=l.targetBlockUid;if(!o)return;let n=e.model,i=dp(e,t,l);n.scheduleModelOperation(o,t=>{let l=t.resource;l&&((0,d.isEmptyFilter)(i)?l.removeFilterGroup(`setTargetDataScope_${e.model.uid}`):l.addFilterGroup(`setTargetDataScope_${e.model.uid}`,i),dm(l)&&l.refresh())})}});function df(e){let t=(0,r.useFlowContext)(),l=e.uid,o=t.engine.getModel(l,!0);return o?(0,m.jsx)(f.I8,{value:e.value,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:o,rightAsVariable:!0})}):(0,m.jsxs)("div",{style:{color:t.themeToken.colorError},children:[t.t("Cannot find the model instance with UID"),": ",l]})}let dg=e=>"string"==typeof e?e:Array.isArray(e)&&1===e.length?e[0]:void 0,dv=(e,t)=>{var l;if(!e)return null;let o=t||(null==(l=e.titleCollectionField)?void 0:l.name)||dg(e.filterTargetKey);return o?e.getField(o):null},dy=(0,r.defineAction)({name:"titleField",title:(0,r.tExpr)("Title field"),uiMode:e=>{var t,l,o,n;let i=e.collectionField.targetCollection,r=e.dataSourceManager||(null==(l=e.model)||null==(t=l.context)?void 0:t.dataSourceManager)||(null==(o=e.app)?void 0:o.dataSourceManager);return{type:"select",key:"label",props:{options:((null==i||null==(n=i.getFields)?void 0:n.call(i))??[]).filter(e=>{var t;return(0,a.w)("function"==typeof e.getInterfaceOptions?e.getInterfaceOptions():(0,a.w6)((null==(t=e.options)?void 0:t.interface)||e.interface,r))}).map(e=>({value:e.name,label:null==e?void 0:e.title}))}}},defaultParams:e=>{var t,l,o,n,i;let r=null==(o=e.model)||null==(l=o.context)||null==(t=l.collectionField)?void 0:t.targetCollectionTitleFieldName;return{label:(null==(i=e.model.parent)||null==(n=i.props)?void 0:n.titleField)||e.model.props.titleField||r}},hideInSettings:async e=>{var t;return!e.collectionField||!e.collectionField.isAssociationField()||(null==(t=e.model.subModels.field)?void 0:t.disableTitleField)},beforeParamsSave:async(e,t,l)=>{let o=e.model.collectionField.target,n=e.model.collectionField.targetCollection;if(t.label!==l.label){var i;let l=null==(i=e.model.subModels.field)?void 0:i.uid;l&&await e.engine.destroyModel(l);let a=dv(n,t.label);if(!a)return;let s=r.DisplayItemModel.getDefaultBindingByField(e,a);if(!s)return;let d=s.modelName,u=e.model.setSubModel("field",{use:d,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:o,fieldPath:t.label}}}});await u.save(),await u.dispatchEvent("beforeRender"),await e.model.save()}},async handler(e,t){let l=e.model.collectionField.target,o=e.model.collectionField.targetCollection,n=dv(o,t.label);if(!n)return;let i={value:dg(o.filterTargetKey)||n.name,label:n.name};e.model.setProps({fieldNames:i});let a=r.DisplayItemModel.getDefaultBindingByField(e,n);if(!a)return;let s=a.modelName;if(!e.model.subModels.field){let t=e.model.setSubModel("field",{use:s,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:l,fieldPath:i.label}}}});await t.dispatchEvent("beforeRender")}}}),d_=(0,r.defineAction)({title:(0,r.tExpr)("Date display format"),name:"dateDisplayFormat",uiSchema:e=>{let{collectionField:t}=e.model.context,l=t.type,o={type:"string",title:'{{t("Time format")}}',"x-component":ny.S5,"x-decorator":"FormItem","x-component-props":{className:(0,tx.css)`
751
751
  .ant-radio-wrapper {
752
752
  display: flex;
753
753
  margin: 5px 0px;
@@ -757,7 +757,7 @@ ctx.render(<JsItem />);
757
757
  display: flex;
758
758
  margin: 5px 0px;
759
759
  }
760
- `,defaultValue:"dddd",formats:["MMMM Do YYYY","YYYY-MM-DD","MM/DD/YY","YYYY/MM/DD","DD/MM/YYYY"]},enum:[{label:(0,ny.b2)({format:"MMMM Do YYYY"}),value:"MMMM Do YYYY"},{label:(0,ny.b2)({format:"YYYY-MM-DD"}),value:"YYYY-MM-DD"},{label:(0,ny.b2)({format:"MM/DD/YY"}),value:"MM/DD/YY"},{label:(0,ny.b2)({format:"YYYY/MM/DD"}),value:"YYYY/MM/DD"},{label:(0,ny.b2)({format:"DD/MM/YYYY"}),value:"DD/MM/YYYY"},{label:(0,r.tExpr)("Custom"),value:"custom"}],"x-reactions":[e=>{let{picker:t}=e.form.values;e.value=(0,d.getPickerFormat)(t),e.setComponentProps({picker:t})}]},showTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Show time")}}',"x-reactions":[{dependencies:["picker"],fulfill:{state:{hidden:"{{ $form.values.picker !== 'date' }}"}}},t=>{let{collectionField:l}=e.model.context,{picker:o}=t.form.values||{};t.hidden="dateOnly"===l.type||"date"!==o,"date"!==o&&(t.value=!1)}]},timeFormat:o}},defaultParams:e=>{let{showTime:t,dateFormat:l,timeFormat:o,picker:n}={...e.model.context.collectionField.getComponentProps(),...e.model.props};return{picker:n||"date",dateFormat:l||"YYYY-MM-DD",timeFormat:o||"HH:mm:ss",showTime:t}},handler(e,t){let{collectionField:l}=e.model.context;"time"===l.type?e.model.setProps({...t,format:null==t?void 0:t.timeFormat}):e.model.setProps({...t,format:(null==t?void 0:t.showTime)?`${t.dateFormat} ${t.timeFormat}`:t.dateFormat})}});var dh=l(1793);function df(e){if(""!==e&&null!=e)return e}let dg=(0,r.defineAction)({name:"dateRangeLimit",title:(0,r.tExpr)("Date range limit"),uiMode:{type:"dialog",props:{width:720}},uiSchema(e){var t,l;let o={targetPath:(null==(l=e.model.context)||null==(t=l.collectionField)?void 0:t.name)||"",enableDateVariableAsConstant:!0};return{_minDate:{type:"string",title:(0,r.tExpr)("MinDate"),"x-decorator":"FormItem","x-component":dh.zv,"x-component-props":o},_maxDate:{type:"string",title:(0,r.tExpr)("MaxDate"),"x-decorator":"FormItem","x-component":dh.zv,"x-component-props":o}}},defaultParams(e){var t,l;return{_minDate:df(null==(t=e.model.props)?void 0:t._minDate),_maxDate:df(null==(l=e.model.props)?void 0:l._maxDate)}},useRawParams:!0,async handler(e,t){e.model.setProps({_minDate:df(null==t?void 0:t._minDate),_maxDate:df(null==t?void 0:t._maxDate)})}}),dv=e=>e.filter(e=>{if(!e.interface)return!1;let t=e.getInterfaceOptions();return null!=t&&!!t.sortable}).map(e=>{var t;return{value:e.name,label:(null==e||null==(t=e.uiSchema)?void 0:t.title)||e.name}}),dy=(0,r.defineAction)({name:"sortingRule",title:(0,r.tExpr)("Default sorting"),uiSchema:e=>{var t;return{sort:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}},enum:dv((null==(t=e.collectionField)?void 0:t.targetCollection)?e.collectionField.targetCollection.getFields():e.blockModel.collection.getFields())},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:(0,r.tExpr)("ASC"),value:"asc"},{label:(0,r.tExpr)("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:(0,r.tExpr)("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},defaultParams:e=>({sort:[]}),async handler(e,t){var l;let o=t.sort.map(e=>"desc"===e.direction?`-${e.field}`:e.field),n=null==(l=e.model)?void 0:l.resource;n&&(e.model.setProps({globalSort:o}),n.setSort(o))}}),d_=(0,r.defineAction)({name:"dataLoadingMode",title:(0,r.tExpr)("Data loading mode"),uiMode:{type:"select",key:"mode",props:{options:[{value:"auto",label:(0,r.tExpr)("Load all data when filter is empty")},{value:"manual",label:(0,r.tExpr)("Do not load data when filter is empty")}]}},defaultParams:{mode:"auto"},hideInSettings:e=>{let t=e.blockModel,l=null==t?void 0:t.resource;return!l||!(l instanceof r.MultiRecordResource)},handler(e,t){let l=e.blockModel;if(!l)return;let o=l.resource;o instanceof r.MultiRecordResource&&("manual"!==t.mode||l.hasActiveFilters()?"auto"===t.mode&&o.refresh():(o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1))}}),db=(0,r.defineAction)({title:(0,r.tExpr)("Render mode"),name:"renderMode",uiMode(e){let t=e.t;return{type:"select",key:"textOnly",props:{options:[{label:t("Text only"),value:!0},{label:t("Html"),value:!1}]}}},hideInSettings:async e=>{var t,l,o;let n=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","overflowMode"))?void 0:t.overflowMode;return void 0===n?e.model.parent instanceof nD:!0===n||"ellipsis"===n},defaultParams:{textOnly:!0},handler(e,t){e.model.setProps({textOnly:t.textOnly})}}),dx=(0,r.defineAction)({title:(0,r.tExpr)("Set block layout"),name:"layout",uiSchema:{layout:{type:"string",enum:[{label:(0,r.tExpr)("Vertical"),value:"vertical"},{label:(0,r.tExpr)("Horizontal"),value:"horizontal"}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},labelAlign:{title:(0,r.tExpr)("Label align"),type:"string","x-decorator":"FormItem","x-component":"Select",enum:[{label:"{{t('Right')}}",value:"right"},{label:"{{t('Left')}}",value:"left"}],"x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},labelWidth:{title:(0,r.tExpr)("Label width"),type:"string",required:!0,"x-decorator":"FormItem","x-component":"NumberPicker","x-component-props":{addonAfter:"px"},"x-validator":[{minimum:50}],"x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},labelWrap:{type:"string",title:(0,r.tExpr)("When the Label exceeds the width"),enum:[{label:(0,r.tExpr)("Line break"),value:!0},{label:(0,r.tExpr)("Ellipsis"),value:!1}],"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},colon:{type:"boolean","x-content":(0,r.tExpr)("Colon"),required:!0,"x-decorator":"FormItem","x-component":"Checkbox"}},defaultParams:e=>({layout:"vertical",labelAlign:"left",labelWidth:120,labelWrap:!0,colon:!0}),handler(e,t){e.model.setProps({...t,labelWidth:"vertical"===t.layout?null:t.labelWidth}),e.model.subModels.grid.findSubModel("items",e=>{e.setProps({...t,labelWidth:"vertical"===t.layout?"100%":t.labelWidth,labelWrap:"vertical"===t.layout||t.labelWrap})})}}),dM=(0,r.defineAction)({title:(0,r.tExpr)("Required"),name:"required",uiMode:e=>{var t,l,o;let n=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(o=e.model.props.validation)?void 0:o.rules)||[];return{type:"switch",key:"required",props:{disabled:n.concat(i).some(e=>"required"===e.name)}}},uiSchema:async e=>{var t,l,o;let n=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(o=e.model.props.validation)?void 0:o.rules)||[],a=n.concat(i).some(e=>"required"===e.name);return{required:{"x-component":"Switch","x-decorator":"FormItem","x-component-props":{checkedChildren:(0,r.tExpr)("Yes"),unCheckedChildren:(0,r.tExpr)("No")},"x-disabled":a}}},defaultParams:e=>({required:e.model.getProps().required}),handler(e,t){var l,o;let n=e.model.getProps().rules||[],i=((null==(o=e.model.collectionField)||null==(l=o.validation)?void 0:l.rules)||[]).some(e=>"required"===e.name);(n=n.filter(e=>!e.required),i)?e.model.setProps({rules:n,required:!0}):(t.required&&n.push({required:!0,message:e.t("The field value is required")}),e.model.setProps({rules:n,required:t.required}))}});function dw(e,t,l){let{collectionField:o}=e,n=t.getBindingsByField(e,o),i=t=>t.map(t=>{var l;let o=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=o.meta)?void 0:l.label)||t.modelName),value:t.modelName}});if(l){let r=t.getBindingsByField(e,o.targetCollection.getField(l));return[n.length&&{label:e.t("AssociationField component"),options:i(n)},{label:e.t("Title field component"),options:i(r)}].filter(Boolean)}return i(n)}let dS=(0,r.defineAction)({name:"displayFieldComponent",title:(0,r.tExpr)("Field component"),uiMode:e=>{let{titleField:t}=e.model.props;return{type:"select",key:"use",props:{options:dw(e,e.model.constructor,t)}}},hideInSettings:async e=>{let{titleField:t}=e.model.props;if(!e.collectionField||1===e.model.constructor.getBindingsByField(e,e.collectionField).length&&!t)return!0},beforeParamsSave:async(e,t,l)=>{if(!e.collectionField)return;let o=e.model.constructor.getBindingsByField(e,e.collectionField),{titleField:n}=e.model.props,i=[];n&&(i=e.model.constructor.getBindingsByField(e,e.collectionField.targetCollection.getField(n)));let r=o.concat(i).find(e=>e.modelName===t.use);t.use!==l.use&&await tB({parentModel:e.model,targetUse:t.use,defaultProps:"function"==typeof(null==r?void 0:r.defaultProps)?r.defaultProps(e,e.collectionField):null==r?void 0:r.defaultProps,pattern:e.model.getProps().pattern})},defaultParams:e=>{let t=e.model.constructor.getDefaultBindingByField(e,e.collectionField),l=e.model.subModels.field;return{use:tO(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){let l=tO(e.model.subModels.field);t.use!==l&&e.model.setStepParams(e.flowKey,"model",{use:t.use})}}),dk=(0,r.defineAction)({title:(0,r.tExpr)("Field component"),name:"fieldComponent",uiMode:e=>{if("readPretty"===e.model.getProps().pattern){var t,l;let{titleField:o}=e.model.props,n=e.model.constructor.getBindingsByField(e,e.collectionField);return n&&(1!==n.length||o)?{type:"select",key:"use",props:{options:dw(e,tz,o||(null==(l=e.model.subModels.field.props)||null==(t=l.fieldNames)?void 0:t.label))}}:null}{let t=e.model.constructor.getBindingsByField(e,e.collectionField);return t&&1!==t.length?{type:"select",key:"use",props:{options:t.map(t=>{var l;let o=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=o.meta)?void 0:l.label)||t.modelName),value:t.modelName}})}}:null}},hideInSettings(e){let{titleField:t}=e.model.props,l=e.model.constructor.getBindingsByField(e,e.collectionField);if("readPretty"===e.model.getProps().pattern){if(!l||1===l.length&&!t)return!0}else if(!l||1===l.length)return!0},beforeParamsSave:async(e,t,l)=>{let o=e.model.constructor.getBindingsByField(e,e.collectionField),n=[];if("readPretty"===e.model.getProps().pattern){let{titleField:t}=e.model.props;o=tz.getBindingsByField(e,e.collectionField),t&&(n=tz.getBindingsByField(e,e.collectionField.targetCollection.getField(t)))}let i=o.concat(n).find(e=>e.modelName===t.use);if(t.use!==l.use){let l="function"==typeof(null==i?void 0:i.defaultProps)?i.defaultProps(e,e.collectionField):null==i?void 0:i.defaultProps;await tB({parentModel:e.model,targetUse:t.use,defaultProps:l,pattern:e.model.getProps().pattern})}},defaultParams:e=>{let t="readPretty"===e.model.getProps().pattern?tz.getDefaultBindingByField(e,e.collectionField):e.model.constructor.getDefaultBindingByField(e,e.collectionField),l=e.model.subModels.field;return{use:tO(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){}}),dF=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},dC=(0,r.defineAction)({name:"aclCheck",async handler(e,t){var l,o,n,i,r;let a=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:(null==(o=e.collectionField)?void 0:o.collectionName)||e.resourceName,actionName:e.actionName,fields:(null==e?void 0:e.collectionField)&&[e.collectionField.name],allowedActions:e.collectionField?null:null==(n=e.resource)?void 0:n.getMeta("allowedActions"),recordPkValue:dF((null==e?void 0:e.record)&&(null==(r=e.collection)||null==(i=r.getFilterByTK)?void 0:i.call(r,null==e?void 0:e.record)))});e.actionName&&(a||(e.model.hidden=!0,e.model.forbidden={actionName:e.actionName},e.exitAll()))}}),dA=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},dP=e=>{let t=null==e?void 0:e.model;t&&(t.forbidden&&(t.forbidden=null,"function"==typeof t.setHidden?t.setHidden(!1):t.hidden=!1),"function"==typeof t.setProps&&t.setProps({aclDisabled:void 0,aclCreateDisabled:void 0}))},dT=async e=>{var t,l,o,n,i,r,a,s,d;let u=await e.aclCheck({dataSourceKey:null==(t=e.dataSource)?void 0:t.key,resourceName:(null==(l=e.collectionField)?void 0:l.collectionName)||e.resourceName,actionName:e.actionName,fields:(null==e?void 0:e.collectionField)&&[e.collectionField.name],allowedActions:null==(n=e.resource)||null==(o=n.getMeta)?void 0:o.call(n,"allowedActions"),recordPkValue:dA((null==e?void 0:e.record)&&(null==(r=e.collection)||null==(i=r.getFilterByTK)?void 0:i.call(r,null==e?void 0:e.record)))});e.actionName&&(u||(null==(a=(s=e.model).setHidden)||a.call(s,!0),e.model.forbidden={actionName:e.actionName},null==(d=e.exitAll)||d.call(e)))},dI=async e=>{var t,l,o,n,i,r,a,s,d,u,c,p,m,h,f,g,v,y,_,b,x;if(!e.collectionField)return;let M=null==(l=e.blockModel)||null==(t=l.context)?void 0:t.actionName;if(!M)return;let w=await e.aclCheck({dataSourceKey:null==(o=e.dataSource)?void 0:o.key,resourceName:null==(n=e.collectionField)?void 0:n.collectionName,fields:[null==(i=e.collectionField)?void 0:i.name],actionName:M});if("update"===M){let t=await e.aclCheck({dataSourceKey:null==(r=e.dataSource)?void 0:r.key,resourceName:null==(a=e.collectionField)?void 0:a.collectionName,fields:[e.collectionField.name],actionName:"view"});e.prefixFieldPath&&e.item&&(await e.aclCheck({dataSourceKey:null==(d=e.dataSource)?void 0:d.key,resourceName:null==(u=e.collectionField)?void 0:u.collectionName,fields:[e.collectionField.name],actionName:"create"})||e.model.setProps({aclCreateDisabled:!0})),t||(null==(s=e.item)?void 0:s.__is_new__)||(null==(c=(p=e.model).setHidden)||c.call(p,!0),e.model.forbidden={actionName:"view"},null==(m=e.exitAll)||m.call(e)),w||e.model.setProps({aclDisabled:!0})}else if("create"===M){let t=await e.aclCheck({dataSourceKey:null==(h=e.dataSource)?void 0:h.key,resourceName:null==(f=e.collectionField)?void 0:f.collectionName,actionName:"update"}),l=await e.aclCheck({dataSourceKey:null==(g=e.dataSource)?void 0:g.key,resourceName:null==(v=e.collectionField)?void 0:v.collectionName,fields:[e.collectionField.name],actionName:"update"});w||(null==(y=e.item)?void 0:y.__is_stored__)||(null==(_=(b=e.model).setHidden)||_.call(b,!0),e.model.forbidden={actionName:M},null==(x=e.exitAll)||x.call(e)),t&&l||e.model.setProps({aclDisabled:!0})}},dj=(0,r.defineAction)({name:"aclCheckRefresh",async handler(e,t){let l=(null==t?void 0:t.strategy)||"default";(dP(e),"formItem"===l)?await dI(e):await dT(e)}});function dL(e){var t,l,o,n,i;return(null==(n=e.model.subModels)||null==(o=n.field)||null==(l=o.props)||null==(t=l.fieldNames)?void 0:t.label)||e.model.props.titleField||(null==(i=e.collectionField)?void 0:i.targetCollectionTitleFieldName)}function dD(e){var t;let l=e.model.subModels.field,o=tO(l)??(null==l?void 0:l.use),n="string"==typeof o?e.engine.getModelClass(o):o;return((null==n||null==(t=n.meta)?void 0:t.preserveOnPatternChange)??!1)===!0}async function dY(e){var t,l,o,n,i,r,a;null==(t=(l=e.model).invalidateFlowCache)||t.call(l,"beforeRender",!0),await (null==(o=(n=e.model).rerender)?void 0:o.call(n));let s=e.model.parent;s&&(null==(i=s.invalidateFlowCache)||i.call(s,"beforeRender",!0),null==(r=s.setProps)||r.call(s,{__patternRefreshKey:(0,Q.uid)()}),await (null==(a=s.rerender)?void 0:a.call(s)))}let dE=(0,r.defineAction)({name:"pattern",title:(0,r.tExpr)("Display mode"),uiMode(e){let t=e.t;return{type:"select",key:"pattern",props:{options:[{value:"editable",label:t("Editable")},{value:"disabled",label:t("Disabled")},{value:"readPretty",label:t("Display only")}]}}},hideInSettings:e=>!e.model.collectionField||!1===e.model.collectionField.inputable,defaultParams:e=>({pattern:!1===e.model.collectionField.inputable||e.model.context.parentDisabled||e.model.props.disabled||e.model.collectionField.readonly?"disabled":"editable"}),afterParamsSave:async(e,t,l)=>{if(dD(e)){if(t.pattern!==l.pattern){var o,n;null==(n=e.model.subModels.field)||null==(o=n.scheduleApplyJsSettings)||o.call(n)}await dY(e);return}let i=e.collectionField.targetCollection,r=dL(e),a=null==i?void 0:i.getField(r),{model:s}=e,d=function(t){var l,o;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.collectionField;if(!t)return;let i="function"==typeof t.defaultProps?t.defaultProps(e,n):t.defaultProps;return(null==(o=e.collectionField)||null==(l=o.isAssociationField)?void 0:l.call(o))&&r?{...i||{},titleField:r}:i};if("readPretty"===t.pattern){let t=tz.getDefaultBindingByField(e,e.collectionField,{fallbackToTargetTitleField:!0,targetCollectionTitleField:a});await tB({parentModel:s,targetUse:t.modelName,defaultProps:d(t,a||e.collectionField)}),t.modelName&&e.model.setStepParams("editItemSettings","model",{use:t.modelName})}else{let t=e.model.constructor.getDefaultBindingByField(e,e.collectionField);"readPretty"===l.pattern&&await tB({parentModel:s,targetUse:t.modelName,defaultProps:d(t)})}await dY(e)},async beforeParamsSave(e,t,l){if("readPretty"===t.pattern){let t=dL(e);e.model.setProps({pattern:"readPretty",disabled:!1,titleField:t}),e.collectionField.isAssociationField()&&await e.model.setStepParams("editItemSettings","titleField",{titleField:t})}else e.model.setProps({disabled:"disabled"===t.pattern,pattern:"editable"})},handler(e,t){"readPretty"===t.pattern?e.model.setProps({pattern:"readPretty"}):e.model.setProps({disabled:"disabled"===t.pattern,pattern:null})}}),dR=(0,r.defineAction)({title:(0,r.tExpr)("Validation"),name:"validation",uiSchema:e=>{if(!e.model.collectionField)return;let t=e.model.collectionField.getInterfaceOptions();return(null==t?void 0:t.validationType)?{validation:{"x-decorator":"FormItem","x-component":a.g7,"x-component-props":{type:t.validationType,availableValidationOptions:[...new Set(t.availableValidationOptions)],excludeValidationOptions:[...new Set(t.excludeValidationOptions)],isAssociation:t.isAssociation}}}:null},handler(e,t){if(t.validation){let l=[],o=(0,r.jioToJoiSchema)(t.validation),n=e.model.props.label;l.push({validator:(t,l)=>{let{error:i}=o.validate(l,{abortEarly:!1});if(i){let t=i.details.map(t=>e.t(`${t.type}`,{...t.context,ns:"data-source-main",label:n})),l=document.createElement("div");return l.innerHTML=t.join("; "),Promise.reject(l.textContent)}return Promise.resolve()}});let i=t.validation.rules.some(e=>"required"===e.name);i&&e.model.setProps({required:i}),console.log(l),e.model.setProps({rules:l,validation:t.validation})}}}),dN=(0,r.defineAction)({title:(0,r.tExpr)("Fixed"),name:"fixed",uiMode:e=>{let t=e.t;return{type:"select",key:"fixed",props:{options:[{label:t("Not fixed"),value:"none"},{label:t("Left fixed"),value:"left"},{label:t("Right fixed"),value:"right"}]}}},defaultParams:{fixed:"none"},handler(e,t){e.model.setProps("fixed",t.fixed)}}),dO=e=>{let{t,fieldOptions:l,rootCollection:o,value:n,onChange:i,defaultMode:a="assign",fixedMode:s,showCondition:d=!0,showEnable:u=!0,showValueEditorWhenNoField:c=!1,getValueInputProps:p,isTitleFieldCandidate:f,onSyncAssociationTitleField:g,enableDateVariableAsConstant:v=!1}=e,y=Array.isArray(n)?n:[],[_,b]=h.default.useState(()=>Array.isArray(l)?l:[]);h.default.useEffect(()=>{b(Array.isArray(l)?l:[])},[l]);let x=h.default.useCallback((e,t)=>(null==e?void 0:e.key)||String(t),[]),[M,w]=h.default.useState({}),[S,F]=h.default.useState({}),[C,A]=h.default.useState(null);h.default.useEffect(()=>{let e=new Set(y.map((e,t)=>x(e,t)));w(t=>{let l={},o=!1;for(let[n,i]of Object.entries(t))e.has(n)?l[n]=i:o=!0;return o?l:t}),F(t=>{let l={},o=!1;for(let[n,i]of Object.entries(t))e.has(n)?l[n]=!!i:o=!0;return o?l:t}),C&&!e.has(C)&&A(null)},[x,C,y]);let P=h.default.useCallback((e,l,o)=>{if(!(null==e?void 0:e.getFields)||o.has(e))return[];let n=new Set(o);n.add(e);let i=("function"==typeof e.getFields?e.getFields():[])||[],r=[];for(let e of i){var a;if(!e)continue;let o=e,i="string"==typeof o.interface?o.interface:void 0;if(!i||"formula"===i)continue;let s=String(o.name||"");if(!s)continue;let d=t("string"==typeof o.title?o.title:s),u={name:s,title:d,type:String(o.type||"string"),interface:i,uiSchema:o.uiSchema,paths:[...l,s]},c=!!(null==(a=o.isAssociationField)?void 0:a.call(o)),p=(0,tH.E4)(o);c&&!p&&o.targetCollection&&(u.children=async()=>P(o.targetCollection,[...l,s],n)),r.push(u)}return r},[t]),T=h.default.useCallback(e=>{if(!(null==o?void 0:o.getField))return;let l=R(e);if(!l.length)return;let n=[],i=o;for(let e=0;e<l.length;e++){var r,a;let o=l[e],s=null==i||null==(r=i.getField)?void 0:r.call(i,o);if(!(null==s||null==(a=s.isAssociationField)?void 0:a.call(s)))break;let d=(0,tH.E4)(s),u=null==s?void 0:s.targetCollection;if(!u)break;let c=t("string"==typeof s.title?s.title:o);n.push({collection:u,toMany:d,viaLabel:c}),i=u}if(n.length<=0)return;let s=(e,l,o,i)=>{let r=n[e]||n[0],a=[];r.toMany&&(a.push({title:t("Index (starts from 0)"),name:"index",type:"number",paths:[...l,"index"]}),a.push({title:t("Total count"),name:"length",type:"number",paths:[...l,"length"]})),a.push({title:t("Attributes"),name:"value",type:"object",paths:[...l,"value"],children:async()=>P(r.collection,[...l,"value"],new Set)}),e-1>=0&&a.push(s(e-1,[...l,"parentItem"],"parentItem","Parent item"));let d=null==r?void 0:r.viaLabel;return{title:d?`${t(i)}(${d})`:t(i),name:o,type:"object",paths:l,children:a}};return[s(n.length-1,["item"],"item","Current item")]},[P,o,t]),I=(e,t)=>{let l=y.map((l,o)=>o===e?{...l,...t}:l);null==i||i(l)},j=e=>{let t=x(y[e],e);w(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),F(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),C===t&&A(null);let l=y.filter((t,l)=>l!==e);null==i||i(l)},L=(e,t)=>{let l=[...y],o="up"===t?e-1:e+1;if(o<0||o>=l.length)return;let[n]=l.splice(e,1);l.splice(o,0,n),null==i||i(l)},D=()=>{let e=[...y,{key:(0,Q.uid)(),enable:!0,mode:s||a,condition:{logic:"$and",items:[]},targetPath:void 0,value:void 0}];null==i||i(e)},Y=e=>s||((null==e?void 0:e.mode)==="default"?"default":"assign"),E=h.default.useCallback(e=>{let l="default"===e?t("Default value"):t("Fixed value"),o="default"===e?t("A pre-filled value. Editable, for new entries only, and won’t affect existing data (including empty values)."):t("A system-set value. Read-only."),n=e=>{e.preventDefault(),e.stopPropagation()};return(0,m.jsxs)(k.Space,{size:4,children:[(0,m.jsx)("span",{children:l}),(0,m.jsx)(k.Tooltip,{title:o,children:(0,m.jsx)(H.QuestionCircleOutlined,{style:{cursor:"help",opacity:.65,fontSize:12},onMouseDown:n,onClick:n})})]})},[t]),R=h.default.useCallback(e=>{let t=String(e||"");return t?t.split(".").map(e=>e.trim()).filter(Boolean):[]},[]),N=e=>{let l=R(e);if(!l.length)return;if(!(null==o?void 0:o.getField))return l.join(" / ");let n=[],i=o;for(let e=0;e<l.length;e++){var r,a;let o=l[e],s=null==i||null==(r=i.getField)?void 0:r.call(i,o);if(!s){n.push(o);continue}n.push(t("string"==typeof s.title?s.title:o)),(null==s||null==(a=s.isAssociationField)?void 0:a.call(s))&&(null==s?void 0:s.targetCollection)&&(i=s.targetCollection)}return n.filter(Boolean).join(" / ")},B=h.default.useCallback(e=>{let l=R(e);if(!l.length||!(null==o?void 0:o.getField))return null;let n=o,i=null;for(let e=0;e<l.length;e++){var r,a,s,d,u,c,p;let o=String(l[e]);if(!(i=(null==n||null==(r=n.getField)?void 0:r.call(n,o))||null))break;if(e===l.length-1){if(!(null==i||null==(s=i.isAssociationField)?void 0:s.call(i))||!(null==i?void 0:i.targetCollection))return null;let e=i.targetCollection,l=("function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[]).filter(t=>{if(!t)return!1;if("function"==typeof f)return!!f(t,e);let l="string"==typeof t.interface?t.interface:void 0;return!!l&&"formula"!==l}).map(e=>{let l=String((null==e?void 0:e.name)||"");return l?{value:l,label:t("string"==typeof(null==e?void 0:e.title)?e.title:l)}:null}).filter(Boolean),o="string"==typeof(null==e?void 0:e.titleField)&&e.titleField?e.titleField:void 0,n="string"==typeof(null==e||null==(d=e.options)?void 0:d.titleField)&&(null==(u=e.options)?void 0:u.titleField)?null==(c=e.options)?void 0:c.titleField:void 0,r="string"==typeof(null==i?void 0:i.targetCollectionTitleFieldName)&&i.targetCollectionTitleFieldName?i.targetCollectionTitleFieldName:void 0,a=o||n||r;if(a&&!l.some(e=>e.value===a)){let o="function"==typeof(null==e?void 0:e.getField)&&(null==(p=e.getField(a))?void 0:p.title)||a;l.unshift({value:a,label:t("string"==typeof o?o:a)})}let m="string"==typeof(null==i?void 0:i.targetKey)&&i.targetKey||(null==e?void 0:e.filterTargetKey)||(null==e?void 0:e.filterByTk)||"id";return{associationField:i,targetCollection:e,currentTitleField:a,valueKey:m,candidates:l}}if(!(null==i||null==(a=i.isAssociationField)?void 0:a.call(i))||!(null==i?void 0:i.targetCollection))break;n=i.targetCollection}return null},[f,R,o,t]),q=h.default.useCallback(e=>{if(!(null==o?void 0:o.getField))return null;let t=o;for(let o of e){var l,n;let e=null==t||null==(l=t.getField)?void 0:l.call(t,o);if(!(null==e||null==(n=e.isAssociationField)?void 0:n.call(e))||!(null==e?void 0:e.targetCollection))return null;t=e.targetCollection}return t||null},[o]),V=h.default.useCallback(e=>{let l="function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[],o=[];for(let e of l){var n;if(!e)continue;let l=e,i="string"==typeof l.interface?l.interface:void 0;if(!i||"formula"===i)continue;let r=String(l.name||"");if(!r)continue;let a=t("string"==typeof l.title?l.title:r),s=!!(null==(n=l.isAssociationField)?void 0:n.call(l)),d=!!l.targetCollection;o.push({label:a,value:r,isLeaf:!(s&&d)})}return o},[t]),$=h.default.useCallback(async e=>{let t=e||[],l=t[t.length-1];if(!l||l.children&&Array.isArray(l.children)&&l.children.length||l.isLeaf)return;let o=q(t.map(e=>String(null==e?void 0:e.value)).filter(Boolean));if(!o){l.isLeaf=!0,b(e=>[...e]);return}let n=V(o);n.length?l.children=n:l.isLeaf=!0,b(e=>[...e])},[V,q]),z=h.default.useCallback(async e=>{if(!e.length)return;let t=_,l=[];for(let n=0;n<e.length-1;n++){var o;let i=String(e[n]),r=t.find(e=>String(null==e?void 0:e.value)===i);if(!r)return;if(l.push(r),null==(o=r.children)?void 0:o.length){t=r.children;continue}if(r.isLeaf)return;await $(l),t=r.children||[]}},[_,$]),K=h.default.useMemo(()=>{let e=[],t=new Set;for(let l of y){let o=(null==l?void 0:l.targetPath)?String(l.targetPath):"";o&&(t.has(o)||(t.add(o),e.push(o)))}return e},[y]);h.default.useEffect(()=>{let e=!1;return(async()=>{for(let t of K){if(e)return;let l=R(t);l.length&&await z(l)}})(),()=>{e=!0}},[R,z,K]);let U=(e,l)=>{let o="default"===Y(e)?t("Default value"):t("Fixed value"),n=N(e.targetPath),i=n?String(n):t("Please select field");return(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,m.jsxs)("div",{style:{flex:1,marginRight:16,minWidth:0,display:"flex",alignItems:"center",gap:8},children:[(0,m.jsx)("div",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},title:i,children:i}),(0,m.jsx)("div",{style:{opacity:.65,fontSize:12,whiteSpace:"nowrap"},children:o})]}),(0,m.jsxs)(k.Space,{onClick:e=>e.stopPropagation(),children:[(0,m.jsx)(k.Tooltip,{title:t("Delete"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.DeleteOutlined,{}),onClick:()=>j(l),"aria-label":t("Delete")})}),(0,m.jsx)(k.Tooltip,{title:t("Move up"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.ArrowUpOutlined,{}),onClick:()=>L(l,"up"),disabled:0===l,"aria-label":t("Move up")})}),(0,m.jsx)(k.Tooltip,{title:t("Move down"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.ArrowDownOutlined,{}),onClick:()=>L(l,"down"),disabled:l===y.length-1,"aria-label":t("Move down")})}),u&&(0,m.jsx)(k.Switch,{size:"small",checked:!1!==e.enable,onChange:e=>I(l,{enable:e}),checkedChildren:t("Enable"),unCheckedChildren:t("Disable")})]})]})},G=y.map((e,l)=>{var o;let n=Y(e),i=T(e.targetPath),a=x(e,l),u=B(e.targetPath),h=M[a],f="string"==typeof h&&h||"string"==typeof(null==e?void 0:e.valueTitleField)&&e.valueTitleField||(null==u?void 0:u.currentTitleField)||void 0,y=!f||!u||!!u.candidates.some(e=>e.value===f),b=y?f:(null==u?void 0:u.currentTitleField)||void 0,P=!!u,j=!!(null==u||null==(o=u.candidates)?void 0:o.length),L=C===a,D=!!g&&P&&j&&y&&!!b&&b!==(null==u?void 0:u.currentTitleField)&&!L,N=!(0,r.isVariableExpression)(null==e?void 0:e.value)&&!(0,r.isRunJSValue)(null==e?void 0:e.value)&&(null==e?void 0:e.value)!==null,q=P&&N,V=q&&!!S[a],z=P?(0,m.jsxs)(k.Space.Compact,{size:"small",onClick:e=>e.stopPropagation(),children:[(0,m.jsx)(k.Select,{size:"small",style:{minWidth:160},value:b,placeholder:j?t("Please select field"):t("No available title fields"),options:(null==u?void 0:u.candidates)||[],disabled:!j||L,allowClear:!1,onChange:e=>{let t=String(e||""),o=t&&t!==(null==u?void 0:u.currentTitleField)?t:void 0;w(e=>{let t=Object.prototype.hasOwnProperty.call(e,a);if(!o){if(!t)return e;let l={...e};return delete l[a],l}return e[a]===o?e:{...e,[a]:o}}),I(l,{valueTitleField:o})}}),(0,m.jsx)(k.Tooltip,{title:D?t("Sync selected title field to collection"):t("Please choose a different title field before syncing"),children:(0,m.jsx)(k.Popconfirm,{title:t("Sync title field"),description:t("This will update the collection title field globally. Continue?"),okText:t("OK"),cancelText:t("Cancel"),disabled:!D,onConfirm:async()=>{if(u&&b&&"function"==typeof g&&u.candidates.some(e=>e.value===b)){A(a);try{await g({ruleItem:e,ruleIndex:l,targetPath:e.targetPath,associationField:u.associationField,targetCollection:u.targetCollection,titleField:b}),w(e=>{if(!(a in e))return e;let t={...e};return delete t[a],t}),I(l,{valueTitleField:void 0})}catch(e){console.warn("[FieldAssignRulesEditor] Failed to sync title field",e)}finally{A(e=>e===a?null:e)}}},children:(0,m.jsx)(k.Button,{size:"small",icon:(0,m.jsx)(H.SyncOutlined,{spin:L}),disabled:!D,"aria-label":t("Sync title field")})})})]}):null;return{key:e.key||String(l),label:U(e,l),styles:{header:{display:"flex",alignItems:"center"}},children:(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Field")}),(0,m.jsx)(k.Cascader,{value:R(e.targetPath),placeholder:t("Please select field"),style:{width:"100%"},options:_,loadData:$,changeOnSelect:!0,showSearch:{filter:(e,t)=>{let l=String(e||"").toLowerCase();return!l||(t||[]).some(e=>String((null==e?void 0:e.label)??"").toLowerCase().includes(l))}},allowClear:!0,onChange:t=>{let o=Array.isArray(t)?t.map(e=>String(e)).filter(Boolean):[],n=o.length?o.join("."):void 0,i=n!==e.targetPath;i&&(w(e=>{if(!(a in e))return e;let t={...e};return delete t[a],t}),F(e=>{if(!(a in e))return e;let t={...e};return delete t[a],t})),I(l,{targetPath:n,valueTitleField:i?void 0:e.valueTitleField,value:i?void 0:e.value})}})]}),(c||!!e.targetPath)&&(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Value")}),(0,m.jsx)(dh.zv,{targetPath:e.targetPath||"",value:e.value,onChange:e=>I(l,{value:e}),extraMetaTree:i,...(null==p?void 0:p(e,l))||{},enableDateVariableAsConstant:v,associationFieldNamesOverride:u&&b?{label:b,value:u.valueKey}:void 0},`${e.targetPath||"no-field"}::${b||""}`),q&&(0,m.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:6},children:(0,m.jsx)(k.Popover,{trigger:"click",open:V,onOpenChange:e=>{F(t=>({...t,[a]:e}))},placement:"bottomRight",title:t("Advanced"),content:(0,m.jsx)("div",{style:{minWidth:280},children:(0,m.jsxs)(k.Space,{size:8,align:"center",wrap:!0,children:[(0,m.jsx)("span",{style:{fontSize:12,opacity:.75},children:t("Title field")}),z]})}),children:(0,m.jsx)(k.Button,{type:"link",size:"small",style:{paddingInline:0,height:"auto"},icon:V?(0,m.jsx)(H.UpOutlined,{}):(0,m.jsx)(H.DownOutlined,{}),children:t("Advanced")})})})]}),!s&&(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Assignment mode")}),(0,m.jsx)(k.Radio.Group,{value:n,style:{width:"100%"},onChange:e=>I(l,{mode:e.target.value}),children:(0,m.jsxs)(k.Space,{size:16,children:[(0,m.jsx)(k.Radio,{value:"default",children:E("default")}),(0,m.jsx)(k.Radio,{value:"assign",children:E("assign")})]})})]}),d&&(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Condition")}),(0,m.jsx)(O.H,{value:e.condition||{logic:"$and",items:[]},onChange:e=>I(l,{condition:e}),extraMetaTree:i})]})]})}}),J=h.default.useMemo(()=>{if(!y.length)return[];let e=-1;for(let l=y.length-1;l>=0;l--){var t;if((null==(t=y[l])?void 0:t.enable)!==!1){e=l;break}}let l=e>=0?e:0,o=y[l],n=(null==o?void 0:o.key)||String(l);return n?[n]:[]},[y]);return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[y.length?(0,m.jsx)(k.Collapse,{items:G,size:"small",style:{marginBottom:8},defaultActiveKey:J,accordion:!0}):(0,m.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:6,backgroundColor:"#fafafa",marginBottom:8},children:(0,m.jsx)(k.Empty,{description:t("No data"),style:{margin:"20px 0"}})}),(0,m.jsx)(k.Button,{type:"dashed",icon:(0,m.jsx)(H.PlusOutlined,{}),onClick:D,style:{width:"100%"},children:t("Add")})]})};function dB(e){return(0,tH.Gj)(e)}function dH(e,t){var l,o,n,i,r;let a=e=>{if(null==e)return null;if(Array.isArray(e)){let t=e.map(e=>String(e??"")).filter(Boolean);return t.length?t[t.length-1]:null}return String(e)},s=a(null==e||null==(l=e.props)?void 0:l.label);if(s)return t(s);let d=null==e||null==(i=e.subModels)||null==(n=i.field)||null==(o=n.context)?void 0:o.collectionField,u=a(null==d?void 0:d.title);if(u)return t(u);let c=a(null==e||null==(r=e.props)?void 0:r.name)||a(null==e?void 0:e.fieldPath);return c?c.includes(".")?c.split(".").filter(Boolean).slice(-1)[0]||c:t(c):""}function dq(e){let t=String(e||"").split(".").map(e=>e.trim()).filter(Boolean);return t.length?t[t.length-1]:""}function dV(e){var t;if(!e||"object"!=typeof e)return null;let l=(null==e?void 0:e.collection)||(null==e||null==(t=e.context)?void 0:t.collection);return l&&"object"==typeof l?l:null}function d$(e,t){let l="function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[],o=[];for(let e of l){var n;if(!e)continue;let l=e,i="string"==typeof l.interface?l.interface:void 0;if(!i||"formula"===i)continue;let r=String(l.name||"");if(!r)continue;let a=t("string"==typeof l.title?l.title:r),s=!!(null==(n=l.isAssociationField)?void 0:n.call(l)),d=!!l.targetCollection;o.push({label:a,value:r,isLeaf:!(s&&d)})}return o}function dz(e,t){let l=Array.isArray(e)?e:[],o=Array.isArray(t)?t:[],n=new Set;for(let e of l){let t=(null==e?void 0:e.value)?String(e.value):"";t&&n.add(t)}return[...l,...o.filter(e=>{let t=(null==e?void 0:e.value)?String(e.value):"";return!!t&&!n.has(t)})]}function dK(e){var t,l,o;let{formBlockModel:n,t:i,maxFormItemDepth:r=1/0}=e,a=(null==n||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[],s=dV(n),d=(e,t)=>{if(!Array.isArray(e)||t>r)return[];let l=[];for(let r of e){var o,n,a,s,u,c;if(!r)continue;let e=dH(r,i),p=dB(r);if(!p)continue;let m=dq(p);if(!m)continue;let h={label:e,value:m},f=null==r||null==(o=r.subModels)?void 0:o.field,g=null==f||null==(s=f.subModels)||null==(a=s.grid)||null==(n=a.subModels)?void 0:n.items,v=null==f||null==(u=f.context)?void 0:u.collectionField,y=!!(null==v||null==(c=v.isAssociationField)?void 0:c.call(v)),_=!!(null==v?void 0:v.targetCollection);if(Array.isArray(g)){if(y&&_)h.isLeaf=!1;else{let e=g.length?d(g,t+1):[];e.length?(h.children=e,h.isLeaf=!1):h.isLeaf=!0}l.push(h);continue}y&&_?h.isLeaf=!1:h.isLeaf=!0,l.push(h)}return l};return dz(d(a,1),d$(s,i))}function dU(e,t){var l;let o="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;return!!e&&!!o&&!!(null==(l=(0,r.getCollectionFieldInterface)(o,e))?void 0:l.titleUsable)}function dG(e){let t=(null==e?void 0:e.dataSourceKey)??(null==e?void 0:e.dataSource);return"string"==typeof t&&t?t:a.Ze}function dJ(e){let t=null==e?void 0:e.name;if("string"==typeof t&&t)return t;throw Error("Target collection name is required for syncing title field.")}function dW(e){return e&&e!==a.Ze?`dataSources/${e}/collections:update`:"collections:update"}async function dX(e){var t,l;let{api:o,dataSourceManager:n,targetCollection:i,titleField:r}=e;if("function"!=typeof(null==o?void 0:o.request))throw Error("API client is unavailable.");if("string"!=typeof r||!r)throw Error("Title field is required.");let a=dJ(i),s=dG(i);await o.request({url:dW(s),method:"post",params:{filterByTk:a},data:{titleField:r}}),null==i||null==(t=i.setOption)||t.call(i,"titleField",r);let d=null==n||null==(l=n.getDataSource)?void 0:l.call(n,s);return d&&"function"==typeof d.reload&&await d.reload(),{dataSourceKey:s,collectionName:a,titleField:r}}function dQ(e){let{api:t,dataSourceManager:l}=(0,r.useFlowContext)();return{isTitleFieldCandidate:h.default.useCallback(e=>dU(l,e),[l]),onSyncAssociationTitleField:h.default.useCallback(async o=>{let{targetCollection:n,titleField:i}=o;try{await dX({api:t,dataSourceManager:l,targetCollection:n,titleField:i}),k.message.success(e("Saved successfully"))}catch(l){let t=(null==l?void 0:l.message)?String(l.message):e("Save failed");throw k.message.error(t),l}},[t,l,e])}}var dZ=l(3127);let d0=(0,r.observer)(e=>{let t=(0,r.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:o,onSyncAssociationTitleField:n}=dQ(l),i="function"==typeof e.onChange,a=h.default.useMemo(()=>dK({formBlockModel:t.model,t:l}),[t.model]),s=h.default.useMemo(()=>(0,dZ.K7)(t.model),[t.model]),d=h.default.useMemo(()=>(0,oS.PP)(t.model,"formModelSettings","assignRules"),[t.model]),u=h.default.useRef(!1),[c,p]=h.default.useState(!1),f=h.default.useCallback(()=>{u.current||(u.current=!0,p(!0))},[]),v=h.default.useMemo(()=>Array.isArray(e.value)?e.value:[],[e.value]),y=h.default.useMemo(()=>d?v:(0,dZ.S2)(e.value,s),[d,s,v,e.value]),_=h.default.useMemo(()=>i&&c?v:y,[i,c,y,v]),b=h.default.useCallback(t=>{var l;i&&(f(),null==(l=e.onChange)||l.call(e,t))},[i,f,e.onChange]);return h.default.useEffect(()=>{if(!u.current&&i){if(d)return void f();if(!(0,g.isEqual)(v,y)){var t;null==(t=e.onChange)||t.call(e,y)}f()}},[i,d,y,f,v,e.onChange]),(0,m.jsx)(dO,{t:l,fieldOptions:a,rootCollection:(0,tH.w7)(t.model),value:_,onChange:b,showValueEditorWhenNoField:!0,isTitleFieldCandidate:o,onSyncAssociationTitleField:n,enableDateVariableAsConstant:!0})}),d1=(0,r.defineAction)({name:"formAssignRules",title:(0,r.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":d0}}),defaultParams:{value:[]},handler(){}}),d2=(0,r.observer)(e=>{let t=(0,r.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:o,onSyncAssociationTitleField:n}=dQ(l),i="function"==typeof e.onChange,s=h.default.useMemo(()=>dK({formBlockModel:t.model,t:l}),[t.model]),d=h.default.useMemo(()=>oA(t.model),[t.model]),u=h.default.useMemo(()=>(0,oS.PP)(t.model,"formFilterBlockModelSettings","defaultValues"),[t.model]),c=h.default.useCallback(e=>{var l,o,n,i;let r=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!r)return{};let s=(0,tH.eo)(t.model,r);return s?{operator:V(s),operatorMetaList:(null==s||null==(o=s.collectionField)||null==(l=o.filterable)?void 0:l.operators)||((null==s||null==(i=s.context)||null==(n=i.filterField)?void 0:n.type)?null===a.II||void 0===a.II?void 0:a.II[s.context.filterField.type]:[])||[],preferFormItemFieldModel:!0}:{}},[t.model]),p=h.default.useRef(!1),[f,v]=h.default.useState(!1),y=h.default.useCallback(()=>{p.current||(p.current=!0,v(!0))},[]),_=h.default.useMemo(()=>Array.isArray(e.value)?e.value:[],[e.value]),b=h.default.useMemo(()=>u?_:(0,oS.S2)(e.value,d),[u,d,_,e.value]),x=h.default.useMemo(()=>i&&f?_:b,[i,f,b,_]),M=h.default.useCallback(t=>{var l;i&&(y(),null==(l=e.onChange)||l.call(e,t))},[i,y,e.onChange]);return h.default.useEffect(()=>{if(!p.current&&i){if(u)return void y();if(!(0,g.isEqual)(_,b)){var t;null==(t=e.onChange)||t.call(e,b)}y()}},[i,u,b,y,_,e.onChange]),(0,m.jsx)(dO,{t:l,fieldOptions:s,rootCollection:(0,tH.w7)(t.model),value:x,onChange:M,fixedMode:"default",showCondition:!1,showValueEditorWhenNoField:!0,getValueInputProps:c,isTitleFieldCandidate:o,onSyncAssociationTitleField:n})}),d5=(0,r.defineAction)({name:"filterFormDefaultValues",title:(0,r.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":d2}}),defaultParams:{value:[]},handler(){}}),d4=(0,r.defineAction)({name:"linkageRulesRefresh",async handler(e,t){var l,o,n,i,r;let a=null==t?void 0:t.actionName,s=null==t?void 0:t.flowKey,d=(null==t?void 0:t.stepKey)||"linkageRules";if(!a||!s)return;let u=e.model;if(!u.getFlow(s))return;let c=!!((null==e?void 0:e.flowSettingsEnabled)||(null==u||null==(o=u.context)?void 0:o.flowSettingsEnabled)),p=!(null==u?void 0:u.isFork)&&!!(null==u||null==(n=u.forks)?void 0:n.size)&&Array.from((null==u?void 0:u.forks)||[]).some(e=>{var t,l,o;return!!e&&!e.disposed&&!!(null==e||null==(l=e.context)||null==(t=l.ref)?void 0:t.current)&&!!(null==e||null==(o=e.getFlow)?void 0:o.call(e,s))}),m=!!(null==u||null==(r=u.context)||null==(i=r.ref)?void 0:i.current);if(p&&!m&&!c)return;let h=`${s}:${d}:${a}`,f=(l=u).__linkageRulesRefreshInflight||(l.__linkageRulesRefreshInflight=new Map),g=f.get(h);if(g)return void await g;let v=(async()=>{var t,l;let o=null==u||null==(t=u.getStepParams)?void 0:t.call(u,s,d),n=null==(l=e.getAction)?void 0:l.call(e,a),i=(null==n?void 0:n.useRawParams)?{value:[],...o||{}}:await e.resolveJsonTemplate({value:[],...o||{}});(null==n?void 0:n.handler)&&await n.handler(e,i)})();f.set(h,v);try{await v}finally{f.delete(h)}}}),d8="defaultHeight",d3="specifyValue",d6="fullHeight",d9=(0,r.defineAction)({name:"blockHeight",title:(0,r.tExpr)("Block height"),uiMode:{type:"dialog"},uiSchema:e=>{let{t}=e;return{heightMode:{type:"string",enum:[{label:t("Default"),value:d8},{label:t("Specify height"),value:d3},{label:t("Full height"),value:d6}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},height:{title:t("Height"),type:"number",required:!0,"x-decorator":"FormItem","x-component":k.InputNumber,"x-component-props":{addonAfter:"px"},"x-validator":[{minimum:40}],"x-reactions":{dependencies:["heightMode"],fulfill:{state:{hidden:'{{ $deps[0]==="fullHeight"||$deps[0]==="defaultHeight"}}',value:'{{$deps[0]!=="specifyValue"?null:$self.value}}'}}}}}},defaultParams:e=>({heightMode:d8}),async handler(e,t){e.model.setDecoratorProps({heightMode:t.heightMode,height:t.height})}});var d7=l(5886),ue=l(9613);let ut="formValuesChange",ul="__formValueDrivenLinkageRefreshBindings";function uo(e,t){return e.length===t.length&&e.every((e,l)=>e===t[l])}function un(e,t){return!(e.length>t.length)&&e.every((e,l)=>e===t[l])}function ui(e){let t=new Map;for(let l of e)(null==l?void 0:l.length)&&t.set((0,iQ.Qc)(l),l);return Array.from(t.values())}function ur(e){let t=ui(e);return t.filter((e,l)=>!t.some((t,o)=>o!==l&&un(e,t)))}function ua(e){let t=Array.isArray(e)?e:[],l=[];for(let e of t){if("string"!=typeof e)continue;let[t,o]=e.split(":"),n=Number(o);!t||Number.isNaN(n)||l.push({name:t,index:n})}return l}function us(e){var t,l;return ua((null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex))}function ud(e,t){let l=e.length-1-t;if(l<0)return null;let o=[];for(let t=0;t<=l;t++)o.push(e[t].name,e[t].index);return o}function uu(e,t){let l=ud(e,t);return(null==l?void 0:l.length)?l.slice(0,-1):null}function uc(e,t){let l=us(e);if(!l.length)return{wildcard:!0,valuePaths:[],structuralPaths:[]};let o=0,n=[...t];for(;"parentItem"===n[0];)o+=1,n=n.slice(1);let i=n[0];if(!i)return{wildcard:!0,valuePaths:[],structuralPaths:[]};if("value"===i){let e=ud(l,o);if(!e)return{wildcard:!0,valuePaths:[],structuralPaths:[]};let t=uu(l,o);return{wildcard:!1,valuePaths:[[...e,...n.slice(1)]],structuralPaths:t?[t]:[]}}if("index"===i||"length"===i){let e=uu(l,o);return e?{wildcard:!1,valuePaths:[],structuralPaths:[e]}:{wildcard:!0,valuePaths:[],structuralPaths:[]}}if("__is_new__"===i||"__is_stored__"===i){let e=ud(l,o);return e?{wildcard:!1,valuePaths:[[...e,i]],structuralPaths:[]}:{wildcard:!0,valuePaths:[],structuralPaths:[]}}return{wildcard:!0,valuePaths:[],structuralPaths:[]}}function up(e,t){if("string"==typeof e&&e.trim())for(let[l,o]of Object.entries((0,r.extractUsedVariablePathsFromRunJS)(e)||{})){let e=Array.isArray(o)?o:[];for(let o of e.length?e:[""]){if("formValues"===l){if(!o){t.wildcard=!0;continue}let e=(0,iQ.EA)(String(o)).filter(e=>"object"!=typeof e);(0,ue.Dd)(e,t);continue}if("item"===l){let e=o?`ctx:item:${String(o)}`:"ctx:item";t.deps.add(e)}}}}function um(e,t){let l=new WeakSet,o=e=>{if(!e||"object"!=typeof e||l.has(e))return;if(l.add(e),(0,r.isRunJSValue)(e)&&(0,ue.Wp)(e,t),Array.isArray(e))return void e.forEach(o);let n=null==e?void 0:e.name;("linkageRunjs"===n||"runjs"===n)&&(up(g.default.get(e,["params","value","script"]),t),up(g.default.get(e,["params","code"]),t)),Object.values(e).forEach(o)};o(e)}function uh(e,t){let l={deps:new Set,wildcard:!1};(0,ue.G)(t,l),um(t,l);let o=[],n=[],i=l.wildcard;for(let t of l.deps){if("fv:*"===t){i=!0;continue}if(t.startsWith("fv:")){let e=t.slice(3);if(!e){i=!0;continue}o.push((0,iQ.c1)(e));continue}if("ctx:item"===t||t.startsWith("ctx:item:")){let l="ctx:item"===t?"":t.slice(9),r=uc(e,l?(0,iQ.EA)(l).filter(e=>"object"!=typeof e):[]);i||(i=r.wildcard),o.push(...r.valuePaths),n.push(...r.structuralPaths)}}return{wildcard:i,valuePaths:ur(o),structuralPaths:ui(n)}}function uf(e){return e.wildcard||e.valuePaths.length>0||e.structuralPaths.length>0}function ug(e){let t=Array.isArray(null==e?void 0:e.changedPaths)?e.changedPaths:[],l=[];for(let e of t){if(Array.isArray(e)){if(1===e.length&&"string"==typeof e[0]){let t=(0,iQ.c1)(e[0]);t.length&&l.push(t);continue}let t=e.filter(e=>"string"==typeof e||"number"==typeof e);t.length&&l.push(t);continue}"string"==typeof e&&e&&l.push((0,iQ.c1)(e))}if(l.length)return l;let o=null==e?void 0:e.changedValues;if(o&&"object"==typeof o)for(let e of Object.keys(o)){let t=(0,iQ.c1)(e);t.length&&l.push(t)}return l}function uv(e,t){if(!uf(e))return!1;let l=ug(t);if(e.wildcard||!l.length)return!0;for(let t of l){for(let l of e.valuePaths)if(un(l,t)||un(t,l))return!0;for(let l of e.structuralPaths)if(uo(l,t)||un(t,l))return!0}return!1}function uy(e,t){let l=e=>e.map(e=>(0,iQ.Qc)(e)).sort();return JSON.stringify({formBlockUid:null==t?void 0:t.uid,wildcard:e.wildcard,valuePaths:l(e.valuePaths),structuralPaths:l(e.structuralPaths)})}function u_(e){var t,l;return(t=e)[l=ul]||(t[l]=new Map)}function ub(e){var t,l;return!!e&&"object"==typeof e&&!!e.emitter&&"function"==typeof e.emitter.on&&"function"==typeof e.emitter.off&&(!!e.formValueRuntime||!!(null==(t=e.context)?void 0:t.form)||"function"==typeof(null==(l=e.context)?void 0:l.setFormValues))}function ux(e){var t,l,o;let n=[],i=e=>{e&&!n.includes(e)&&n.push(e)};i(null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel),i(e.model);let r=null==(o=e.model)?void 0:o.parent;for(;r;)i(r),r=null==r?void 0:r.parent;return n.find(ub)||null}function uM(e,t){let l=u_(e).get(t);l&&l.dispose()}function uw(e,t,l){var o,n,i,a,s,d;let u=e.model,c=null==e?void 0:e.flowKey;if(!u||!c)return;let p="linkageRules",m=`${c}:${p}:${l}`,h=u_(u),f=uh(e,t);if(!uf(f))return void uM(u,m);let g=ux(e);if(!g)return void uM(u,m);let v=uy(f,g),y=h.get(m);if((null==y?void 0:y.signature)===v)return;y&&y.dispose();let _={signature:v,running:!1,linkageTxIds:new Set,pendingPayload:null,dispose:()=>{}},b=(null==u||null==(o=u.flowEngine)?void 0:o.emitter)||(null==e||null==(n=e.engine)?void 0:n.emitter)||(null==u||null==(a=u.context)||null==(i=a.engine)?void 0:i.emitter),x=()=>{var e,t,l,o;null==(t=g.emitter)||null==(e=t.off)||e.call(t,ut,w),null==b||null==(l=b.off)||l.call(b,"model:unmounted",S),null==b||null==(o=b.off)||o.call(b,"model:destroyed",k),h.get(m)===_&&h.delete(m)},M=e=>{if("string"!=typeof e||!e||(_.linkageTxIds.add(e),_.linkageTxIds.size<=20))return;let t=_.linkageTxIds.values().next().value;t&&_.linkageTxIds.delete(t)},w=o=>{let n="string"==typeof(null==o?void 0:o.linkageTxId)?o.linkageTxId:void 0;if((null==o?void 0:o.source)==="linkage"&&n&&_.linkageTxIds.has(n))return;if(u.disposed||g.disposed)return void x();if(!uv(uh(e,t),o))return;if(_.running){_.pendingPayload=o;return}let i=n||("string"==typeof(null==o?void 0:o.txId)?o.txId:void 0);M(i),_.running=!0;let a=new r.FlowRuntimeContext(u,c);a.defineProperty("inputArgs",{value:{...o||{},linkageTxId:i}}),d4.handler(a,{actionName:l,flowKey:c,stepKey:p}).catch(e=>{console.warn("[linkageRules] Failed to refresh form value driven linkage rules",e)}).finally(()=>{_.running=!1;let e=_.pendingPayload;_.pendingPayload=null,e&&w(e)})},S=e=>{let{model:t}=e;(t===g||t===u&&u.disposed)&&x()},k=e=>{let{model:t}=e;(t===u||t===g)&&x()};_.dispose=x,h.set(m,_),g.emitter.on(ut,w),null==b||null==(s=b.on)||s.call(b,"model:unmounted",S),null==b||null==(d=b.on)||d.call(b,"model:destroyed",k)}let uS=e=>{if(null==e)return e;let t=typeof e;if("string"===t||"number"===t||"boolean"===t)return e;if(Array.isArray(e))return e.length<=3?e:`[Array(${e.length})]`;if("object"===t){let t=null==e?void 0:e.id;return null!=t?{id:t}:"[Object]"}return`[${t}]`},uk=e=>{let t=0,l=e;for(;l;)(l instanceof re||l instanceof rl)&&(t+=1),l=null==l?void 0:l.parent;return t},uF=e=>{let t=Number(null==e?void 0:e.linkageScopeDepth);return Number.isFinite(t)?t:uk(null==e?void 0:e.model)},uC=e=>{try{var t,l,o,n;return((null==(n=e.model)||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[]).map(e=>({label:e.props.label||e.props.name,value:e.uid,model:e}))}catch(e){return console.warn("Failed to get form fields:",e),[]}},uA=e=>e.map(e=>e&&"object"==typeof e?{...e}:e),uP=new Set(["select","multipleSelect","radioGroup","checkboxGroup"]),uT=e=>{var t,l,o,n,i;return(null==e||null==(t=e.collectionField)?void 0:t.interface)||(null==e||null==(i=e.subModels)||null==(n=i.field)||null==(o=n.context)||null==(l=o.collectionField)?void 0:l.interface)},uI=e=>uP.has(uT(e)),uj=e=>{var t,l,o,n;let i=(null==e||null==(t=e.subModels)?void 0:t.field)||e,r=(0,tQ.di)(null==e||null==(o=e.collectionField)||null==(l=o.uiSchema)?void 0:l.enum,e=>e)||[];return r.length>0?(i._originalOptionsFallback=uA(r),i._originalOptionsFallback):Array.isArray(null==i?void 0:i._originalOptionsFallback)&&i._originalOptionsFallback.length>0?i._originalOptionsFallback:Array.isArray(null==i||null==(n=i.props)?void 0:n.options)&&i.props.options.length>0?(i._originalOptionsFallback=uA(i.props.options),i._originalOptionsFallback):null},uL=(e,t)=>{let l=uj(e);return l?l.map(e=>e&&"object"==typeof e&&"string"==typeof e.label?{...e,label:t(e.label)}:e):[]},uD=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0,o=t.map(t=>{var l;return null==(l=e.find(e=>e.value===t))?void 0:l.model}).filter(e=>uI(e)).filter(Boolean).flatMap(e=>uL(e,l)),n=new Map;return o.forEach(e=>{n.set(JSON.stringify(null==e?void 0:e.value),e)}),Array.from(n.values())},uY=(e,t)=>{switch(e){case"visible":return{hiddenModel:!1};case"hidden":return{hiddenModel:!0};case"hiddenReservedValue":return{hidden:!0};case"required":return{required:!0};case"notRequired":return{required:!1};case"disabled":return{disabled:!0};case"enabled":return{disabled:!1};case"limitOptions":return Array.isArray(t)?{options:t}:{};default:return null}},uE=(e,t)=>{var l;return"limitOptions"===e&&(null==t||null==(l=t.subModels)?void 0:l.field)||t},uR=e=>e&&"object"==typeof e&&1===Object.keys(e).length&&Array.isArray(e.options),uN=(e,t)=>{uR(t)&&(null==e?void 0:e.forks)&&"function"==typeof e.forks.forEach&&e.forks.forEach(e=>{var l;null==e||null==(l=e.setProps)||l.call(e,{options:uA(t.options)})})},uO=e=>{let{value:t={fields:[]},onChange:l,includeFormStates:o=!0,fieldOptionsGetter:n=uC}=e,i=(0,r.useFlowContext)(),a=i.model.translate.bind(i.model),s=n(i),d=(t.fields||[]).map(e=>{var t;return null==(t=s.find(t=>t.value===e))?void 0:t.model}).filter(Boolean),u=1===d.length&&d.every(e=>uI(e)),c=[{label:a("Visible"),value:"visible"},{label:a("Hidden"),value:"hidden"},{label:a("Hidden (reserved value)"),value:"hiddenReservedValue"},o&&{label:a("Required"),value:"required"},o&&{label:a("Not required"),value:"notRequired"},o&&{label:a("Disabled"),value:"disabled"},o&&{label:a("Enabled"),value:"enabled"},o&&u&&{label:a("Options"),value:"limitOptions"}].filter(Boolean),p=uD(s,t.fields,a),h=e=>{let o=e.map(e=>{var t;return null==(t=s.find(t=>t.value===e))?void 0:t.model}).filter(Boolean),n=1===o.length&&o.every(e=>uI(e)),i="limitOptions"!==t.state||n?t.state:void 0,r="limitOptions"===t.state||"limitOptions"===i?[]:t.selectedOptions;l({...t,fields:e,state:i,selectedOptions:r})},f=e=>{l({...t,state:e,selectedOptions:"limitOptions"===e?t.selectedOptions||[]:void 0})},g=e=>{l({...t,selectedOptions:p.filter(t=>e.includes(t.value))})};return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:a("Fields")}),(0,m.jsx)(k.Select,{mode:"multiple",value:t.fields,onChange:h,placeholder:a("Please select fields"),style:{width:"100%"},options:s,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]}),(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:a("State")}),(0,m.jsx)(k.Select,{value:t.state,onChange:f,placeholder:a("Please select state"),style:{width:"100%"},options:c,allowClear:!0})]}),"limitOptions"===t.state&&u&&(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:a("Options")}),(0,m.jsx)(k.Select,{mode:"multiple",value:(t.selectedOptions||[]).map(e=>e.value),onChange:g,style:{width:"100%"},options:p,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]})]})},uB=e=>{try{var t,l,o,n;return((null==(n=e.model)||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[]).map(e=>{let t=Array.from(e.forks)[0];return t?{label:(null==t?void 0:t.props.label)||(null==t?void 0:t.props.name),value:(null==t?void 0:t.uid)||e.uid,model:t}:{label:e.props.label||e.props.name,value:e.uid,model:e}})}catch(e){return console.warn("Failed to get form fields:",e),[]}};function uH(e){let t=e;return t.includes(",")&&t.includes(":")?t.split(",").map(e=>e.trim()).filter(Boolean):t?[t]:[]}function uq(e){let[t,l]=String(e||"").split(":");if(!t)return null;let o=Number(l);return Number.isFinite(o)?{fieldName:t,index:o}:null}function uV(e,t){let l,o;if(!e)return null;let n=String(e).split(".").map(e=>e.trim()).filter(Boolean);if(!n.length)return null;let i=uH(t).map(uq).filter(Boolean),r=0,a=[];for(let e of n){a.push(e);let t=i[r];t&&t.fieldName===e&&(l=[...a],o=t.index,a.push(t.index),r+=1)}return{fieldPathArray:a,listRootPath:l,listRowIndex:o,hasUnmatchedIndices:r<i.length}}function u$(e,t,l){if(Array.isArray(e))return e;if(!e||"object"!=typeof e)return[];let o=null==e?void 0:e.field,n=null==e?void 0:e[t.valueKey];if(o){let e=null==l?void 0:l(String(o));return e?[{key:"legacy",enable:!0,targetPath:e,mode:t.mode,condition:{logic:"$and",items:[]},value:n}]:[]}return[]}function uz(e){return t=>{try{var l,o,n,i;let r=null==(o=e.engine)||null==(l=o.getModel)?void 0:l.call(o,t),a=(null==r||null==(i=r.getStepParams)||null==(n=i.call(r,"fieldSettings","init"))?void 0:n.fieldPath)||(null==r?void 0:r.fieldPath);return a?String(a):void 0}catch(e){console.warn(`Failed to resolve legacy field uid ${t}:`,e);return}}}let uK=Symbol("SKIP_RUNJS_ASSIGN_VALUE");async function uU(e,t){if(!(0,r.isRunJSValue)(t))return t;try{let{code:l,version:o}=(0,r.normalizeRunJSValue)(t),n=await (0,r.runjsWithSafeGlobals)(e,l,{version:o});if(!(null==n?void 0:n.success))return uK;return n.value}catch(e){return console.warn("[linkageRules] Failed to evaluate RunJS assign value",e),uK}}function uG(e){var t,l,o;let n=e=>{var t,l;if(!e||"object"!=typeof e)return null;let o=null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"fieldSettings","init"))?void 0:t.fieldPath,n=null==e?void 0:e.fieldPath;return"string"==typeof o&&o||"string"==typeof n&&n||null},i=null==(t=e.model)?void 0:t.parent;for(;i;){let e=n(i);if(e)return e;i=null==i?void 0:i.parent}let r=null==(o=e.model)||null==(l=o.context)?void 0:l.prefixFieldPath;return"string"==typeof r&&r?r:null}function uJ(e,t){let l=String(t||"").trim();if(!l)return null;let o=(0,tH.eo)(e.model,l);if(o)return{targetPath:l,fieldModel:o};let n=uG(e);if(!n)return null;let i=String(n).split(".").map(e=>e.trim()).filter(Boolean),r=String(l).split(".").map(e=>e.trim()).filter(Boolean);if(!i.length||!r.length)return null;let a=e=>e.filter(Boolean).join("."),s=[],d=e=>{let t=String(e||"").trim();t&&(s.includes(t)||s.push(t))};d(l);let u=[],c=Math.min(i.length,r.length);for(let e=c;e>=1;e--){let t=i.slice(i.length-e),l=r.slice(0,e);if(!g.default.isEqual(t,l))continue;let o=a([...i,...r.slice(e)]);o&&!u.includes(o)&&u.push(o),d(o)}let p=a([...i,...r]);for(let t of(d(p),s)){let l=(0,tH.eo)(e.model,t);if(l)return{targetPath:t,fieldModel:l}}let m=1===r.length?p:u.length>0?u[0]:l;return m?{targetPath:m,fieldModel:null}:null}let uW=(0,r.defineAction)({name:"linkageSetBlockProps",title:(0,r.tExpr)("Set block state"),scene:r.ActionScene.BLOCK_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,m.jsx)(k.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l})}}),uX=(0,r.defineAction)({name:"linkageSetActionProps",title:(0,r.tExpr)("Set button state"),scene:r.ActionScene.ACTION_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,m.jsx)(k.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"},{label:n("Hidden text"),value:"hiddenText"},{label:n("Enabled"),value:"enabled"},{label:n("Disabled"),value:"disabled"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l,disabled:"disabled"===l,hiddenText:"hiddenText"===l})}}),uQ=(0,r.defineAction)({name:"linkageSetMenuItemProps",title:(0,r.tExpr)("Set menu item state"),scene:r.ActionScene.MENU_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,m.jsx)(k.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l})}}),uZ=(0,r.defineAction)({name:"linkageSetFieldProps",title:(0,r.tExpr)("Set field state"),scene:r.ActionScene.FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,m.jsx)(uO,{...e})}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var n,r,a,s;let d=((null==(s=e.model)||null==(a=s.subModels)||null==(r=a.grid)||null==(n=r.subModels)?void 0:n.items)||[]).find(e=>e.uid===t);if(d){let e=uY(i,null==l?void 0:l.selectedOptions);if(!e)return void console.warn(`Unknown state: ${i}`);o(uE(i,d),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),u0=(0,r.defineAction)({name:"subFormLinkageSetFieldProps",title:(0,r.tExpr)("Set field state"),scene:r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,m.jsx)(uO,{...e,fieldOptionsGetter:uB})}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var n,r,a,s,d;let u=null==(r=e.engine)||null==(n=r.getModel)?void 0:n.call(r,t);if(!u)return void console.warn("[subFormLinkageSetFieldProps] Target field model not found",{fieldUid:t,modelUid:null==(d=e.model)?void 0:d.uid});let c=null==(s=e.model)||null==(a=s.context)?void 0:a.fieldKey,p=c?`${c}:${t}`:void 0,m=p&&"function"==typeof u.getFork?u.getFork(p):null,h=m;if(m||(h=u),h){let e=uY(i,null==l?void 0:l.selectedOptions);if(!e)return void console.warn(`Unknown state: ${i}`);o(uE(i,h),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),u1=(0,r.defineAction)({name:"linkageSetDetailsFieldProps",title:(0,r.tExpr)("Set field state"),scene:r.ActionScene.DETAILS_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,m.jsx)(uO,{...e,includeFormStates:!1})}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var l,n,r,a;let s=((null==(a=e.model)||null==(r=a.subModels)||null==(n=r.grid)||null==(l=n.subModels)?void 0:l.items)||[]).find(e=>e.uid===t);if(s){let e=uY(i);if(!e)return void console.warn(`Unknown state: ${i}`);o(uE(i,s),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),u2={mode:"assign",valueKey:"assignValue"},u5={mode:"default",valueKey:"initialValue"},u4=e=>{let{value:t,onChange:l,legacy:o,fixedMode:n}=e,i=(0,r.useFlowContext)(),a=h.default.useCallback(e=>i.model.translate(e),[i.model]),{isTitleFieldCandidate:s,onSyncAssociationTitleField:d}=dQ(a),u=h.default.useMemo(()=>dK({formBlockModel:i.model,t:a,maxFormItemDepth:1}),[i.model,a]),c=u$(t,o,uz(i)),p=h.default.useCallback(e=>{"function"==typeof l&&l(e)},[l]);return(0,m.jsx)(dO,{t:a,fieldOptions:u,rootCollection:(0,tH.w7)(i.model),value:c,onChange:p,fixedMode:n,isTitleFieldCandidate:s,onSyncAssociationTitleField:d,enableDateVariableAsConstant:!0})},u8=e=>(0,m.jsx)(u4,{...e,legacy:u2}),u3=e=>(0,m.jsx)(u4,{...e,legacy:u2}),u6=e=>(0,m.jsx)(u4,{...e,legacy:u5,fixedMode:"default"}),u9=(0,r.defineAction)({name:"linkageAssignField",title:(0,r.tExpr)("Field assignment"),scene:r.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":u8}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=u$(l,{mode:"assign",valueKey:"assignValue"},uz(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]});for(let l of i){var a,s;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let u=null==l?void 0:l.condition;if(u&&!(0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(u),t))continue;let c=(0,tH.eo)(e.model,i),p=i.split(".")[0],m=(null==c?void 0:c.collectionField)??(null==(s=(0,tH.w7)(e.model))||null==(a=s.getField)?void 0:a.call(s,p)),h=null==l?void 0:l.value;if((0,r.isRunJSValue)(h)&&(h=await uU(e,h))===uK)continue;let f=tG(m,h);if(void 0===f){c&&o(c,{});continue}let g=(null==l?void 0:l.mode)==="default"?"default":"assign";c?o(c,"default"===g?{initialValue:f}:{value:f}):"function"==typeof n&&n({path:i,value:f,whenEmpty:"default"===g})}}catch(e){console.warn("[linkageAssignField] Failed to assign value to fields",e)}}}),u7=(0,r.defineAction)({name:"subFormLinkageAssignField",title:(0,r.tExpr)("Field assignment"),scene:r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":u3}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=u$(l,{mode:"assign",valueKey:"assignValue"},uz(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]}),l=()=>{let t=e.model;return(null==t?void 0:t.__subFormLinkageExplicitPathKeys)instanceof Set||(t.__subFormLinkageExplicitPathKeys=new Set),t.__subFormLinkageExplicitPathKeys},g=t=>{var l,o;let n=(0,iQ.IJ)(t,null==(o=e.model)||null==(l=o.context)?void 0:l.fieldIndex);if(!Array.isArray(n)||!n.length)return null;let i=n.filter(e=>"string"==typeof e||"number"==typeof e);return i.length?(0,iQ.Qc)(i):null},v=()=>{let t=null==e?void 0:e.inputArgs;if(!t||"user"!==t.source)return;let o=Array.isArray(t.changedPaths)?t.changedPaths:[];if(!o.length)return;let n=l();for(let t of o){let l=null;if(Array.isArray(t)){let e=t.filter(e=>"string"==typeof e||"number"==typeof e);l=e.length?e:null}else if("string"==typeof t){var i,r;let o=(0,iQ.IJ)(t,null==(r=e.model)||null==(i=r.context)?void 0:i.fieldIndex);if(Array.isArray(o)&&o.length){let e=o.filter(e=>"string"==typeof e||"number"==typeof e);l=e.length?e:null}}(null==l?void 0:l.length)&&n.add((0,iQ.Qc)(l))}},y=t=>{var o,n;let i=l(),r=g(t);if(!r)return!1;if(i.has(r))return!0;let a=(0,iQ.IJ)(t,null==(n=e.model)||null==(o=n.context)?void 0:o.fieldIndex);if(!Array.isArray(a)||!a.length)return!1;let s=[];for(let e=0;e<a.length;e++){let t=a[e];if("string"!=typeof t&&"number"!=typeof t)continue;s.push(t);let l=(0,iQ.Qc)(s);if(!i.has(l))continue;let o=a[e+1];if("number"!=typeof o)return!0}return!1};v();let _=t=>{var l,o,n,i,r,a;let s=e.engine.getModel(t);if(!s)return null;let d=null==e||null==(o=e.model)||null==(l=o.context)?void 0:l.fieldKey,u=d?`${d}:${t}`:null,c=u?s.getFork(u):null;if(d){let e=(null==s?void 0:s.fieldPath)||(null==s||null==(i=s.getStepParams)||null==(n=i.call(s,"fieldSettings","init"))?void 0:n.fieldPath),t=uV(e,d);!c&&u&&(c=s.createFork({},u)),(null==c?void 0:c.isFork)&&t&&(null==c||null==(a=c.context)||null==(r=a.defineProperty)||r.call(a,"fieldPathArray",{value:t.fieldPathArray}))}return c||(c=s),c};for(let l of i){var a,s,u,c,p,m,h,f;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let g=uJ(e,i);if(!(null==g?void 0:g.targetPath))continue;let v=g.targetPath,b=g.fieldModel||null,x=(null==b?void 0:b.uid)?String(b.uid):"",M=null==l?void 0:l.condition;if(M&&!(0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(M),t))continue;let w=(null==l?void 0:l.mode)==="default"?"default":"assign",S=(null==(s=e.model)||null==(a=s.getAclActionName)?void 0:a.call(s))??(null==(c=e.model)||null==(u=c.context)?void 0:u.actionName),k="update"===S,F=(null==e||null==(p=e.item)?void 0:p.__is_new__)===!0;if("default"===w&&k&&!F)continue;let C=v.split(".")[0],A=(null==b?void 0:b.collectionField)??(null==(h=(0,tH.w7)((null==(f=e.model)?void 0:f.parent)??e.model))||null==(m=h.getField)?void 0:m.call(h,C)),P=null==l?void 0:l.value;if((0,r.isRunJSValue)(P)&&(P=await uU(e,P))===uK)continue;let T=tG(A,P);if(void 0===T){if(!x)continue;let e=_(x);e&&o(e,{});continue}if(!x){if("default"===w&&y(v))continue;"function"==typeof n&&n({path:v,value:T,whenEmpty:"default"===w});continue}let I=_(x);I&&o(I,"default"===w?{initialValue:T}:{value:T})}}catch(e){console.warn("[subFormLinkageAssignField] Failed to assign value to fields",e)}}});(0,r.defineAction)({name:"setFieldsDefaultValue",title:(0,r.tExpr)("设置字段默认值"),scene:r.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":u6}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=u$(l,{mode:"default",valueKey:"initialValue"},uz(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]});for(let l of i){var a,s;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let u=null==l?void 0:l.condition;if(u&&!(0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(u),t))continue;let c=(0,tH.eo)(e.model,i),p=i.split(".")[0],m=(null==c?void 0:c.collectionField)??(null==(s=(0,tH.w7)(e.model))||null==(a=s.getField)?void 0:a.call(s,p)),h=null==l?void 0:l.value;if((0,r.isRunJSValue)(h)&&(h=await uU(e,h))===uK)continue;let f=tG(m,h);if(void 0===f){c&&o(c,{});continue}c?o(c,{initialValue:f}):"function"==typeof n&&n({path:i,value:f,whenEmpty:!0})}}catch(e){console.warn("[setFieldsDefaultValue] Failed to set fields default value",e)}}});let ce=(0,r.defineAction)({name:"linkageRunjs",title:(0,r.tExpr)("Execute JavaScript"),scene:[r.ActionScene.BLOCK_LINKAGE_RULES,r.ActionScene.FIELD_LINKAGE_RULES,r.ActionScene.ACTION_LINKAGE_RULES,r.ActionScene.MENU_LINKAGE_RULES,r.ActionScene.DETAILS_FIELD_LINKAGE_RULES,r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES],sort:300,useRawParams:!0,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={script:""},onChange:l}=e,o=e=>{l({...t,script:e})};return(0,m.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:(0,m.jsx)("div",{children:(0,m.jsx)(e6.BY,{value:t.script,onChange:o,height:"200px",enableLinter:!0,scene:"linkage"})})})}}},handler:async(e,t)=>{let{value:l}=t,{script:o}=l||{};if(o&&"string"==typeof o)try{let t=(0,r.createSafeNavigator)();await e.runjs(o,{window:(0,r.createSafeWindow)({navigator:t}),document:(0,r.createSafeDocument)(),navigator:t})}catch(t){var n;if(console.error("Script execution error:",t),null==(n=e.app)?void 0:n.message){let l=t instanceof Error?t.message:String(t);e.app.message.error(`Script execution error: ${l}`)}}}});function ct(e){let t=g.default.cloneDeep(e||{}),l=new Map,o=e=>{let t=`__ncb_linkage_runjs_script_mask__${(0,Q.uid)()}__`;return l.set(t,e),t},n=null==t?void 0:t.value;return Array.isArray(n)&&n.forEach(e=>{e.actions.forEach(e=>{let t=e.name;if("linkageRunjs"!==t&&"runjs"!==t)return;let l=g.default.get(e,["params","value","script"]);"string"==typeof l&&l.length&&g.default.set(e,["params","value","script"],o(l));let n=g.default.get(e,["params","code"]);"string"==typeof n&&n.length&&g.default.set(e,["params","code"],o(n))})}),{masked:t,restore:e=>{let t=null==e?void 0:e.value;return Array.isArray(t)&&t.forEach(e=>{e.actions.forEach(e=>{let t=e.name;if("linkageRunjs"!==t&&"runjs"!==t)return;let o=g.default.get(e,["params","value","script"]);"string"==typeof o&&l.has(o)&&g.default.set(e,["params","value","script"],l.get(o));let n=g.default.get(e,["params","code"]);"string"==typeof n&&l.has(n)&&g.default.set(e,["params","code"],l.get(n))})}),e}}}async function cl(e,t){let{masked:l,restore:o}=ct(t);return o(await e.resolveJsonTemplate(l))}let co=(0,r.observer)(e=>{let{value:t,supportedActions:l}=e,o=(0,r.useFlowContext)(),n=(0,r.useFlowEngine)(),i=o.model.translate.bind(o.model),a=i("Assignment takes precedence over form field assignment"),s=()=>({key:(0,Q.uid)(),title:i("Linkage rule"),enable:!0,condition:{logic:"$and",items:[]},actions:[]}),d=()=>{t.push(s())},u=e=>{t.splice(e,1)},c=e=>{if(e>0){let l=t[e];t.splice(e,1),t.splice(e-1,0,l)}},p=e=>{if(e<t.length-1){let l=t[e];t.splice(e,1),t.splice(e+1,0,l)}},h=e=>{let l=g.default.cloneDeep(t[e]),o={...l,key:(0,Q.uid)(),title:`${l.title} (Copy)`};t.splice(e+1,0,o)},v=(e,l)=>{t[e].title=l},y=(e,l)=>{t[e].enable=l},_=()=>l.map(e=>o.getAction(e)),b=(e,l)=>{let o={key:(0,Q.uid)(),name:l,params:void 0};t[e].actions.push(o)},x=(e,l)=>{t[e].actions.splice(l,1)},M=(e,l,o)=>{t[e].actions[l].params=o},w=(e,l)=>(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,m.jsx)("div",{style:{flex:1,marginRight:16},children:(0,m.jsx)(k.Input,{value:e.title,onChange:e=>v(l,e.target.value),onClick:e=>e.stopPropagation(),placeholder:"Enter rule title"})}),(0,m.jsxs)(k.Space,{onClick:e=>e.stopPropagation(),children:[(0,m.jsx)(k.Tooltip,{title:i("Delete"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.DeleteOutlined,{}),onClick:()=>u(l)})}),(0,m.jsx)(k.Tooltip,{title:i("Move up"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.ArrowUpOutlined,{}),onClick:()=>c(l),disabled:0===l})}),(0,m.jsx)(k.Tooltip,{title:i("Move down"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.ArrowDownOutlined,{}),onClick:()=>p(l),disabled:l===t.length-1})}),(0,m.jsx)(k.Tooltip,{title:i("Copy"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.CopyOutlined,{}),onClick:()=>h(l)})}),(0,m.jsx)(k.Switch,{size:"small",checked:e.enable,onChange:e=>y(l,e),checkedChildren:i("Enable"),unCheckedChildren:i("Disable")})]})]}),S=t.map((e,t)=>({key:e.key,label:w(e,t),styles:{header:{display:"flex",alignItems:"center"}},children:(0,m.jsxs)("div",{children:[(0,m.jsxs)("div",{style:{marginBottom:32},children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,m.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#1890ff",borderRadius:"2px",marginRight:8}}),(0,m.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Condition")})]}),(0,m.jsx)("div",{style:{paddingLeft:12},children:(0,m.jsx)(d7.I,{value:e.condition,FilterItem:e=>(0,m.jsx)(f.Ru,{model:o.model,value:e.value})})})]}),(0,m.jsxs)("div",{children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,m.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#52c41a",borderRadius:"2px",marginRight:8}}),(0,m.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Actions")})]}),(0,m.jsxs)("div",{style:{paddingLeft:12},children:[e.actions.length>0?(0,m.jsx)("div",{style:{marginBottom:16},children:e.actions.map((e,l)=>{let r=o.getAction(e.name);return r?(0,m.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,m.jsxs)("span",{style:{fontWeight:500,color:"#262626"},children:[i(r.title),"linkageAssignField"===e.name||"subFormLinkageAssignField"===e.name?(0,m.jsx)(k.Tooltip,{title:a,children:(0,m.jsx)(H.QuestionCircleOutlined,{style:{marginInlineStart:4},onClick:e=>e.stopPropagation()})}):null,(0,m.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,m.jsx)(k.Tooltip,{title:i("Delete action"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.DeleteOutlined,{}),onClick:()=>x(t,l)})})]}),(0,m.jsx)("div",{children:n.flowSettings.renderStepForm({uiSchema:r.uiSchema,initialValues:e.params,flowEngine:n,onFormValuesChange:e=>M(t,l,e.values)})})]},e.key):null})}):null,(0,m.jsx)(k.Dropdown,{menu:{items:_().map(e=>({key:e.name,label:i(e.title||e.name),onClick:()=>b(t,e.name)}))},trigger:["hover"],children:(0,m.jsx)(k.Button,{type:"link",icon:(0,m.jsx)(H.PlusOutlined,{}),style:{padding:0,height:"auto",textAlign:"left"},children:i("Add action")})})]})]})]})}));return(0,m.jsxs)(m.Fragment,{children:[t.length>0?(0,m.jsx)(k.Collapse,{items:S,size:"small",style:{marginBottom:8},defaultActiveKey:t.length>0?[t[0].key]:[],accordion:!0}):(0,m.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,m.jsx)(k.Empty,{description:i("No linkage rules"),style:{margin:"20px 0"}})}),(0,m.jsx)(k.Button,{type:"dashed",icon:(0,m.jsx)(H.PlusOutlined,{}),onClick:d,style:{width:"100%"},children:i("Add linkage rule")})]})}),cn=async(e,t)=>{var l,o,n,i,r,a,s,u;let c=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]}),p=t.value,m=e.model.__allModels||(e.model.__allModels=[]),h=new Set(m),f=new Map,v=[],y=(0,tH.w7)((null==(o=e.model)||null==(l=o.context)?void 0:l.blockModel)??e.model),_=e=>{if(!Array.isArray(e)||!e.length||!(null==y?void 0:y.getField))return!0;let t=y;for(let n=0;n<e.length;n++){var l,o;let i=e[n];if("number"==typeof i||"string"!=typeof i)continue;let r=null==t||null==(l=t.getField)?void 0:l.call(t,i);if(!r)continue;let a=!!(null==r||null==(o=r.isAssociationField)?void 0:o.call(r)),s=!!(null==r?void 0:r.targetCollection);if((0,tH.E4)(r)&&n+1<e.length&&"number"!=typeof e[n+1])return!1;a&&s&&(t=r.targetCollection)}return!0},b=t=>{var l,o;if(!t)return null;if(Array.isArray(t))return t.length&&t.every(e=>"string"==typeof e||"number"==typeof e)?t:null;if("string"!=typeof t)return null;let n=null==(o=e.model)||null==(l=o.context)?void 0:l.fieldIndex;return(0,iQ.IJ)(t,n)},x=()=>{var t,l;let o=(null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel)??e.model;return(null==o?void 0:o.formValueRuntime)??(null==e?void 0:e.formValueRuntime)},M=e=>{let t=x();if("function"!=typeof(null==t?void 0:t.recordDefaultValuePatch))return;let l=new Map;for(let t of e)l.set((0,iQ.Qc)(t.path),t);for(let e of l.values())e.whenEmpty&&t.recordDefaultValuePatch(e.path,e.value)},w=t=>{var l,o,n,i,r;if(!t)return;let a=null==t?void 0:t.path;if(!a)return;let s=b(a);if(!s)return void console.warn("[linkageRules] Skip linkage assignment due to failed path resolution",{flowKey:e.flowKey,modelUid:null==(l=e.model)?void 0:l.uid,attemptedPath:a});if(!_(s))return void console.warn("[linkageRules] Skip linkage assignment for to-many association subpath without row index",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,attemptedPath:a,resolvedPath:s});let d=!!(null==t?void 0:t.whenEmpty),u=null==t?void 0:t.value;try{let t=null==(i=e.model)||null==(n=i.context)?void 0:n.form,l=null==t||null==(r=t.getFieldValue)?void 0:r.call(t,s);if(d){let e=x();if("function"==typeof(null==e?void 0:e.canApplyDefaultValuePatch)){if(!e.canApplyDefaultValuePatch(s,u))return}else if(null!=l&&""!==l)return}if(g.default.isEqual(l,u))return}catch{}v.push({path:s,value:u,...d?{whenEmpty:!0}:{}})},S=e=>{var t,l;if(!e||"object"!=typeof e)return null;try{let t=null==e||null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init"),o="string"==typeof(null==t?void 0:t.fieldPath)?t.fieldPath:"",n="string"==typeof(null==t?void 0:t.associationPathName)?t.associationPathName:"",i=o||("string"==typeof(null==e?void 0:e.fieldPath)?e.fieldPath:""),r=n||("string"==typeof(null==e?void 0:e.associationPathName)?e.associationPathName:"");if(r){if(!i)return r;if(i.startsWith(`${r}.`))return i;return`${r}.${i}`}if(i)return i}catch{}let o=null==e||null==(t=e.props)?void 0:t.name;if("string"==typeof o&&o)return o;if(Array.isArray(o)&&o.length){let e="";for(let t of o){if("number"==typeof t){e+=`[${t}]`;continue}"string"==typeof t&&t&&(e?e+=`.${t}`:e=t)}return e||null}return null};for(let t of p.filter(e=>e.enable)){let{condition:l,actions:o}=t;if((0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(l),c))for(let t of o){let l=(e,t)=>{e.__originalProps||(e.__originalProps={hiddenModel:e.hidden,hiddenText:void 0,disabled:void 0,required:void 0,hidden:void 0,...e.props}),f.set(e,{...f.get(e)||{},...t}),-1===m.indexOf(e)&&m.push(e),h.add(e)};await (null==(a=e.getAction(t.name))?void 0:a.handler(e,{...t.params,setProps:l,addFormValuePatch:w}))}}let k=new Map,F=new Map;h.forEach(e=>{let t=(null==e?void 0:e.uid)||String(e),l=f.get(e)||{};if(k.has(t)){let o=F.get(t)||{},n={...o,...l};F.set(t,n);let i=k.get(t),r=Object.keys(l).length>0,a=Object.keys(o).length>0;!r||a&&e.isFork&&i.isFork?e.isFork&&!i.isFork&&k.set(t,e):k.set(t,e)}else k.set(t,e),F.set(t,{...l})}),k.forEach((t,l)=>{let o=F.get(l)||{},n={...t.__originalProps,...o};if(t.setProps(g.default.omit(n,["hiddenModel","value","hiddenText"])),uN(t,o),"function"==typeof t.setHidden?t.setHidden(!!n.hiddenModel):t.hidden=!!n.hiddenModel,!0===n.required){let l=(t.props.rules||[]).filter(e=>!e.required);l.push({required:!0,message:e.t("The field value is required")}),t.setProps("rules",l)}else if(!1===n.required){let e=(t.props.rules||[]).filter(e=>!e.required);t.setProps("rules",e)}if(n.hiddenText&&t.setProps("title",""),Object.prototype.hasOwnProperty.call(o,"value")&&t.context.form){let l=S(t);if(l)w({path:l,value:n.value});else{var i;console.warn("[linkageRules] Skip linkage assignment due to missing target path",{flowKey:e.flowKey,modelUid:null==(i=e.model)?void 0:i.uid,targetUid:null==t?void 0:t.uid})}}t.__props=null});let C=[...v];if(!C.length)return;let A=e,P=null==A?void 0:A.setFormValues,T=null==(r=e.model)||null==(i=r.context)||null==(n=i.blockModel)?void 0:n.context,I=null==T?void 0:T.setFormValues,j=null==A?void 0:A.inputArgs,L="string"==typeof(null==j?void 0:j.linkageTxId)&&j.linkageTxId?j.linkageTxId:"string"==typeof(null==j?void 0:j.txId)?j.txId:void 0,D=uF(e),Y=async(e,t,l)=>{await e.call(t,C,{source:l,linkageTxId:L,linkageScopeDepth:D})};if("function"==typeof P)try{await Y(P,A,"linkage"),M(C);return}catch(t){console.warn("[linkageRules] Failed to set form values via setFormValues",{flowKey:e.flowKey,modelUid:null==(s=e.model)?void 0:s.uid,setter:"ctx",patchCount:C.length,patches:C.slice(0,10).map(e=>({path:e.path,value:uS(e.value)}))}),console.warn(t)}if("function"==typeof I)try{await Y(I,T,"linkage"),M(C);return}catch(t){console.warn("[linkageRules] Failed to set form values via setFormValues",{flowKey:e.flowKey,modelUid:null==(u=e.model)?void 0:u.uid,setter:"blockModel",patchCount:C.length,patches:C.slice(0,10).map(e=>({path:e.path,value:uS(e.value)}))}),console.warn(t)}C.forEach(t=>{let{path:l,value:o}=t;try{var n,i,r;let t=null==(i=e.model)||null==(n=i.context)?void 0:n.form;if("function"==typeof(null==t?void 0:t.getFieldValue)){let e=t.getFieldValue(l);if(g.default.isEqual(e,o))return}null==t||null==(r=t.setFieldValue)||r.call(t,l,o)}catch(e){console.warn("[linkageRules] Failed to set form field value (fallback setFieldValue)",{path:l},e)}}),M(C)},ci=(0,r.defineAction)({name:"blockLinkageRules",title:(0,r.tExpr)("Block linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":co,"x-component-props":{supportedActions:cc(e,r.ActionScene.BLOCK_LINKAGE_RULES),title:(0,r.tExpr)("Block linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{uw(e,t,"blockLinkageRules");let l=await cl(e,t);return cn(e,l)}}),cr=(0,r.defineAction)({name:"actionLinkageRules",title:(0,r.tExpr)("Linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":co,"x-component-props":{supportedActions:cc(e,r.ActionScene.ACTION_LINKAGE_RULES),title:(0,r.tExpr)("Linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{uw(e,t,"actionLinkageRules");let l=await cl(e,t);return cn(e,l)}}),ca=(0,r.defineAction)({name:"menuLinkageRules",title:(0,r.tExpr)("Menu linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":co,"x-component-props":{supportedActions:cc(e,r.ActionScene.MENU_LINKAGE_RULES),title:(0,r.tExpr)("Menu linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{let l=await cl(e,t);return cn(e,l)}}),cs=(0,r.defineAction)({name:"fieldLinkageRules",title:(0,r.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":co,"x-component-props":{supportedActions:cc(e,r.ActionScene.FIELD_LINKAGE_RULES),title:(0,r.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,o,n;if(e.model.hidden)return;let i=0,a=t=>{if(!t||"function"!=typeof t.defineProperty)return;let l=null==e?void 0:e.inputArgs;l&&"object"==typeof l&&t.defineProperty("inputArgs",{value:{...l}}),t.defineProperty("linkageScopeDepth",{value:i})};a(e);let s=(0,tH.w7)((null==(o=e.model)||null==(l=o.context)?void 0:l.blockModel)??e.model),d=e=>{if(!(null==s?void 0:s.getField))return null;let t=(0,iQ.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(t.length<2)return null;let l=s,o=[];for(let e=0;e<t.length-1;e++){var n,i;let r=t[e];if("string"!=typeof r)continue;let a=null==l||null==(n=l.getField)?void 0:n.call(l,r);if(!(null==a||null==(i=a.isAssociationField)?void 0:i.call(a)))break;let s=(0,tH.E4)(a);if(s&&o.push(r),s&&"number"==typeof t[e+1]&&(e+=1),!(null==(l=null==a?void 0:a.targetCollection)?void 0:l.getField))break}if(!o.length)return null;let r=o[o.length-1],a=o.filter(e=>e===r).length;return`${r}#${a}`},u=e=>{if(!(null==s?void 0:s.getField))return!1;let t=(0,iQ.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(t.length<2)return!1;let l=s;for(let e=0;e<t.length-1;e++){var o,n;let i=t[e];if("string"!=typeof i)continue;let r=null==l||null==(o=l.getField)?void 0:o.call(l,i);if(!(null==r||null==(n=r.isAssociationField)?void 0:n.call(r)))break;if((0,tH.E4)(r)){if("number"!=typeof t[e+1])return!0;e+=1}if(!(null==(l=null==r?void 0:r.targetCollection)?void 0:l.getField))break}return!1},c=uz(e),{blockParams:p,rowParamsByKey:m}=(()=>{let e=null==t?void 0:t.value;if(!Array.isArray(e)||!e.length)return{blockParams:t,rowParamsByKey:new Map};let l=[],o=new Map,n=(e,t,l)=>{if(!e||!l.length)return;let n=o.get(e)||[];n.push({...t,actions:l}),o.set(e,n)};for(let t of e){if(!t||"object"!=typeof t)continue;let e={key:t.key,title:t.title,enable:t.enable,condition:t.condition},o=Array.isArray(t.actions)?t.actions:[],i=[],r=new Map;for(let e of o){let t=null==e?void 0:e.name,l=null==e?void 0:e.params,o=null==l?void 0:l.value,n=t=>{let n=u$(o,t,c);if(!n.length)return{block:null,rows:new Map};let i=[],r=new Map;for(let e of n){let t=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!t){i.push(e);continue}let l=d(t);if(l&&u(t)){let t=r.get(l)||[];t.push(e),r.set(l,t)}else i.push(e)}let a=i.length>0?{...e,params:{...l,value:i}}:null,s=new Map;for(let[t,o]of r.entries())o.length&&s.set(t,{...e,params:{...l,value:o}});return{block:a,rows:s}};if("linkageAssignField"===t){let e=n({mode:"assign",valueKey:"assignValue"});e.block&&i.push(e.block),e.rows.forEach((e,t)=>{let l=r.get(t)||[];l.push(e),r.set(t,l)});continue}if("setFieldsDefaultValue"===t){let e=n({mode:"default",valueKey:"initialValue"});e.block&&i.push(e.block),e.rows.forEach((e,t)=>{let l=r.get(t)||[];l.push(e),r.set(t,l)});continue}i.push(e)}i.length&&l.push({...e,actions:i}),r.forEach((t,l)=>{n(l,e,t)})}let i={...t,value:l},r=new Map;return o.forEach((e,l)=>{r.set(l,{...t,value:e})}),{blockParams:i,rowParamsByKey:r}})(),h=await cl(e,p);if(await cn(e,h),!m.size)return;let f=e=>{var t;let l=null==e||null==(t=e.context)?void 0:t.fieldIndex,o=(Array.isArray(l)?l:[]).filter(e=>"string"==typeof e),n=[],i=[];for(let e of o){let[t,l]=e.split(":"),o=Number(l);!t||Number.isNaN(o)||(n.push({name:t,index:o}),i.push(t,o))}return{normalized:o,entries:n,path:i}},g=e=>{let{entries:t}=f(e);if(!t.length)return null;let l=t[t.length-1].name,o=t.reduce((e,t)=>t.name===l?e+1:e,0);return`${l}#${o}`},v=e=>{let{normalized:t}=f(e);return t.length?JSON.stringify(t):null},y=e=>{let{path:t}=f(e);return t.length?t:null},_=t=>{var l,o,n,i,r,a,s,d,u,c;return(null==t||null==(l=t.context)?void 0:l.form)??(null==t||null==(i=t.context)||null==(n=i.blockModel)||null==(o=n.context)?void 0:o.form)??(null==(a=e.model)||null==(r=a.context)?void 0:r.form)??(null==(c=e.model)||null==(u=c.context)||null==(d=u.blockModel)||null==(s=d.context)?void 0:s.form)},b=e=>{let t=y(e);if(!t)return!0;let l=_(e);return!l||"function"!=typeof l.getFieldValue||void 0!==l.getFieldValue(t)},x=e=>{var t,l,o;return null!=e&&null!=(l=e.context)&&null!=(t=l.getPropertyOptions)&&!!t.call(l,"item")||void 0!==(null==e||null==(o=e.context)?void 0:o.item)},M=e=>{var t,l,o;return null!=e&&null!=(l=e.context)&&null!=(t=l.getPropertyOptions)&&!!t.call(l,"subTableRowFork")||void 0!==(null==e||null==(o=e.context)?void 0:o.subTableRowFork)||void 0!==(null==e?void 0:e.subTableRowFork)||(null==e?void 0:e.subTableRowFork)===!0},w=e=>{var t,l;return!!e&&"object"==typeof e&&(null==e||null==(t=e.subModels)||!t.field)&&!!(null==e||null==(l=e.subModels)?void 0:l.items)&&!!g(e)&&!!v(e)},S=e=>!!e&&"object"==typeof e&&!!M(e)&&!!g(e)&&!!v(e)&&x(e),k=e=>w(e)||S(e),F=()=>{let t=new Map,l=new Map,o=e.engine;return(null==o?void 0:o.forEachModel)&&o.forEachModel(e=>{let o=null==e?void 0:e.forks;o&&"function"==typeof o.forEach&&o.forEach(e=>{if(!e||e.disposed||!k(e)||!b(e))return;let o=g(e),n=v(e);if(!o||!n)return;let i=l.get(o)||new Set;if(i.has(n))return;i.add(n),l.set(o,i);let r=t.get(o)||[];r.push(e),t.set(o,r)})}),t},C=async()=>{let t=F(),l=!1;for(let[n,i]of m.entries()){let s=t.get(n)||[];if(s.length&&(l=!0),s.length)for(let t of s){let l=new r.FlowRuntimeContext(t,e.flowKey);a(l);try{let e=await cl(l,i);await cn(l,e)}catch(l){var o;console.warn("[linkageRules] Failed to run row-scoped linkage rules",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,rowScopeKey:n,forkUid:null==t?void 0:t.uid}),console.warn(l)}}}return l};if(!await C()){let t="__pendingLinkageRowScopedRetry__",l=e.model;(null==l?void 0:l[t])||(console.warn("[linkageRules] Row-scoped linkage assignment deferred (row forks not ready), will retry",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,rowKeys:Array.from(m.keys())}),l[t]=!0,setTimeout(()=>{l[t]=!1;let o=e.model;o&&!o.disposed&&C().catch(e=>{console.warn("[linkageRules] Failed to retry row-scoped linkage rules",e)})},0))}}}),cd=(0,r.defineAction)({name:"subFormFieldLinkageRules",title:(0,r.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":co,"x-component-props":{supportedActions:cc(e,r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES),title:(0,r.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,o,n,i;if(e.model.hidden)return;let a=null==(o=e.model)||null==(l=o.subModels)?void 0:l.grid;if(!a)return void console.warn("[subFormFieldLinkageRules] Missing subModels.grid",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid});let s=uk(null==e?void 0:e.model),d=t=>{let l=new r.FlowRuntimeContext(t,e.flowKey),o=null==e?void 0:e.inputArgs;return o&&"object"==typeof o&&l.defineProperty("inputArgs",{value:{...o}}),l.defineProperty("linkageScopeDepth",{value:s}),l};if(e.model instanceof re){if(a.hidden)return;let l=d(a);try{let e=await cl(l,t);await cn(l,e)}catch(t){console.warn("[subFormFieldLinkageRules] Failed to run linkage rules (to-one)",{flowKey:e.flowKey,modelUid:null==(i=e.model)?void 0:i.uid,gridUid:null==a?void 0:a.uid}),console.warn(t)}}else await Promise.all((a.forks||[]).map(async l=>{if(l.hidden)return;let o=d(l);try{let e=await cl(o,t);await cn(o,e)}catch(t){var n;console.warn("[subFormFieldLinkageRules] Failed to run linkage rules for fork",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,forkUid:null==l?void 0:l.uid,gridUid:null==a?void 0:a.uid}),console.warn(t)}}))}}),cu=(0,r.defineAction)({name:"detailsFieldLinkageRules",title:(0,r.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":co,"x-component-props":{supportedActions:cc(e,r.ActionScene.DETAILS_FIELD_LINKAGE_RULES),title:(0,r.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{if(e.model.hidden)return;let l=await cl(e,t);return cn(e,l)}});function cc(e,t){return[...e.getActions().values()].filter(e=>{let l=e.scene;return!!l&&(Array.isArray(l)||(l=[l]),l.includes(t))}).sort((e,t)=>(e.sort||0)-(t.sort||0)).map(e=>e.name)}let cp=(0,r.defineAction)({name:"overflowMode",title:(0,r.tExpr)("Ellipsis on text overflow"),uiMode:{type:"switch",key:"overflowMode"},defaultParams:e=>({overflowMode:e.model.parent instanceof nD}),handler(e,t){let l;l="string"==typeof(null==t?void 0:t.overflowMode)?"ellipsis"===t.overflowMode:!!(null==t?void 0:t.overflowMode),e.model.setProps({overflowMode:l?"ellipsis":"wrap"})}}),cm=()=>{let e=(0,eo.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,I.useTranslation)();return(0,m.jsxs)(k.Select,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,m.jsx)(k.Select.Option,{value:"*",children:l("Multiply by")}),(0,m.jsx)(k.Select.Option,{value:"/",children:l("Divide by")})]})},ch=(0,r.defineAction)({title:(0,r.tExpr)("Number format"),name:"numberFormat",uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,r.tExpr)("Normal")},{value:"scientifix",label:(0,r.tExpr)("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"NumberPicker",title:"{{t('Unit conversion')}}","x-component-props":{style:{width:"100%"},addonBefore:(0,m.jsx)(cm,{})}},separator:{type:"string",enum:[{value:"0,0.00",label:"100,000.00"},{value:"0.0,00",label:"100.000,00"},{value:"0 0,00",label:"100 000.00"},{value:"0.00",label:"100000.00"}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},numberStep:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem"},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem"}}),defaultParams:e=>{let{formatStyle:t,unitConversion:l,unitConversionType:o,separator:n,step:i,addonBefore:r,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:o,separator:n||"0,0.00",numberStep:i||"1",addonBefore:r,addonAfter:a}},handler(e,t){let{formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s})}}),cf=e=>{let t;if(e){if(Array.isArray(e))t=e;else if("object"==typeof e&&"function"==typeof(null==e?void 0:e[Symbol.iterator]))try{t=Array.from(e)}catch(e){t=void 0}else if("object"==typeof e){let l=Object.keys(e).filter(e=>/^\d+$/.test(e)).sort((e,t)=>Number(e)-Number(t));l.length&&(t=l.map(t=>e[t]))}if(null==t?void 0:t.length)return t.map(e=>e&&"object"==typeof e?{...e}:e)}};function cg(e){return class extends e{async onDispatchEventStart(e){var t,l,o,n,i,r;if("beforeRender"!==e)return;let a=(null==(t=(l=this).getStepParams)?void 0:t.call(l,"fieldSettings","init"))||{},s=(null==a?void 0:a.dataSourceKey)&&(null==a?void 0:a.collectionName)&&(null==a?void 0:a.fieldPath)&&`${a.dataSourceKey}.${a.collectionName}.${a.fieldPath}`,d=s&&(null==(i=this.context)||null==(n=i.dataSourceManager)||null==(o=n.getCollectionField)?void 0:o.call(n,s)),u=(null==(r=this._originalModel)?void 0:r.collectionField)||this._fallbackCollectionField;(d||u)&&this.context.defineProperty("collectionField",{get:()=>d||u})}async onDispatchEventEnd(e){var t,l,o,n,i,r,a,s,d,u,c;if("beforeRender"!==e)return;let p={...this._originalPropsFallback||{},...(null==(t=this._originalModel)?void 0:t.props)||{}},m=null==(l=this.context)?void 0:l.collectionField,h={};(null==p?void 0:p.fieldNames)&&(h.fieldNames=p.fieldNames),void 0!==(null==p?void 0:p.allowMultiple)&&(h.allowMultiple=p.allowMultiple);let f=cf(null==(o=this.props)?void 0:o.options),g=!!(null==f?void 0:f.length),v=cf(null==p?void 0:p.options),y=(null==v?void 0:v.length)?v:this._originalOptionsFallback;!g&&Array.isArray(y)&&y.length>0&&(h.options=y.map(e=>e&&"object"==typeof e?{...e}:e));let _=(()=>{let e=null==m?void 0:m.type,t=null==m?void 0:m.interface,l=t&&("m2m"===t||"o2m"===t||"mbm"===t);return!!(e&&("belongsToMany"===e||"hasMany"===e||"belongsToArray"===e)||l)})(),b=void 0!==p.multiple?p.multiple:_,x=void 0!==p.allowMultiple?p.allowMultiple:void 0!==p.multiple?p.multiple:_;void 0!==b&&(h.multiple=b),void 0!==x&&(h.allowMultiple=x),Object.keys(h).length&&this.setProps(h),(null==m?void 0:m.interface)==="multipleSelect"&&void 0===(null==(n=this.props)?void 0:n.mode)&&this.setProps({mode:"multiple"}),(0,tQ.NI)(this,m),null==(i=(r=this).showTitle)||i.call(r,null),null==(a=(s=this).setDescription)||a.call(s,null),null==(d=(u=this).setPattern)||d.call(u,"editable"),this.props.onChange&&this.setProps({onChange:this.props.onChange});let M=null==(c=this.getStepParams("formItemSettings","initialValue"))?void 0:c.defaultValue;void 0!==M&&this.setProps({defaultValue:M})}setProps(e){var t,l,o;let{originalModel:n,disabled:i,readOnly:r,readPretty:a,pattern:s,...d}=e||{},u=null==(t=super.setProps)?void 0:t.call(this,{...d,disabled:!1});return null==(l=(o=this).setPattern)||l.call(o,"editable"),u}remove(){for(var e,t=arguments.length,l=Array(t),o=0;o<t;o++)l[o]=arguments[o];null==(e=super.remove)||e.call(this,...l)}}}let cv=(0,eo.connect)(e=>{let{value:t,onChange:l,metaTree:o,flags:n,...i}=e,a=(0,r.useFlowContext)(),{model:s}=a,d=h.default.useCallback(e=>!!e&&"function"==typeof(null==e?void 0:e.query),[]),u=h.default.useCallback((e,t)=>{if(d(e)){var l,o,n,i;let r=null==(o=e.query(t))||null==(l=o.get)?void 0:l.call(o,"selfModified"),a=null==(i=e.query(t))||null==(n=i.get)?void 0:n.call(i,"modified");return!!(r||a)}return"function"==typeof(null==e?void 0:e.isFieldsTouched)&&!!e.isFieldsTouched([t])},[d]),c=h.default.useCallback((e,t)=>{if(d(e))return(0,g.get)(e.values,t);if("function"==typeof(null==e?void 0:e.getFieldValue))return e.getFieldValue(t);let l="function"==typeof(null==e?void 0:e.getFieldsValue)?e.getFieldsValue(!0):void 0;return(0,g.get)(l,t)},[d]),p=h.default.useCallback((e,t,l)=>{if(e&&(null==t?void 0:t.length)){if(d(e))return void e.setFieldValue(t,l);if("function"==typeof(null==e?void 0:e.setFieldValue))e.setFieldValue(t,l);else{var o;let n={};(0,g.set)(n,t,l),null==e||null==(o=e.setFieldsValue)||o.call(e,n)}}},[d]),f=h.default.useCallback(async e=>{let t=e;if((0,r.isRunJSValue)(t)){try{let{code:e,version:l}=(0,r.normalizeRunJSValue)(t),o=await (0,r.runjsWithSafeGlobals)(null==s?void 0:s.context,e,{version:l});t=(null==o?void 0:o.success)?o.value:void 0}catch{t=void 0}return t}if((0,r.isVariableExpression)(t)){var l,o;let n=await (null==s||null==(o=s.context)||null==(l=o.resolveJsonTemplate)?void 0:l.call(o,t));if(void 0!==n&&(t=n),t===e){let e=(0,r.extractPropertyPath)(String(t));e&&(t=(0,g.get)(null==s?void 0:s.context,e.join(".")))}}return t},[s]),v=h.default.useCallback((e,t)=>tJ(e,t),[]);h.default.useEffect(()=>{var e;let t=s;if(!t||t.__dvSetStepParamsPatched)return;let l=null==(e=t.setStepParams)?void 0:e.bind(t);"function"==typeof l&&(t.__dvSetStepParamsPatched=!0,t.setStepParams=async(e,o,n)=>{var i,r,a,s,d,m,h;let y,_,b=[],x=(null==t||null==(i=t.props)?void 0:i.name)??(null==t?void 0:t.fieldPath);b=v(Array.isArray(x)?x:"string"==typeof x?x.split("."):[x].filter(Boolean),null==t||null==(r=t.context)?void 0:r.fieldIndex),"string"==typeof e&&"string"==typeof o&&n&&void 0!==n.defaultValue&&(y=null==(a=t.getStepParams(e,o))?void 0:a.defaultValue,_=n.defaultValue);let M=l(e,o,n);if(void 0!==_){let e=(null==t||null==(m=t.context)||null==(d=m.blockModel)||null==(s=d.context)?void 0:s.form)||(null==t||null==(h=t.context)?void 0:h.form);if(e&&b.length){let t=u(e,b),l=c(e,b),o=await f(y),n=await f(_),i=null==l||""===l,r=(0,g.isEqual)(l,o)||!t&&i;void 0!==n&&r&&p(e,b,n)}}return M})},[s,c,u,f,p,v]);let y=(0,h.useMemo)(()=>{var e;let t=null==s||null==(e=s.context)?void 0:e.flags;if(t||n)return{...t||{},...n||{}}},[s,n]),_=h.default.useRef(void 0);(0,g.isEqual)(_.current,y)||(_.current=y);let b=_.current,x=(0,h.useMemo)(()=>{var e,t,l,o,n,i,a,d,u,c,p,m,h,f,g,v,y,_,x,M,w,S,k,F,C,A,P,T;let I=s,j=(null==I?void 0:I.customFieldModelInstance)||(null==I||null==(e=I.subModels)?void 0:e.field),L=(null==j?void 0:j.props)||{},D=(null==I?void 0:I.customFieldProps)||{},{value:Y,defaultValue:E,...R}=L,{value:N,defaultValue:O,...B}=D,H=(null==I||null==(t=I.getStepParams)?void 0:t.call(I,"fieldSettings","init"))||(null==j||null==(l=j.getStepParams)?void 0:l.call(j,"fieldSettings","init")),q=null==j?void 0:j.collectionField;if(!q&&(null==H?void 0:H.dataSourceKey)&&(null==H?void 0:H.collectionName)&&(null==H?void 0:H.fieldPath)){let e=`${H.dataSourceKey}.${H.collectionName}.${H.fieldPath}`;q=null==s||null==(g=s.context)||null==(f=g.dataSourceManager)||null==(h=f.getCollectionField)?void 0:h.call(f,e)}q||(q=null==I||null==(v=I.context)?void 0:v.collectionField);let V=null==j?void 0:j.constructor,$=q?r.EditableItemModel.getDefaultBindingByField(null==s?void 0:s.context,q):null,z=null==q?void 0:q.type,K=null==q?void 0:q.interface,U="belongsToMany"===z||"hasMany"===z||"belongsToArray"===z||"m2m"===K||"o2m"===K||"mbm"===K,G=!!((null==b?void 0:b.isInSetDefaultValueDialog)&&U),J=U?lC:o2.m,W=$?null==s||null==(i=s.context)||null==(n=i.engine)||null==(o=n.getModelClass)?void 0:o.call(n,$.modelName):null,X="function"==typeof V?V:null,Z=cg("string"==typeof(null==V?void 0:V.name)&&/FilterFieldModel$/.test(V.name)||(null==I?void 0:I.customFieldModelInstance)?X||W||J:W||X||J),ee=null==j||null==(a=j.props)?void 0:a.fieldNames,et=null==j||null==(d=j.props)?void 0:d.titleField,el=null==j||null==(u=j.getStepParams)?void 0:u.call(j,"selectSettings","fieldNames"),eo=null==j||null==(c=j.getStepParams)?void 0:c.call(j,"selectSettings","allowMultiple"),en={};H&&(en.fieldSettings={init:H}),(el||eo)&&(en.selectSettings={...el?{fieldNames:el}:{},...eo?{allowMultiple:eo}:{}});let ei={use:Z,uid:(0,Q.uid)(),parentId:null,subKey:null,subType:null,stepParams:{...(null==j?void 0:j.stepParams)||{},...Object.keys(en).length?en:{}},props:{disabled:!1,allowClear:!0,...R,...void 0!==ee?{fieldNames:ee}:{},...void 0!==et?{titleField:et}:{},...G?{keepDropdownOpenOnSelect:!0}:{},...B}},er=s.context.engine.createModel({use:"VariableFieldFormModel",subModels:{fields:[ei]}}),ea=null==(m=er.subModels)||null==(p=m.fields)?void 0:p[0];if(ea&&(ea._originalModel=j,ea._originalPropsFallback=null==I?void 0:I.customFieldProps,ea._fallbackCollectionField=null==I||null==(y=I.context)?void 0:y.collectionField,ea._originalOptionsFallback=cf(null==j||null==(_=j.getDataSource)?void 0:_.call(j))||cf(null==j||null==(x=j.props)?void 0:x.options)||cf(null==I||null==(M=I.customFieldProps)?void 0:M.options)),(null==H?void 0:H.dataSourceKey)&&(null==H?void 0:H.collectionName)){let e=s.context.dataSourceManager,t=null==e||null==(w=e.getDataSource)?void 0:w.call(e,H.dataSourceKey),l=null==e||null==(S=e.getCollection)?void 0:S.call(e,H.dataSourceKey,H.collectionName);t&&(null==(F=er.context)||null==(k=F.defineProperty)||k.call(F,"dataSource",{get:()=>t})),l&&(null==(A=er.context)||null==(C=A.defineProperty)||C.call(A,"collection",{get:()=>l}))}return b&&(null==(T=er.context)||null==(P=T.defineProperty)||P.call(T,"flags",{value:b})),er},[s,b]);h.default.useEffect(()=>()=>{var e,t;null==(t=x.subModels)||null==(e=t.fields)||e.forEach(e=>{var t;return null==e||null==(t=e.remove)?void 0:t.call(e)}),x.remove()},[x]);let M=(0,h.useMemo)(()=>e=>{let l=h.default.useRef(!1),[,o]=h.default.useReducer(e=>e+1,0),n=h.default.useRef(Symbol("init")),i=h.default.useRef(Symbol("none")),a=h.default.useRef(!1);return h.default.useEffect(()=>{var r,s,d,u,c,p,m,h,f;let g=null==x||null==(s=x.subModels)||null==(r=s.fields)?void 0:r[0];if(!g)return;let{disabled:v,readOnly:y,readPretty:_,pattern:b,...M}=e||{},w=!!(null==g||null==(c=g.context)||null==(u=c.collectionField)||null==(d=u.isAssociationField)?void 0:d.call(u)),S=e=>!!e&&"object"==typeof e&&"data"in e,k=e=>Array.isArray(e)?e.map(e=>S(e)?e.data:e):S(e)?e.data:e,F=(null==g||null==(p=g._originalModel)?void 0:p.use)||(null==g?void 0:g.use),C=null==g||null==(h=g.context)||null==(m=h.collectionField)?void 0:m.interface,A=new Set(["input","email","phone","uuid","url","nanoid","textarea","markdown","password","color"]),P="InputFieldModel"===F||(C?A.has(C):g instanceof o2.m),T=e=>{if(e&&"object"==typeof e&&"target"in e){let t=null==e?void 0:e.target;if(P&&void 0!==(null==t?void 0:t.value))return t.value;if(void 0!==(null==t?void 0:t.checked))return t.checked;if(void 0!==(null==t?void 0:t.value))return t.value}return e};if(g.setProps({disabled:!1,onChange:function(){for(var t,l=arguments.length,n=Array(l),r=0;r<l;r++)n[r]=arguments[r];let s=n.length>1&&("string"==typeof n[1]||Array.isArray(n[1])&&n[1].every(e=>"string"==typeof e))?n[1]:n[0],d=w?k(s):T(s);if(!P){let e=w?k(s):T(s);i.current=e,g.setProps({value:e,defaultValue:void 0})}P&&a.current||(null==(t=(null==M?void 0:M.onChange)??(null==e?void 0:e.onChange))||t(d),o())},onCompositionStart:function(){for(var t,l,o=arguments.length,n=Array(o),i=0;i<o;i++)n[i]=arguments[i];a.current=!0,null==M||null==(t=M.onCompositionStart)||t.call(M,...n),null==e||null==(l=e.onCompositionStart)||l.call(e,...n)},onCompositionUpdate:(null==M?void 0:M.onCompositionUpdate)??(null==e?void 0:e.onCompositionUpdate),onCompositionEnd:t=>{var l,o,n;a.current=!1;let i=T(t);null==(l=(null==M?void 0:M.onChange)??(null==e?void 0:e.onChange))||l(i),null==M||null==(o=M.onCompositionEnd)||o.call(M,t),null==e||null==(n=e.onCompositionEnd)||n.call(e,t)},style:{width:"100%",minWidth:0,...(null==M?void 0:M.style)||(null==e?void 0:e.style)}}),null==(f=g.setPattern)||f.call(g,"editable"),!l.current){l.current=!0;let e=t;void 0!==e&&g.setProps({defaultValue:e})}if(!P){let e=t;if(e!==n.current&&(n.current=e,void 0!==e)){let t=w?k(e):T(e);i.current=t,g.setProps({value:t}),o()}}},[e,t]),(0,m.jsx)("div",{style:{flexGrow:1},children:(0,m.jsx)(r.FlowModelRenderer,{model:x,showFlowSettings:!1})})},[x]);h.default.useEffect(()=>{var e,t,l,o;let n=null==s?void 0:s.operator,i=null==x||null==(t=x.subModels)||null==(e=t.fields)?void 0:e[0];if(!n||!i)return;let r=i.__originalRender||i.render;i.__originalRender=r;let a=(0,o5._)(s.context.app,n,(null==(o=s.collectionField)||null==(l=o.filterable)?void 0:l.operators)||[]);if(a&&i instanceof o2.m){let{Comp:e,props:t}=a;i.render=()=>{var l;return(0,m.jsx)(e,{...i.props,...t,style:{width:"100%",...null==(l=i.props)?void 0:l.style,...null==t?void 0:t.style}})}}else"function"==typeof r&&(i.render=r)},[s,x,null==s?void 0:s.operator]),h.default.useEffect(()=>{var e,t,l,o,n;let i=null==s?void 0:s.operator,r=null==x||null==(t=x.subModels)||null==(e=t.fields)?void 0:e[0];if(!r||!i)return;let a=((null==(o=s.collectionField)||null==(l=o.filterable)?void 0:l.operators)||[]).find(e=>e.value===i),d=null==a||null==(n=a.schema)?void 0:n["x-component-props"];d&&r.setProps(d)},[s,x,null==s?void 0:s.operator]);let w=(0,h.useMemo)(()=>function(){var e;return(0,m.jsx)(k.Input,{placeholder:`<${(null==(e=a.t)?void 0:e.call(a,"Null"))??"Null"}>`,readOnly:!0})},[a]),S=(0,h.useMemo)(()=>e=>(0,m.jsx)(tZ.h,{t:a.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange}),[a]),F=(0,h.useMemo)(()=>async()=>{var e,t,l,n;let i=[];return i="function"==typeof o?await o()||[]:Array.isArray(o)?o:(null==(n=a.getPropertyMetaTree)?void 0:n.call(a))||[],[{title:(null==(e=a.t)?void 0:e.call(a,"Constant"))??"Constant",name:"constant",type:"string",paths:["constant"],render:M},{title:(null==(t=a.t)?void 0:t.call(a,"Null"))??"Null",name:"null",type:"object",paths:["null"],render:w},{title:(null==(l=a.t)?void 0:l.call(a,"RunJS"))??"RunJS",name:"runjs",type:"object",paths:["runjs"],render:S},...i]},[o,a,M,w,S]);return h.default.useEffect(()=>{var e;let t=null==(e=x.subModels.fields)?void 0:e[0];null==t||t.setProps({disabled:!1})},[x,t]),(0,m.jsx)(r.VariableInput,{metaTree:F,value:t,onChange:l,...i,converters:{renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?M:"null"===l?w:"runjs"===l?S:r.VariableTag},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:"runjs"===l?{code:"",version:"v2"}:void 0},resolvePathFromValue:e=>null===e?["null"]:(0,r.isRunJSValue)(e)?["runjs"]:(0,r.isVariableExpression)(e)?(0,r.parseValueToPath)(e):["constant"]}})});class cy{get models(){let e=new Map;for(let t=0;t<localStorage.length;t++){let l=localStorage.key(t);if(l&&l.startsWith(`${this.prefix}flow-model:`)){let t=localStorage.getItem(l);if(t){let l=JSON.parse(t);e.set(l.uid,l)}}}return e}async findOne(e){let{uid:t,parentId:l}=e;return t?this.load(t):l?this.loadByParentId(l):null}async loadByParentId(e){for(let t of this.models.values())if(t.parentId==e)return console.log("Loading model by parentId:",e,t),this.load(t.uid);return null}async load(e){let t=localStorage.getItem(`${this.prefix}flow-model:${e}`);if(!t)return console.warn(`Model with uid ${e} not found in localStorage.`),null;let l=JSON.parse(t);for(let t of[...this.models.values()])if(t.parentId===e){if(l.subModels=l.subModels||{},"array"===t.subType){l.subModels[t.subKey]=l.subModels[t.subKey]||[];let e=await this.load(t.uid);l.subModels[t.subKey].push(e)}else if("object"===t.subType){let e=await this.load(t.uid);e&&(l.subModels[t.subKey]=e)}}return console.log("Loading model:",e,JSON.stringify(l,null,2)),l}async save(e){let t=e.serialize(),l=g.default.omit(t,["subModels","flowEngine"]);for(let t of(localStorage.setItem(`${this.prefix}flow-model:${e.uid}`,JSON.stringify(l)),console.log("Saving model:",e.uid,l),Object.keys(e.subModels||{}))){let l=e.subModels[t];if(l)if(Array.isArray(l))for(let e of l)await this.save(e);else l instanceof r.FlowModel&&await this.save(l)}return t}async destroy(e){return localStorage.removeItem(`${this.prefix}flow-model:${e}`),!0}async clear(){for(let e of Object.keys(localStorage))e.startsWith(`${this.prefix}flow-model:`)&&localStorage.removeItem(e);return!0}async move(e,t){arguments.length>2&&void 0!==arguments[2]&&arguments[2]}async duplicate(e){let t=await this.load(e);if(!t)return null;let l=()=>`dup_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`,o=(e,t)=>{let{subModels:n,flowEngine:i,...r}=e||{},a={...r};if(a.uid=l(),t&&(a.parentId=t),n&&"object"==typeof n)for(let e of(a.subModels={},Object.keys(n))){let t=n[e];Array.isArray(t)?a.subModels[e]=t.map(e=>o(e,a.uid)):t&&"object"==typeof t&&(a.subModels[e]=o(t,a.uid))}return a};return o(t)}constructor(e=""){this.prefix=e}}class c_{buildFindOneKey(e){let t=(null==e?void 0:e.uid)??"",l=(null==e?void 0:e.parentId)??"",o=(null==e?void 0:e.subKey)??"";return`uid:${t}|parentId:${l}|subKey:${o}`}async findOne(e){let t=this.buildFindOneKey(e),l=this.inFlightFindOne.get(t);if(l){let e=await l;return e?g.default.cloneDeep(e):e}let o=this.app.apiClient.request({url:"flowModels:findOne",params:g.default.pick(e,["uid","parentId","subKey"])}).then(e=>{var t;return null==(t=e.data)?void 0:t.data}).finally(()=>{this.inFlightFindOne.delete(t)});this.inFlightFindOne.set(t,o);let n=await o;return n?g.default.cloneDeep(n):n}async save(e,t){var l;let o=e.serialize();return(null==t?void 0:t.onlyStepParams)&&delete o.subModels,null==(l=(await this.app.apiClient.request({method:"POST",url:"flowModels:save",data:o})).data)?void 0:l.data}async destroy(e){return await this.app.apiClient.request({method:"POST",url:"flowModels:destroy",params:{filterByTk:e}}),!0}async move(e,t){var l;let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"after";return null==(l=(await this.app.apiClient.request({method:"POST",url:"flowModels:move",params:{sourceId:e,targetId:t,position:o}})).data)?void 0:l.data}async duplicate(e){var t;return null==(t=(await this.app.apiClient.request({method:"POST",url:"flowModels:duplicate",params:{uid:e}})).data)?void 0:t.data}constructor(e){this.app=e,this.inFlightFindOne=new Map}}function cb(e){return!!e&&"object"==typeof e}function cx(e){if(e){if("string"==typeof e)return e;if(cb(e))return e.eventName}}function cM(e){let t=e.phase;if(!t||"beforeAllFlows"===t){delete e.phase,delete e.flowKey,delete e.stepKey;return}if("afterAllFlows"===t){delete e.flowKey,delete e.stepKey;return}if("beforeFlow"===t||"afterFlow"===t){delete e.stepKey,e.flowKey||delete e.flowKey;return}if("beforeStep"===t||"afterStep"===t){e.flowKey||delete e.flowKey,e.stepKey||delete e.stepKey;return}}function cw(e){let t=e.phase;if(t&&"beforeAllFlows"!==t&&"afterAllFlows"!==t){if(("beforeFlow"===t||"afterFlow"===t||"beforeStep"===t||"afterStep"===t)&&!e.flowKey)return"flowKey";if(("beforeStep"===t||"afterStep"===t)&&!e.stepKey)return"stepKey"}}let cS=e=>{let{model:t}=e,l=h.default.useMemo(()=>t.translate.bind(t),[t]),o=()=>{let e=document.querySelector(`#${r.GLOBAL_EMBED_CONTAINER_ID}`);e&&t.context.viewer.embed({type:"embed",target:e,title:l("Edit event flows"),onOpen(){e.style.width="33.3%",e.style.maxWidth="800px",e.style.minWidth="0px"},onClose(){"1"!==e.dataset[r.EMBED_REPLACING_DATA_KEY]&&(e.style.width="auto",e.style.maxWidth="none",e.style.minWidth="auto")},content:(0,m.jsx)(cD,{model:t})})};return(0,m.jsx)(H.ThunderboltOutlined,{style:{cursor:"pointer"},onClick:o})},ck={display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},cF={width:"4px",height:"16px",borderRadius:"2px",marginRight:8},cC={margin:0,fontSize:14,fontWeight:500,color:"#262626"},cA={marginBottom:8,fontSize:14,fontWeight:500,color:"#262626"},cP={marginInlineStart:4,color:"#ff4d4f"},cT={marginInlineStart:2,marginInlineEnd:8},cI=e=>{let{color:t,children:l}=e;return(0,m.jsxs)("div",{style:ck,children:[(0,m.jsx)("div",{style:{...cF,backgroundColor:t}}),(0,m.jsx)("h4",{style:cC,children:l})]})},cj=e=>{let{children:t,required:l,style:o}=e;return(0,m.jsxs)("div",{style:{...cA,...o},children:[t,l&&(0,m.jsx)("span",{style:cP,children:"*"}),(0,m.jsx)("span",{style:cT,children:":"})]})},cL=(0,r.observer)(e=>{var t;let{flow:l,model:o,flowEngine:n,flowRegistry:i}=e,a=(0,r.useFlowContext)(),s=o.translate.bind(o),d=(0,w.useUpdate)(),[u,c]=h.default.useState([]),p=cx(l.on),f=cb(l.on)?l.on:void 0,v=p?null==(t=o.getEvent(p))?void 0:t.uiSchema:void 0,y="function"==typeof v?v(a):v,_=null==f?void 0:f.defaultParams,b=h.default.useCallback(()=>{if(cb(l.on))return l.on;if(!p)return;let e={eventName:p};return l.on=e,e},[p,l]),x=(null==f?void 0:f.phase)?String(f.phase):"beforeAllFlows",M=(null==f?void 0:f.flowKey)?String(f.flowKey):void 0,S=(null==f?void 0:f.stepKey)?String(f.stepKey):void 0,F=h.default.useMemo(()=>[...o.getEvents().values()],[o]);h.default.useEffect(()=>{let e=!1;return(async()=>{let t=[];for(let e of F)await (0,r.shouldHideEventInSettings)(o,l,e)||t.push({label:o.translate(e.title),value:e.name});e||c(e=>g.default.isEqual(e,t)?e:t)})(),()=>{e=!0}},[l,o,F]);let C=h.default.useMemo(()=>p?Array.from(o.constructor.globalFlowRegistry.getFlows().values()).filter(e=>"beforeRender"===p?!0!==e.manual&&(!e.on||"beforeRender"===cx(e.on)):cx(e.on)===p):[],[p,o]),A=h.default.useMemo(()=>new Map(C.map(e=>[e.key,e])),[C]),P=h.default.useCallback((e,t)=>{if(!t)return e;let l=s(String(t));return`${e} (${l})`},[s]),T=h.default.useMemo(()=>C.map(e=>({value:e.key,label:P(String(e.key),e.title),disabled:i.hasFlow(e.key)})),[i,P,C]),I=h.default.useMemo(()=>{if(!M)return[];let e=A.get(M);return e?e.mapSteps(e=>{let t=e.use?o.getAction(e.use):void 0,l=e.title||(null==t?void 0:t.title);return{value:e.key,label:P(String(e.key),l)}}):[]},[M,P,o,A]),j=h.default.useMemo(()=>[{value:"beforeAllFlows",label:s("Before all flows")},{value:"afterAllFlows",label:s("After built-in flows")},{value:"beforeFlow",label:s("Before built-in flow")},{value:"afterFlow",label:s("After built-in flow")},{value:"beforeStep",label:s("Before built-in flow step")},{value:"afterStep",label:s("After built-in flow step")}],[s]),L=["beforeFlow","afterFlow","beforeStep","afterStep"].includes(x),D=["beforeStep","afterStep"].includes(x),Y=f?cw(f):void 0,E="flowKey"===Y,R="stepKey"===Y,N=e=>{let t=cb(l.on)?l.on:{eventName:e};l.on=t,t.eventName=e,delete t.phase,delete t.flowKey,delete t.stepKey,d()};return(0,m.jsxs)("div",{style:{marginBottom:32},children:[(0,m.jsx)(cI,{color:"#1890ff",children:s("Event")}),(0,m.jsxs)("div",{style:{paddingLeft:12},children:[(0,m.jsxs)("div",{style:{marginBottom:16},children:[(0,m.jsx)(cj,{children:s("Trigger event")}),(0,m.jsx)(k.Select,{placeholder:s("Select trigger event"),style:{width:"100%"},value:p,onChange:e=>{N(e)},options:u})]}),(0,m.jsxs)("div",{style:{marginBottom:16},children:[(0,m.jsx)(cj,{children:s("Execution timing")}),(0,m.jsx)(k.Select,{style:{width:"100%"},disabled:!p,value:x,onChange:e=>{let t=b();t&&(t.phase=e,cM(t),d())},options:j}),L&&(0,m.jsxs)("div",{style:{marginTop:12,display:"flex",flexDirection:"column",gap:12},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)(cj,{required:L,style:{marginBottom:6},children:s("Built-in flow")}),(0,m.jsx)(k.Select,{style:{width:"100%"},disabled:!p||0===T.length,placeholder:s("Select a built-in flow"),value:M,status:E?"error":void 0,options:T,onChange:e=>{let t=b();t&&(e?t.flowKey=e:delete t.flowKey,delete t.stepKey,d())}}),E&&(0,m.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:s("Please select a built-in flow")})]}),D&&(0,m.jsxs)("div",{children:[(0,m.jsx)(cj,{required:D,style:{marginBottom:6},children:s("Built-in flow step")}),(0,m.jsx)(k.Select,{style:{width:"100%"},disabled:!p||!M||0===I.length,placeholder:s("Select a built-in flow step"),value:S,status:R?"error":void 0,options:I,onChange:e=>{let t=b();t&&(e?t.stepKey=e:delete t.stepKey,d())}}),R&&(0,m.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:s("Please select a built-in flow step")})]}),0===T.length&&(0,m.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#8c8c8c"},children:s("No built-in flows for this event")})]})]}),p&&n.flowSettings.renderStepForm({key:p,uiSchema:y,initialValues:_,flowEngine:n,onFormValuesChange:e=>{let t=b();t&&(t.defaultParams=e.values)}})]})]})}),cD=(0,r.observer)(e=>{let{model:t}=e,l=(0,r.useFlowContext)(),o=t.flowEngine,n=(0,r.serializeFlowRegistry)(t.flowRegistry),i=h.default.useRef(n),[a]=h.default.useState(()=>new r.DetachedFlowRegistry(n)),[s,d]=h.default.useState(!1),u=h.default.useMemo(()=>t.translate.bind(t),[t]),c=h.default.useCallback(()=>!g.default.isEqual(i.current,(0,r.serializeFlowRegistry)(a)),[a]);h.default.useEffect(()=>{g.default.isEqual(i.current,n)||c()||((0,r.replaceFlowRegistry)(a,n),i.current=n)},[a,c,n]),h.default.useEffect(()=>{let e=l.view,t=e.beforeClose,o=async e=>{if(c()){var o,n;if(!(await (null==(n=l.modal)||null==(o=n.confirm)?void 0:o.call(n,{title:u("Unsaved changes"),content:u("Are you sure you don't want to save?"),okText:u("Confirm"),cancelText:u("Cancel")}))??!0))return!1}return!1!==await (null==t?void 0:t(e))};return e.beforeClose=o,()=>{e.beforeClose===o&&(e.beforeClose=t)}},[l,c,u]);let p=()=>{a.addFlow((0,Q.uid)(),{title:u("Event flow"),steps:{}})},f=e=>{e.remove()},v=(e,t)=>{e.title=t},y=()=>[...t.getActions().values()].filter(e=>g.default.castArray(e.scene).includes(r.ActionScene.DYNAMIC_EVENT_FLOW)).sort((e,t)=>(e.sort??0)-(t.sort??0)),_=(e,t)=>{let l={use:t.name};e.addStep((0,Q.uid)(),l)},b=e=>{e.remove()},x=(e,t)=>{e.defaultParams=t},M=e=>(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,m.jsx)("div",{style:{flex:1,marginRight:16},children:(0,m.jsx)(k.Input,{value:e.title,onChange:t=>v(e,t.target.value),onClick:e=>e.stopPropagation(),placeholder:u("Enter flow title")})}),(0,m.jsx)(k.Space,{onClick:e=>e.stopPropagation(),children:(0,m.jsx)(k.Tooltip,{title:"Delete",children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.DeleteOutlined,{}),onClick:()=>f(e)})})})]}),w=a.mapFlows(e=>({key:e.key,label:M(e),styles:{header:{display:"flex",alignItems:"center"}},children:(0,m.jsxs)("div",{children:[(0,m.jsx)(cL,{flow:e,model:t,flowEngine:o,flowRegistry:a}),(0,m.jsxs)("div",{children:[(0,m.jsx)(cI,{color:"#52c41a",children:u("Steps")}),(0,m.jsxs)("div",{style:{paddingLeft:12},children:[(0,m.jsx)("div",{style:{marginBottom:16},children:e.mapSteps(e=>{let l=t.getAction(e.use);return l?(0,m.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,m.jsxs)("span",{style:{fontWeight:600,color:"#262626"},children:[u(l.title),(0,m.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,m.jsx)(k.Tooltip,{title:u("Delete step"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.DeleteOutlined,{}),onClick:()=>b(e)})})]}),(0,m.jsx)("div",{children:h.default.createElement(r.FlowStepContext.Provider,{value:{params:(0,r.untracked)(()=>e.defaultParams),path:`${t.uid}_${e.flowKey}_${e.key}`}},o.flowSettings.renderStepForm({uiSchema:l.uiSchema,initialValues:(0,r.untracked)(()=>e.defaultParams),flowEngine:o,onFormValuesChange:t=>x(e,t.values)}))})]},e.key):null})}),(0,m.jsx)(k.Dropdown,{menu:{items:y().map(t=>({key:t.name,label:u(t.title)||t.name,onClick:()=>_(e,t)}))},trigger:["hover"],children:(0,m.jsx)(k.Button,{type:"link",icon:(0,m.jsx)(H.PlusOutlined,{}),style:{padding:0,height:"auto",textAlign:"left"},children:u("Add step")})})]})]})]})}));return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,m.jsxs)("div",{style:{flex:1,padding:"16px",overflow:"auto",minHeight:0},children:[w.length>0?(0,m.jsx)(k.Collapse,{items:w,size:"small",style:{marginBottom:8},defaultActiveKey:[w[0].key],accordion:!0}):(0,m.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,m.jsx)(k.Empty,{description:u("No event flows"),style:{margin:"20px 0"}})}),(0,m.jsx)(k.Button,{type:"dashed",icon:(0,m.jsx)(H.PlusOutlined,{}),onClick:p,style:{width:"100%"},children:u("Add event flow")})]}),(0,m.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",padding:"8px 16px",borderTop:"1px solid #f0f0f0",backgroundColor:"#fff",flexShrink:0},children:[(0,m.jsx)(k.Button,{onClick:()=>l.view.close(),children:u("Cancel")}),(0,m.jsx)(k.Button,{type:"primary",loading:s,onClick:async()=>{var e,o,n,s,c,p,m,h,f,g,v,y;d(!0);let _=a.mapFlows(e=>{if(!cb(e.on))return;cM(e.on);let t=cw(e.on);if(t)return{type:t}}).filter(Boolean)[0];if(_){let e="flowKey"===_.type?u("Please select a built-in flow"):u("Please select a built-in flow step");null==(p=t.context)||null==(c=p.message)||null==(s=c.error)||s.call(c,e),d(!1);return}let b=(0,r.serializeFlowRegistry)(t.flowRegistry),x=[];try{for(let e of a.mapFlows(e=>e))for(let l of e.mapSteps(e=>e)){let o=l.serialize(),n=l.use?t.getAction(l.use):void 0,i=o.beforeParamsSave||(null==n?void 0:n.beforeParamsSave),a=o.afterParamsSave||(null==n?void 0:n.afterParamsSave);if("function"!=typeof i&&"function"!=typeof a)continue;let s=new r.FlowRuntimeContext(t,e.key,"settings");(0,r.setupRuntimeContextSteps)(s,e.steps,t,e.key),s.defineProperty("currentStep",{value:o});let d={...l.defaultParams||{}},u={...l.defaultParams||{}};"function"==typeof i&&await i(s,d,u),"function"==typeof a&&x.push(async()=>{await a(s,d,u)}),l.defaultParams=d}(0,r.replaceFlowRegistry)(t.flowRegistry,(0,r.serializeFlowRegistry)(a)),await t.flowRegistry.save()}catch(e){(0,r.replaceFlowRegistry)(t.flowRegistry,b),d(!1),null==(f=t.context)||null==(h=f.message)||null==(m=h.error)||m.call(h,"Steps post-save hooks failed to run"),console.error(e);return}i.current=(0,r.serializeFlowRegistry)(t.flowRegistry);try{for(let e of x)await e()}catch(e){null==(y=t.context)||null==(v=y.message)||null==(g=v.error)||g.call(v,"Steps post-save hooks failed to run"),console.error(e)}t.flowRegistry.mapFlows(e=>{if((0,r.isBeforeRenderFlow)(e))return e}).filter(Boolean).length>0&&t.rerender(),d(!1),null==(n=t.context)||null==(o=n.message)||null==(e=o.success)||e.call(o,u("Configuration saved")),l.view.destroy()},children:u("Save")})]})]})});var cY=l(6662);let cE=()=>{let e=(0,r.useFlowContext)().app,t=e.pm.get("@nocobase/plugin-block-markdown");return t.dependencyLoaded||(t.initVditorDependency(e),t.dependencyLoaded=!0),t.getCDN(e)};var cR=l(1196);let cN="nb-markdown-vditor";function cO(){let{theme:e,token:t,hashId:l}=k.theme.useToken(),o=(0,cR.useStyleRegister)({theme:e,token:t,hashId:l,path:["flow-markdown",cN]},()=>({[`.${cN}`]:{".vditor-reset":{fontSize:`${t.fontSize}px !important`,color:"unset"},".vditor":{borderRadius:8},".vditor .vditor-content":{borderRadius:"0 0 8px 8px",overflow:"hidden"},".vditor .vditor-toolbar":{paddingLeft:" 16px !important",borderRadius:"8px 8px 0 0"},".vditor .vditor-content .vditor-ir .vditor-reset":{padding:"10px !important"},".vditor-ir pre.vditor-reset":{backgroundColor:`${t.colorBgContainer}!important`},".vditor-preview":{display:"none !important"},".vditor-preview__action":{display:"none"}}}));return{wrapSSR:(0,h.useMemo)(()=>o,[o,e,t,l]),hashId:l,componentCls:cN}}function cB(e){let t=new DOMParser().parseFromString(e,"text/html");t.querySelectorAll("img").forEach(e=>{let t=e.getAttribute("src");t&&e.replaceWith(document.createTextNode(` [Image: ${t}] `))});let l=t.body.textContent||t.body.innerText;return(null==l?void 0:l.replace(/\n|\r/g," "))||""}let cH=e=>{if(e){let t=document.createRange();return t.selectNodeContents(e),t.getBoundingClientRect().width}};function cq(e){let t=(0,h.useRef)(null),{wrapSSR:l,componentCls:o,hashId:n}=cO(),i=cE();return(0,h.useEffect)(()=>{e.loadImages&&(__rspack_external_vditor.default.preview(t.current,e.value??"",{mode:"light",cdn:i}),setTimeout(()=>{var e,l;null==(e=t.current)||e.querySelectorAll("img").forEach(e=>{e.style.cursor="zoom-in",e.addEventListener("click",()=>{cV(e.src)})}),null==(l=t.current)||l.querySelectorAll("qr-code").forEach(e=>{let t=e.getAttribute("value")||"",l=document.createElement("div");e.replaceWith(l),(0,cY.createRoot)(l).render((0,m.jsx)(k.QRCode,{value:t}))})},300))},[e.value,e.loadImages,i]),l((0,m.jsx)("span",{className:`${n} ${o}`,children:(0,m.jsx)("span",{ref:t,style:{border:"none",...(null==e?void 0:e.style)??{}}})}))}function cV(e){if(document.getElementById("custom-image-preview"))return;let t=document.createElement("span");t.id="custom-image-preview",Object.assign(t.style,{position:"fixed",inset:"0",backgroundColor:"rgba(0,0,0,0.85)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:"9999",cursor:"zoom-out"});let l=document.createElement("img");l.src=e,Object.assign(l.style,{maxWidth:"90%",maxHeight:"90%",borderRadius:"8px",boxShadow:"0 0 20px rgba(0,0,0,0.5)",transition:"transform 0.2s",cursor:"zoom-out"}),t.addEventListener("click",()=>{document.body.removeChild(t)}),t.appendChild(l),document.body.appendChild(t)}let c$=e=>{let{value:t,textOnly:l=!0}=e,o=cE(),[n,i]=(0,h.useState)(!1),[r,a]=(0,h.useState)(!1),[s,d]=(0,h.useState)(!1),[u,c]=(0,h.useState)(""),p=(0,h.useRef)();(0,h.useEffect)(()=>{e.value&&l&&__rspack_external_vditor.default.md2html(e.value,{mode:"light",cdn:o}).then(e=>{c(cB(e))}).catch(()=>c(""))},[e.value,l]);let f=(0,h.useCallback)(()=>{var e;return!!p.current&&cH(p.current)>(null==(e=p.current)?void 0:e.offsetWidth)},[p]),g=e=>{i(e),e&&!s&&d(!0)};return e.ellipsis?(0,m.jsx)(k.Popover,{open:n,getPopupContainer:()=>{var e;return null==(e=document.getElementsByClassName("ant-drawer-content"))?void 0:e[0]},onOpenChange:e=>{g(r&&e)},overlayStyle:{maxWidth:600},content:(0,m.jsx)("div",{style:{maxHeight:400,overflow:"auto"},children:(0,m.jsx)(cq,{value:t,loadImages:s})}),children:(0,m.jsx)("div",{ref:p,style:{overflow:"hidden",overflowWrap:"break-word",textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"break-all"},onMouseEnter:e=>{let t=e.target;f()&&a(t.scrollWidth>=t.clientWidth)},children:l?u:(0,m.jsx)("div",{className:(0,tx.css)`
760
+ `,defaultValue:"dddd",formats:["MMMM Do YYYY","YYYY-MM-DD","MM/DD/YY","YYYY/MM/DD","DD/MM/YYYY"]},enum:[{label:(0,ny.b2)({format:"MMMM Do YYYY"}),value:"MMMM Do YYYY"},{label:(0,ny.b2)({format:"YYYY-MM-DD"}),value:"YYYY-MM-DD"},{label:(0,ny.b2)({format:"MM/DD/YY"}),value:"MM/DD/YY"},{label:(0,ny.b2)({format:"YYYY/MM/DD"}),value:"YYYY/MM/DD"},{label:(0,ny.b2)({format:"DD/MM/YYYY"}),value:"DD/MM/YYYY"},{label:(0,r.tExpr)("Custom"),value:"custom"}],"x-reactions":[e=>{let{picker:t}=e.form.values;e.value=(0,d.getPickerFormat)(t),e.setComponentProps({picker:t})}]},showTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Show time")}}',"x-reactions":[{dependencies:["picker"],fulfill:{state:{hidden:"{{ $form.values.picker !== 'date' }}"}}},t=>{let{collectionField:l}=e.model.context,{picker:o}=t.form.values||{};t.hidden="dateOnly"===l.type||"date"!==o,"date"!==o&&(t.value=!1)}]},timeFormat:o}},defaultParams:e=>{let{showTime:t,dateFormat:l,timeFormat:o,picker:n}={...e.model.context.collectionField.getComponentProps(),...e.model.props};return{picker:n||"date",dateFormat:l||"YYYY-MM-DD",timeFormat:o||"HH:mm:ss",showTime:t}},handler(e,t){let{collectionField:l}=e.model.context;"time"===l.type?e.model.setProps({...t,format:null==t?void 0:t.timeFormat}):e.model.setProps({...t,format:(null==t?void 0:t.showTime)?`${t.dateFormat} ${t.timeFormat}`:t.dateFormat})}});var db=l(1793);function dx(e){if(""!==e&&null!=e)return e}let dM=(0,r.defineAction)({name:"dateRangeLimit",title:(0,r.tExpr)("Date range limit"),uiMode:{type:"dialog",props:{width:720}},uiSchema(e){var t,l;let o={targetPath:(null==(l=e.model.context)||null==(t=l.collectionField)?void 0:t.name)||"",enableDateVariableAsConstant:!0};return{_minDate:{type:"string",title:(0,r.tExpr)("MinDate"),"x-decorator":"FormItem","x-component":db.zv,"x-component-props":o},_maxDate:{type:"string",title:(0,r.tExpr)("MaxDate"),"x-decorator":"FormItem","x-component":db.zv,"x-component-props":o}}},defaultParams(e){var t,l;return{_minDate:dx(null==(t=e.model.props)?void 0:t._minDate),_maxDate:dx(null==(l=e.model.props)?void 0:l._maxDate)}},useRawParams:!0,async handler(e,t){e.model.setProps({_minDate:dx(null==t?void 0:t._minDate),_maxDate:dx(null==t?void 0:t._maxDate)})}}),dw=e=>e.filter(e=>{if(!e.interface)return!1;let t=e.getInterfaceOptions();return null!=t&&!!t.sortable}).map(e=>{var t;return{value:e.name,label:(null==e||null==(t=e.uiSchema)?void 0:t.title)||e.name}}),dS=(0,r.defineAction)({name:"sortingRule",title:(0,r.tExpr)("Default sorting"),uiSchema:e=>{var t;return{sort:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}},enum:dw((null==(t=e.collectionField)?void 0:t.targetCollection)?e.collectionField.targetCollection.getFields():e.blockModel.collection.getFields())},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:(0,r.tExpr)("ASC"),value:"asc"},{label:(0,r.tExpr)("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:(0,r.tExpr)("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},defaultParams:e=>({sort:[]}),async handler(e,t){var l;let o=t.sort.map(e=>"desc"===e.direction?`-${e.field}`:e.field),n=null==(l=e.model)?void 0:l.resource;n&&(e.model.setProps({globalSort:o}),n.setSort(o))}}),dk=(0,r.defineAction)({name:"dataLoadingMode",title:(0,r.tExpr)("Data loading mode"),uiMode:{type:"select",key:"mode",props:{options:[{value:"auto",label:(0,r.tExpr)("Load all data when filter is empty")},{value:"manual",label:(0,r.tExpr)("Do not load data when filter is empty")}]}},defaultParams:{mode:"auto"},hideInSettings:e=>{let t=e.blockModel,l=null==t?void 0:t.resource;return!l||!(l instanceof r.MultiRecordResource)},handler(e,t){let l=e.blockModel;if(!l)return;let o=l.resource;o instanceof r.MultiRecordResource&&("manual"!==t.mode||l.hasActiveFilters()?"auto"===t.mode&&o.refresh():(o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1))}}),dF=(0,r.defineAction)({title:(0,r.tExpr)("Render mode"),name:"renderMode",uiMode(e){let t=e.t;return{type:"select",key:"textOnly",props:{options:[{label:t("Text only"),value:!0},{label:t("Html"),value:!1}]}}},hideInSettings:async e=>{var t,l,o;let n=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","overflowMode"))?void 0:t.overflowMode;return void 0===n?e.model.parent instanceof nD:!0===n||"ellipsis"===n},defaultParams:{textOnly:!0},handler(e,t){e.model.setProps({textOnly:t.textOnly})}}),dC=(0,r.defineAction)({title:(0,r.tExpr)("Set block layout"),name:"layout",uiSchema:{layout:{type:"string",enum:[{label:(0,r.tExpr)("Vertical"),value:"vertical"},{label:(0,r.tExpr)("Horizontal"),value:"horizontal"}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},labelAlign:{title:(0,r.tExpr)("Label align"),type:"string","x-decorator":"FormItem","x-component":"Select",enum:[{label:"{{t('Right')}}",value:"right"},{label:"{{t('Left')}}",value:"left"}],"x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},labelWidth:{title:(0,r.tExpr)("Label width"),type:"string",required:!0,"x-decorator":"FormItem","x-component":"NumberPicker","x-component-props":{addonAfter:"px"},"x-validator":[{minimum:50}],"x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},labelWrap:{type:"string",title:(0,r.tExpr)("When the Label exceeds the width"),enum:[{label:(0,r.tExpr)("Line break"),value:!0},{label:(0,r.tExpr)("Ellipsis"),value:!1}],"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},colon:{type:"boolean","x-content":(0,r.tExpr)("Colon"),required:!0,"x-decorator":"FormItem","x-component":"Checkbox"}},defaultParams:e=>({layout:"vertical",labelAlign:"left",labelWidth:120,labelWrap:!0,colon:!0}),handler(e,t){e.model.setProps({...t,labelWidth:"vertical"===t.layout?null:t.labelWidth}),e.model.subModels.grid.findSubModel("items",e=>{e.setProps({...t,labelWidth:"vertical"===t.layout?"100%":t.labelWidth,labelWrap:"vertical"===t.layout||t.labelWrap})})}}),dA=(0,r.defineAction)({title:(0,r.tExpr)("Required"),name:"required",uiMode:e=>{var t,l,o;let n=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(o=e.model.props.validation)?void 0:o.rules)||[];return{type:"switch",key:"required",props:{disabled:n.concat(i).some(e=>"required"===e.name)}}},uiSchema:async e=>{var t,l,o;let n=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(o=e.model.props.validation)?void 0:o.rules)||[],a=n.concat(i).some(e=>"required"===e.name);return{required:{"x-component":"Switch","x-decorator":"FormItem","x-component-props":{checkedChildren:(0,r.tExpr)("Yes"),unCheckedChildren:(0,r.tExpr)("No")},"x-disabled":a}}},defaultParams:e=>({required:e.model.getProps().required}),handler(e,t){var l,o;let n=e.model.getProps().rules||[],i=((null==(o=e.model.collectionField)||null==(l=o.validation)?void 0:l.rules)||[]).some(e=>"required"===e.name);(n=n.filter(e=>!e.required),i)?e.model.setProps({rules:n,required:!0}):(t.required&&n.push({required:!0,message:e.t("The field value is required")}),e.model.setProps({rules:n,required:t.required}))}});function dP(e,t,l){let{collectionField:o}=e,n=t.getBindingsByField(e,o),i=t=>t.map(t=>{var l;let o=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=o.meta)?void 0:l.label)||t.modelName),value:t.modelName}});if(l){let r=t.getBindingsByField(e,o.targetCollection.getField(l));return[n.length&&{label:e.t("AssociationField component"),options:i(n)},{label:e.t("Title field component"),options:i(r)}].filter(Boolean)}return i(n)}let dT=(0,r.defineAction)({name:"displayFieldComponent",title:(0,r.tExpr)("Field component"),uiMode:e=>{let{titleField:t}=e.model.props;return{type:"select",key:"use",props:{options:dP(e,e.model.constructor,t)}}},hideInSettings:async e=>{let{titleField:t}=e.model.props;if(!e.collectionField||1===e.model.constructor.getBindingsByField(e,e.collectionField).length&&!t)return!0},beforeParamsSave:async(e,t,l)=>{if(!e.collectionField)return;let o=e.model.constructor.getBindingsByField(e,e.collectionField),{titleField:n}=e.model.props,i=[];n&&(i=e.model.constructor.getBindingsByField(e,e.collectionField.targetCollection.getField(n)));let r=o.concat(i).find(e=>e.modelName===t.use);t.use!==l.use&&await tB({parentModel:e.model,targetUse:t.use,defaultProps:"function"==typeof(null==r?void 0:r.defaultProps)?r.defaultProps(e,e.collectionField):null==r?void 0:r.defaultProps,pattern:e.model.getProps().pattern})},defaultParams:e=>{let t=e.model.constructor.getDefaultBindingByField(e,e.collectionField),l=e.model.subModels.field;return{use:tO(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){let l=tO(e.model.subModels.field);t.use!==l&&e.model.setStepParams(e.flowKey,"model",{use:t.use})}}),dI=(0,r.defineAction)({title:(0,r.tExpr)("Field component"),name:"fieldComponent",uiMode:e=>{if("readPretty"===e.model.getProps().pattern){var t,l;let{titleField:o}=e.model.props,n=e.model.constructor.getBindingsByField(e,e.collectionField);return n&&(1!==n.length||o)?{type:"select",key:"use",props:{options:dP(e,tz,o||(null==(l=e.model.subModels.field.props)||null==(t=l.fieldNames)?void 0:t.label))}}:null}{let t=e.model.constructor.getBindingsByField(e,e.collectionField);return t&&1!==t.length?{type:"select",key:"use",props:{options:t.map(t=>{var l;let o=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=o.meta)?void 0:l.label)||t.modelName),value:t.modelName}})}}:null}},hideInSettings(e){let{titleField:t}=e.model.props,l=e.model.constructor.getBindingsByField(e,e.collectionField);if("readPretty"===e.model.getProps().pattern){if(!l||1===l.length&&!t)return!0}else if(!l||1===l.length)return!0},beforeParamsSave:async(e,t,l)=>{let o=e.model.constructor.getBindingsByField(e,e.collectionField),n=[];if("readPretty"===e.model.getProps().pattern){let{titleField:t}=e.model.props;o=tz.getBindingsByField(e,e.collectionField),t&&(n=tz.getBindingsByField(e,e.collectionField.targetCollection.getField(t)))}let i=o.concat(n).find(e=>e.modelName===t.use);if(t.use!==l.use){let l="function"==typeof(null==i?void 0:i.defaultProps)?i.defaultProps(e,e.collectionField):null==i?void 0:i.defaultProps;await tB({parentModel:e.model,targetUse:t.use,defaultProps:l,pattern:e.model.getProps().pattern})}},defaultParams:e=>{let t="readPretty"===e.model.getProps().pattern?tz.getDefaultBindingByField(e,e.collectionField):e.model.constructor.getDefaultBindingByField(e,e.collectionField),l=e.model.subModels.field;return{use:tO(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){}}),dj=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},dL=(0,r.defineAction)({name:"aclCheck",async handler(e,t){var l,o,n,i,r;let a=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:(null==(o=e.collectionField)?void 0:o.collectionName)||e.resourceName,actionName:e.actionName,fields:(null==e?void 0:e.collectionField)&&[e.collectionField.name],allowedActions:e.collectionField?null:null==(n=e.resource)?void 0:n.getMeta("allowedActions"),recordPkValue:dj((null==e?void 0:e.record)&&(null==(r=e.collection)||null==(i=r.getFilterByTK)?void 0:i.call(r,null==e?void 0:e.record)))});e.actionName&&(a||(e.model.hidden=!0,e.model.forbidden={actionName:e.actionName},e.exitAll()))}}),dD=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},dY=e=>{let t=null==e?void 0:e.model;t&&(t.forbidden&&(t.forbidden=null,"function"==typeof t.setHidden?t.setHidden(!1):t.hidden=!1),"function"==typeof t.setProps&&t.setProps({aclDisabled:void 0,aclCreateDisabled:void 0}))},dE=async e=>{var t,l,o,n,i,r,a,s,d;let u=await e.aclCheck({dataSourceKey:null==(t=e.dataSource)?void 0:t.key,resourceName:(null==(l=e.collectionField)?void 0:l.collectionName)||e.resourceName,actionName:e.actionName,fields:(null==e?void 0:e.collectionField)&&[e.collectionField.name],allowedActions:null==(n=e.resource)||null==(o=n.getMeta)?void 0:o.call(n,"allowedActions"),recordPkValue:dD((null==e?void 0:e.record)&&(null==(r=e.collection)||null==(i=r.getFilterByTK)?void 0:i.call(r,null==e?void 0:e.record)))});e.actionName&&(u||(null==(a=(s=e.model).setHidden)||a.call(s,!0),e.model.forbidden={actionName:e.actionName},null==(d=e.exitAll)||d.call(e)))},dR=async e=>{var t,l,o,n,i,r,a,s,d,u,c,p,m,h,f,g,v,y,_,b,x;if(!e.collectionField)return;let M=null==(l=e.blockModel)||null==(t=l.context)?void 0:t.actionName;if(!M)return;let w=await e.aclCheck({dataSourceKey:null==(o=e.dataSource)?void 0:o.key,resourceName:null==(n=e.collectionField)?void 0:n.collectionName,fields:[null==(i=e.collectionField)?void 0:i.name],actionName:M});if("update"===M){let t=await e.aclCheck({dataSourceKey:null==(r=e.dataSource)?void 0:r.key,resourceName:null==(a=e.collectionField)?void 0:a.collectionName,fields:[e.collectionField.name],actionName:"view"});e.prefixFieldPath&&e.item&&(await e.aclCheck({dataSourceKey:null==(d=e.dataSource)?void 0:d.key,resourceName:null==(u=e.collectionField)?void 0:u.collectionName,fields:[e.collectionField.name],actionName:"create"})||e.model.setProps({aclCreateDisabled:!0})),t||(null==(s=e.item)?void 0:s.__is_new__)||(null==(c=(p=e.model).setHidden)||c.call(p,!0),e.model.forbidden={actionName:"view"},null==(m=e.exitAll)||m.call(e)),w||e.model.setProps({aclDisabled:!0})}else if("create"===M){let t=await e.aclCheck({dataSourceKey:null==(h=e.dataSource)?void 0:h.key,resourceName:null==(f=e.collectionField)?void 0:f.collectionName,actionName:"update"}),l=await e.aclCheck({dataSourceKey:null==(g=e.dataSource)?void 0:g.key,resourceName:null==(v=e.collectionField)?void 0:v.collectionName,fields:[e.collectionField.name],actionName:"update"});w||(null==(y=e.item)?void 0:y.__is_stored__)||(null==(_=(b=e.model).setHidden)||_.call(b,!0),e.model.forbidden={actionName:M},null==(x=e.exitAll)||x.call(e)),t&&l||e.model.setProps({aclDisabled:!0})}},dN=(0,r.defineAction)({name:"aclCheckRefresh",async handler(e,t){let l=(null==t?void 0:t.strategy)||"default";(dY(e),"formItem"===l)?await dR(e):await dE(e)}});function dO(e){var t,l,o,n,i;return(null==(n=e.model.subModels)||null==(o=n.field)||null==(l=o.props)||null==(t=l.fieldNames)?void 0:t.label)||e.model.props.titleField||(null==(i=e.collectionField)?void 0:i.targetCollectionTitleFieldName)}function dB(e){var t;let l=e.model.subModels.field,o=tO(l)??(null==l?void 0:l.use),n="string"==typeof o?e.engine.getModelClass(o):o;return((null==n||null==(t=n.meta)?void 0:t.preserveOnPatternChange)??!1)===!0}async function dH(e){var t,l,o,n,i,r,a;null==(t=(l=e.model).invalidateFlowCache)||t.call(l,"beforeRender",!0),await (null==(o=(n=e.model).rerender)?void 0:o.call(n));let s=e.model.parent;s&&(null==(i=s.invalidateFlowCache)||i.call(s,"beforeRender",!0),null==(r=s.setProps)||r.call(s,{__patternRefreshKey:(0,Q.uid)()}),await (null==(a=s.rerender)?void 0:a.call(s)))}let dq=(0,r.defineAction)({name:"pattern",title:(0,r.tExpr)("Display mode"),uiMode(e){let t=e.t;return{type:"select",key:"pattern",props:{options:[{value:"editable",label:t("Editable")},{value:"disabled",label:t("Disabled")},{value:"readPretty",label:t("Display only")}]}}},hideInSettings:e=>!e.model.collectionField||!1===e.model.collectionField.inputable,defaultParams:e=>({pattern:!1===e.model.collectionField.inputable||e.model.context.parentDisabled||e.model.props.disabled||e.model.collectionField.readonly?"disabled":"editable"}),afterParamsSave:async(e,t,l)=>{if(dB(e)){if(t.pattern!==l.pattern){var o,n;null==(n=e.model.subModels.field)||null==(o=n.scheduleApplyJsSettings)||o.call(n)}await dH(e);return}let i=e.collectionField.targetCollection,r=dO(e),a=null==i?void 0:i.getField(r),{model:s}=e,d=function(t){var l,o;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.collectionField;if(!t)return;let i="function"==typeof t.defaultProps?t.defaultProps(e,n):t.defaultProps;return(null==(o=e.collectionField)||null==(l=o.isAssociationField)?void 0:l.call(o))&&r?{...i||{},titleField:r}:i};if("readPretty"===t.pattern){let t=tz.getDefaultBindingByField(e,e.collectionField,{fallbackToTargetTitleField:!0,targetCollectionTitleField:a});await tB({parentModel:s,targetUse:t.modelName,defaultProps:d(t,a||e.collectionField)}),t.modelName&&e.model.setStepParams("editItemSettings","model",{use:t.modelName})}else{let t=e.model.constructor.getDefaultBindingByField(e,e.collectionField);"readPretty"===l.pattern&&await tB({parentModel:s,targetUse:t.modelName,defaultProps:d(t)})}await dH(e)},async beforeParamsSave(e,t,l){if("readPretty"===t.pattern){let t=dO(e);e.model.setProps({pattern:"readPretty",disabled:!1,titleField:t}),e.collectionField.isAssociationField()&&await e.model.setStepParams("editItemSettings","titleField",{titleField:t})}else e.model.setProps({disabled:"disabled"===t.pattern,pattern:"editable"})},handler(e,t){"readPretty"===t.pattern?e.model.setProps({pattern:"readPretty"}):e.model.setProps({disabled:"disabled"===t.pattern,pattern:null})}}),dV=(0,r.defineAction)({title:(0,r.tExpr)("Validation"),name:"validation",uiSchema:e=>{if(!e.model.collectionField)return;let t=e.model.collectionField.getInterfaceOptions();return(null==t?void 0:t.validationType)?{validation:{"x-decorator":"FormItem","x-component":a.g7,"x-component-props":{type:t.validationType,availableValidationOptions:[...new Set(t.availableValidationOptions)],excludeValidationOptions:[...new Set(t.excludeValidationOptions)],isAssociation:t.isAssociation}}}:null},handler(e,t){if(t.validation){let l=[],o=(0,r.jioToJoiSchema)(t.validation),n=e.model.props.label;l.push({validator:(t,l)=>{let{error:i}=o.validate(l,{abortEarly:!1});if(i){let t=i.details.map(t=>e.t(`${t.type}`,{...t.context,ns:"data-source-main",label:n})),l=document.createElement("div");return l.innerHTML=t.join("; "),Promise.reject(l.textContent)}return Promise.resolve()}});let i=t.validation.rules.some(e=>"required"===e.name);i&&e.model.setProps({required:i}),console.log(l),e.model.setProps({rules:l,validation:t.validation})}}}),d$=(0,r.defineAction)({title:(0,r.tExpr)("Fixed"),name:"fixed",uiMode:e=>{let t=e.t;return{type:"select",key:"fixed",props:{options:[{label:t("Not fixed"),value:"none"},{label:t("Left fixed"),value:"left"},{label:t("Right fixed"),value:"right"}]}}},defaultParams:{fixed:"none"},handler(e,t){e.model.setProps("fixed",t.fixed)}}),dz=e=>{let{t,fieldOptions:l,rootCollection:o,value:n,onChange:i,defaultMode:a="assign",fixedMode:s,showCondition:d=!0,showEnable:u=!0,showValueEditorWhenNoField:c=!1,getValueInputProps:p,isTitleFieldCandidate:f,onSyncAssociationTitleField:g,enableDateVariableAsConstant:v=!1}=e,y=Array.isArray(n)?n:[],[_,b]=h.default.useState(()=>Array.isArray(l)?l:[]);h.default.useEffect(()=>{b(Array.isArray(l)?l:[])},[l]);let x=h.default.useCallback((e,t)=>(null==e?void 0:e.key)||String(t),[]),[M,w]=h.default.useState({}),[S,F]=h.default.useState({}),[C,A]=h.default.useState(null);h.default.useEffect(()=>{let e=new Set(y.map((e,t)=>x(e,t)));w(t=>{let l={},o=!1;for(let[n,i]of Object.entries(t))e.has(n)?l[n]=i:o=!0;return o?l:t}),F(t=>{let l={},o=!1;for(let[n,i]of Object.entries(t))e.has(n)?l[n]=!!i:o=!0;return o?l:t}),C&&!e.has(C)&&A(null)},[x,C,y]);let P=h.default.useCallback((e,l,o)=>{if(!(null==e?void 0:e.getFields)||o.has(e))return[];let n=new Set(o);n.add(e);let i=("function"==typeof e.getFields?e.getFields():[])||[],r=[];for(let e of i){var a;if(!e)continue;let o=e,i="string"==typeof o.interface?o.interface:void 0;if(!i||"formula"===i)continue;let s=String(o.name||"");if(!s)continue;let d=t("string"==typeof o.title?o.title:s),u={name:s,title:d,type:String(o.type||"string"),interface:i,uiSchema:o.uiSchema,paths:[...l,s]},c=!!(null==(a=o.isAssociationField)?void 0:a.call(o)),p=(0,tH.E4)(o);c&&!p&&o.targetCollection&&(u.children=async()=>P(o.targetCollection,[...l,s],n)),r.push(u)}return r},[t]),T=h.default.useCallback(e=>{if(!(null==o?void 0:o.getField))return;let l=R(e);if(!l.length)return;let n=[],i=o;for(let e=0;e<l.length;e++){var r,a;let o=l[e],s=null==i||null==(r=i.getField)?void 0:r.call(i,o);if(!(null==s||null==(a=s.isAssociationField)?void 0:a.call(s)))break;let d=(0,tH.E4)(s),u=null==s?void 0:s.targetCollection;if(!u)break;let c=t("string"==typeof s.title?s.title:o);n.push({collection:u,toMany:d,viaLabel:c}),i=u}if(n.length<=0)return;let s=(e,l,o,i)=>{let r=n[e]||n[0],a=[];r.toMany&&(a.push({title:t("Index (starts from 0)"),name:"index",type:"number",paths:[...l,"index"]}),a.push({title:t("Total count"),name:"length",type:"number",paths:[...l,"length"]})),a.push({title:t("Attributes"),name:"value",type:"object",paths:[...l,"value"],children:async()=>P(r.collection,[...l,"value"],new Set)}),e-1>=0&&a.push(s(e-1,[...l,"parentItem"],"parentItem","Parent item"));let d=null==r?void 0:r.viaLabel;return{title:d?`${t(i)}(${d})`:t(i),name:o,type:"object",paths:l,children:a}};return[s(n.length-1,["item"],"item","Current item")]},[P,o,t]),I=(e,t)=>{let l=y.map((l,o)=>o===e?{...l,...t}:l);null==i||i(l)},j=e=>{let t=x(y[e],e);w(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),F(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),C===t&&A(null);let l=y.filter((t,l)=>l!==e);null==i||i(l)},L=(e,t)=>{let l=[...y],o="up"===t?e-1:e+1;if(o<0||o>=l.length)return;let[n]=l.splice(e,1);l.splice(o,0,n),null==i||i(l)},D=()=>{let e=[...y,{key:(0,Q.uid)(),enable:!0,mode:s||a,condition:{logic:"$and",items:[]},targetPath:void 0,value:void 0}];null==i||i(e)},Y=e=>s||((null==e?void 0:e.mode)==="default"?"default":"assign"),E=h.default.useCallback(e=>{let l="default"===e?t("Default value"):t("Fixed value"),o="default"===e?t("A pre-filled value. Editable, for new entries only, and won’t affect existing data (including empty values)."):t("A system-set value. Read-only."),n=e=>{e.preventDefault(),e.stopPropagation()};return(0,m.jsxs)(k.Space,{size:4,children:[(0,m.jsx)("span",{children:l}),(0,m.jsx)(k.Tooltip,{title:o,children:(0,m.jsx)(H.QuestionCircleOutlined,{style:{cursor:"help",opacity:.65,fontSize:12},onMouseDown:n,onClick:n})})]})},[t]),R=h.default.useCallback(e=>{let t=String(e||"");return t?t.split(".").map(e=>e.trim()).filter(Boolean):[]},[]),N=e=>{let l=R(e);if(!l.length)return;if(!(null==o?void 0:o.getField))return l.join(" / ");let n=[],i=o;for(let e=0;e<l.length;e++){var r,a;let o=l[e],s=null==i||null==(r=i.getField)?void 0:r.call(i,o);if(!s){n.push(o);continue}n.push(t("string"==typeof s.title?s.title:o)),(null==s||null==(a=s.isAssociationField)?void 0:a.call(s))&&(null==s?void 0:s.targetCollection)&&(i=s.targetCollection)}return n.filter(Boolean).join(" / ")},B=h.default.useCallback(e=>{let l=R(e);if(!l.length||!(null==o?void 0:o.getField))return null;let n=o,i=null;for(let e=0;e<l.length;e++){var r,a,s,d,u,c,p;let o=String(l[e]);if(!(i=(null==n||null==(r=n.getField)?void 0:r.call(n,o))||null))break;if(e===l.length-1){if(!(null==i||null==(s=i.isAssociationField)?void 0:s.call(i))||!(null==i?void 0:i.targetCollection))return null;let e=i.targetCollection,l=("function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[]).filter(t=>{if(!t)return!1;if("function"==typeof f)return!!f(t,e);let l="string"==typeof t.interface?t.interface:void 0;return!!l&&"formula"!==l}).map(e=>{let l=String((null==e?void 0:e.name)||"");return l?{value:l,label:t("string"==typeof(null==e?void 0:e.title)?e.title:l)}:null}).filter(Boolean),o="string"==typeof(null==e?void 0:e.titleField)&&e.titleField?e.titleField:void 0,n="string"==typeof(null==e||null==(d=e.options)?void 0:d.titleField)&&(null==(u=e.options)?void 0:u.titleField)?null==(c=e.options)?void 0:c.titleField:void 0,r="string"==typeof(null==i?void 0:i.targetCollectionTitleFieldName)&&i.targetCollectionTitleFieldName?i.targetCollectionTitleFieldName:void 0,a=o||n||r;if(a&&!l.some(e=>e.value===a)){let o="function"==typeof(null==e?void 0:e.getField)&&(null==(p=e.getField(a))?void 0:p.title)||a;l.unshift({value:a,label:t("string"==typeof o?o:a)})}let m="string"==typeof(null==i?void 0:i.targetKey)&&i.targetKey||(null==e?void 0:e.filterTargetKey)||(null==e?void 0:e.filterByTk)||"id";return{associationField:i,targetCollection:e,currentTitleField:a,valueKey:m,candidates:l}}if(!(null==i||null==(a=i.isAssociationField)?void 0:a.call(i))||!(null==i?void 0:i.targetCollection))break;n=i.targetCollection}return null},[f,R,o,t]),q=h.default.useCallback(e=>{if(!(null==o?void 0:o.getField))return null;let t=o;for(let o of e){var l,n;let e=null==t||null==(l=t.getField)?void 0:l.call(t,o);if(!(null==e||null==(n=e.isAssociationField)?void 0:n.call(e))||!(null==e?void 0:e.targetCollection))return null;t=e.targetCollection}return t||null},[o]),V=h.default.useCallback(e=>{let l="function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[],o=[];for(let e of l){var n;if(!e)continue;let l=e,i="string"==typeof l.interface?l.interface:void 0;if(!i||"formula"===i)continue;let r=String(l.name||"");if(!r)continue;let a=t("string"==typeof l.title?l.title:r),s=!!(null==(n=l.isAssociationField)?void 0:n.call(l)),d=!!l.targetCollection;o.push({label:a,value:r,isLeaf:!(s&&d)})}return o},[t]),$=h.default.useCallback(async e=>{let t=e||[],l=t[t.length-1];if(!l||l.children&&Array.isArray(l.children)&&l.children.length||l.isLeaf)return;let o=q(t.map(e=>String(null==e?void 0:e.value)).filter(Boolean));if(!o){l.isLeaf=!0,b(e=>[...e]);return}let n=V(o);n.length?l.children=n:l.isLeaf=!0,b(e=>[...e])},[V,q]),z=h.default.useCallback(async e=>{if(!e.length)return;let t=_,l=[];for(let n=0;n<e.length-1;n++){var o;let i=String(e[n]),r=t.find(e=>String(null==e?void 0:e.value)===i);if(!r)return;if(l.push(r),null==(o=r.children)?void 0:o.length){t=r.children;continue}if(r.isLeaf)return;await $(l),t=r.children||[]}},[_,$]),K=h.default.useMemo(()=>{let e=[],t=new Set;for(let l of y){let o=(null==l?void 0:l.targetPath)?String(l.targetPath):"";o&&(t.has(o)||(t.add(o),e.push(o)))}return e},[y]);h.default.useEffect(()=>{let e=!1;return(async()=>{for(let t of K){if(e)return;let l=R(t);l.length&&await z(l)}})(),()=>{e=!0}},[R,z,K]);let U=(e,l)=>{let o="default"===Y(e)?t("Default value"):t("Fixed value"),n=N(e.targetPath),i=n?String(n):t("Please select field");return(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,m.jsxs)("div",{style:{flex:1,marginRight:16,minWidth:0,display:"flex",alignItems:"center",gap:8},children:[(0,m.jsx)("div",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},title:i,children:i}),(0,m.jsx)("div",{style:{opacity:.65,fontSize:12,whiteSpace:"nowrap"},children:o})]}),(0,m.jsxs)(k.Space,{onClick:e=>e.stopPropagation(),children:[(0,m.jsx)(k.Tooltip,{title:t("Delete"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.DeleteOutlined,{}),onClick:()=>j(l),"aria-label":t("Delete")})}),(0,m.jsx)(k.Tooltip,{title:t("Move up"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.ArrowUpOutlined,{}),onClick:()=>L(l,"up"),disabled:0===l,"aria-label":t("Move up")})}),(0,m.jsx)(k.Tooltip,{title:t("Move down"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.ArrowDownOutlined,{}),onClick:()=>L(l,"down"),disabled:l===y.length-1,"aria-label":t("Move down")})}),u&&(0,m.jsx)(k.Switch,{size:"small",checked:!1!==e.enable,onChange:e=>I(l,{enable:e}),checkedChildren:t("Enable"),unCheckedChildren:t("Disable")})]})]})},G=y.map((e,l)=>{var o;let n=Y(e),i=T(e.targetPath),a=x(e,l),u=B(e.targetPath),h=M[a],f="string"==typeof h&&h||"string"==typeof(null==e?void 0:e.valueTitleField)&&e.valueTitleField||(null==u?void 0:u.currentTitleField)||void 0,y=!f||!u||!!u.candidates.some(e=>e.value===f),b=y?f:(null==u?void 0:u.currentTitleField)||void 0,P=!!u,j=!!(null==u||null==(o=u.candidates)?void 0:o.length),L=C===a,D=!!g&&P&&j&&y&&!!b&&b!==(null==u?void 0:u.currentTitleField)&&!L,N=!(0,r.isVariableExpression)(null==e?void 0:e.value)&&!(0,r.isRunJSValue)(null==e?void 0:e.value)&&(null==e?void 0:e.value)!==null,q=P&&N,V=q&&!!S[a],z=P?(0,m.jsxs)(k.Space.Compact,{size:"small",onClick:e=>e.stopPropagation(),children:[(0,m.jsx)(k.Select,{size:"small",style:{minWidth:160},value:b,placeholder:j?t("Please select field"):t("No available title fields"),options:(null==u?void 0:u.candidates)||[],disabled:!j||L,allowClear:!1,onChange:e=>{let t=String(e||""),o=t&&t!==(null==u?void 0:u.currentTitleField)?t:void 0;w(e=>{let t=Object.prototype.hasOwnProperty.call(e,a);if(!o){if(!t)return e;let l={...e};return delete l[a],l}return e[a]===o?e:{...e,[a]:o}}),I(l,{valueTitleField:o})}}),(0,m.jsx)(k.Tooltip,{title:D?t("Sync selected title field to collection"):t("Please choose a different title field before syncing"),children:(0,m.jsx)(k.Popconfirm,{title:t("Sync title field"),description:t("This will update the collection title field globally. Continue?"),okText:t("OK"),cancelText:t("Cancel"),disabled:!D,onConfirm:async()=>{if(u&&b&&"function"==typeof g&&u.candidates.some(e=>e.value===b)){A(a);try{await g({ruleItem:e,ruleIndex:l,targetPath:e.targetPath,associationField:u.associationField,targetCollection:u.targetCollection,titleField:b}),w(e=>{if(!(a in e))return e;let t={...e};return delete t[a],t}),I(l,{valueTitleField:void 0})}catch(e){console.warn("[FieldAssignRulesEditor] Failed to sync title field",e)}finally{A(e=>e===a?null:e)}}},children:(0,m.jsx)(k.Button,{size:"small",icon:(0,m.jsx)(H.SyncOutlined,{spin:L}),disabled:!D,"aria-label":t("Sync title field")})})})]}):null;return{key:e.key||String(l),label:U(e,l),styles:{header:{display:"flex",alignItems:"center"}},children:(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Field")}),(0,m.jsx)(k.Cascader,{value:R(e.targetPath),placeholder:t("Please select field"),style:{width:"100%"},options:_,loadData:$,changeOnSelect:!0,showSearch:{filter:(e,t)=>{let l=String(e||"").toLowerCase();return!l||(t||[]).some(e=>String((null==e?void 0:e.label)??"").toLowerCase().includes(l))}},allowClear:!0,onChange:t=>{let o=Array.isArray(t)?t.map(e=>String(e)).filter(Boolean):[],n=o.length?o.join("."):void 0,i=n!==e.targetPath;i&&(w(e=>{if(!(a in e))return e;let t={...e};return delete t[a],t}),F(e=>{if(!(a in e))return e;let t={...e};return delete t[a],t})),I(l,{targetPath:n,valueTitleField:i?void 0:e.valueTitleField,value:i?void 0:e.value})}})]}),(c||!!e.targetPath)&&(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Value")}),(0,m.jsx)(db.zv,{targetPath:e.targetPath||"",value:e.value,onChange:e=>I(l,{value:e}),extraMetaTree:i,...(null==p?void 0:p(e,l))||{},enableDateVariableAsConstant:v,associationFieldNamesOverride:u&&b?{label:b,value:u.valueKey}:void 0},`${e.targetPath||"no-field"}::${b||""}`),q&&(0,m.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:6},children:(0,m.jsx)(k.Popover,{trigger:"click",open:V,onOpenChange:e=>{F(t=>({...t,[a]:e}))},placement:"bottomRight",title:t("Advanced"),content:(0,m.jsx)("div",{style:{minWidth:280},children:(0,m.jsxs)(k.Space,{size:8,align:"center",wrap:!0,children:[(0,m.jsx)("span",{style:{fontSize:12,opacity:.75},children:t("Title field")}),z]})}),children:(0,m.jsx)(k.Button,{type:"link",size:"small",style:{paddingInline:0,height:"auto"},icon:V?(0,m.jsx)(H.UpOutlined,{}):(0,m.jsx)(H.DownOutlined,{}),children:t("Advanced")})})})]}),!s&&(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Assignment mode")}),(0,m.jsx)(k.Radio.Group,{value:n,style:{width:"100%"},onChange:e=>I(l,{mode:e.target.value}),children:(0,m.jsxs)(k.Space,{size:16,children:[(0,m.jsx)(k.Radio,{value:"default",children:E("default")}),(0,m.jsx)(k.Radio,{value:"assign",children:E("assign")})]})})]}),d&&(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Condition")}),(0,m.jsx)(O.H,{value:e.condition||{logic:"$and",items:[]},onChange:e=>I(l,{condition:e}),extraMetaTree:i})]})]})}}),J=h.default.useMemo(()=>{if(!y.length)return[];let e=-1;for(let l=y.length-1;l>=0;l--){var t;if((null==(t=y[l])?void 0:t.enable)!==!1){e=l;break}}let l=e>=0?e:0,o=y[l],n=(null==o?void 0:o.key)||String(l);return n?[n]:[]},[y]);return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[y.length?(0,m.jsx)(k.Collapse,{items:G,size:"small",style:{marginBottom:8},defaultActiveKey:J,accordion:!0}):(0,m.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:6,backgroundColor:"#fafafa",marginBottom:8},children:(0,m.jsx)(k.Empty,{description:t("No data"),style:{margin:"20px 0"}})}),(0,m.jsx)(k.Button,{type:"dashed",icon:(0,m.jsx)(H.PlusOutlined,{}),onClick:D,style:{width:"100%"},children:t("Add")})]})};function dK(e){return(0,tH.Gj)(e)}function dU(e,t){var l,o,n,i,r;let a=e=>{if(null==e)return null;if(Array.isArray(e)){let t=e.map(e=>String(e??"")).filter(Boolean);return t.length?t[t.length-1]:null}return String(e)},s=a(null==e||null==(l=e.props)?void 0:l.label);if(s)return t(s);let d=null==e||null==(i=e.subModels)||null==(n=i.field)||null==(o=n.context)?void 0:o.collectionField,u=a(null==d?void 0:d.title);if(u)return t(u);let c=a(null==e||null==(r=e.props)?void 0:r.name)||a(null==e?void 0:e.fieldPath);return c?c.includes(".")?c.split(".").filter(Boolean).slice(-1)[0]||c:t(c):""}function dG(e){let t=String(e||"").split(".").map(e=>e.trim()).filter(Boolean);return t.length?t[t.length-1]:""}function dJ(e){var t;if(!e||"object"!=typeof e)return null;let l=(null==e?void 0:e.collection)||(null==e||null==(t=e.context)?void 0:t.collection);return l&&"object"==typeof l?l:null}function dW(e,t){let l="function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[],o=[];for(let e of l){var n;if(!e)continue;let l=e,i="string"==typeof l.interface?l.interface:void 0;if(!i||"formula"===i)continue;let r=String(l.name||"");if(!r)continue;let a=t("string"==typeof l.title?l.title:r),s=!!(null==(n=l.isAssociationField)?void 0:n.call(l)),d=!!l.targetCollection;o.push({label:a,value:r,isLeaf:!(s&&d)})}return o}function dX(e,t){let l=Array.isArray(e)?e:[],o=Array.isArray(t)?t:[],n=new Set;for(let e of l){let t=(null==e?void 0:e.value)?String(e.value):"";t&&n.add(t)}return[...l,...o.filter(e=>{let t=(null==e?void 0:e.value)?String(e.value):"";return!!t&&!n.has(t)})]}function dQ(e){var t,l,o;let{formBlockModel:n,t:i,maxFormItemDepth:r=1/0}=e,a=(null==n||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[],s=dJ(n),d=(e,t)=>{if(!Array.isArray(e)||t>r)return[];let l=[];for(let r of e){var o,n,a,s,u,c;if(!r)continue;let e=dU(r,i),p=dK(r);if(!p)continue;let m=dG(p);if(!m)continue;let h={label:e,value:m},f=null==r||null==(o=r.subModels)?void 0:o.field,g=null==f||null==(s=f.subModels)||null==(a=s.grid)||null==(n=a.subModels)?void 0:n.items,v=null==f||null==(u=f.context)?void 0:u.collectionField,y=!!(null==v||null==(c=v.isAssociationField)?void 0:c.call(v)),_=!!(null==v?void 0:v.targetCollection);if(Array.isArray(g)){if(y&&_)h.isLeaf=!1;else{let e=g.length?d(g,t+1):[];e.length?(h.children=e,h.isLeaf=!1):h.isLeaf=!0}l.push(h);continue}y&&_?h.isLeaf=!1:h.isLeaf=!0,l.push(h)}return l};return dX(d(a,1),dW(s,i))}function dZ(e,t){var l;let o="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;return!!e&&!!o&&!!(null==(l=(0,r.getCollectionFieldInterface)(o,e))?void 0:l.titleUsable)}function d0(e){let t=(null==e?void 0:e.dataSourceKey)??(null==e?void 0:e.dataSource);return"string"==typeof t&&t?t:a.Ze}function d1(e){let t=null==e?void 0:e.name;if("string"==typeof t&&t)return t;throw Error("Target collection name is required for syncing title field.")}function d2(e){return e&&e!==a.Ze?`dataSources/${e}/collections:update`:"collections:update"}async function d5(e){var t,l;let{api:o,dataSourceManager:n,targetCollection:i,titleField:r}=e;if("function"!=typeof(null==o?void 0:o.request))throw Error("API client is unavailable.");if("string"!=typeof r||!r)throw Error("Title field is required.");let a=d1(i),s=d0(i);await o.request({url:d2(s),method:"post",params:{filterByTk:a},data:{titleField:r}}),null==i||null==(t=i.setOption)||t.call(i,"titleField",r);let d=null==n||null==(l=n.getDataSource)?void 0:l.call(n,s);return d&&"function"==typeof d.reload&&await d.reload(),{dataSourceKey:s,collectionName:a,titleField:r}}function d4(e){let{api:t,dataSourceManager:l}=(0,r.useFlowContext)();return{isTitleFieldCandidate:h.default.useCallback(e=>dZ(l,e),[l]),onSyncAssociationTitleField:h.default.useCallback(async o=>{let{targetCollection:n,titleField:i}=o;try{await d5({api:t,dataSourceManager:l,targetCollection:n,titleField:i}),k.message.success(e("Saved successfully"))}catch(l){let t=(null==l?void 0:l.message)?String(l.message):e("Save failed");throw k.message.error(t),l}},[t,l,e])}}var d8=l(3127);let d3=(0,r.observer)(e=>{let t=(0,r.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:o,onSyncAssociationTitleField:n}=d4(l),i="function"==typeof e.onChange,a=h.default.useMemo(()=>dQ({formBlockModel:t.model,t:l}),[t.model]),s=h.default.useMemo(()=>(0,d8.K7)(t.model),[t.model]),d=h.default.useMemo(()=>(0,oS.PP)(t.model,"formModelSettings","assignRules"),[t.model]),u=h.default.useRef(!1),[c,p]=h.default.useState(!1),f=h.default.useCallback(()=>{u.current||(u.current=!0,p(!0))},[]),v=h.default.useMemo(()=>Array.isArray(e.value)?e.value:[],[e.value]),y=h.default.useMemo(()=>d?v:(0,d8.S2)(e.value,s),[d,s,v,e.value]),_=h.default.useMemo(()=>i&&c?v:y,[i,c,y,v]),b=h.default.useCallback(t=>{var l;i&&(f(),null==(l=e.onChange)||l.call(e,t))},[i,f,e.onChange]);return h.default.useEffect(()=>{if(!u.current&&i){if(d)return void f();if(!(0,g.isEqual)(v,y)){var t;null==(t=e.onChange)||t.call(e,y)}f()}},[i,d,y,f,v,e.onChange]),(0,m.jsx)(dz,{t:l,fieldOptions:a,rootCollection:(0,tH.w7)(t.model),value:_,onChange:b,showValueEditorWhenNoField:!0,isTitleFieldCandidate:o,onSyncAssociationTitleField:n,enableDateVariableAsConstant:!0})}),d6=(0,r.defineAction)({name:"formAssignRules",title:(0,r.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":d3}}),defaultParams:{value:[]},handler(){}}),d9=(0,r.observer)(e=>{let t=(0,r.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:o,onSyncAssociationTitleField:n}=d4(l),i="function"==typeof e.onChange,s=h.default.useMemo(()=>dQ({formBlockModel:t.model,t:l}),[t.model]),d=h.default.useMemo(()=>oA(t.model),[t.model]),u=h.default.useMemo(()=>(0,oS.PP)(t.model,"formFilterBlockModelSettings","defaultValues"),[t.model]),c=h.default.useCallback(e=>{var l,o,n,i;let r=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!r)return{};let s=(0,tH.eo)(t.model,r);return s?{operator:V(s),operatorMetaList:(null==s||null==(o=s.collectionField)||null==(l=o.filterable)?void 0:l.operators)||((null==s||null==(i=s.context)||null==(n=i.filterField)?void 0:n.type)?null===a.II||void 0===a.II?void 0:a.II[s.context.filterField.type]:[])||[],preferFormItemFieldModel:!0}:{}},[t.model]),p=h.default.useRef(!1),[f,v]=h.default.useState(!1),y=h.default.useCallback(()=>{p.current||(p.current=!0,v(!0))},[]),_=h.default.useMemo(()=>Array.isArray(e.value)?e.value:[],[e.value]),b=h.default.useMemo(()=>u?_:(0,oS.S2)(e.value,d),[u,d,_,e.value]),x=h.default.useMemo(()=>i&&f?_:b,[i,f,b,_]),M=h.default.useCallback(t=>{var l;i&&(y(),null==(l=e.onChange)||l.call(e,t))},[i,y,e.onChange]);return h.default.useEffect(()=>{if(!p.current&&i){if(u)return void y();if(!(0,g.isEqual)(_,b)){var t;null==(t=e.onChange)||t.call(e,b)}y()}},[i,u,b,y,_,e.onChange]),(0,m.jsx)(dz,{t:l,fieldOptions:s,rootCollection:(0,tH.w7)(t.model),value:x,onChange:M,fixedMode:"default",showCondition:!1,showValueEditorWhenNoField:!0,getValueInputProps:c,isTitleFieldCandidate:o,onSyncAssociationTitleField:n})}),d7=(0,r.defineAction)({name:"filterFormDefaultValues",title:(0,r.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":d9}}),defaultParams:{value:[]},handler(){}}),ue=(0,r.defineAction)({name:"linkageRulesRefresh",async handler(e,t){var l,o,n,i,r;let a=null==t?void 0:t.actionName,s=null==t?void 0:t.flowKey,d=(null==t?void 0:t.stepKey)||"linkageRules";if(!a||!s)return;let u=e.model;if(!u.getFlow(s))return;let c=!!((null==e?void 0:e.flowSettingsEnabled)||(null==u||null==(o=u.context)?void 0:o.flowSettingsEnabled)),p=!(null==u?void 0:u.isFork)&&!!(null==u||null==(n=u.forks)?void 0:n.size)&&Array.from((null==u?void 0:u.forks)||[]).some(e=>{var t,l,o;return!!e&&!e.disposed&&!!(null==e||null==(l=e.context)||null==(t=l.ref)?void 0:t.current)&&!!(null==e||null==(o=e.getFlow)?void 0:o.call(e,s))}),m=!!(null==u||null==(r=u.context)||null==(i=r.ref)?void 0:i.current);if(p&&!m&&!c)return;let h=`${s}:${d}:${a}`,f=(l=u).__linkageRulesRefreshInflight||(l.__linkageRulesRefreshInflight=new Map),g=f.get(h);if(g)return void await g;let v=(async()=>{var t,l;let o=null==u||null==(t=u.getStepParams)?void 0:t.call(u,s,d),n=null==(l=e.getAction)?void 0:l.call(e,a),i=(null==n?void 0:n.useRawParams)?{value:[],...o||{}}:await e.resolveJsonTemplate({value:[],...o||{}});(null==n?void 0:n.handler)&&await n.handler(e,i)})();f.set(h,v);try{await v}finally{f.delete(h)}}}),ut="defaultHeight",ul="specifyValue",uo="fullHeight",un=(0,r.defineAction)({name:"blockHeight",title:(0,r.tExpr)("Block height"),uiMode:{type:"dialog"},uiSchema:e=>{let{t}=e;return{heightMode:{type:"string",enum:[{label:t("Default"),value:ut},{label:t("Specify height"),value:ul},{label:t("Full height"),value:uo}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},height:{title:t("Height"),type:"number",required:!0,"x-decorator":"FormItem","x-component":k.InputNumber,"x-component-props":{addonAfter:"px"},"x-validator":[{minimum:40}],"x-reactions":{dependencies:["heightMode"],fulfill:{state:{hidden:'{{ $deps[0]==="fullHeight"||$deps[0]==="defaultHeight"}}',value:'{{$deps[0]!=="specifyValue"?null:$self.value}}'}}}}}},defaultParams:e=>({heightMode:ut}),async handler(e,t){e.model.setDecoratorProps({heightMode:t.heightMode,height:t.height})}});var ui=l(5886),ur=l(9613);let ua="formValuesChange",us="__formValueDrivenLinkageRefreshBindings";function ud(e,t){return e.length===t.length&&e.every((e,l)=>e===t[l])}function uu(e,t){return!(e.length>t.length)&&e.every((e,l)=>e===t[l])}function uc(e){let t=new Map;for(let l of e)(null==l?void 0:l.length)&&t.set((0,iQ.Qc)(l),l);return Array.from(t.values())}function up(e){let t=uc(e);return t.filter((e,l)=>!t.some((t,o)=>o!==l&&uu(e,t)))}function um(e){let t=Array.isArray(e)?e:[],l=[];for(let e of t){if("string"!=typeof e)continue;let[t,o]=e.split(":"),n=Number(o);!t||Number.isNaN(n)||l.push({name:t,index:n})}return l}function uh(e){var t,l;return um((null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex))}function uf(e,t){let l=e.length-1-t;if(l<0)return null;let o=[];for(let t=0;t<=l;t++)o.push(e[t].name,e[t].index);return o}function ug(e,t){let l=uf(e,t);return(null==l?void 0:l.length)?l.slice(0,-1):null}function uv(e,t){let l=uh(e);if(!l.length)return{wildcard:!0,valuePaths:[],structuralPaths:[]};let o=0,n=[...t];for(;"parentItem"===n[0];)o+=1,n=n.slice(1);let i=n[0];if(!i)return{wildcard:!0,valuePaths:[],structuralPaths:[]};if("value"===i){let e=uf(l,o);if(!e)return{wildcard:!0,valuePaths:[],structuralPaths:[]};let t=ug(l,o);return{wildcard:!1,valuePaths:[[...e,...n.slice(1)]],structuralPaths:t?[t]:[]}}if("index"===i||"length"===i){let e=ug(l,o);return e?{wildcard:!1,valuePaths:[],structuralPaths:[e]}:{wildcard:!0,valuePaths:[],structuralPaths:[]}}if("__is_new__"===i||"__is_stored__"===i){let e=uf(l,o);return e?{wildcard:!1,valuePaths:[[...e,i]],structuralPaths:[]}:{wildcard:!0,valuePaths:[],structuralPaths:[]}}return{wildcard:!0,valuePaths:[],structuralPaths:[]}}function uy(e,t){if("string"==typeof e&&e.trim())for(let[l,o]of Object.entries((0,r.extractUsedVariablePathsFromRunJS)(e)||{})){let e=Array.isArray(o)?o:[];for(let o of e.length?e:[""]){if("formValues"===l){if(!o){t.wildcard=!0;continue}let e=(0,iQ.EA)(String(o)).filter(e=>"object"!=typeof e);(0,ur.Dd)(e,t);continue}if("item"===l){let e=o?`ctx:item:${String(o)}`:"ctx:item";t.deps.add(e)}}}}function u_(e,t){let l=new WeakSet,o=e=>{if(!e||"object"!=typeof e||l.has(e))return;if(l.add(e),(0,r.isRunJSValue)(e)&&(0,ur.Wp)(e,t),Array.isArray(e))return void e.forEach(o);let n=null==e?void 0:e.name;("linkageRunjs"===n||"runjs"===n)&&(uy(g.default.get(e,["params","value","script"]),t),uy(g.default.get(e,["params","code"]),t)),Object.values(e).forEach(o)};o(e)}function ub(e,t){let l={deps:new Set,wildcard:!1};(0,ur.G)(t,l),u_(t,l);let o=[],n=[],i=l.wildcard;for(let t of l.deps){if("fv:*"===t){i=!0;continue}if(t.startsWith("fv:")){let e=t.slice(3);if(!e){i=!0;continue}o.push((0,iQ.c1)(e));continue}if("ctx:item"===t||t.startsWith("ctx:item:")){let l="ctx:item"===t?"":t.slice(9),r=uv(e,l?(0,iQ.EA)(l).filter(e=>"object"!=typeof e):[]);i||(i=r.wildcard),o.push(...r.valuePaths),n.push(...r.structuralPaths)}}return{wildcard:i,valuePaths:up(o),structuralPaths:uc(n)}}function ux(e){return e.wildcard||e.valuePaths.length>0||e.structuralPaths.length>0}function uM(e){let t=Array.isArray(null==e?void 0:e.changedPaths)?e.changedPaths:[],l=[];for(let e of t){if(Array.isArray(e)){if(1===e.length&&"string"==typeof e[0]){let t=(0,iQ.c1)(e[0]);t.length&&l.push(t);continue}let t=e.filter(e=>"string"==typeof e||"number"==typeof e);t.length&&l.push(t);continue}"string"==typeof e&&e&&l.push((0,iQ.c1)(e))}if(l.length)return l;let o=null==e?void 0:e.changedValues;if(o&&"object"==typeof o)for(let e of Object.keys(o)){let t=(0,iQ.c1)(e);t.length&&l.push(t)}return l}function uw(e,t){if(!ux(e))return!1;let l=uM(t);if(e.wildcard||!l.length)return!0;for(let t of l){for(let l of e.valuePaths)if(uu(l,t)||uu(t,l))return!0;for(let l of e.structuralPaths)if(ud(l,t)||uu(t,l))return!0}return!1}function uS(e,t){let l=e=>e.map(e=>(0,iQ.Qc)(e)).sort();return JSON.stringify({formBlockUid:null==t?void 0:t.uid,wildcard:e.wildcard,valuePaths:l(e.valuePaths),structuralPaths:l(e.structuralPaths)})}function uk(e){var t,l;return(t=e)[l=us]||(t[l]=new Map)}function uF(e){var t,l;return!!e&&"object"==typeof e&&!!e.emitter&&"function"==typeof e.emitter.on&&"function"==typeof e.emitter.off&&(!!e.formValueRuntime||!!(null==(t=e.context)?void 0:t.form)||"function"==typeof(null==(l=e.context)?void 0:l.setFormValues))}function uC(e){var t,l,o;let n=[],i=e=>{e&&!n.includes(e)&&n.push(e)};i(null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel),i(e.model);let r=null==(o=e.model)?void 0:o.parent;for(;r;)i(r),r=null==r?void 0:r.parent;return n.find(uF)||null}function uA(e,t){let l=uk(e).get(t);l&&l.dispose()}function uP(e,t,l){var o,n,i,a,s,d;let u=e.model,c=null==e?void 0:e.flowKey;if(!u||!c)return;let p="linkageRules",m=`${c}:${p}:${l}`,h=uk(u),f=ub(e,t);if(!ux(f))return void uA(u,m);let g=uC(e);if(!g)return void uA(u,m);let v=uS(f,g),y=h.get(m);if((null==y?void 0:y.signature)===v)return;y&&y.dispose();let _={signature:v,running:!1,linkageTxIds:new Set,pendingPayload:null,dispose:()=>{}},b=(null==u||null==(o=u.flowEngine)?void 0:o.emitter)||(null==e||null==(n=e.engine)?void 0:n.emitter)||(null==u||null==(a=u.context)||null==(i=a.engine)?void 0:i.emitter),x=()=>{var e,t,l,o;null==(t=g.emitter)||null==(e=t.off)||e.call(t,ua,w),null==b||null==(l=b.off)||l.call(b,"model:unmounted",S),null==b||null==(o=b.off)||o.call(b,"model:destroyed",k),h.get(m)===_&&h.delete(m)},M=e=>{if("string"!=typeof e||!e||(_.linkageTxIds.add(e),_.linkageTxIds.size<=20))return;let t=_.linkageTxIds.values().next().value;t&&_.linkageTxIds.delete(t)},w=o=>{let n="string"==typeof(null==o?void 0:o.linkageTxId)?o.linkageTxId:void 0;if((null==o?void 0:o.source)==="linkage"&&n&&_.linkageTxIds.has(n))return;if(u.disposed||g.disposed)return void x();if(!uw(ub(e,t),o))return;if(_.running){_.pendingPayload=o;return}let i=n||("string"==typeof(null==o?void 0:o.txId)?o.txId:void 0);M(i),_.running=!0;let a=new r.FlowRuntimeContext(u,c);a.defineProperty("inputArgs",{value:{...o||{},linkageTxId:i}}),ue.handler(a,{actionName:l,flowKey:c,stepKey:p}).catch(e=>{console.warn("[linkageRules] Failed to refresh form value driven linkage rules",e)}).finally(()=>{_.running=!1;let e=_.pendingPayload;_.pendingPayload=null,e&&w(e)})},S=e=>{let{model:t}=e;(t===g||t===u&&u.disposed)&&x()},k=e=>{let{model:t}=e;(t===u||t===g)&&x()};_.dispose=x,h.set(m,_),g.emitter.on(ua,w),null==b||null==(s=b.on)||s.call(b,"model:unmounted",S),null==b||null==(d=b.on)||d.call(b,"model:destroyed",k)}let uT=e=>{if(null==e)return e;let t=typeof e;if("string"===t||"number"===t||"boolean"===t)return e;if(Array.isArray(e))return e.length<=3?e:`[Array(${e.length})]`;if("object"===t){let t=null==e?void 0:e.id;return null!=t?{id:t}:"[Object]"}return`[${t}]`},uI=e=>{let t=0,l=e;for(;l;)(l instanceof re||l instanceof rl)&&(t+=1),l=null==l?void 0:l.parent;return t},uj=e=>{let t=Number(null==e?void 0:e.linkageScopeDepth);return Number.isFinite(t)?t:uI(null==e?void 0:e.model)},uL=e=>{try{var t,l,o,n;return((null==(n=e.model)||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[]).map(e=>({label:e.props.label||e.props.name,value:e.uid,model:e}))}catch(e){return console.warn("Failed to get form fields:",e),[]}},uD=e=>e.map(e=>e&&"object"==typeof e?{...e}:e),uY=new Set(["select","multipleSelect","radioGroup","checkboxGroup"]),uE=e=>{var t,l,o,n,i;return(null==e||null==(t=e.collectionField)?void 0:t.interface)||(null==e||null==(i=e.subModels)||null==(n=i.field)||null==(o=n.context)||null==(l=o.collectionField)?void 0:l.interface)},uR=e=>uY.has(uE(e)),uN=e=>{var t,l,o,n;let i=(null==e||null==(t=e.subModels)?void 0:t.field)||e,r=(0,tQ.di)(null==e||null==(o=e.collectionField)||null==(l=o.uiSchema)?void 0:l.enum,e=>e)||[];return r.length>0?(i._originalOptionsFallback=uD(r),i._originalOptionsFallback):Array.isArray(null==i?void 0:i._originalOptionsFallback)&&i._originalOptionsFallback.length>0?i._originalOptionsFallback:Array.isArray(null==i||null==(n=i.props)?void 0:n.options)&&i.props.options.length>0?(i._originalOptionsFallback=uD(i.props.options),i._originalOptionsFallback):null},uO=(e,t)=>{let l=uN(e);return l?l.map(e=>e&&"object"==typeof e&&"string"==typeof e.label?{...e,label:t(e.label)}:e):[]},uB=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0,o=t.map(t=>{var l;return null==(l=e.find(e=>e.value===t))?void 0:l.model}).filter(e=>uR(e)).filter(Boolean).flatMap(e=>uO(e,l)),n=new Map;return o.forEach(e=>{n.set(JSON.stringify(null==e?void 0:e.value),e)}),Array.from(n.values())},uH=(e,t)=>{switch(e){case"visible":return{hiddenModel:!1};case"hidden":return{hiddenModel:!0};case"hiddenReservedValue":return{hidden:!0};case"required":return{required:!0};case"notRequired":return{required:!1};case"disabled":return{disabled:!0};case"enabled":return{disabled:!1};case"limitOptions":return Array.isArray(t)?{options:t}:{};default:return null}},uq=(e,t)=>{var l;return"limitOptions"===e&&(null==t||null==(l=t.subModels)?void 0:l.field)||t},uV=e=>e&&"object"==typeof e&&1===Object.keys(e).length&&Array.isArray(e.options),u$=(e,t)=>{uV(t)&&(null==e?void 0:e.forks)&&"function"==typeof e.forks.forEach&&e.forks.forEach(e=>{var l;null==e||null==(l=e.setProps)||l.call(e,{options:uD(t.options)})})},uz=e=>{let{value:t={fields:[]},onChange:l,includeFormStates:o=!0,fieldOptionsGetter:n=uL}=e,i=(0,r.useFlowContext)(),a=i.model.translate.bind(i.model),s=n(i),d=(t.fields||[]).map(e=>{var t;return null==(t=s.find(t=>t.value===e))?void 0:t.model}).filter(Boolean),u=1===d.length&&d.every(e=>uR(e)),c=[{label:a("Visible"),value:"visible"},{label:a("Hidden"),value:"hidden"},{label:a("Hidden (reserved value)"),value:"hiddenReservedValue"},o&&{label:a("Required"),value:"required"},o&&{label:a("Not required"),value:"notRequired"},o&&{label:a("Disabled"),value:"disabled"},o&&{label:a("Enabled"),value:"enabled"},o&&u&&{label:a("Options"),value:"limitOptions"}].filter(Boolean),p=uB(s,t.fields,a),h=e=>{let o=e.map(e=>{var t;return null==(t=s.find(t=>t.value===e))?void 0:t.model}).filter(Boolean),n=1===o.length&&o.every(e=>uR(e)),i="limitOptions"!==t.state||n?t.state:void 0,r="limitOptions"===t.state||"limitOptions"===i?[]:t.selectedOptions;l({...t,fields:e,state:i,selectedOptions:r})},f=e=>{l({...t,state:e,selectedOptions:"limitOptions"===e?t.selectedOptions||[]:void 0})},g=e=>{l({...t,selectedOptions:p.filter(t=>e.includes(t.value))})};return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:a("Fields")}),(0,m.jsx)(k.Select,{mode:"multiple",value:t.fields,onChange:h,placeholder:a("Please select fields"),style:{width:"100%"},options:s,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]}),(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:a("State")}),(0,m.jsx)(k.Select,{value:t.state,onChange:f,placeholder:a("Please select state"),style:{width:"100%"},options:c,allowClear:!0})]}),"limitOptions"===t.state&&u&&(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:a("Options")}),(0,m.jsx)(k.Select,{mode:"multiple",value:(t.selectedOptions||[]).map(e=>e.value),onChange:g,style:{width:"100%"},options:p,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]})]})},uK=e=>{try{var t,l,o,n;return((null==(n=e.model)||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[]).map(e=>{let t=Array.from(e.forks)[0];return t?{label:(null==t?void 0:t.props.label)||(null==t?void 0:t.props.name),value:(null==t?void 0:t.uid)||e.uid,model:t}:{label:e.props.label||e.props.name,value:e.uid,model:e}})}catch(e){return console.warn("Failed to get form fields:",e),[]}};function uU(e){let t=e;return t.includes(",")&&t.includes(":")?t.split(",").map(e=>e.trim()).filter(Boolean):t?[t]:[]}function uG(e){let[t,l]=String(e||"").split(":");if(!t)return null;let o=Number(l);return Number.isFinite(o)?{fieldName:t,index:o}:null}function uJ(e,t){let l,o;if(!e)return null;let n=String(e).split(".").map(e=>e.trim()).filter(Boolean);if(!n.length)return null;let i=uU(t).map(uG).filter(Boolean),r=0,a=[];for(let e of n){a.push(e);let t=i[r];t&&t.fieldName===e&&(l=[...a],o=t.index,a.push(t.index),r+=1)}return{fieldPathArray:a,listRootPath:l,listRowIndex:o,hasUnmatchedIndices:r<i.length}}function uW(e,t,l){if(Array.isArray(e))return e;if(!e||"object"!=typeof e)return[];let o=null==e?void 0:e.field,n=null==e?void 0:e[t.valueKey];if(o){let e=null==l?void 0:l(String(o));return e?[{key:"legacy",enable:!0,targetPath:e,mode:t.mode,condition:{logic:"$and",items:[]},value:n}]:[]}return[]}function uX(e){return t=>{try{var l,o,n,i;let r=null==(o=e.engine)||null==(l=o.getModel)?void 0:l.call(o,t),a=(null==r||null==(i=r.getStepParams)||null==(n=i.call(r,"fieldSettings","init"))?void 0:n.fieldPath)||(null==r?void 0:r.fieldPath);return a?String(a):void 0}catch(e){console.warn(`Failed to resolve legacy field uid ${t}:`,e);return}}}let uQ=Symbol("SKIP_RUNJS_ASSIGN_VALUE");async function uZ(e,t){if(!(0,r.isRunJSValue)(t))return t;try{let{code:l,version:o}=(0,r.normalizeRunJSValue)(t),n=await (0,r.runjsWithSafeGlobals)(e,l,{version:o});if(!(null==n?void 0:n.success))return uQ;return n.value}catch(e){return console.warn("[linkageRules] Failed to evaluate RunJS assign value",e),uQ}}function u0(e){var t,l,o;let n=e=>{var t,l;if(!e||"object"!=typeof e)return null;let o=null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"fieldSettings","init"))?void 0:t.fieldPath,n=null==e?void 0:e.fieldPath;return"string"==typeof o&&o||"string"==typeof n&&n||null},i=null==(t=e.model)?void 0:t.parent;for(;i;){let e=n(i);if(e)return e;i=null==i?void 0:i.parent}let r=null==(o=e.model)||null==(l=o.context)?void 0:l.prefixFieldPath;return"string"==typeof r&&r?r:null}function u1(e,t){let l=String(t||"").trim();if(!l)return null;let o=(0,tH.eo)(e.model,l);if(o)return{targetPath:l,fieldModel:o};let n=u0(e);if(!n)return null;let i=String(n).split(".").map(e=>e.trim()).filter(Boolean),r=String(l).split(".").map(e=>e.trim()).filter(Boolean);if(!i.length||!r.length)return null;let a=e=>e.filter(Boolean).join("."),s=[],d=e=>{let t=String(e||"").trim();t&&(s.includes(t)||s.push(t))};d(l);let u=[],c=Math.min(i.length,r.length);for(let e=c;e>=1;e--){let t=i.slice(i.length-e),l=r.slice(0,e);if(!g.default.isEqual(t,l))continue;let o=a([...i,...r.slice(e)]);o&&!u.includes(o)&&u.push(o),d(o)}let p=a([...i,...r]);for(let t of(d(p),s)){let l=(0,tH.eo)(e.model,t);if(l)return{targetPath:t,fieldModel:l}}let m=1===r.length?p:u.length>0?u[0]:l;return m?{targetPath:m,fieldModel:null}:null}let u2=(0,r.defineAction)({name:"linkageSetBlockProps",title:(0,r.tExpr)("Set block state"),scene:r.ActionScene.BLOCK_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,m.jsx)(k.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l})}}),u5=(0,r.defineAction)({name:"linkageSetActionProps",title:(0,r.tExpr)("Set button state"),scene:r.ActionScene.ACTION_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,m.jsx)(k.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"},{label:n("Hidden text"),value:"hiddenText"},{label:n("Enabled"),value:"enabled"},{label:n("Disabled"),value:"disabled"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l,disabled:"disabled"===l,hiddenText:"hiddenText"===l})}}),u4=(0,r.defineAction)({name:"linkageSetMenuItemProps",title:(0,r.tExpr)("Set menu item state"),scene:r.ActionScene.MENU_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,m.jsx)(k.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l})}}),u8=(0,r.defineAction)({name:"linkageSetFieldProps",title:(0,r.tExpr)("Set field state"),scene:r.ActionScene.FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,m.jsx)(uz,{...e})}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var n,r,a,s;let d=((null==(s=e.model)||null==(a=s.subModels)||null==(r=a.grid)||null==(n=r.subModels)?void 0:n.items)||[]).find(e=>e.uid===t);if(d){let e=uH(i,null==l?void 0:l.selectedOptions);if(!e)return void console.warn(`Unknown state: ${i}`);o(uq(i,d),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),u3=(0,r.defineAction)({name:"subFormLinkageSetFieldProps",title:(0,r.tExpr)("Set field state"),scene:r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,m.jsx)(uz,{...e,fieldOptionsGetter:uK})}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var n,r,a,s,d;let u=null==(r=e.engine)||null==(n=r.getModel)?void 0:n.call(r,t);if(!u)return void console.warn("[subFormLinkageSetFieldProps] Target field model not found",{fieldUid:t,modelUid:null==(d=e.model)?void 0:d.uid});let c=null==(s=e.model)||null==(a=s.context)?void 0:a.fieldKey,p=c?`${c}:${t}`:void 0,m=p&&"function"==typeof u.getFork?u.getFork(p):null,h=m;if(m||(h=u),h){let e=uH(i,null==l?void 0:l.selectedOptions);if(!e)return void console.warn(`Unknown state: ${i}`);o(uq(i,h),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),u6=(0,r.defineAction)({name:"linkageSetDetailsFieldProps",title:(0,r.tExpr)("Set field state"),scene:r.ActionScene.DETAILS_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>(0,m.jsx)(uz,{...e,includeFormStates:!1})}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var l,n,r,a;let s=((null==(a=e.model)||null==(r=a.subModels)||null==(n=r.grid)||null==(l=n.subModels)?void 0:l.items)||[]).find(e=>e.uid===t);if(s){let e=uH(i);if(!e)return void console.warn(`Unknown state: ${i}`);o(uq(i,s),e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),u9={mode:"assign",valueKey:"assignValue"},u7={mode:"default",valueKey:"initialValue"},ce=e=>{let{value:t,onChange:l,legacy:o,fixedMode:n}=e,i=(0,r.useFlowContext)(),a=h.default.useCallback(e=>i.model.translate(e),[i.model]),{isTitleFieldCandidate:s,onSyncAssociationTitleField:d}=d4(a),u=h.default.useMemo(()=>dQ({formBlockModel:i.model,t:a,maxFormItemDepth:1}),[i.model,a]),c=uW(t,o,uX(i)),p=h.default.useCallback(e=>{"function"==typeof l&&l(e)},[l]);return(0,m.jsx)(dz,{t:a,fieldOptions:u,rootCollection:(0,tH.w7)(i.model),value:c,onChange:p,fixedMode:n,isTitleFieldCandidate:s,onSyncAssociationTitleField:d,enableDateVariableAsConstant:!0})},ct=e=>(0,m.jsx)(ce,{...e,legacy:u9}),cl=e=>(0,m.jsx)(ce,{...e,legacy:u9}),co=e=>(0,m.jsx)(ce,{...e,legacy:u7,fixedMode:"default"}),cn=(0,r.defineAction)({name:"linkageAssignField",title:(0,r.tExpr)("Field assignment"),scene:r.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":ct}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=uW(l,{mode:"assign",valueKey:"assignValue"},uX(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]});for(let l of i){var a,s;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let u=null==l?void 0:l.condition;if(u&&!(0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(u),t))continue;let c=(0,tH.eo)(e.model,i),p=i.split(".")[0],m=(null==c?void 0:c.collectionField)??(null==(s=(0,tH.w7)(e.model))||null==(a=s.getField)?void 0:a.call(s,p)),h=null==l?void 0:l.value;if((0,r.isRunJSValue)(h)&&(h=await uZ(e,h))===uQ)continue;let f=tG(m,h);if(void 0===f){c&&o(c,{});continue}let g=(null==l?void 0:l.mode)==="default"?"default":"assign";c?o(c,"default"===g?{initialValue:f}:{value:f}):"function"==typeof n&&n({path:i,value:f,whenEmpty:"default"===g})}}catch(e){console.warn("[linkageAssignField] Failed to assign value to fields",e)}}}),ci=(0,r.defineAction)({name:"subFormLinkageAssignField",title:(0,r.tExpr)("Field assignment"),scene:r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":cl}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=uW(l,{mode:"assign",valueKey:"assignValue"},uX(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]}),l=()=>{let t=e.model;return(null==t?void 0:t.__subFormLinkageExplicitPathKeys)instanceof Set||(t.__subFormLinkageExplicitPathKeys=new Set),t.__subFormLinkageExplicitPathKeys},g=t=>{var l,o;let n=(0,iQ.IJ)(t,null==(o=e.model)||null==(l=o.context)?void 0:l.fieldIndex);if(!Array.isArray(n)||!n.length)return null;let i=n.filter(e=>"string"==typeof e||"number"==typeof e);return i.length?(0,iQ.Qc)(i):null},v=()=>{let t=null==e?void 0:e.inputArgs;if(!t||"user"!==t.source)return;let o=Array.isArray(t.changedPaths)?t.changedPaths:[];if(!o.length)return;let n=l();for(let t of o){let l=null;if(Array.isArray(t)){let e=t.filter(e=>"string"==typeof e||"number"==typeof e);l=e.length?e:null}else if("string"==typeof t){var i,r;let o=(0,iQ.IJ)(t,null==(r=e.model)||null==(i=r.context)?void 0:i.fieldIndex);if(Array.isArray(o)&&o.length){let e=o.filter(e=>"string"==typeof e||"number"==typeof e);l=e.length?e:null}}(null==l?void 0:l.length)&&n.add((0,iQ.Qc)(l))}},y=t=>{var o,n;let i=l(),r=g(t);if(!r)return!1;if(i.has(r))return!0;let a=(0,iQ.IJ)(t,null==(n=e.model)||null==(o=n.context)?void 0:o.fieldIndex);if(!Array.isArray(a)||!a.length)return!1;let s=[];for(let e=0;e<a.length;e++){let t=a[e];if("string"!=typeof t&&"number"!=typeof t)continue;s.push(t);let l=(0,iQ.Qc)(s);if(!i.has(l))continue;let o=a[e+1];if("number"!=typeof o)return!0}return!1};v();let _=t=>{var l,o,n,i,r,a;let s=e.engine.getModel(t);if(!s)return null;let d=null==e||null==(o=e.model)||null==(l=o.context)?void 0:l.fieldKey,u=d?`${d}:${t}`:null,c=u?s.getFork(u):null;if(d){let e=(null==s?void 0:s.fieldPath)||(null==s||null==(i=s.getStepParams)||null==(n=i.call(s,"fieldSettings","init"))?void 0:n.fieldPath),t=uJ(e,d);!c&&u&&(c=s.createFork({},u)),(null==c?void 0:c.isFork)&&t&&(null==c||null==(a=c.context)||null==(r=a.defineProperty)||r.call(a,"fieldPathArray",{value:t.fieldPathArray}))}return c||(c=s),c};for(let l of i){var a,s,u,c,p,m,h,f;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let g=u1(e,i);if(!(null==g?void 0:g.targetPath))continue;let v=g.targetPath,b=g.fieldModel||null,x=(null==b?void 0:b.uid)?String(b.uid):"",M=null==l?void 0:l.condition;if(M&&!(0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(M),t))continue;let w=(null==l?void 0:l.mode)==="default"?"default":"assign",S=(null==(s=e.model)||null==(a=s.getAclActionName)?void 0:a.call(s))??(null==(c=e.model)||null==(u=c.context)?void 0:u.actionName),k="update"===S,F=(null==e||null==(p=e.item)?void 0:p.__is_new__)===!0;if("default"===w&&k&&!F)continue;let C=v.split(".")[0],A=(null==b?void 0:b.collectionField)??(null==(h=(0,tH.w7)((null==(f=e.model)?void 0:f.parent)??e.model))||null==(m=h.getField)?void 0:m.call(h,C)),P=null==l?void 0:l.value;if((0,r.isRunJSValue)(P)&&(P=await uZ(e,P))===uQ)continue;let T=tG(A,P);if(void 0===T){if(!x)continue;let e=_(x);e&&o(e,{});continue}if(!x){if("default"===w&&y(v))continue;"function"==typeof n&&n({path:v,value:T,whenEmpty:"default"===w});continue}let I=_(x);I&&o(I,"default"===w?{initialValue:T}:{value:T})}}catch(e){console.warn("[subFormLinkageAssignField] Failed to assign value to fields",e)}}});(0,r.defineAction)({name:"setFieldsDefaultValue",title:(0,r.tExpr)("设置字段默认值"),scene:r.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":co}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=uW(l,{mode:"default",valueKey:"initialValue"},uX(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]});for(let l of i){var a,s;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let u=null==l?void 0:l.condition;if(u&&!(0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(u),t))continue;let c=(0,tH.eo)(e.model,i),p=i.split(".")[0],m=(null==c?void 0:c.collectionField)??(null==(s=(0,tH.w7)(e.model))||null==(a=s.getField)?void 0:a.call(s,p)),h=null==l?void 0:l.value;if((0,r.isRunJSValue)(h)&&(h=await uZ(e,h))===uQ)continue;let f=tG(m,h);if(void 0===f){c&&o(c,{});continue}c?o(c,{initialValue:f}):"function"==typeof n&&n({path:i,value:f,whenEmpty:!0})}}catch(e){console.warn("[setFieldsDefaultValue] Failed to set fields default value",e)}}});let cr=(0,r.defineAction)({name:"linkageRunjs",title:(0,r.tExpr)("Execute JavaScript"),scene:[r.ActionScene.BLOCK_LINKAGE_RULES,r.ActionScene.FIELD_LINKAGE_RULES,r.ActionScene.ACTION_LINKAGE_RULES,r.ActionScene.MENU_LINKAGE_RULES,r.ActionScene.DETAILS_FIELD_LINKAGE_RULES,r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES],sort:300,useRawParams:!0,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={script:""},onChange:l}=e,o=e=>{l({...t,script:e})};return(0,m.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:(0,m.jsx)("div",{children:(0,m.jsx)(e6.BY,{value:t.script,onChange:o,height:"200px",enableLinter:!0,scene:"linkage"})})})}}},handler:async(e,t)=>{let{value:l}=t,{script:o}=l||{};if(o&&"string"==typeof o)try{let t=(0,r.createSafeNavigator)();await e.runjs(o,{window:(0,r.createSafeWindow)({navigator:t}),document:(0,r.createSafeDocument)(),navigator:t})}catch(t){var n;if(console.error("Script execution error:",t),null==(n=e.app)?void 0:n.message){let l=t instanceof Error?t.message:String(t);e.app.message.error(`Script execution error: ${l}`)}}}});function ca(e){let t=g.default.cloneDeep(e||{}),l=new Map,o=e=>{let t=`__ncb_linkage_runjs_script_mask__${(0,Q.uid)()}__`;return l.set(t,e),t},n=null==t?void 0:t.value;return Array.isArray(n)&&n.forEach(e=>{e.actions.forEach(e=>{let t=e.name;if("linkageRunjs"!==t&&"runjs"!==t)return;let l=g.default.get(e,["params","value","script"]);"string"==typeof l&&l.length&&g.default.set(e,["params","value","script"],o(l));let n=g.default.get(e,["params","code"]);"string"==typeof n&&n.length&&g.default.set(e,["params","code"],o(n))})}),{masked:t,restore:e=>{let t=null==e?void 0:e.value;return Array.isArray(t)&&t.forEach(e=>{e.actions.forEach(e=>{let t=e.name;if("linkageRunjs"!==t&&"runjs"!==t)return;let o=g.default.get(e,["params","value","script"]);"string"==typeof o&&l.has(o)&&g.default.set(e,["params","value","script"],l.get(o));let n=g.default.get(e,["params","code"]);"string"==typeof n&&l.has(n)&&g.default.set(e,["params","code"],l.get(n))})}),e}}}async function cs(e,t){let{masked:l,restore:o}=ca(t);return o(await e.resolveJsonTemplate(l))}let cd=(0,r.observer)(e=>{let{value:t,supportedActions:l}=e,o=(0,r.useFlowContext)(),n=(0,r.useFlowEngine)(),i=o.model.translate.bind(o.model),a=i("Assignment takes precedence over form field assignment"),s=()=>({key:(0,Q.uid)(),title:i("Linkage rule"),enable:!0,condition:{logic:"$and",items:[]},actions:[]}),d=()=>{t.push(s())},u=e=>{t.splice(e,1)},c=e=>{if(e>0){let l=t[e];t.splice(e,1),t.splice(e-1,0,l)}},p=e=>{if(e<t.length-1){let l=t[e];t.splice(e,1),t.splice(e+1,0,l)}},h=e=>{let l=g.default.cloneDeep(t[e]),o={...l,key:(0,Q.uid)(),title:`${l.title} (Copy)`};t.splice(e+1,0,o)},v=(e,l)=>{t[e].title=l},y=(e,l)=>{t[e].enable=l},_=()=>l.map(e=>o.getAction(e)),b=(e,l)=>{let o={key:(0,Q.uid)(),name:l,params:void 0};t[e].actions.push(o)},x=(e,l)=>{t[e].actions.splice(l,1)},M=(e,l,o)=>{t[e].actions[l].params=o},w=(e,l)=>(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,m.jsx)("div",{style:{flex:1,marginRight:16},children:(0,m.jsx)(k.Input,{value:e.title,onChange:e=>v(l,e.target.value),onClick:e=>e.stopPropagation(),placeholder:"Enter rule title"})}),(0,m.jsxs)(k.Space,{onClick:e=>e.stopPropagation(),children:[(0,m.jsx)(k.Tooltip,{title:i("Delete"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.DeleteOutlined,{}),onClick:()=>u(l)})}),(0,m.jsx)(k.Tooltip,{title:i("Move up"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.ArrowUpOutlined,{}),onClick:()=>c(l),disabled:0===l})}),(0,m.jsx)(k.Tooltip,{title:i("Move down"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.ArrowDownOutlined,{}),onClick:()=>p(l),disabled:l===t.length-1})}),(0,m.jsx)(k.Tooltip,{title:i("Copy"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.CopyOutlined,{}),onClick:()=>h(l)})}),(0,m.jsx)(k.Switch,{size:"small",checked:e.enable,onChange:e=>y(l,e),checkedChildren:i("Enable"),unCheckedChildren:i("Disable")})]})]}),S=t.map((e,t)=>({key:e.key,label:w(e,t),styles:{header:{display:"flex",alignItems:"center"}},children:(0,m.jsxs)("div",{children:[(0,m.jsxs)("div",{style:{marginBottom:32},children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,m.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#1890ff",borderRadius:"2px",marginRight:8}}),(0,m.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Condition")})]}),(0,m.jsx)("div",{style:{paddingLeft:12},children:(0,m.jsx)(ui.I,{value:e.condition,FilterItem:e=>(0,m.jsx)(f.Ru,{model:o.model,value:e.value})})})]}),(0,m.jsxs)("div",{children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,m.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#52c41a",borderRadius:"2px",marginRight:8}}),(0,m.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Actions")})]}),(0,m.jsxs)("div",{style:{paddingLeft:12},children:[e.actions.length>0?(0,m.jsx)("div",{style:{marginBottom:16},children:e.actions.map((e,l)=>{let r=o.getAction(e.name);return r?(0,m.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,m.jsxs)("span",{style:{fontWeight:500,color:"#262626"},children:[i(r.title),"linkageAssignField"===e.name||"subFormLinkageAssignField"===e.name?(0,m.jsx)(k.Tooltip,{title:a,children:(0,m.jsx)(H.QuestionCircleOutlined,{style:{marginInlineStart:4},onClick:e=>e.stopPropagation()})}):null,(0,m.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,m.jsx)(k.Tooltip,{title:i("Delete action"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.DeleteOutlined,{}),onClick:()=>x(t,l)})})]}),(0,m.jsx)("div",{children:n.flowSettings.renderStepForm({uiSchema:r.uiSchema,initialValues:e.params,flowEngine:n,onFormValuesChange:e=>M(t,l,e.values)})})]},e.key):null})}):null,(0,m.jsx)(k.Dropdown,{menu:{items:_().map(e=>({key:e.name,label:i(e.title||e.name),onClick:()=>b(t,e.name)}))},trigger:["hover"],children:(0,m.jsx)(k.Button,{type:"link",icon:(0,m.jsx)(H.PlusOutlined,{}),style:{padding:0,height:"auto",textAlign:"left"},children:i("Add action")})})]})]})]})}));return(0,m.jsxs)(m.Fragment,{children:[t.length>0?(0,m.jsx)(k.Collapse,{items:S,size:"small",style:{marginBottom:8},defaultActiveKey:t.length>0?[t[0].key]:[],accordion:!0}):(0,m.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,m.jsx)(k.Empty,{description:i("No linkage rules"),style:{margin:"20px 0"}})}),(0,m.jsx)(k.Button,{type:"dashed",icon:(0,m.jsx)(H.PlusOutlined,{}),onClick:d,style:{width:"100%"},children:i("Add linkage rule")})]})}),cu=async(e,t)=>{var l,o,n,i,r,a,s,u;let c=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]}),p=t.value,m=e.model.__allModels||(e.model.__allModels=[]),h=new Set(m),f=new Map,v=[],y=(0,tH.w7)((null==(o=e.model)||null==(l=o.context)?void 0:l.blockModel)??e.model),_=e=>{if(!Array.isArray(e)||!e.length||!(null==y?void 0:y.getField))return!0;let t=y;for(let n=0;n<e.length;n++){var l,o;let i=e[n];if("number"==typeof i||"string"!=typeof i)continue;let r=null==t||null==(l=t.getField)?void 0:l.call(t,i);if(!r)continue;let a=!!(null==r||null==(o=r.isAssociationField)?void 0:o.call(r)),s=!!(null==r?void 0:r.targetCollection);if((0,tH.E4)(r)&&n+1<e.length&&"number"!=typeof e[n+1])return!1;a&&s&&(t=r.targetCollection)}return!0},b=t=>{var l,o;if(!t)return null;if(Array.isArray(t))return t.length&&t.every(e=>"string"==typeof e||"number"==typeof e)?t:null;if("string"!=typeof t)return null;let n=null==(o=e.model)||null==(l=o.context)?void 0:l.fieldIndex;return(0,iQ.IJ)(t,n)},x=()=>{var t,l;let o=(null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel)??e.model;return(null==o?void 0:o.formValueRuntime)??(null==e?void 0:e.formValueRuntime)},M=e=>{let t=x();if("function"!=typeof(null==t?void 0:t.recordDefaultValuePatch))return;let l=new Map;for(let t of e)l.set((0,iQ.Qc)(t.path),t);for(let e of l.values())e.whenEmpty&&t.recordDefaultValuePatch(e.path,e.value)},w=t=>{var l,o,n,i,r;if(!t)return;let a=null==t?void 0:t.path;if(!a)return;let s=b(a);if(!s)return void console.warn("[linkageRules] Skip linkage assignment due to failed path resolution",{flowKey:e.flowKey,modelUid:null==(l=e.model)?void 0:l.uid,attemptedPath:a});if(!_(s))return void console.warn("[linkageRules] Skip linkage assignment for to-many association subpath without row index",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,attemptedPath:a,resolvedPath:s});let d=!!(null==t?void 0:t.whenEmpty),u=null==t?void 0:t.value;try{let t=null==(i=e.model)||null==(n=i.context)?void 0:n.form,l=null==t||null==(r=t.getFieldValue)?void 0:r.call(t,s);if(d){let e=x();if("function"==typeof(null==e?void 0:e.canApplyDefaultValuePatch)){if(!e.canApplyDefaultValuePatch(s,u))return}else if(null!=l&&""!==l)return}if(g.default.isEqual(l,u))return}catch{}v.push({path:s,value:u,...d?{whenEmpty:!0}:{}})},S=e=>{var t,l;if(!e||"object"!=typeof e)return null;try{let t=null==e||null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init"),o="string"==typeof(null==t?void 0:t.fieldPath)?t.fieldPath:"",n="string"==typeof(null==t?void 0:t.associationPathName)?t.associationPathName:"",i=o||("string"==typeof(null==e?void 0:e.fieldPath)?e.fieldPath:""),r=n||("string"==typeof(null==e?void 0:e.associationPathName)?e.associationPathName:"");if(r){if(!i)return r;if(i.startsWith(`${r}.`))return i;return`${r}.${i}`}if(i)return i}catch{}let o=null==e||null==(t=e.props)?void 0:t.name;if("string"==typeof o&&o)return o;if(Array.isArray(o)&&o.length){let e="";for(let t of o){if("number"==typeof t){e+=`[${t}]`;continue}"string"==typeof t&&t&&(e?e+=`.${t}`:e=t)}return e||null}return null};for(let t of p.filter(e=>e.enable)){let{condition:l,actions:o}=t;if((0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(l),c))for(let t of o){let l=(e,t)=>{e.__originalProps||(e.__originalProps={hiddenModel:e.hidden,hiddenText:void 0,disabled:void 0,required:void 0,hidden:void 0,...e.props}),f.set(e,{...f.get(e)||{},...t}),-1===m.indexOf(e)&&m.push(e),h.add(e)};await (null==(a=e.getAction(t.name))?void 0:a.handler(e,{...t.params,setProps:l,addFormValuePatch:w}))}}let k=new Map,F=new Map;h.forEach(e=>{let t=(null==e?void 0:e.uid)||String(e),l=f.get(e)||{};if(k.has(t)){let o=F.get(t)||{},n={...o,...l};F.set(t,n);let i=k.get(t),r=Object.keys(l).length>0,a=Object.keys(o).length>0;!r||a&&e.isFork&&i.isFork?e.isFork&&!i.isFork&&k.set(t,e):k.set(t,e)}else k.set(t,e),F.set(t,{...l})}),k.forEach((t,l)=>{let o=F.get(l)||{},n={...t.__originalProps,...o};if(t.setProps(g.default.omit(n,["hiddenModel","value","hiddenText"])),u$(t,o),"function"==typeof t.setHidden?t.setHidden(!!n.hiddenModel):t.hidden=!!n.hiddenModel,!0===n.required){let l=(t.props.rules||[]).filter(e=>!e.required);l.push({required:!0,message:e.t("The field value is required")}),t.setProps("rules",l)}else if(!1===n.required){let e=(t.props.rules||[]).filter(e=>!e.required);t.setProps("rules",e)}if(n.hiddenText&&t.setProps("title",""),Object.prototype.hasOwnProperty.call(o,"value")&&t.context.form){let l=S(t);if(l)w({path:l,value:n.value});else{var i;console.warn("[linkageRules] Skip linkage assignment due to missing target path",{flowKey:e.flowKey,modelUid:null==(i=e.model)?void 0:i.uid,targetUid:null==t?void 0:t.uid})}}t.__props=null});let C=[...v];if(!C.length)return;let A=e,P=null==A?void 0:A.setFormValues,T=null==(r=e.model)||null==(i=r.context)||null==(n=i.blockModel)?void 0:n.context,I=null==T?void 0:T.setFormValues,j=null==A?void 0:A.inputArgs,L="string"==typeof(null==j?void 0:j.linkageTxId)&&j.linkageTxId?j.linkageTxId:"string"==typeof(null==j?void 0:j.txId)?j.txId:void 0,D=uj(e),Y=async(e,t,l)=>{await e.call(t,C,{source:l,linkageTxId:L,linkageScopeDepth:D})};if("function"==typeof P)try{await Y(P,A,"linkage"),M(C);return}catch(t){console.warn("[linkageRules] Failed to set form values via setFormValues",{flowKey:e.flowKey,modelUid:null==(s=e.model)?void 0:s.uid,setter:"ctx",patchCount:C.length,patches:C.slice(0,10).map(e=>({path:e.path,value:uT(e.value)}))}),console.warn(t)}if("function"==typeof I)try{await Y(I,T,"linkage"),M(C);return}catch(t){console.warn("[linkageRules] Failed to set form values via setFormValues",{flowKey:e.flowKey,modelUid:null==(u=e.model)?void 0:u.uid,setter:"blockModel",patchCount:C.length,patches:C.slice(0,10).map(e=>({path:e.path,value:uT(e.value)}))}),console.warn(t)}C.forEach(t=>{let{path:l,value:o}=t;try{var n,i,r;let t=null==(i=e.model)||null==(n=i.context)?void 0:n.form;if("function"==typeof(null==t?void 0:t.getFieldValue)){let e=t.getFieldValue(l);if(g.default.isEqual(e,o))return}null==t||null==(r=t.setFieldValue)||r.call(t,l,o)}catch(e){console.warn("[linkageRules] Failed to set form field value (fallback setFieldValue)",{path:l},e)}}),M(C)},cc=(0,r.defineAction)({name:"blockLinkageRules",title:(0,r.tExpr)("Block linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":cd,"x-component-props":{supportedActions:cv(e,r.ActionScene.BLOCK_LINKAGE_RULES),title:(0,r.tExpr)("Block linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{uP(e,t,"blockLinkageRules");let l=await cs(e,t);return cu(e,l)}}),cp=(0,r.defineAction)({name:"actionLinkageRules",title:(0,r.tExpr)("Linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":cd,"x-component-props":{supportedActions:cv(e,r.ActionScene.ACTION_LINKAGE_RULES),title:(0,r.tExpr)("Linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{uP(e,t,"actionLinkageRules");let l=await cs(e,t);return cu(e,l)}}),cm=(0,r.defineAction)({name:"menuLinkageRules",title:(0,r.tExpr)("Menu linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":cd,"x-component-props":{supportedActions:cv(e,r.ActionScene.MENU_LINKAGE_RULES),title:(0,r.tExpr)("Menu linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{let l=await cs(e,t);return cu(e,l)}}),ch=(0,r.defineAction)({name:"fieldLinkageRules",title:(0,r.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":cd,"x-component-props":{supportedActions:cv(e,r.ActionScene.FIELD_LINKAGE_RULES),title:(0,r.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,o,n;if(e.model.hidden)return;let i=0,a=t=>{if(!t||"function"!=typeof t.defineProperty)return;let l=null==e?void 0:e.inputArgs;l&&"object"==typeof l&&t.defineProperty("inputArgs",{value:{...l}}),t.defineProperty("linkageScopeDepth",{value:i})};a(e);let s=(0,tH.w7)((null==(o=e.model)||null==(l=o.context)?void 0:l.blockModel)??e.model),d=e=>{if(!(null==s?void 0:s.getField))return null;let t=(0,iQ.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(t.length<2)return null;let l=s,o=[];for(let e=0;e<t.length-1;e++){var n,i;let r=t[e];if("string"!=typeof r)continue;let a=null==l||null==(n=l.getField)?void 0:n.call(l,r);if(!(null==a||null==(i=a.isAssociationField)?void 0:i.call(a)))break;let s=(0,tH.E4)(a);if(s&&o.push(r),s&&"number"==typeof t[e+1]&&(e+=1),!(null==(l=null==a?void 0:a.targetCollection)?void 0:l.getField))break}if(!o.length)return null;let r=o[o.length-1],a=o.filter(e=>e===r).length;return`${r}#${a}`},u=e=>{if(!(null==s?void 0:s.getField))return!1;let t=(0,iQ.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(t.length<2)return!1;let l=s;for(let e=0;e<t.length-1;e++){var o,n;let i=t[e];if("string"!=typeof i)continue;let r=null==l||null==(o=l.getField)?void 0:o.call(l,i);if(!(null==r||null==(n=r.isAssociationField)?void 0:n.call(r)))break;if((0,tH.E4)(r)){if("number"!=typeof t[e+1])return!0;e+=1}if(!(null==(l=null==r?void 0:r.targetCollection)?void 0:l.getField))break}return!1},c=uX(e),{blockParams:p,rowParamsByKey:m}=(()=>{let e=null==t?void 0:t.value;if(!Array.isArray(e)||!e.length)return{blockParams:t,rowParamsByKey:new Map};let l=[],o=new Map,n=(e,t,l)=>{if(!e||!l.length)return;let n=o.get(e)||[];n.push({...t,actions:l}),o.set(e,n)};for(let t of e){if(!t||"object"!=typeof t)continue;let e={key:t.key,title:t.title,enable:t.enable,condition:t.condition},o=Array.isArray(t.actions)?t.actions:[],i=[],r=new Map;for(let e of o){let t=null==e?void 0:e.name,l=null==e?void 0:e.params,o=null==l?void 0:l.value,n=t=>{let n=uW(o,t,c);if(!n.length)return{block:null,rows:new Map};let i=[],r=new Map;for(let e of n){let t=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!t){i.push(e);continue}let l=d(t);if(l&&u(t)){let t=r.get(l)||[];t.push(e),r.set(l,t)}else i.push(e)}let a=i.length>0?{...e,params:{...l,value:i}}:null,s=new Map;for(let[t,o]of r.entries())o.length&&s.set(t,{...e,params:{...l,value:o}});return{block:a,rows:s}};if("linkageAssignField"===t){let e=n({mode:"assign",valueKey:"assignValue"});e.block&&i.push(e.block),e.rows.forEach((e,t)=>{let l=r.get(t)||[];l.push(e),r.set(t,l)});continue}if("setFieldsDefaultValue"===t){let e=n({mode:"default",valueKey:"initialValue"});e.block&&i.push(e.block),e.rows.forEach((e,t)=>{let l=r.get(t)||[];l.push(e),r.set(t,l)});continue}i.push(e)}i.length&&l.push({...e,actions:i}),r.forEach((t,l)=>{n(l,e,t)})}let i={...t,value:l},r=new Map;return o.forEach((e,l)=>{r.set(l,{...t,value:e})}),{blockParams:i,rowParamsByKey:r}})(),h=await cs(e,p);if(await cu(e,h),!m.size)return;let f=e=>{var t;let l=null==e||null==(t=e.context)?void 0:t.fieldIndex,o=(Array.isArray(l)?l:[]).filter(e=>"string"==typeof e),n=[],i=[];for(let e of o){let[t,l]=e.split(":"),o=Number(l);!t||Number.isNaN(o)||(n.push({name:t,index:o}),i.push(t,o))}return{normalized:o,entries:n,path:i}},g=e=>{let{entries:t}=f(e);if(!t.length)return null;let l=t[t.length-1].name,o=t.reduce((e,t)=>t.name===l?e+1:e,0);return`${l}#${o}`},v=e=>{let{normalized:t}=f(e);return t.length?JSON.stringify(t):null},y=e=>{let{path:t}=f(e);return t.length?t:null},_=t=>{var l,o,n,i,r,a,s,d,u,c;return(null==t||null==(l=t.context)?void 0:l.form)??(null==t||null==(i=t.context)||null==(n=i.blockModel)||null==(o=n.context)?void 0:o.form)??(null==(a=e.model)||null==(r=a.context)?void 0:r.form)??(null==(c=e.model)||null==(u=c.context)||null==(d=u.blockModel)||null==(s=d.context)?void 0:s.form)},b=e=>{let t=y(e);if(!t)return!0;let l=_(e);return!l||"function"!=typeof l.getFieldValue||void 0!==l.getFieldValue(t)},x=e=>{var t,l,o;return null!=e&&null!=(l=e.context)&&null!=(t=l.getPropertyOptions)&&!!t.call(l,"item")||void 0!==(null==e||null==(o=e.context)?void 0:o.item)},M=e=>{var t,l,o;return null!=e&&null!=(l=e.context)&&null!=(t=l.getPropertyOptions)&&!!t.call(l,"subTableRowFork")||void 0!==(null==e||null==(o=e.context)?void 0:o.subTableRowFork)||void 0!==(null==e?void 0:e.subTableRowFork)||(null==e?void 0:e.subTableRowFork)===!0},w=e=>{var t,l;return!!e&&"object"==typeof e&&(null==e||null==(t=e.subModels)||!t.field)&&!!(null==e||null==(l=e.subModels)?void 0:l.items)&&!!g(e)&&!!v(e)},S=e=>!!e&&"object"==typeof e&&!!M(e)&&!!g(e)&&!!v(e)&&x(e),k=e=>w(e)||S(e),F=()=>{let t=new Map,l=new Map,o=e.engine;return(null==o?void 0:o.forEachModel)&&o.forEachModel(e=>{let o=null==e?void 0:e.forks;o&&"function"==typeof o.forEach&&o.forEach(e=>{if(!e||e.disposed||!k(e)||!b(e))return;let o=g(e),n=v(e);if(!o||!n)return;let i=l.get(o)||new Set;if(i.has(n))return;i.add(n),l.set(o,i);let r=t.get(o)||[];r.push(e),t.set(o,r)})}),t},C=async()=>{let t=F(),l=!1;for(let[n,i]of m.entries()){let s=t.get(n)||[];if(s.length&&(l=!0),s.length)for(let t of s){let l=new r.FlowRuntimeContext(t,e.flowKey);a(l);try{let e=await cs(l,i);await cu(l,e)}catch(l){var o;console.warn("[linkageRules] Failed to run row-scoped linkage rules",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,rowScopeKey:n,forkUid:null==t?void 0:t.uid}),console.warn(l)}}}return l};if(!await C()){let t="__pendingLinkageRowScopedRetry__",l=e.model;(null==l?void 0:l[t])||(console.warn("[linkageRules] Row-scoped linkage assignment deferred (row forks not ready), will retry",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,rowKeys:Array.from(m.keys())}),l[t]=!0,setTimeout(()=>{l[t]=!1;let o=e.model;o&&!o.disposed&&C().catch(e=>{console.warn("[linkageRules] Failed to retry row-scoped linkage rules",e)})},0))}}}),cf=(0,r.defineAction)({name:"subFormFieldLinkageRules",title:(0,r.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":cd,"x-component-props":{supportedActions:cv(e,r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES),title:(0,r.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,o,n,i;if(e.model.hidden)return;let a=null==(o=e.model)||null==(l=o.subModels)?void 0:l.grid;if(!a)return void console.warn("[subFormFieldLinkageRules] Missing subModels.grid",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid});let s=uI(null==e?void 0:e.model),d=t=>{let l=new r.FlowRuntimeContext(t,e.flowKey),o=null==e?void 0:e.inputArgs;return o&&"object"==typeof o&&l.defineProperty("inputArgs",{value:{...o}}),l.defineProperty("linkageScopeDepth",{value:s}),l};if(e.model instanceof re){if(a.hidden)return;let l=d(a);try{let e=await cs(l,t);await cu(l,e)}catch(t){console.warn("[subFormFieldLinkageRules] Failed to run linkage rules (to-one)",{flowKey:e.flowKey,modelUid:null==(i=e.model)?void 0:i.uid,gridUid:null==a?void 0:a.uid}),console.warn(t)}}else await Promise.all((a.forks||[]).map(async l=>{if(l.hidden)return;let o=d(l);try{let e=await cs(o,t);await cu(o,e)}catch(t){var n;console.warn("[subFormFieldLinkageRules] Failed to run linkage rules for fork",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,forkUid:null==l?void 0:l.uid,gridUid:null==a?void 0:a.uid}),console.warn(t)}}))}}),cg=(0,r.defineAction)({name:"detailsFieldLinkageRules",title:(0,r.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":cd,"x-component-props":{supportedActions:cv(e,r.ActionScene.DETAILS_FIELD_LINKAGE_RULES),title:(0,r.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{if(e.model.hidden)return;let l=await cs(e,t);return cu(e,l)}});function cv(e,t){return[...e.getActions().values()].filter(e=>{let l=e.scene;return!!l&&(Array.isArray(l)||(l=[l]),l.includes(t))}).sort((e,t)=>(e.sort||0)-(t.sort||0)).map(e=>e.name)}let cy=(0,r.defineAction)({name:"overflowMode",title:(0,r.tExpr)("Ellipsis on text overflow"),uiMode:{type:"switch",key:"overflowMode"},defaultParams:e=>({overflowMode:e.model.parent instanceof nD}),handler(e,t){let l;l="string"==typeof(null==t?void 0:t.overflowMode)?"ellipsis"===t.overflowMode:!!(null==t?void 0:t.overflowMode),e.model.setProps({overflowMode:l?"ellipsis":"wrap"})}}),c_=()=>{let e=(0,eo.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,I.useTranslation)();return(0,m.jsxs)(k.Select,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,m.jsx)(k.Select.Option,{value:"*",children:l("Multiply by")}),(0,m.jsx)(k.Select.Option,{value:"/",children:l("Divide by")})]})},cb=(0,r.defineAction)({title:(0,r.tExpr)("Number format"),name:"numberFormat",uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,r.tExpr)("Normal")},{value:"scientifix",label:(0,r.tExpr)("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"NumberPicker",title:"{{t('Unit conversion')}}","x-component-props":{style:{width:"100%"},addonBefore:(0,m.jsx)(c_,{})}},separator:{type:"string",enum:[{value:"0,0.00",label:"100,000.00"},{value:"0.0,00",label:"100.000,00"},{value:"0 0,00",label:"100 000.00"},{value:"0.00",label:"100000.00"}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},numberStep:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem"},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem"}}),defaultParams:e=>{let{formatStyle:t,unitConversion:l,unitConversionType:o,separator:n,step:i,addonBefore:r,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:o,separator:n||"0,0.00",numberStep:i||"1",addonBefore:r,addonAfter:a}},handler(e,t){let{formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s})}}),cx=e=>{let t;if(e){if(Array.isArray(e))t=e;else if("object"==typeof e&&"function"==typeof(null==e?void 0:e[Symbol.iterator]))try{t=Array.from(e)}catch(e){t=void 0}else if("object"==typeof e){let l=Object.keys(e).filter(e=>/^\d+$/.test(e)).sort((e,t)=>Number(e)-Number(t));l.length&&(t=l.map(t=>e[t]))}if(null==t?void 0:t.length)return t.map(e=>e&&"object"==typeof e?{...e}:e)}};function cM(e){return class extends e{async onDispatchEventStart(e){var t,l,o,n,i,r;if("beforeRender"!==e)return;let a=(null==(t=(l=this).getStepParams)?void 0:t.call(l,"fieldSettings","init"))||{},s=(null==a?void 0:a.dataSourceKey)&&(null==a?void 0:a.collectionName)&&(null==a?void 0:a.fieldPath)&&`${a.dataSourceKey}.${a.collectionName}.${a.fieldPath}`,d=s&&(null==(i=this.context)||null==(n=i.dataSourceManager)||null==(o=n.getCollectionField)?void 0:o.call(n,s)),u=(null==(r=this._originalModel)?void 0:r.collectionField)||this._fallbackCollectionField;(d||u)&&this.context.defineProperty("collectionField",{get:()=>d||u})}async onDispatchEventEnd(e){var t,l,o,n,i,r,a,s,d,u,c;if("beforeRender"!==e)return;let p={...this._originalPropsFallback||{},...(null==(t=this._originalModel)?void 0:t.props)||{}},m=null==(l=this.context)?void 0:l.collectionField,h={};(null==p?void 0:p.fieldNames)&&(h.fieldNames=p.fieldNames),void 0!==(null==p?void 0:p.allowMultiple)&&(h.allowMultiple=p.allowMultiple);let f=cx(null==(o=this.props)?void 0:o.options),g=!!(null==f?void 0:f.length),v=cx(null==p?void 0:p.options),y=(null==v?void 0:v.length)?v:this._originalOptionsFallback;!g&&Array.isArray(y)&&y.length>0&&(h.options=y.map(e=>e&&"object"==typeof e?{...e}:e));let _=(()=>{let e=null==m?void 0:m.type,t=null==m?void 0:m.interface,l=t&&("m2m"===t||"o2m"===t||"mbm"===t);return!!(e&&("belongsToMany"===e||"hasMany"===e||"belongsToArray"===e)||l)})(),b=void 0!==p.multiple?p.multiple:_,x=void 0!==p.allowMultiple?p.allowMultiple:void 0!==p.multiple?p.multiple:_;void 0!==b&&(h.multiple=b),void 0!==x&&(h.allowMultiple=x),Object.keys(h).length&&this.setProps(h),(null==m?void 0:m.interface)==="multipleSelect"&&void 0===(null==(n=this.props)?void 0:n.mode)&&this.setProps({mode:"multiple"}),(0,tQ.NI)(this,m),null==(i=(r=this).showTitle)||i.call(r,null),null==(a=(s=this).setDescription)||a.call(s,null),null==(d=(u=this).setPattern)||d.call(u,"editable"),this.props.onChange&&this.setProps({onChange:this.props.onChange});let M=null==(c=this.getStepParams("formItemSettings","initialValue"))?void 0:c.defaultValue;void 0!==M&&this.setProps({defaultValue:M})}setProps(e){var t,l,o;let{originalModel:n,disabled:i,readOnly:r,readPretty:a,pattern:s,...d}=e||{},u=null==(t=super.setProps)?void 0:t.call(this,{...d,disabled:!1});return null==(l=(o=this).setPattern)||l.call(o,"editable"),u}remove(){for(var e,t=arguments.length,l=Array(t),o=0;o<t;o++)l[o]=arguments[o];null==(e=super.remove)||e.call(this,...l)}}}let cw=(0,eo.connect)(e=>{let{value:t,onChange:l,metaTree:o,flags:n,...i}=e,a=(0,r.useFlowContext)(),{model:s}=a,d=h.default.useCallback(e=>!!e&&"function"==typeof(null==e?void 0:e.query),[]),u=h.default.useCallback((e,t)=>{if(d(e)){var l,o,n,i;let r=null==(o=e.query(t))||null==(l=o.get)?void 0:l.call(o,"selfModified"),a=null==(i=e.query(t))||null==(n=i.get)?void 0:n.call(i,"modified");return!!(r||a)}return"function"==typeof(null==e?void 0:e.isFieldsTouched)&&!!e.isFieldsTouched([t])},[d]),c=h.default.useCallback((e,t)=>{if(d(e))return(0,g.get)(e.values,t);if("function"==typeof(null==e?void 0:e.getFieldValue))return e.getFieldValue(t);let l="function"==typeof(null==e?void 0:e.getFieldsValue)?e.getFieldsValue(!0):void 0;return(0,g.get)(l,t)},[d]),p=h.default.useCallback((e,t,l)=>{if(e&&(null==t?void 0:t.length)){if(d(e))return void e.setFieldValue(t,l);if("function"==typeof(null==e?void 0:e.setFieldValue))e.setFieldValue(t,l);else{var o;let n={};(0,g.set)(n,t,l),null==e||null==(o=e.setFieldsValue)||o.call(e,n)}}},[d]),f=h.default.useCallback(async e=>{let t=e;if((0,r.isRunJSValue)(t)){try{let{code:e,version:l}=(0,r.normalizeRunJSValue)(t),o=await (0,r.runjsWithSafeGlobals)(null==s?void 0:s.context,e,{version:l});t=(null==o?void 0:o.success)?o.value:void 0}catch{t=void 0}return t}if((0,r.isVariableExpression)(t)){var l,o;let n=await (null==s||null==(o=s.context)||null==(l=o.resolveJsonTemplate)?void 0:l.call(o,t));if(void 0!==n&&(t=n),t===e){let e=(0,r.extractPropertyPath)(String(t));e&&(t=(0,g.get)(null==s?void 0:s.context,e.join(".")))}}return t},[s]),v=h.default.useCallback((e,t)=>tJ(e,t),[]);h.default.useEffect(()=>{var e;let t=s;if(!t||t.__dvSetStepParamsPatched)return;let l=null==(e=t.setStepParams)?void 0:e.bind(t);"function"==typeof l&&(t.__dvSetStepParamsPatched=!0,t.setStepParams=async(e,o,n)=>{var i,r,a,s,d,m,h;let y,_,b=[],x=(null==t||null==(i=t.props)?void 0:i.name)??(null==t?void 0:t.fieldPath);b=v(Array.isArray(x)?x:"string"==typeof x?x.split("."):[x].filter(Boolean),null==t||null==(r=t.context)?void 0:r.fieldIndex),"string"==typeof e&&"string"==typeof o&&n&&void 0!==n.defaultValue&&(y=null==(a=t.getStepParams(e,o))?void 0:a.defaultValue,_=n.defaultValue);let M=l(e,o,n);if(void 0!==_){let e=(null==t||null==(m=t.context)||null==(d=m.blockModel)||null==(s=d.context)?void 0:s.form)||(null==t||null==(h=t.context)?void 0:h.form);if(e&&b.length){let t=u(e,b),l=c(e,b),o=await f(y),n=await f(_),i=null==l||""===l,r=(0,g.isEqual)(l,o)||!t&&i;void 0!==n&&r&&p(e,b,n)}}return M})},[s,c,u,f,p,v]);let y=(0,h.useMemo)(()=>{var e;let t=null==s||null==(e=s.context)?void 0:e.flags;if(t||n)return{...t||{},...n||{}}},[s,n]),_=h.default.useRef(void 0);(0,g.isEqual)(_.current,y)||(_.current=y);let b=_.current,x=(0,h.useMemo)(()=>{var e,t,l,o,n,i,a,d,u,c,p,m,h,f,g,v,y,_,x,M,w,S,k,F,C,A,P,T;let I=s,j=(null==I?void 0:I.customFieldModelInstance)||(null==I||null==(e=I.subModels)?void 0:e.field),L=(null==j?void 0:j.props)||{},D=(null==I?void 0:I.customFieldProps)||{},{value:Y,defaultValue:E,...R}=L,{value:N,defaultValue:O,...B}=D,H=(null==I||null==(t=I.getStepParams)?void 0:t.call(I,"fieldSettings","init"))||(null==j||null==(l=j.getStepParams)?void 0:l.call(j,"fieldSettings","init")),q=null==j?void 0:j.collectionField;if(!q&&(null==H?void 0:H.dataSourceKey)&&(null==H?void 0:H.collectionName)&&(null==H?void 0:H.fieldPath)){let e=`${H.dataSourceKey}.${H.collectionName}.${H.fieldPath}`;q=null==s||null==(g=s.context)||null==(f=g.dataSourceManager)||null==(h=f.getCollectionField)?void 0:h.call(f,e)}q||(q=null==I||null==(v=I.context)?void 0:v.collectionField);let V=null==j?void 0:j.constructor,$=q?r.EditableItemModel.getDefaultBindingByField(null==s?void 0:s.context,q):null,z=null==q?void 0:q.type,K=null==q?void 0:q.interface,U="belongsToMany"===z||"hasMany"===z||"belongsToArray"===z||"m2m"===K||"o2m"===K||"mbm"===K,G=!!((null==b?void 0:b.isInSetDefaultValueDialog)&&U),J=U?lC:o2.m,W=$?null==s||null==(i=s.context)||null==(n=i.engine)||null==(o=n.getModelClass)?void 0:o.call(n,$.modelName):null,X="function"==typeof V?V:null,Z=cM("string"==typeof(null==V?void 0:V.name)&&/FilterFieldModel$/.test(V.name)||(null==I?void 0:I.customFieldModelInstance)?X||W||J:W||X||J),ee=null==j||null==(a=j.props)?void 0:a.fieldNames,et=null==j||null==(d=j.props)?void 0:d.titleField,el=null==j||null==(u=j.getStepParams)?void 0:u.call(j,"selectSettings","fieldNames"),eo=null==j||null==(c=j.getStepParams)?void 0:c.call(j,"selectSettings","allowMultiple"),en={};H&&(en.fieldSettings={init:H}),(el||eo)&&(en.selectSettings={...el?{fieldNames:el}:{},...eo?{allowMultiple:eo}:{}});let ei={use:Z,uid:(0,Q.uid)(),parentId:null,subKey:null,subType:null,stepParams:{...(null==j?void 0:j.stepParams)||{},...Object.keys(en).length?en:{}},props:{disabled:!1,allowClear:!0,...R,...void 0!==ee?{fieldNames:ee}:{},...void 0!==et?{titleField:et}:{},...G?{keepDropdownOpenOnSelect:!0}:{},...B}},er=s.context.engine.createModel({use:"VariableFieldFormModel",subModels:{fields:[ei]}}),ea=null==(m=er.subModels)||null==(p=m.fields)?void 0:p[0];if(ea&&(ea._originalModel=j,ea._originalPropsFallback=null==I?void 0:I.customFieldProps,ea._fallbackCollectionField=null==I||null==(y=I.context)?void 0:y.collectionField,ea._originalOptionsFallback=cx(null==j||null==(_=j.getDataSource)?void 0:_.call(j))||cx(null==j||null==(x=j.props)?void 0:x.options)||cx(null==I||null==(M=I.customFieldProps)?void 0:M.options)),(null==H?void 0:H.dataSourceKey)&&(null==H?void 0:H.collectionName)){let e=s.context.dataSourceManager,t=null==e||null==(w=e.getDataSource)?void 0:w.call(e,H.dataSourceKey),l=null==e||null==(S=e.getCollection)?void 0:S.call(e,H.dataSourceKey,H.collectionName);t&&(null==(F=er.context)||null==(k=F.defineProperty)||k.call(F,"dataSource",{get:()=>t})),l&&(null==(A=er.context)||null==(C=A.defineProperty)||C.call(A,"collection",{get:()=>l}))}return b&&(null==(T=er.context)||null==(P=T.defineProperty)||P.call(T,"flags",{value:b})),er},[s,b]);h.default.useEffect(()=>()=>{var e,t;null==(t=x.subModels)||null==(e=t.fields)||e.forEach(e=>{var t;return null==e||null==(t=e.remove)?void 0:t.call(e)}),x.remove()},[x]);let M=(0,h.useMemo)(()=>e=>{let l=h.default.useRef(!1),[,o]=h.default.useReducer(e=>e+1,0),n=h.default.useRef(Symbol("init")),i=h.default.useRef(Symbol("none")),a=h.default.useRef(!1);return h.default.useEffect(()=>{var r,s,d,u,c,p,m,h,f;let g=null==x||null==(s=x.subModels)||null==(r=s.fields)?void 0:r[0];if(!g)return;let{disabled:v,readOnly:y,readPretty:_,pattern:b,...M}=e||{},w=!!(null==g||null==(c=g.context)||null==(u=c.collectionField)||null==(d=u.isAssociationField)?void 0:d.call(u)),S=e=>!!e&&"object"==typeof e&&"data"in e,k=e=>Array.isArray(e)?e.map(e=>S(e)?e.data:e):S(e)?e.data:e,F=(null==g||null==(p=g._originalModel)?void 0:p.use)||(null==g?void 0:g.use),C=null==g||null==(h=g.context)||null==(m=h.collectionField)?void 0:m.interface,A=new Set(["input","email","phone","uuid","url","nanoid","textarea","markdown","password","color"]),P="InputFieldModel"===F||(C?A.has(C):g instanceof o2.m),T=e=>{if(e&&"object"==typeof e&&"target"in e){let t=null==e?void 0:e.target;if(P&&void 0!==(null==t?void 0:t.value))return t.value;if(void 0!==(null==t?void 0:t.checked))return t.checked;if(void 0!==(null==t?void 0:t.value))return t.value}return e};if(g.setProps({disabled:!1,onChange:function(){for(var t,l=arguments.length,n=Array(l),r=0;r<l;r++)n[r]=arguments[r];let s=n.length>1&&("string"==typeof n[1]||Array.isArray(n[1])&&n[1].every(e=>"string"==typeof e))?n[1]:n[0],d=w?k(s):T(s);if(!P){let e=w?k(s):T(s);i.current=e,g.setProps({value:e,defaultValue:void 0})}P&&a.current||(null==(t=(null==M?void 0:M.onChange)??(null==e?void 0:e.onChange))||t(d),o())},onCompositionStart:function(){for(var t,l,o=arguments.length,n=Array(o),i=0;i<o;i++)n[i]=arguments[i];a.current=!0,null==M||null==(t=M.onCompositionStart)||t.call(M,...n),null==e||null==(l=e.onCompositionStart)||l.call(e,...n)},onCompositionUpdate:(null==M?void 0:M.onCompositionUpdate)??(null==e?void 0:e.onCompositionUpdate),onCompositionEnd:t=>{var l,o,n;a.current=!1;let i=T(t);null==(l=(null==M?void 0:M.onChange)??(null==e?void 0:e.onChange))||l(i),null==M||null==(o=M.onCompositionEnd)||o.call(M,t),null==e||null==(n=e.onCompositionEnd)||n.call(e,t)},style:{width:"100%",minWidth:0,...(null==M?void 0:M.style)||(null==e?void 0:e.style)}}),null==(f=g.setPattern)||f.call(g,"editable"),!l.current){l.current=!0;let e=t;void 0!==e&&g.setProps({defaultValue:e})}if(!P){let e=t;if(e!==n.current&&(n.current=e,void 0!==e)){let t=w?k(e):T(e);i.current=t,g.setProps({value:t}),o()}}},[e,t]),(0,m.jsx)("div",{style:{flexGrow:1},children:(0,m.jsx)(r.FlowModelRenderer,{model:x,showFlowSettings:!1})})},[x]);h.default.useEffect(()=>{var e,t,l,o;let n=null==s?void 0:s.operator,i=null==x||null==(t=x.subModels)||null==(e=t.fields)?void 0:e[0];if(!n||!i)return;let r=i.__originalRender||i.render;i.__originalRender=r;let a=(0,o5._)(s.context.app,n,(null==(o=s.collectionField)||null==(l=o.filterable)?void 0:l.operators)||[]);if(a&&i instanceof o2.m){let{Comp:e,props:t}=a;i.render=()=>{var l;return(0,m.jsx)(e,{...i.props,...t,style:{width:"100%",...null==(l=i.props)?void 0:l.style,...null==t?void 0:t.style}})}}else"function"==typeof r&&(i.render=r)},[s,x,null==s?void 0:s.operator]),h.default.useEffect(()=>{var e,t,l,o,n;let i=null==s?void 0:s.operator,r=null==x||null==(t=x.subModels)||null==(e=t.fields)?void 0:e[0];if(!r||!i)return;let a=((null==(o=s.collectionField)||null==(l=o.filterable)?void 0:l.operators)||[]).find(e=>e.value===i),d=null==a||null==(n=a.schema)?void 0:n["x-component-props"];d&&r.setProps(d)},[s,x,null==s?void 0:s.operator]);let w=(0,h.useMemo)(()=>function(){var e;return(0,m.jsx)(k.Input,{placeholder:`<${(null==(e=a.t)?void 0:e.call(a,"Null"))??"Null"}>`,readOnly:!0})},[a]),S=(0,h.useMemo)(()=>e=>(0,m.jsx)(tZ.h,{t:a.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange}),[a]),F=(0,h.useMemo)(()=>async()=>{var e,t,l,n;let i=[];return i="function"==typeof o?await o()||[]:Array.isArray(o)?o:(null==(n=a.getPropertyMetaTree)?void 0:n.call(a))||[],[{title:(null==(e=a.t)?void 0:e.call(a,"Constant"))??"Constant",name:"constant",type:"string",paths:["constant"],render:M},{title:(null==(t=a.t)?void 0:t.call(a,"Null"))??"Null",name:"null",type:"object",paths:["null"],render:w},{title:(null==(l=a.t)?void 0:l.call(a,"RunJS"))??"RunJS",name:"runjs",type:"object",paths:["runjs"],render:S},...i]},[o,a,M,w,S]);return h.default.useEffect(()=>{var e;let t=null==(e=x.subModels.fields)?void 0:e[0];null==t||t.setProps({disabled:!1})},[x,t]),(0,m.jsx)(r.VariableInput,{metaTree:F,value:t,onChange:l,...i,converters:{renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?M:"null"===l?w:"runjs"===l?S:r.VariableTag},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:"runjs"===l?{code:"",version:"v2"}:void 0},resolvePathFromValue:e=>null===e?["null"]:(0,r.isRunJSValue)(e)?["runjs"]:(0,r.isVariableExpression)(e)?(0,r.parseValueToPath)(e):["constant"]}})});class cS{get models(){let e=new Map;for(let t=0;t<localStorage.length;t++){let l=localStorage.key(t);if(l&&l.startsWith(`${this.prefix}flow-model:`)){let t=localStorage.getItem(l);if(t){let l=JSON.parse(t);e.set(l.uid,l)}}}return e}async findOne(e){let{uid:t,parentId:l}=e;return t?this.load(t):l?this.loadByParentId(l):null}async loadByParentId(e){for(let t of this.models.values())if(t.parentId==e)return console.log("Loading model by parentId:",e,t),this.load(t.uid);return null}async load(e){let t=localStorage.getItem(`${this.prefix}flow-model:${e}`);if(!t)return console.warn(`Model with uid ${e} not found in localStorage.`),null;let l=JSON.parse(t);for(let t of[...this.models.values()])if(t.parentId===e){if(l.subModels=l.subModels||{},"array"===t.subType){l.subModels[t.subKey]=l.subModels[t.subKey]||[];let e=await this.load(t.uid);l.subModels[t.subKey].push(e)}else if("object"===t.subType){let e=await this.load(t.uid);e&&(l.subModels[t.subKey]=e)}}return console.log("Loading model:",e,JSON.stringify(l,null,2)),l}async save(e){let t=e.serialize(),l=g.default.omit(t,["subModels","flowEngine"]);for(let t of(localStorage.setItem(`${this.prefix}flow-model:${e.uid}`,JSON.stringify(l)),console.log("Saving model:",e.uid,l),Object.keys(e.subModels||{}))){let l=e.subModels[t];if(l)if(Array.isArray(l))for(let e of l)await this.save(e);else l instanceof r.FlowModel&&await this.save(l)}return t}async destroy(e){return localStorage.removeItem(`${this.prefix}flow-model:${e}`),!0}async clear(){for(let e of Object.keys(localStorage))e.startsWith(`${this.prefix}flow-model:`)&&localStorage.removeItem(e);return!0}async move(e,t){arguments.length>2&&void 0!==arguments[2]&&arguments[2]}async duplicate(e){let t=await this.load(e);if(!t)return null;let l=()=>`dup_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`,o=(e,t)=>{let{subModels:n,flowEngine:i,...r}=e||{},a={...r};if(a.uid=l(),t&&(a.parentId=t),n&&"object"==typeof n)for(let e of(a.subModels={},Object.keys(n))){let t=n[e];Array.isArray(t)?a.subModels[e]=t.map(e=>o(e,a.uid)):t&&"object"==typeof t&&(a.subModels[e]=o(t,a.uid))}return a};return o(t)}constructor(e=""){this.prefix=e}}class ck{buildFindOneKey(e){let t=(null==e?void 0:e.uid)??"",l=(null==e?void 0:e.parentId)??"",o=(null==e?void 0:e.subKey)??"";return`uid:${t}|parentId:${l}|subKey:${o}`}async findOne(e){let t=this.buildFindOneKey(e),l=this.inFlightFindOne.get(t);if(l){let e=await l;return e?g.default.cloneDeep(e):e}let o=this.app.apiClient.request({url:"flowModels:findOne",params:g.default.pick(e,["uid","parentId","subKey"])}).then(e=>{var t;return null==(t=e.data)?void 0:t.data}).finally(()=>{this.inFlightFindOne.delete(t)});this.inFlightFindOne.set(t,o);let n=await o;return n?g.default.cloneDeep(n):n}async save(e,t){var l;let o=e.serialize();return(null==t?void 0:t.onlyStepParams)&&delete o.subModels,null==(l=(await this.app.apiClient.request({method:"POST",url:"flowModels:save",data:o})).data)?void 0:l.data}async destroy(e){return await this.app.apiClient.request({method:"POST",url:"flowModels:destroy",params:{filterByTk:e}}),!0}async move(e,t){var l;let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"after";return null==(l=(await this.app.apiClient.request({method:"POST",url:"flowModels:move",params:{sourceId:e,targetId:t,position:o}})).data)?void 0:l.data}async duplicate(e){var t;return null==(t=(await this.app.apiClient.request({method:"POST",url:"flowModels:duplicate",params:{uid:e}})).data)?void 0:t.data}constructor(e){this.app=e,this.inFlightFindOne=new Map}}function cF(e){return!!e&&"object"==typeof e}function cC(e){if(e){if("string"==typeof e)return e;if(cF(e))return e.eventName}}function cA(e){let t=e.phase;if(!t||"beforeAllFlows"===t){delete e.phase,delete e.flowKey,delete e.stepKey;return}if("afterAllFlows"===t){delete e.flowKey,delete e.stepKey;return}if("beforeFlow"===t||"afterFlow"===t){delete e.stepKey,e.flowKey||delete e.flowKey;return}if("beforeStep"===t||"afterStep"===t){e.flowKey||delete e.flowKey,e.stepKey||delete e.stepKey;return}}function cP(e){let t=e.phase;if(t&&"beforeAllFlows"!==t&&"afterAllFlows"!==t){if(("beforeFlow"===t||"afterFlow"===t||"beforeStep"===t||"afterStep"===t)&&!e.flowKey)return"flowKey";if(("beforeStep"===t||"afterStep"===t)&&!e.stepKey)return"stepKey"}}let cT=e=>{let{model:t}=e,l=h.default.useMemo(()=>t.translate.bind(t),[t]),o=()=>{let e=document.querySelector(`#${r.GLOBAL_EMBED_CONTAINER_ID}`);e&&t.context.viewer.embed({type:"embed",target:e,title:l("Edit event flows"),onOpen(){e.style.width="33.3%",e.style.maxWidth="800px",e.style.minWidth="0px"},onClose(){"1"!==e.dataset[r.EMBED_REPLACING_DATA_KEY]&&(e.style.width="auto",e.style.maxWidth="none",e.style.minWidth="auto")},content:(0,m.jsx)(cB,{model:t})})};return(0,m.jsx)(H.ThunderboltOutlined,{style:{cursor:"pointer"},onClick:o})},cI={display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},cj={width:"4px",height:"16px",borderRadius:"2px",marginRight:8},cL={margin:0,fontSize:14,fontWeight:500,color:"#262626"},cD={marginBottom:8,fontSize:14,fontWeight:500,color:"#262626"},cY={marginInlineStart:4,color:"#ff4d4f"},cE={marginInlineStart:2,marginInlineEnd:8},cR=e=>{let{color:t,children:l}=e;return(0,m.jsxs)("div",{style:cI,children:[(0,m.jsx)("div",{style:{...cj,backgroundColor:t}}),(0,m.jsx)("h4",{style:cL,children:l})]})},cN=e=>{let{children:t,required:l,style:o}=e;return(0,m.jsxs)("div",{style:{...cD,...o},children:[t,l&&(0,m.jsx)("span",{style:cY,children:"*"}),(0,m.jsx)("span",{style:cE,children:":"})]})},cO=(0,r.observer)(e=>{var t;let{flow:l,model:o,flowEngine:n,flowRegistry:i}=e,a=(0,r.useFlowContext)(),s=o.translate.bind(o),d=(0,w.useUpdate)(),[u,c]=h.default.useState([]),p=cC(l.on),f=cF(l.on)?l.on:void 0,v=p?null==(t=o.getEvent(p))?void 0:t.uiSchema:void 0,y="function"==typeof v?v(a):v,_=null==f?void 0:f.defaultParams,b=h.default.useCallback(()=>{if(cF(l.on))return l.on;if(!p)return;let e={eventName:p};return l.on=e,e},[p,l]),x=(null==f?void 0:f.phase)?String(f.phase):"beforeAllFlows",M=(null==f?void 0:f.flowKey)?String(f.flowKey):void 0,S=(null==f?void 0:f.stepKey)?String(f.stepKey):void 0,F=h.default.useMemo(()=>[...o.getEvents().values()],[o]);h.default.useEffect(()=>{let e=!1;return(async()=>{let t=[];for(let e of F)await (0,r.shouldHideEventInSettings)(o,l,e)||t.push({label:o.translate(e.title),value:e.name});e||c(e=>g.default.isEqual(e,t)?e:t)})(),()=>{e=!0}},[l,o,F]);let C=h.default.useMemo(()=>p?Array.from(o.constructor.globalFlowRegistry.getFlows().values()).filter(e=>"beforeRender"===p?!0!==e.manual&&(!e.on||"beforeRender"===cC(e.on)):cC(e.on)===p):[],[p,o]),A=h.default.useMemo(()=>new Map(C.map(e=>[e.key,e])),[C]),P=h.default.useCallback((e,t)=>{if(!t)return e;let l=s(String(t));return`${e} (${l})`},[s]),T=h.default.useMemo(()=>C.map(e=>({value:e.key,label:P(String(e.key),e.title),disabled:i.hasFlow(e.key)})),[i,P,C]),I=h.default.useMemo(()=>{if(!M)return[];let e=A.get(M);return e?e.mapSteps(e=>{let t=e.use?o.getAction(e.use):void 0,l=e.title||(null==t?void 0:t.title);return{value:e.key,label:P(String(e.key),l)}}):[]},[M,P,o,A]),j=h.default.useMemo(()=>[{value:"beforeAllFlows",label:s("Before all flows")},{value:"afterAllFlows",label:s("After built-in flows")},{value:"beforeFlow",label:s("Before built-in flow")},{value:"afterFlow",label:s("After built-in flow")},{value:"beforeStep",label:s("Before built-in flow step")},{value:"afterStep",label:s("After built-in flow step")}],[s]),L=["beforeFlow","afterFlow","beforeStep","afterStep"].includes(x),D=["beforeStep","afterStep"].includes(x),Y=f?cP(f):void 0,E="flowKey"===Y,R="stepKey"===Y,N=e=>{let t=cF(l.on)?l.on:{eventName:e};l.on=t,t.eventName=e,delete t.phase,delete t.flowKey,delete t.stepKey,d()};return(0,m.jsxs)("div",{style:{marginBottom:32},children:[(0,m.jsx)(cR,{color:"#1890ff",children:s("Event")}),(0,m.jsxs)("div",{style:{paddingLeft:12},children:[(0,m.jsxs)("div",{style:{marginBottom:16},children:[(0,m.jsx)(cN,{children:s("Trigger event")}),(0,m.jsx)(k.Select,{placeholder:s("Select trigger event"),style:{width:"100%"},value:p,onChange:e=>{N(e)},options:u})]}),(0,m.jsxs)("div",{style:{marginBottom:16},children:[(0,m.jsx)(cN,{children:s("Execution timing")}),(0,m.jsx)(k.Select,{style:{width:"100%"},disabled:!p,value:x,onChange:e=>{let t=b();t&&(t.phase=e,cA(t),d())},options:j}),L&&(0,m.jsxs)("div",{style:{marginTop:12,display:"flex",flexDirection:"column",gap:12},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)(cN,{required:L,style:{marginBottom:6},children:s("Built-in flow")}),(0,m.jsx)(k.Select,{style:{width:"100%"},disabled:!p||0===T.length,placeholder:s("Select a built-in flow"),value:M,status:E?"error":void 0,options:T,onChange:e=>{let t=b();t&&(e?t.flowKey=e:delete t.flowKey,delete t.stepKey,d())}}),E&&(0,m.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:s("Please select a built-in flow")})]}),D&&(0,m.jsxs)("div",{children:[(0,m.jsx)(cN,{required:D,style:{marginBottom:6},children:s("Built-in flow step")}),(0,m.jsx)(k.Select,{style:{width:"100%"},disabled:!p||!M||0===I.length,placeholder:s("Select a built-in flow step"),value:S,status:R?"error":void 0,options:I,onChange:e=>{let t=b();t&&(e?t.stepKey=e:delete t.stepKey,d())}}),R&&(0,m.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:s("Please select a built-in flow step")})]}),0===T.length&&(0,m.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#8c8c8c"},children:s("No built-in flows for this event")})]})]}),p&&n.flowSettings.renderStepForm({key:p,uiSchema:y,initialValues:_,flowEngine:n,onFormValuesChange:e=>{let t=b();t&&(t.defaultParams=e.values)}})]})]})}),cB=(0,r.observer)(e=>{let{model:t}=e,l=(0,r.useFlowContext)(),o=t.flowEngine,n=(0,r.serializeFlowRegistry)(t.flowRegistry),i=h.default.useRef(n),[a]=h.default.useState(()=>new r.DetachedFlowRegistry(n)),[s,d]=h.default.useState(!1),u=h.default.useMemo(()=>t.translate.bind(t),[t]),c=h.default.useCallback(()=>!g.default.isEqual(i.current,(0,r.serializeFlowRegistry)(a)),[a]);h.default.useEffect(()=>{g.default.isEqual(i.current,n)||c()||((0,r.replaceFlowRegistry)(a,n),i.current=n)},[a,c,n]),h.default.useEffect(()=>{let e=l.view,t=e.beforeClose,o=async e=>{if(c()){var o,n;if(!(await (null==(n=l.modal)||null==(o=n.confirm)?void 0:o.call(n,{title:u("Unsaved changes"),content:u("Are you sure you don't want to save?"),okText:u("Confirm"),cancelText:u("Cancel")}))??!0))return!1}return!1!==await (null==t?void 0:t(e))};return e.beforeClose=o,()=>{e.beforeClose===o&&(e.beforeClose=t)}},[l,c,u]);let p=()=>{a.addFlow((0,Q.uid)(),{title:u("Event flow"),steps:{}})},f=e=>{e.remove()},v=(e,t)=>{e.title=t},y=()=>[...t.getActions().values()].filter(e=>g.default.castArray(e.scene).includes(r.ActionScene.DYNAMIC_EVENT_FLOW)).sort((e,t)=>(e.sort??0)-(t.sort??0)),_=(e,t)=>{let l={use:t.name};e.addStep((0,Q.uid)(),l)},b=e=>{e.remove()},x=(e,t)=>{e.defaultParams=t},M=e=>(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,m.jsx)("div",{style:{flex:1,marginRight:16},children:(0,m.jsx)(k.Input,{value:e.title,onChange:t=>v(e,t.target.value),onClick:e=>e.stopPropagation(),placeholder:u("Enter flow title")})}),(0,m.jsx)(k.Space,{onClick:e=>e.stopPropagation(),children:(0,m.jsx)(k.Tooltip,{title:"Delete",children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.DeleteOutlined,{}),onClick:()=>f(e)})})})]}),w=a.mapFlows(e=>({key:e.key,label:M(e),styles:{header:{display:"flex",alignItems:"center"}},children:(0,m.jsxs)("div",{children:[(0,m.jsx)(cO,{flow:e,model:t,flowEngine:o,flowRegistry:a}),(0,m.jsxs)("div",{children:[(0,m.jsx)(cR,{color:"#52c41a",children:u("Steps")}),(0,m.jsxs)("div",{style:{paddingLeft:12},children:[(0,m.jsx)("div",{style:{marginBottom:16},children:e.mapSteps(e=>{let l=t.getAction(e.use);return l?(0,m.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,m.jsxs)("span",{style:{fontWeight:600,color:"#262626"},children:[u(l.title),(0,m.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,m.jsx)(k.Tooltip,{title:u("Delete step"),children:(0,m.jsx)(k.Button,{type:"text",size:"small",icon:(0,m.jsx)(H.DeleteOutlined,{}),onClick:()=>b(e)})})]}),(0,m.jsx)("div",{children:h.default.createElement(r.FlowStepContext.Provider,{value:{params:(0,r.untracked)(()=>e.defaultParams),path:`${t.uid}_${e.flowKey}_${e.key}`}},o.flowSettings.renderStepForm({uiSchema:l.uiSchema,initialValues:(0,r.untracked)(()=>e.defaultParams),flowEngine:o,onFormValuesChange:t=>x(e,t.values)}))})]},e.key):null})}),(0,m.jsx)(k.Dropdown,{menu:{items:y().map(t=>({key:t.name,label:u(t.title)||t.name,onClick:()=>_(e,t)}))},trigger:["hover"],children:(0,m.jsx)(k.Button,{type:"link",icon:(0,m.jsx)(H.PlusOutlined,{}),style:{padding:0,height:"auto",textAlign:"left"},children:u("Add step")})})]})]})]})}));return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,m.jsxs)("div",{style:{flex:1,padding:"16px",overflow:"auto",minHeight:0},children:[w.length>0?(0,m.jsx)(k.Collapse,{items:w,size:"small",style:{marginBottom:8},defaultActiveKey:[w[0].key],accordion:!0}):(0,m.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,m.jsx)(k.Empty,{description:u("No event flows"),style:{margin:"20px 0"}})}),(0,m.jsx)(k.Button,{type:"dashed",icon:(0,m.jsx)(H.PlusOutlined,{}),onClick:p,style:{width:"100%"},children:u("Add event flow")})]}),(0,m.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",padding:"8px 16px",borderTop:"1px solid #f0f0f0",backgroundColor:"#fff",flexShrink:0},children:[(0,m.jsx)(k.Button,{onClick:()=>l.view.close(),children:u("Cancel")}),(0,m.jsx)(k.Button,{type:"primary",loading:s,onClick:async()=>{var e,o,n,s,c,p,m,h,f,g,v,y;d(!0);let _=a.mapFlows(e=>{if(!cF(e.on))return;cA(e.on);let t=cP(e.on);if(t)return{type:t}}).filter(Boolean)[0];if(_){let e="flowKey"===_.type?u("Please select a built-in flow"):u("Please select a built-in flow step");null==(p=t.context)||null==(c=p.message)||null==(s=c.error)||s.call(c,e),d(!1);return}let b=(0,r.serializeFlowRegistry)(t.flowRegistry),x=[];try{for(let e of a.mapFlows(e=>e))for(let l of e.mapSteps(e=>e)){let o=l.serialize(),n=l.use?t.getAction(l.use):void 0,i=o.beforeParamsSave||(null==n?void 0:n.beforeParamsSave),a=o.afterParamsSave||(null==n?void 0:n.afterParamsSave);if("function"!=typeof i&&"function"!=typeof a)continue;let s=new r.FlowRuntimeContext(t,e.key,"settings");(0,r.setupRuntimeContextSteps)(s,e.steps,t,e.key),s.defineProperty("currentStep",{value:o});let d={...l.defaultParams||{}},u={...l.defaultParams||{}};"function"==typeof i&&await i(s,d,u),"function"==typeof a&&x.push(async()=>{await a(s,d,u)}),l.defaultParams=d}(0,r.replaceFlowRegistry)(t.flowRegistry,(0,r.serializeFlowRegistry)(a)),await t.flowRegistry.save()}catch(e){(0,r.replaceFlowRegistry)(t.flowRegistry,b),d(!1),null==(f=t.context)||null==(h=f.message)||null==(m=h.error)||m.call(h,"Steps post-save hooks failed to run"),console.error(e);return}i.current=(0,r.serializeFlowRegistry)(t.flowRegistry);try{for(let e of x)await e()}catch(e){null==(y=t.context)||null==(v=y.message)||null==(g=v.error)||g.call(v,"Steps post-save hooks failed to run"),console.error(e)}t.flowRegistry.mapFlows(e=>{if((0,r.isBeforeRenderFlow)(e))return e}).filter(Boolean).length>0&&t.rerender(),d(!1),null==(n=t.context)||null==(o=n.message)||null==(e=o.success)||e.call(o,u("Configuration saved")),l.view.destroy()},children:u("Save")})]})]})});var cH=l(6662);let cq=()=>{let e=(0,r.useFlowContext)().app,t=e.pm.get("@nocobase/plugin-block-markdown");return t.dependencyLoaded||(t.initVditorDependency(e),t.dependencyLoaded=!0),t.getCDN(e)};var cV=l(1196);let c$="nb-markdown-vditor";function cz(){let{theme:e,token:t,hashId:l}=k.theme.useToken(),o=(0,cV.useStyleRegister)({theme:e,token:t,hashId:l,path:["flow-markdown",c$]},()=>({[`.${c$}`]:{".vditor-reset":{fontSize:`${t.fontSize}px !important`,color:"unset"},".vditor":{borderRadius:8},".vditor .vditor-content":{borderRadius:"0 0 8px 8px",overflow:"hidden"},".vditor .vditor-toolbar":{paddingLeft:" 16px !important",borderRadius:"8px 8px 0 0"},".vditor .vditor-content .vditor-ir .vditor-reset":{padding:"10px !important"},".vditor-ir pre.vditor-reset":{backgroundColor:`${t.colorBgContainer}!important`},".vditor-preview":{display:"none !important"},".vditor-preview__action":{display:"none"}}}));return{wrapSSR:(0,h.useMemo)(()=>o,[o,e,t,l]),hashId:l,componentCls:c$}}function cK(e){let t=new DOMParser().parseFromString(e,"text/html");t.querySelectorAll("img").forEach(e=>{let t=e.getAttribute("src");t&&e.replaceWith(document.createTextNode(` [Image: ${t}] `))});let l=t.body.textContent||t.body.innerText;return(null==l?void 0:l.replace(/\n|\r/g," "))||""}let cU=e=>{if(e){let t=document.createRange();return t.selectNodeContents(e),t.getBoundingClientRect().width}};function cG(e){let t=(0,h.useRef)(null),{wrapSSR:l,componentCls:o,hashId:n}=cz(),i=cq();return(0,h.useEffect)(()=>{e.loadImages&&(__rspack_external_vditor.default.preview(t.current,e.value??"",{mode:"light",cdn:i}),setTimeout(()=>{var e,l;null==(e=t.current)||e.querySelectorAll("img").forEach(e=>{e.style.cursor="zoom-in",e.addEventListener("click",()=>{cJ(e.src)})}),null==(l=t.current)||l.querySelectorAll("qr-code").forEach(e=>{let t=e.getAttribute("value")||"",l=document.createElement("div");e.replaceWith(l),(0,cH.createRoot)(l).render((0,m.jsx)(k.QRCode,{value:t}))})},300))},[e.value,e.loadImages,i]),l((0,m.jsx)("span",{className:`${n} ${o}`,children:(0,m.jsx)("span",{ref:t,style:{border:"none",...(null==e?void 0:e.style)??{}}})}))}function cJ(e){if(document.getElementById("custom-image-preview"))return;let t=document.createElement("span");t.id="custom-image-preview",Object.assign(t.style,{position:"fixed",inset:"0",backgroundColor:"rgba(0,0,0,0.85)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:"9999",cursor:"zoom-out"});let l=document.createElement("img");l.src=e,Object.assign(l.style,{maxWidth:"90%",maxHeight:"90%",borderRadius:"8px",boxShadow:"0 0 20px rgba(0,0,0,0.5)",transition:"transform 0.2s",cursor:"zoom-out"}),t.addEventListener("click",()=>{document.body.removeChild(t)}),t.appendChild(l),document.body.appendChild(t)}let cW=e=>{let{value:t,textOnly:l=!0}=e,o=cq(),[n,i]=(0,h.useState)(!1),[r,a]=(0,h.useState)(!1),[s,d]=(0,h.useState)(!1),[u,c]=(0,h.useState)(""),p=(0,h.useRef)();(0,h.useEffect)(()=>{e.value&&l&&__rspack_external_vditor.default.md2html(e.value,{mode:"light",cdn:o}).then(e=>{c(cK(e))}).catch(()=>c(""))},[e.value,l]);let f=(0,h.useCallback)(()=>{var e;return!!p.current&&cU(p.current)>(null==(e=p.current)?void 0:e.offsetWidth)},[p]),g=e=>{i(e),e&&!s&&d(!0)};return e.ellipsis?(0,m.jsx)(k.Popover,{open:n,getPopupContainer:()=>{var e;return null==(e=document.getElementsByClassName("ant-drawer-content"))?void 0:e[0]},onOpenChange:e=>{g(r&&e)},overlayStyle:{maxWidth:600},content:(0,m.jsx)("div",{style:{maxHeight:400,overflow:"auto"},children:(0,m.jsx)(cG,{value:t,loadImages:s})}),children:(0,m.jsx)("div",{ref:p,style:{overflow:"hidden",overflowWrap:"break-word",textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"break-all"},onMouseEnter:e=>{let t=e.target;f()&&a(t.scrollWidth>=t.clientWidth)},children:l?u:(0,m.jsx)("div",{className:(0,tx.css)`
761
761
  .vditor-reset {
762
762
  white-space: nowrap;
763
763
  display: -webkit-box;
@@ -767,7 +767,7 @@ ctx.render(<JsItem />);
767
767
  text-overflow: ellipsis;
768
768
  word-break: break-word;
769
769
  }
770
- `,children:(0,m.jsx)(cq,{value:t,loadImages:!0})})})}):l?u:(0,m.jsx)(cq,{value:t,loadImages:!0})},cz=["headings","bold","italic","strike","link","list","ordered-list","check","quote","line","code","inline-code","upload","fullscreen"],cK="block-markdown",cU=["en_US","fr_FR","pt_BR","ja_JP","ko_KR","ru_RU","sv_SE","zh_CN","zh_TW"],cG=e=>{let{disabled:t,onChange:l,value:o,fileCollection:n,toolbar:i,vditorRef:s}=e,d=(0,r.useFlowContext)(),[u,c]=(0,h.useState)(!1),p=(0,h.useRef)();(0,h.useRef)(!1);let f=(0,h.useRef)(null),g=(0,h.useRef)(null),v=d.api,y=cE(),{wrapSSR:_,hashId:b,componentCls:x}=cO(),M=v.auth.locale||"en-US",w=d.app.pm.get("@nocobase/plugin-file-manager"),S=(0,h.useRef)(d.t.bind(d));S.current=d.t.bind(d);let{t:F}=(0,I.useTranslation)(),C=(0,a.$5)(),A=(0,a.fl)("drawer",C+1e3,0),P=(0,h.useMemo)(()=>{let e=M.replace(/-/g,"_");return cU.includes(e)?e:"en_US"},[M]);return(0,h.useEffect)(()=>{if(!f.current)return;let r=i??cz,a=new __rspack_external_vditor.default(f.current,{value:o??"",lang:P,cache:{enable:!1},undoDelay:0,mode:e.mode||"ir",preview:{math:{engine:"KaTeX"}},toolbar:r,fullscreen:{index:1200},cdn:y,minHeight:200,height:e.height,after:()=>{p.current=a,c(!0),a.setValue(o??""),t?a.disabled():(a.enable(),document.querySelectorAll("qr-code").forEach(e=>{let t=e.getAttribute("value")||"",l=document.createElement("div");e.replaceWith(l),(0,cY.createRoot)(l).render((0,m.jsx)(k.QRCode,{value:t}))}))},input(e){l(e)},upload:{multiple:!1,fieldName:"file",async handler(e){var t,l,o,i,r,s,d,u;let c=e[0];a.focus();let{data:p}=await v.resource("vditor").check({fileCollectionName:n});if(!(null==p||null==(t=p.data)?void 0:t.isSupportToUploadFiles))return void a.tip(F("vditor.uploadError.message",{ns:cK,storageTitle:null==(u=p.data.storage)?void 0:u.title}),0);a.tip(F("uploading"),0);let{data:m,errorMessage:h}=await w.uploadFile({file:c,fileCollectionName:n,storageId:null==p||null==(o=p.data)||null==(l=o.storage)?void 0:l.id,storageType:null==p||null==(r=p.data)||null==(i=r.storage)?void 0:i.type,storageRules:null==p||null==(d=p.data)||null==(s=d.storage)?void 0:s.rules});if(h)return void a.tip(S.current(h),3e3);if(!m)return void a.tip(F("Response data is empty",{ns:cK}),3e3);let f=m.filename,g=m.url;return c.type.startsWith("image/")?a.insertValue(`![${f}](${g})`):a.insertValue(`[${f}](${g})`),a.tip(F(""),10),null}}});s.current=a;let d=f.current;if(!d)return;let u=new MutationObserver(()=>{let e=d.classList.contains("vditor--fullscreen"),t=d.querySelectorAll(".vditor-reset"),l=d.querySelectorAll(".vditor-toolbar");t.forEach(t=>{t.style.padding=e?"10px 200px":""}),l.forEach(t=>{t.style.paddingLeft=e?"200px":""})});return u.observe(d,{attributes:!0,attributeFilter:["class"]}),()=>{var e;null==(e=p.current)||e.destroy(),p.current=void 0,u.disconnect()}},[null==i?void 0:i.join(",")]),(0,h.useEffect)(()=>{if(u&&p.current){let i=p.current;if(o!==i.getValue()){var e,t,l,n;i.setValue(o??"");let r=null==(e=f.current)?void 0:e.querySelector("div.vditor-content > div.vditor-ir > pre"),a=null==(t=f.current)?void 0:t.querySelector(".vditor-content"),s=r&&(document.activeElement===r||r.contains(document.activeElement)||(null==(n=document.activeElement)||null==(l=n.closest)?void 0:l.call(n,".vditor-content"))===a);if(r&&s){let e=document.createRange(),t=window.getSelection();t&&(e.selectNodeContents(r),e.collapse(!1),t.removeAllRanges(),t.addRange(e))}}}},[o,u]),(0,h.useEffect)(()=>{u&&p.current&&(t?p.current.disabled():p.current.enable())},[t,u]),(0,h.useEffect)(()=>{if(!g.current)return;let e=new MutationObserver(e=>{for(let t of e)for(let e of Array.from(t.addedNodes))e instanceof HTMLElement&&e.classList.contains("vditor-img")&&(g.current.appendChild(e),e.style.zIndex=String(A))});return e.observe(document.body,{childList:!0}),()=>{e.disconnect()}},[A]),_((0,m.jsx)("div",{ref:g,className:`${b} ${x}`,children:(0,m.jsx)("div",{ref:f})}))},cJ=e=>{let{value:t="",onChange:l,placeholder:o,style:n,quoteFlag:i,enableContextSelect:a=!0,...s}=e,d=(0,r.useFlowContext)(),[u,c]=(0,h.useState)(t||""),p=(0,h.useRef)(null),f=!!d.model.context.flowSettingsEnabled;(0,h.useEffect)(()=>{!1!==i&&c(t)},[t]);let g=(0,h.useCallback)(e=>{let t=(e??"").replace(/^\s+/g,"");null==l||l(t),c(t)},[l]),v=(0,h.useCallback)(e=>{let t=p.current;if(!t)return void console.warn("Vditor 尚未初始化,无法插入文本");if(t.getCursorPosition()){let l=t.getCursorPosition().top,o=t.getValue().split("\n"),n=document.querySelector(".vditor-reset"),i=o[Math.floor(l/(parseFloat(window.getComputedStyle(n).lineHeight)||20))]??"";(i.includes("{%")||i.includes("%}"))&&(e=e.replace(/^{{\s*(.*?)\s*}}$/,"$1"))}t.insertValue(e);let o=t.getValue();c(o),null==l||l(o),requestAnimationFrame(()=>{t.focus()})},[u,l]),y=(0,h.useCallback)(e=>{e&&v(e)},[v]),_=(0,h.useMemo)(()=>()=>{var e;return null==(e=d.getPropertyMetaTree)?void 0:e.call(d)},[d]);return(0,m.jsxs)("div",{style:{position:"relative",width:"100%",...n},children:[(0,m.jsx)(cG,{vditorRef:p,value:u,onChange:g,placeholder:o,style:{width:"100%"},...s}),f&&a&&(0,m.jsx)("div",{style:{position:"absolute",top:10,right:10,zIndex:1,lineHeight:0},children:(0,m.jsx)(r.FlowContextSelector,{metaTree:_,onChange:e=>y(e),onlyLeafSelectable:!1,children:(0,m.jsx)(k.Button,{type:"default",className:(0,tx.css)`
770
+ `,children:(0,m.jsx)(cG,{value:t,loadImages:!0})})})}):l?u:(0,m.jsx)(cG,{value:t,loadImages:!0})},cX=["headings","bold","italic","strike","link","list","ordered-list","check","quote","line","code","inline-code","upload","fullscreen"],cQ="block-markdown",cZ=["en_US","fr_FR","pt_BR","ja_JP","ko_KR","ru_RU","sv_SE","zh_CN","zh_TW"],c0=e=>{let{disabled:t,onChange:l,value:o,fileCollection:n,toolbar:i,vditorRef:s}=e,d=(0,r.useFlowContext)(),[u,c]=(0,h.useState)(!1),p=(0,h.useRef)();(0,h.useRef)(!1);let f=(0,h.useRef)(null),g=(0,h.useRef)(null),v=d.api,y=cq(),{wrapSSR:_,hashId:b,componentCls:x}=cz(),M=v.auth.locale||"en-US",w=d.app.pm.get("@nocobase/plugin-file-manager"),S=(0,h.useRef)(d.t.bind(d));S.current=d.t.bind(d);let{t:F}=(0,I.useTranslation)(),C=(0,a.$5)(),A=(0,a.fl)("drawer",C+1e3,0),P=(0,h.useMemo)(()=>{let e=M.replace(/-/g,"_");return cZ.includes(e)?e:"en_US"},[M]);return(0,h.useEffect)(()=>{if(!f.current)return;let r=i??cX,a=new __rspack_external_vditor.default(f.current,{value:o??"",lang:P,cache:{enable:!1},undoDelay:0,mode:e.mode||"ir",preview:{math:{engine:"KaTeX"}},toolbar:r,fullscreen:{index:1200},cdn:y,minHeight:200,height:e.height,after:()=>{p.current=a,c(!0),a.setValue(o??""),t?a.disabled():(a.enable(),document.querySelectorAll("qr-code").forEach(e=>{let t=e.getAttribute("value")||"",l=document.createElement("div");e.replaceWith(l),(0,cH.createRoot)(l).render((0,m.jsx)(k.QRCode,{value:t}))}))},input(e){l(e)},upload:{multiple:!1,fieldName:"file",async handler(e){var t,l,o,i,r,s,d,u;let c=e[0];a.focus();let{data:p}=await v.resource("vditor").check({fileCollectionName:n});if(!(null==p||null==(t=p.data)?void 0:t.isSupportToUploadFiles))return void a.tip(F("vditor.uploadError.message",{ns:cQ,storageTitle:null==(u=p.data.storage)?void 0:u.title}),0);a.tip(F("uploading"),0);let{data:m,errorMessage:h}=await w.uploadFile({file:c,fileCollectionName:n,storageId:null==p||null==(o=p.data)||null==(l=o.storage)?void 0:l.id,storageType:null==p||null==(r=p.data)||null==(i=r.storage)?void 0:i.type,storageRules:null==p||null==(d=p.data)||null==(s=d.storage)?void 0:s.rules});if(h)return void a.tip(S.current(h),3e3);if(!m)return void a.tip(F("Response data is empty",{ns:cQ}),3e3);let f=m.filename,g=m.url;return c.type.startsWith("image/")?a.insertValue(`![${f}](${g})`):a.insertValue(`[${f}](${g})`),a.tip(F(""),10),null}}});s.current=a;let d=f.current;if(!d)return;let u=new MutationObserver(()=>{let e=d.classList.contains("vditor--fullscreen"),t=d.querySelectorAll(".vditor-reset"),l=d.querySelectorAll(".vditor-toolbar");t.forEach(t=>{t.style.padding=e?"10px 200px":""}),l.forEach(t=>{t.style.paddingLeft=e?"200px":""})});return u.observe(d,{attributes:!0,attributeFilter:["class"]}),()=>{var e;null==(e=p.current)||e.destroy(),p.current=void 0,u.disconnect()}},[null==i?void 0:i.join(",")]),(0,h.useEffect)(()=>{if(u&&p.current){let i=p.current;if(o!==i.getValue()){var e,t,l,n;i.setValue(o??"");let r=null==(e=f.current)?void 0:e.querySelector("div.vditor-content > div.vditor-ir > pre"),a=null==(t=f.current)?void 0:t.querySelector(".vditor-content"),s=r&&(document.activeElement===r||r.contains(document.activeElement)||(null==(n=document.activeElement)||null==(l=n.closest)?void 0:l.call(n,".vditor-content"))===a);if(r&&s){let e=document.createRange(),t=window.getSelection();t&&(e.selectNodeContents(r),e.collapse(!1),t.removeAllRanges(),t.addRange(e))}}}},[o,u]),(0,h.useEffect)(()=>{u&&p.current&&(t?p.current.disabled():p.current.enable())},[t,u]),(0,h.useEffect)(()=>{if(!g.current)return;let e=new MutationObserver(e=>{for(let t of e)for(let e of Array.from(t.addedNodes))e instanceof HTMLElement&&e.classList.contains("vditor-img")&&(g.current.appendChild(e),e.style.zIndex=String(A))});return e.observe(document.body,{childList:!0}),()=>{e.disconnect()}},[A]),_((0,m.jsx)("div",{ref:g,className:`${b} ${x}`,children:(0,m.jsx)("div",{ref:f})}))},c1=e=>{let{value:t="",onChange:l,placeholder:o,style:n,quoteFlag:i,enableContextSelect:a=!0,...s}=e,d=(0,r.useFlowContext)(),[u,c]=(0,h.useState)(t||""),p=(0,h.useRef)(null),f=!!d.model.context.flowSettingsEnabled;(0,h.useEffect)(()=>{!1!==i&&c(t)},[t]);let g=(0,h.useCallback)(e=>{let t=(e??"").replace(/^\s+/g,"");null==l||l(t),c(t)},[l]),v=(0,h.useCallback)(e=>{let t=p.current;if(!t)return void console.warn("Vditor 尚未初始化,无法插入文本");if(t.getCursorPosition()){let l=t.getCursorPosition().top,o=t.getValue().split("\n"),n=document.querySelector(".vditor-reset"),i=o[Math.floor(l/(parseFloat(window.getComputedStyle(n).lineHeight)||20))]??"";(i.includes("{%")||i.includes("%}"))&&(e=e.replace(/^{{\s*(.*?)\s*}}$/,"$1"))}t.insertValue(e);let o=t.getValue();c(o),null==l||l(o),requestAnimationFrame(()=>{t.focus()})},[u,l]),y=(0,h.useCallback)(e=>{e&&v(e)},[v]),_=(0,h.useMemo)(()=>()=>{var e;return null==(e=d.getPropertyMetaTree)?void 0:e.call(d)},[d]);return(0,m.jsxs)("div",{style:{position:"relative",width:"100%",...n},children:[(0,m.jsx)(c0,{vditorRef:p,value:u,onChange:g,placeholder:o,style:{width:"100%"},...s}),f&&a&&(0,m.jsx)("div",{style:{position:"absolute",top:10,right:10,zIndex:1,lineHeight:0},children:(0,m.jsx)(r.FlowContextSelector,{metaTree:_,onChange:e=>y(e),onlyLeafSelectable:!1,children:(0,m.jsx)(k.Button,{type:"default",className:(0,tx.css)`
771
771
  font-style: italic;
772
772
  font-family: 'New York, Times New Roman, Times, serif';
773
773
  line-height: 1;
@@ -776,7 +776,7 @@ ctx.render(<JsItem />);
776
776
  border-top-color: transparent;
777
777
  background-color: transparent;
778
778
  }
779
- `,children:"x"})})})]})};class cW{render(e,t){if(!e)return null;try{return(0,m.jsx)(c$,{value:e,...t})}catch(e){return console.error("渲染失败:",e),(0,m.jsxs)("pre",{style:{color:"red"},children:["Markdown 渲染错误:",e.message]})}}edit(e){try{return(0,m.jsx)(cJ,{...e})}catch(e){return(0,m.jsxs)("pre",{style:{color:"red"},children:["Markdown 编辑器加载错误:",e.message]})}}}class cX extends __rspack_external_liquidjs.Liquid{transformLiquidContext(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={};for(let l of e){let e=l.replace(/^ctx\./,"").split("."),o=t;for(let t=0;t<e.length;t++){let n=e[t];t===e.length-1?o[n]=`{{${l}}}`:(o[n]=o[n]||{},o=o[n])}}return t}async render(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{return await this.parseAndRender(e,t)}catch(e){return console.error("[Liquid] 模板解析失败:",e),`<pre style="color:red;">Liquid 模板错误:${e.message}</pre>`}}isFieldUsed(e,t){return t.some(t=>t.replace(/^ctx\./,"").endsWith(e))}enrichArrayFieldsSelective(e,t){if(e&&"object"==typeof e)for(let l in e){let o=e[l];if(Array.isArray(o)&&o.length&&"object"==typeof o[0]){let e=o;Object.keys(e[0]).filter(o=>["string","number","boolean"].includes(typeof e[0][o])&&this.isFieldUsed(`${l}.${o}`,t)).forEach(t=>{e[t]=e.map(e=>null!=e[t]?e[t]:"").join(",")}),e.forEach(e=>this.enrichArrayFieldsSelective(e,t))}else o&&"object"==typeof o&&this.enrichArrayFieldsSelective(o,t)}}async renderWithFullContext(e,t){if(e)try{"number"==typeof e&&(e=String(e)),e=e.replace(/\{\{\s*t\s*\(\s*(['"])([\s\S]*?)\1\s*(?:,\s*\{\s*ns\s*:\s*(['"])([\s\S]*?)\3\s*\}\s*)?\)\s*\}\}/g,(e,l,o,n,i)=>{try{let e=i?t.t(o,{ns:i}):t.t(o);if(null==e)return"";return/[{][{%]/.test(e)?`{% raw %}${e}{% endraw %}`:e}catch{return e}});let l=await this.fullVariables(e),o=l.map(e=>this.transformLiquidContext([e])),n=(await Promise.all(o.map(e=>t.resolveJsonTemplate(e)))).reduce((e,t)=>(0,g.merge)(e,t),{});return this.enrichArrayFieldsSelective(n,l),await this.render(e,{ctx:n})}catch(t){return e}}constructor(e){super({extname:".liquid",cache:!0,...e}),this.registerFilter("t",e.ctx.t),this.registerFilter("log",e=>(console.log("[Liquid log]",e),e))}}var cQ=l(7520),cZ=l(964),c0=l(7152),c1=l(5056);class c2 extends s.Plugin{async load(){this.app.addComponents({FlowRoute:S.default}),this.app.flowEngine.setModelRepository(new c_(this.app));let e=Object.fromEntries(Object.entries(n).filter(e=>{let[,t]=e;return"function"==typeof t&&t.prototype instanceof r.FlowModel}));this.flowEngine.registerModels(e),this.flowEngine.registerActions(i),this.flowEngine.registerActions(o),this.flowEngine.flowSettings.registerComponents({IconPicker:a.ar,DefaultValue:cv,FlowSettingsVariableTextArea:u.n}),this.flowEngine.flowSettings.addToolbarItem({key:"dynamic-flows-editor",component:cS,visible:e=>e.getEvents().size>0,sort:0});let t=new cW;this.flowEngine.context.defineProperty("markdown",{get:()=>t});let s=new cX({ctx:this.flowEngine.context});this.flowEngine.context.defineProperty("liquid",{get:()=>s}),this.flowEngine.context.defineMethod("previewRunJS",async function(e,t){let o=await Promise.resolve().then(l.bind(l,426));return await o.previewRunJS(String(e??""),this,{version:t})},{description:"Preview/diagnose a RunJS snippet (lint + sandbox execution).",detail:"(code: string, version?: string) => Promise<{ success: boolean; message: string }>",params:[{name:"code",type:"string",description:"RunJS code to preview."},{name:"version",type:"string",description:"RunJS version override (e.g. v1/v2)."}],returns:{type:"Promise<PreviewRunJSResult>",description:"Preview result."},completion:{insertText:"await ctx.previewRunJS('console.log(1)', 'v2')"}})}}},9378(e,t,l){l.d(t,{g:()=>m});var o=l(1178),n=l(1649);let i=l(7583).default.memoize(async e=>e?(await Promise.resolve().then(l.bind(l,248))).default.render(e):e);function r(e){let[t,l]=(0,n.useState)(""),[o,r]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{r(!0),i(e).then(e=>{l(e),r(!1)}).catch(e=>console.log(e))},[e]),{html:t,loading:o}}function a(e){let t=e,l=document.createElement("div");l.innerHTML=t;let o=l.innerText;return l=null,(null==o?void 0:o.replace(/[\n\r]/g,""))||""}var s=l(2741),d=l(691),u=l(504),c=l(2793);let p=()=>{let e=(0,u.useFlowContext)(),{token:t}=c.theme.useToken(),l=!!e.isDarkTheme,o=new s.TinyColor(t.colorFillAlter).onBackground(t.colorBgContainer).toHexShortString(),n={lineHeight:"inherit","&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:t.colorFillQuaternary,border:`1px solid ${t.colorBorder}`,borderRadius:t.borderRadiusSM},blockquote:{borderLeft:"4px solid #ccc",paddingLeft:"20px",marginLeft:"0",color:"#666",fontStyle:"italic"},img:{maxWidth:"100%"},".hljs":{background:"#f8f8f8",color:"#444"},".hljs-comment":{color:"#697070"},".hljs-punctuation,.hljs-tag":{color:"#444a"},".hljs-tag .hljs-attr,.hljs-tag .hljs-name":{color:"#444"},".hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag":{fontWeight:700},".hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type":{color:"#800"},".hljs-section,.hljs-title":{color:"#800",fontWeight:700},".hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable":{color:"#ab5656"},".hljs-literal":{color:"#695"},".hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code":{color:"#397300"},".hljs-meta":{color:"#1f7199"},".hljs-meta .hljs-string":{color:"#38a"},".hljs-emphasis":{fontStyle:"italic"},".hljs-strong":{fontWeight:700}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${t.colorBorderSecondary}`,padding:`${t.paddingContentVertical}px ${t.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:o,fontWeight:"bold",color:t.colorText},"tr:hover":{backgroundColor:t.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}},i={"&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:t.colorFillQuaternary,border:`1px solid ${t.colorBorder}`,borderRadius:t.borderRadiusSM},".hljs":{color:"#adbac7",background:"#22272e"},".hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_":{color:"#f47067"},".hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_":{color:"#dcbdfb"},".hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable":{color:"#6cb6ff"},".hljs-meta .hljs-string,.hljs-regexp,.hljs-string":{color:"#96d0ff"},".hljs-built_in,.hljs-symbol":{color:"#f69d50"},".hljs-code,.hljs-comment,.hljs-formula":{color:"#768390"},".hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag":{color:"#8ddb8c"},".hljs-subst":{color:"#adbac7"},".hljs-section":{color:"#316dca",fontWeight:700},".hljs-bullet":{color:"#eac55f"},".hljs-emphasis":{color:"#adbac7",fontStyle:"italic"},".hljs-strong":{color:"#adbac7",fontWeight:700},".hljs-addition":{color:"#b4f1b4",backgroundColor:"#1b4721"},".hljs-deletion":{color:"#ffd8d3",backgroundColor:"#78191b"}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${t.colorBorderSecondary}`,padding:`${t.paddingContentVertical}px ${t.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:o,fontWeight:"bold",color:t.colorText},"tr:hover":{backgroundColor:t.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}};return(0,d.css)({lineHeight:t.lineHeight,"& > *:last-child":{marginBottom:"0"},".ant-description-textarea, .ant-description-input":{lineHeight:t.lineHeight},".field-interface-datetime":{minWidth:"100px"},img:{maxWidth:"100%"},...l?i:n})},m=e=>{let{textOnly:t,overflowMode:l,style:i}=e,s=p(),{html:d=""}=r(e.value),u=a(d),m="ellipsis"===l,h=(0,n.useRef)(null),[f,g]=(0,n.useState)(!1);(0,n.useEffect)(()=>{if(h.current){let e=h.current;g(e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight)}},[d,i,l]);let v={...i||{},...m?{display:"-webkit-box",WebkitLineClamp:1,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-word",cursor:"default"}:{}},y=(0,o.jsx)("div",{ref:h,className:`${s} nb-markdown`,dangerouslySetInnerHTML:{__html:t?u:d},style:v});return m&&f?(0,o.jsx)(c.Tooltip,{title:(0,o.jsx)("div",{dangerouslySetInnerHTML:{__html:d},style:{maxHeight:500,overflowY:"auto",padding:10,color:"#000"}}),overlayInnerStyle:{background:"#fff",color:"#000",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"},color:"#fff",children:y}):y}},248(e,t,l){function o(e,t){function l(e){return e.split(/\s+/g)[0]}__rspack_external_mermaid.default.initialize({securityLevel:"loose",...t});let o=e.renderer.rules.fence;function n(e,t,n,i,r){let a=e[t],s=a.info.trim();if(-1===["mermaid","{mermaid}"].indexOf(s?l(s):""))return void 0!==o?o(e,t,n,i,r):"";let d="",u=[],c=document.createElement("div");document.body.appendChild(c);try{let e="mermaid-container";__rspack_external_mermaid.default.mermaidAPI.render(e,a.content,t=>{let l=document.getElementById(e);null!==l&&u.push(["style",`max-width:${l.style.maxWidth};max-height:${l.style.maxHeight}`]),d=t},c)}catch(e){return`<div class="alert alert-danger">${e}</div>`}finally{c.remove()}return u.push(["src",`data:image/svg+xml,${encodeURIComponent(d)}`]),`<img ${r.renderAttrs({attrs:u})}>`}e.renderer.rules.fence=n}l.d(t,{default:()=>i});let n=new __rspack_external_markdown_it_a5918e6a.default({html:!0,linkify:!0,typographer:!0,breaks:!0});n.use(__rspack_external_markdown_it_highlightjs_3df446b8.default),n.use(o);let i=n},7309(e,t,l){function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Array.isArray(e)?e.map(e=>{if(e&&"object"==typeof e&&!Array.isArray(e)){let t=e,l=void 0!==t.label,o=void 0!==t.value,n=l?t.label:String(t.value??""),i=o?t.value:n,r={label:n,value:i};return t.color&&(r.color=t.color),t.icon&&(r.icon=t.icon),r}return{label:String(e),value:e}}):[]}function n(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;return Array.isArray(e)?e.map(e=>"string"==typeof(null==e?void 0:e.label)?{...e,label:t(e.label)}:e):[]}function i(e,t){if(e&&Array.isArray(e)&&0!==e.length)return n(o(e),t)}function r(e,t){let l=null==t?void 0:t.mode,o="multiple"===l||"tags"===l||(null==t?void 0:t.multiple)===!0;return Array.isArray(e)?e.filter(e=>""!==e&&null!=e):""===e||null==e?o?[]:void 0:e}function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(Array.isArray(e)?e:null==e?[]:[e]).map(e=>{var l;let o=t.find(t=>(null==t?void 0:t.value)===e);return o?{value:e,label:o.label}:{value:e,label:(null==e||null==(l=e.toString)?void 0:l.call(e))??e}})}function s(e,t){var l,n,i,r;if(!["radioGroup","checkboxGroup","select","multipleSelect"].includes(null==t?void 0:t.interface)||Array.isArray(null==(l=e.props)?void 0:l.options)&&(null==(i=e.props)||null==(n=i.options)?void 0:n.length)>0)return!1;let a=null==(r=t.uiSchema)?void 0:r.enum;if(!Array.isArray(a)||0===a.length)return!1;let s=o(a);return!!s.length&&(e.setProps({options:s}),!0)}l.d(t,{NI:()=>s,ZY:()=>n,di:()=>i,xO:()=>r,yg:()=>a})},9133(e,t,l){l.d(t,{E4:()=>i,Gj:()=>d,a_:()=>o,eo:()=>p,w7:()=>r});let o="__custom__";function n(e){return`${o}:${e}`}function i(e){var t;if(!e||"object"!=typeof e)return!1;let l=e;if(!(null==(t=l.isAssociationField)?void 0:t.call(l)))return!1;let o=l.type,n=l.interface;return"belongsToMany"===o||"hasMany"===o||"belongsToArray"===o||"m2m"===n||"o2m"===n||"mbm"===n}function r(e){var t;if(!e||"object"!=typeof e)return;let l=e;return l.collection||(null==(t=l.context)?void 0:t.collection)||void 0}function a(e){return"string"==typeof e?e.trim():""}function s(e){if(!e||"object"!=typeof e)return[];let t=e,l="function"==typeof t.getStepParams?t.getStepParams("fieldSettings","init"):void 0,o=l&&"object"==typeof l?l:void 0,i="function"==typeof t.getStepParams?t.getStepParams("formItemSettings","fieldSettings"):void 0,r=i&&"object"==typeof i?i:void 0,s=(null==o?void 0:o.fieldPath)??t.fieldPath,d=(null==o?void 0:o.associationPathName)??t.associationPathName,u=null==r?void 0:r.name,c=a(s),p=a(d),m=a(u),h=new Set;return c&&h.add(c),p&&(c?c.startsWith(`${p}.`)?h.add(c):h.add(`${p}.${c}`):h.add(p)),m&&h.add(n(m)),Array.from(h)}function d(e){return s(e)[0]}function u(e){if(!e||"object"!=typeof e)return[];let t=e.subModels;if(!t||"object"!=typeof t)return[];let l=t.items;if(Array.isArray(l))return l;let o=t.grid;if(!o||"object"!=typeof o)return[];let n=o.subModels;if(!n||"object"!=typeof n)return[];let i=n.items;return Array.isArray(i)?i:[]}function c(e){if(!e||"object"!=typeof e)return[];let t=e.subModels;return t&&"object"==typeof t?u(t.field):[]}function p(e,t){let l=a(t);if(!l)return null;let o=e=>{if(!Array.isArray(e))return null;for(let t of e){if(s(t).some(e=>e===l))return t;let e=o(c(t));if(e)return e}return null};return o(u(e))}},7720(e,t,l){l.d(t,{_:()=>n});var o=l(6832);function n(e,t,l){let n;if(!l||!Array.isArray(l))return null;let i=l.find(e=>(null==e?void 0:e.value)===t),r=null==i?void 0:i.schema,a=null==r?void 0:r["x-component"];if(!a)return null;if("DateFilterDynamicComponent"===a)n=o.DateFilterDynamicComponent;else{var s;n=null==e||null==(s=e.getComponent)?void 0:s.call(e,a)}return n?{Comp:n,props:(null==r?void 0:r["x-component-props"])||{}}:null}},544(e,t,l){l.d(t,{ON:()=>i,jI:()=>n});let o="__saveStepParamsWithSubModels";function n(e){if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("[saveStepParamsWithSubModels] model is not an object");e[o]=!0}async function i(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("[saveStepParamsWithSubModels] model is not an object");let l=e;if(!0!==l[o])return await t();if("function"!=typeof l.save)throw Error("[saveStepParamsWithSubModels] model.save is not a function");try{return await l.save()}finally{delete l[o]}}},3890(e,t,l){l.d(t,{P:()=>f,z:()=>g});var o=l(1178),n=l(2314),i=l(504),r=l(7583),a=l(1649),s=l(2793),d=l(8563),u=l(2542),c=l(7843),p=l(8804);let m=()=>{let{t:e}=(0,c.useTranslation)(),t=(0,i.useFlowModel)(),l=t.context.blockModel.collection,n=l.dataSource,d=(0,a.useMemo)(()=>{let t=`${e(n.displayName||n.key)} > `,o=l?`${e(l.title)||l.name||l.tableName} `:"";return`${t}${o}`},[]),{actionName:u}=t.forbidden,m=(0,a.useMemo)(()=>e('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:d,actionName:e(r.default.capitalize(u))}).replaceAll("&gt;",">"),[u,d,e]);return(0,o.jsx)(p.t,{children:(0,o.jsx)(s.Result,{status:"403",subTitle:m})})};function h(){let{t:e}=(0,c.useTranslation)(),t=(0,i.useFlowModel)(),l=t.dataSource,n=(0,a.useMemo)(()=>{let o=`${e(l.displayName||l.key)} > `,n=t.resource.resourceName;return`${o}${n}`},[]),r=(0,a.useMemo)(()=>e('The {{type}} "{{name}}" may have been deleted. Please remove this {{blockType}}.',{type:e("Collection"),name:n,blockType:e("Block")}).replaceAll("&gt;",">"),[n,e]);return(0,o.jsx)(p.t,{children:(0,o.jsx)(s.Result,{status:"404",subTitle:r})})}let f={new:"new",one:"one",many:"many",select:"select",filter:"filter",oam:["one","many"],subForm:"subForm",bulkEditForm:"bulkEditForm"};class g extends i.FlowModel{setFilterActive(e,t){this.activeFilterSources.set(e,t)}hasActiveFilters(){let e=this.resource;if(e&&e.filter&&Object.keys(e.filter).length>0)return!0;for(let[,e]of this.activeFilterSources)if(e)return!0;return!1}removeFilterSource(e){this.activeFilterSources.delete(e)}getDataLoadingMode(){var e;let t=this.getStepParams("dataLoadingModeSettings");return(null==t||null==(e=t.dataLoadingMode)?void 0:e.mode)||"auto"}static _getScene(){return r.default.castArray(this.scene||[])}static _isScene(e){return this._getScene().includes(e)}getModelClassName(e){return Object.keys(this.customModelClasses).includes(e)?this.customModelClasses[e]:this._defaultCustomModelClasses[e]||e}renderHiddenInConfig(){return this.forbidden?(0,o.jsx)(m,{}):(0,o.jsx)(s.Tooltip,{title:this.context.t("The block is hidden and only visible when the UI Editor is active"),children:(0,o.jsx)(d.tn,{ref:this.context.ref,...this.decoratorProps,style:{opacity:"0.3"},children:(0,o.jsx)(this.ObservedRenderComponent,{})})})}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineMethod("getModelClassName",e=>this.getModelClassName(e)),this.ObservedRenderComponent=(0,i.observer)(()=>this.renderComponent(),{displayName:"ObservedRenderComponent"})}setDecoratorProps(e){Object.assign(this.decoratorProps,e)}get title(){return this._title||(this._title=this.defaultBlockTitle()),this._title}defaultBlockTitle(){var e;return`${this.translate((null==(e=this.constructor.meta)?void 0:e.label)||this.constructor.name)}`}renderComponent(){throw Error("renderComponent method must be implemented in subclasses of BlockModel")}render(){return this.collectionRequired&&!this.context.collection?(0,o.jsx)(h,{}):(0,o.jsx)(d.tn,{ref:this.context.ref,...this.decoratorProps,children:(0,o.jsx)(this.ObservedRenderComponent,{})})}constructor(...e){super(...e),this.decoratorProps=(0,n.observable)({}),this._defaultCustomModelClasses={},this.customModelClasses={},this.collectionRequired=!1,this.ObservedRenderComponent=null,this.activeFilterSources=new Map}}g.registerFlow({key:"cardSettings",title:(0,i.tExpr)("Card settings"),steps:{titleDescription:{title:(0,i.tExpr)("Title & description"),uiSchema:{title:{"x-component":"Input","x-decorator":"FormItem",title:(0,i.tExpr)("Title")},description:{"x-component":"Input.TextArea","x-decorator":"FormItem",title:(0,i.tExpr)("Description")}},handler(e,t){let l=e.t(t.title,{ns:"lm-flow-engine"}),o=e.t(t.description,{ns:"lm-flow-engine"});e.model.setDecoratorProps({title:l,description:o})}},linkageRules:{use:"blockLinkageRules"},blockHeight:{use:"blockHeight"}}}),g.define({hide:!0,label:(0,i.tExpr)("Other blocks")}),i.FlowModel.registerEvents({beforeRender:{title:(0,i.tExpr)("Before render"),name:"beforeRender",uiSchema:{condition:{type:"object",title:(0,i.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":u.H}},handler:u.b}})},146(e,t,l){l.d(t,{t:()=>s});var o=l(504),n=l(7583),i=l(7123),r=l(8481),a=l(2606);class s extends a.R{onMount(){super.onMount(),this.previousBeforeRenderHash=this.context.location.search}getDirtyTrackingVersion(e,t,l,o){var n;let i=new Set,r=(null==l||null==(n=l.getResourceName)?void 0:n.call(l))||o.associationName||o.collectionName;r&&i.add(String(r)),o.associationName&&i.add(String(o.associationName)),o.collectionName&&i.add(String(o.collectionName));let a=0;for(let l of i)a+=e.getDataSourceDirtyVersion(t,l);return a}onActive(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.hidden&&this.previousBeforeRenderHash!==this.context.location.search&&(this.rerender(),!e)||this.hidden)return;let t=this.context.resource;if(!t)return;let l=this.getResourceSettingsInitParams(),o=t.getDataSourceKey()||l.dataSourceKey||"main",n=this.context.engine,i=this.getDirtyTrackingVersion(n,o,t,l);if(e){if(this.dirtyRefreshing)return;this.dirtyRefreshing=!0,t.refresh().then(()=>{this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(n,o,t,l)}).catch(()=>{}).finally(()=>{this.dirtyRefreshing=!1});return}this.isManualRefresh||null!==this.lastSeenDirtyVersion&&i===this.lastSeenDirtyVersion||this.dirtyRefreshing||(this.dirtyRefreshing=!0,t.refresh().then(()=>{this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(n,o,t,l)}).catch(()=>{}).finally(()=>{this.dirtyRefreshing=!1}))}static filterCollection(e){return!!e.filterTargetKey}static isCollectionAvailable(e){if(!e)return!1;let t=(0,r.b1)(this);return(0,r.F3)(e,t)}static async defineChildren(e){let t=t=>{var l;if(!(null==(l=this.meta)?void 0:l.createModelOptions))return t||{};if("function"==typeof this.meta.createModelOptions){let l=this.meta.createModelOptions(e);return n.default.merge({},l,t)}return n.default.merge({},this.meta.createModelOptions,t)},l=e=>this.name+e,{dataSourceKey:i,collectionName:r,associationName:a,filterByTk:s}=e.view.inputArgs,d=e.dataSourceManager.getDataSources().map(e=>0===e.getCollections().length?null:{key:l(`ds-${e.key}`),label:e.displayName,searchable:!0,searchPlaceholder:(0,o.tExpr)("Search"),children:o=>e.getCollections().map(o=>{if(!this.filterCollection(o)||!this.isCollectionAvailable(o))return null;let n={dataSourceKey:o.dataSourceKey,collectionName:o.name};return{key:l(`ds-${e.key}.${o.name}`),label:o.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)}).filter(Boolean),u=e=>1===d.length?d[0].children(e):d;if(!r)return u(e);if(this._isScene("select")){let o={dataSourceKey:i,collectionName:r};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let n=e.dataSourceManager.getCollection(i,r),s=[];return this.isCollectionAvailable(n)&&s.push({key:l("current-collection"),label:"Current collection",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}),s.push({key:l("others-collections"),label:"Other collections",children:u(e)}),s}if(this._isScene("new")){let o={dataSourceKey:i,collectionName:r};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let n=[],d=e.dataSourceManager.getCollection(i,r);return this.isCollectionAvailable(d)&&n.push({key:l("current-collection"),label:"Current collection",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}),null!=s&&n.push({key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(i,r).getAssociationFields(this._getScene()).map(e=>{if(!e.targetCollection||"belongsToArray"===e.type||!this.filterCollection(e.targetCollection)||!this.isCollectionAvailable(e.targetCollection))return null;let o=`{{ctx.popup.record.${e.sourceKey||e.collection.filterTargetKey}}}`;e.sourceKey===e.collection.filterTargetKey&&(o="{{ctx.view.inputArgs.filterByTk}}");let n={dataSourceKey:i,collectionName:e.target,associationName:e.resourceName,sourceId:o};return{key:l(`associated-${e.name}`),label:e.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)}),n.push({key:l("others-collections"),label:"Other collections",children:u(e)}),n}let c=[{key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(i,r).getAssociationFields(this._getScene()).map(e=>{if(!e.targetCollection||"belongsToArray"===e.type||!this.filterCollection(e.targetCollection)||!this.isCollectionAvailable(e.targetCollection))return null;let o=`{{ctx.popup.record.${e.sourceKey||e.collection.filterTargetKey}}}`;e.sourceKey===e.collection.filterTargetKey&&(o="{{ctx.view.inputArgs.filterByTk}}");let n={dataSourceKey:i,collectionName:e.target,associationName:e.resourceName,sourceId:o};return{key:l(`associated-${e.name}`),label:e.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)},{key:l("others-records"),label:"Other records",children:u(e)}];if(this._isScene("one")){let o=e.dataSourceManager.getCollection(i,r);if(!o||!this.filterCollection(o)||!this.isCollectionAvailable(o))return c;let n={dataSourceKey:i,collectionName:r,filterByTk:"{{ctx.view.inputArgs.filterByTk}}"};a&&(n.associationName=a,n.sourceId="{{ctx.view.inputArgs.sourceId}}"),c.unshift({key:l("current-record"),label:"Current record",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})})}return c}get dataSource(){return this.context.dataSource}get collection(){return this.context.collection}get resource(){return this.context.resource}get association(){return this.context.association}get associationField(){return this.context.association}getAclActionName(){return"view"}async getFilterFields(){return this.collection.getFields().filter(e=>e.filterable)}getResourceSettingsInitParams(){return this.getStepParams("resourceSettings","init")}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineProperty("actionName",{get:()=>this.getAclActionName(),cache:!1}),this.context.defineProperty("resourceName",{get:()=>this.resource.getResourceName(),cache:!1}),this.context.defineProperty("dataSource",{get:()=>{let e=this.getResourceSettingsInitParams();return this.context.dataSourceManager.getDataSource(e.dataSourceKey)}}),this.context.defineProperty("collection",{get:()=>{let e=this.getResourceSettingsInitParams();return this.context.dataSourceManager.getCollection(e.dataSourceKey,e.collectionName)}}),this.context.defineProperty("resource",{get:()=>{let e=this.getResourceSettingsInitParams(),t=this.createResource(this.context,e);t.setDataSourceKey(e.dataSourceKey),t.setResourceName(e.associationName||e.collectionName);let l=()=>{var l;let o=this.context.engine;if(!(null==o?void 0:o.getDataSourceDirtyVersion))return;let n=(null==(l=t.getDataSourceKey)?void 0:l.call(t))||e.dataSourceKey||"main";this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(o,n,t,e)};return l(),t.on("refresh",()=>{l(),this.invalidateFlowCache("beforeRender")}),t}}),this.context.defineProperty("association",{get:()=>{let e=this.getResourceSettingsInitParams();if(e.associationName)return this.dataSource.getAssociation(e.associationName)}})}createResource(e,t){throw Error("createResource method must be implemented in subclasses of CollectionBlockModel")}refresh(){return this.resource?this.resource.refresh():super.refresh()}defaultBlockTitle(){var e,t,l,o,n,r,a;let s=this.translate((null==(e=this.constructor.meta)?void 0:e.label)||this.constructor.name),d=(null==(t=this.dataSource)?void 0:t.displayName)||(null==(l=this.dataSource)?void 0:l.key),u=(null==(r=this.context)||null==(n=r.dataSourceManager)||null==(o=n.getDataSources)?void 0:o.call(n).length)||0,c=null==(a=this.collection)?void 0:a.title;if(this.association){let e=this.resource.getResourceName(),t=this.dataSource.getCollection(e.split(".")[0]);return(0,i.l)({blockLabel:s,dsName:d,dsCount:u,collectionTitle:c,sourceCollectionTitle:t.title,associationTitle:this.association.title})}return(0,i.l)({blockLabel:s,dsName:d,dsCount:u,collectionTitle:c})}addAppends(e){var t,l;let o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e)if(e.includes(".")){let[l,n]=e.split("."),i=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${l}`);if(!i)return;let r=i.target;if(!r)return;let a=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${r}.${n}`);if(a&&a.isAssociationField()){if(this.resource.addAppends(e),(null==(t=a.targetCollection)?void 0:t.template)==="tree"){let t=e.includes(".")?e.slice(e.lastIndexOf(".")+1):e;a.name===t&&this.resource.addAppends(`${e}.parent(recursively=true)`)}o&&this.resource.refresh()}}else{if(!this.collection)return;let t=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${e}`);if(!t)return;t.isAssociationField()&&(this.resource.addAppends(t.name),(null==(l=t.targetCollection)?void 0:l.template)==="tree"&&this.resource.addAppends(`${t.name}.parent(recursively=true)`),o&&this.resource.refresh())}}constructor(...e){super(...e),this.isManualRefresh=!1,this.collectionRequired=!0,this.lastSeenDirtyVersion=null,this.dirtyRefreshing=!1}}s.registerFlow({key:"resourceSettings",sort:-999,steps:{collectionCheck:{handler(e){e.collection||e.exitAll()}},aclCheck:{use:"aclCheck"},init:{handler(e,t){if(!t.dataSourceKey)throw Error("dataSourceKey is required");if(!t.collectionName)throw Error("collectionName is required");Object.keys(t).includes("sourceId")&&e.resource.setSourceId(t.sourceId),Object.keys(t).includes("filterByTk")&&e.resource.setFilterByTk(t.filterByTk)}}}}),s.registerFlow({key:"refreshSettings",sort:1e4,steps:{refresh:{async handler(e){let t=e.model,l=e.model.context.filterManager,n=(null==l?void 0:l.prepareFiltersForTarget)?await l.prepareFiltersForTarget(e.model.uid):void 0;l&&l.bindToTarget(e.model.uid);let i=t.getDataLoadingMode(),r=t.resource;if(r instanceof o.MultiRecordResource&&"manual"===i&&!t.hasActiveFilters()){r.setData([]),r.setMeta({count:0,hasNext:!1,page:1}),r.loading=!1;return}null==n||n.forEach(t=>{var l;null==t||null==(l=t.markInitialTargetRefreshHandled)||l.call(t,e.model.uid)}),e.model.isManualRefresh?e.model.resource.loading=!1:await e.model.resource.refresh()}}}}),s.registerFlow({key:"dataLoadingModeSettings",sort:800,title:(0,o.tExpr)("Set data loading mode"),steps:{dataLoadingMode:{use:"dataLoadingMode"}}}),s.define({hide:!0})},2606(e,t,l){l.d(t,{R:()=>i});var o=l(504),n=l(3890);class i extends n.z{}i.define({hide:!0,label:(0,o.tExpr)("Data blocks"),async children(e){let t=await (0,o.buildSubModelItems)(i)(e),{collectionName:l,filterByTk:n,scene:r}=e.view.inputArgs;return t.filter(t=>{var o,i,a,s,d,u,c;let p=e.engine.getModelClass(t.useModel);return"select"===r?null==(s=p._isScene)?void 0:s.call(p,"select"):"subForm"===r?null==(d=p._isScene)?void 0:d.call(p,"subForm"):"bulkEditForm"===r?null==(u=p._isScene)?void 0:u.call(p,"bulkEditForm"):"new"===r||l&&!n?null==(c=p._isScene)?void 0:c.call(p,"new"):!p._isScene||!(null==(o=p._isScene)?void 0:o.call(p,"select"))&&!(null==(i=p._isScene)?void 0:i.call(p,"subForm"))&&!(null==(a=p._isScene)?void 0:a.call(p,"bulkEditForm"))})}})},6859(e,t,l){l.d(t,{o:()=>n});var o=l(504);class n extends o.FlowModel{static resolveUse(e,t,l){var o,n;let i=null==e||null==(n=e.stepParams)||null==(o=n.fieldBinding)?void 0:o.use;return i&&i!==(null==e?void 0:e.use)?i:null==e?void 0:e.use}}},1442(e,t,l){l.d(t,{j:()=>n});var o=l(504);class n extends o.FlowModel{}n.registerFlow({key:"popupSettings",on:"click",steps:{openView:{use:"openView",defaultParams:e=>({mode:"embed",preventClose:!0,pageModelClass:"RootPageModel"})}}})},6832(e,t,l){l.r(t),l.d(t,{DateFilterDynamicComponent:()=>_});var o=l(1178),n=l(1649),i=l(2793),r=l(691),a=l(504),s=l(6305),d=l(3526),u=l(7583);let c=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,p=(e,t)=>{if(!e)return null;if(d.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,d.dayjs)(e).format(t),o=(0,d.dayjs)(l,t);return o.isValid()?o:(0,d.dayjs)(e)}let l=(0,d.dayjs)(e,t);if(l.isValid())return l;let o=(0,d.dayjs)(e);return o.isValid()?o:null},m=e=>{let{value:t,picker:l="date",format:r,showTime:m,timeFormat:h}=e,f=(0,a.useFlowEngine)(),g=f.translate.bind(f),v=(0,s.fD)(),y=[{label:g("Today"),value:v.today},{label:g("Last week"),value:v.lastWeek},{label:g("This week"),value:v.thisWeek},{label:g("Next week"),value:v.nextWeek},{label:g("Last month"),value:v.lastMonth},{label:g("This month"),value:v.thisMonth},{label:g("Next month"),value:v.nextMonth},{label:g("Last quarter"),value:v.lastQuarter},{label:g("This quarter"),value:v.thisQuarter},{label:g("Next quarter"),value:v.nextQuarter},{label:g("Last year"),value:v.lastYear},{label:g("This year"),value:v.thisYear},{label:g("Next year"),value:v.nextYear},{label:g("Last 7 days"),value:v.last7Days},{label:g("Next 7 days"),value:v.next7Days},{label:g("Last 30 days"),value:v.last30Days},{label:g("Next 30 days"),value:v.next30Days},{label:g("Last 90 days"),value:v.last90Days},{label:g("Next 90 days"),value:v.next90Days}],_=t?(0,s.Pn)(null==t?void 0:t[0],l):l,b=_===l&&r?r:(0,d.getPickerFormat)(_),x="date"===_?c(b):b,M=(0,d.getDateTimeFormat)(_,x,m,h),w={utc:!0,presets:y,...e,format:M,picker:_,showTime:!!m&&{defaultValue:[(0,d.dayjs)("00:00:00","HH:mm:ss"),(0,d.dayjs)("23:59:59","HH:mm:ss")]}},S=(0,n.useMemo)(()=>u.default.castArray(e.value).map(e=>p(e,M)),[e.value,M]);return(0,o.jsx)(i.DatePicker.RangePicker,{...w,style:{flex:1,...null==w?void 0:w.style},value:S})},h=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,f=(e,t)=>{if(!e)return null;if(d.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,d.dayjs)(e).format(t),o=(0,d.dayjs)(l,t);return o.isValid()?o:(0,d.dayjs)(e)}let l=(0,d.dayjs)(e,t);if(l.isValid())return l;let o=(0,d.dayjs)(e);return o.isValid()?o:null},g=e=>{let{picker:t="date",format:l,showTime:r,timeFormat:u,onChange:c}=e,p=(0,a.useFlowContext)(),m=Array.isArray(e.value)?e.value[0]:e.value,g=m?(0,s.Pn)(m,t):t,[v,y]=(0,n.useState)(g),_=p.model.translate.bind(p.model),b=e=>{let o=e===t&&l?l:(0,d.getPickerFormat)(e),n="date"===e?h(o):o;return(0,d.getDateTimeFormat)(e,n,r,u)},x=(0,n.useMemo)(()=>b(v),[l,t,r,v,u]),M=(0,n.useMemo)(()=>f(m,x),[m,x]),w={utc:!0,inputReadOnly:p.isMobileLayout,...e,underFilter:!0,showTime:!!r&&{defaultValue:(0,d.dayjs)("00:00:00","HH:mm:ss")},format:x,picker:v};return(0,o.jsxs)(i.Space.Compact,{style:{width:"100%"},children:[(0,o.jsx)(i.Select,{style:{width:"100px"},popupMatchSelectWidth:!1,value:v,options:[{label:_("Date"),value:"date"},{label:_("Month"),value:"month"},{label:_("Quarter"),value:"quarter"},{label:_("Year"),value:"year"}],onChange:e=>{let t=b(e),l=x;if(y(e),!m||!c)return;let o=f(m,l);o&&o.isValid()&&c(o,o.format(t))}}),(0,o.jsx)(i.DatePicker,{...w,style:{flex:1,...null==w?void 0:w.style},value:M})]})},v=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=[{value:"exact",label:e("Exact day")},{value:"past",label:e("Past")},{value:"next",label:e("Next")},{value:"today",label:e("Today")},{value:"yesterday",label:e("Yesterday")},{value:"tomorrow",label:e("Tomorrow")},{value:"thisWeek",label:e("This Week")},{value:"lastWeek",label:e("Last Week")},{value:"nextWeek",label:e("Next Week")},{value:"thisMonth",label:e("This Month")},{value:"lastMonth",label:e("Last Month")},{value:"nextMonth",label:e("Next Month")},{value:"thisQuarter",label:e("This Quarter")},{value:"lastQuarter",label:e("Last Quarter")},{value:"nextQuarter",label:e("Next Quarter")},{value:"thisYear",label:e("This Year")},{value:"lastYear",label:e("Last Year")},{value:"nextYear",label:e("Next Year")}];return t&&l.splice(3,0,{value:"now",label:e("Now")}),l},y=e=>{let{isRange:t,defaultValue:l,onChange:i,...r}=e,a=(0,n.useCallback)((e,t)=>i(t),[i]);return t?(0,o.jsx)(m,{...r,onChange:a}):(0,o.jsx)(g,{...r,onChange:a})},_=e=>{let{value:t,onChange:l,includeNow:s=!1,...d}=e,u=(0,a.useFlowEngine)(),c=u.translate.bind(u),{token:p}=i.theme.useToken(),[m,h]=(0,n.useState)(!1),f=(0,n.useMemo)(()=>v(c,s),[c,s]),g=e=>{if(h(!1),"exact"===e)return l(void 0);let t={type:e};["past","next"].includes(e)&&(t.number=1,t.unit="day"),l(t)},_=()=>{let e=f.slice(0,3),t=f.slice(3),l=(0,r.css)`
779
+ `,children:"x"})})})]})};class c2{render(e,t){if(!e)return null;try{return(0,m.jsx)(cW,{value:e,...t})}catch(e){return console.error("渲染失败:",e),(0,m.jsxs)("pre",{style:{color:"red"},children:["Markdown 渲染错误:",e.message]})}}edit(e){try{return(0,m.jsx)(c1,{...e})}catch(e){return(0,m.jsxs)("pre",{style:{color:"red"},children:["Markdown 编辑器加载错误:",e.message]})}}}class c5 extends __rspack_external_liquidjs.Liquid{transformLiquidContext(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={};for(let l of e){let e=l.replace(/^ctx\./,"").split("."),o=t;for(let t=0;t<e.length;t++){let n=e[t];t===e.length-1?o[n]=`{{${l}}}`:(o[n]=o[n]||{},o=o[n])}}return t}async render(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{return await this.parseAndRender(e,t)}catch(e){return console.error("[Liquid] 模板解析失败:",e),`<pre style="color:red;">Liquid 模板错误:${e.message}</pre>`}}isFieldUsed(e,t){return t.some(t=>t.replace(/^ctx\./,"").endsWith(e))}enrichArrayFieldsSelective(e,t){if(e&&"object"==typeof e)for(let l in e){let o=e[l];if(Array.isArray(o)&&o.length&&"object"==typeof o[0]){let e=o;Object.keys(e[0]).filter(o=>["string","number","boolean"].includes(typeof e[0][o])&&this.isFieldUsed(`${l}.${o}`,t)).forEach(t=>{e[t]=e.map(e=>null!=e[t]?e[t]:"").join(",")}),e.forEach(e=>this.enrichArrayFieldsSelective(e,t))}else o&&"object"==typeof o&&this.enrichArrayFieldsSelective(o,t)}}async renderWithFullContext(e,t){if(e)try{"number"==typeof e&&(e=String(e)),e=e.replace(/\{\{\s*t\s*\(\s*(['"])([\s\S]*?)\1\s*(?:,\s*\{\s*ns\s*:\s*(['"])([\s\S]*?)\3\s*\}\s*)?\)\s*\}\}/g,(e,l,o,n,i)=>{try{let e=i?t.t(o,{ns:i}):t.t(o);if(null==e)return"";return/[{][{%]/.test(e)?`{% raw %}${e}{% endraw %}`:e}catch{return e}});let l=await this.fullVariables(e),o=l.map(e=>this.transformLiquidContext([e])),n=(await Promise.all(o.map(e=>t.resolveJsonTemplate(e)))).reduce((e,t)=>(0,g.merge)(e,t),{});return this.enrichArrayFieldsSelective(n,l),await this.render(e,{ctx:n})}catch(t){return e}}constructor(e){super({extname:".liquid",cache:!0,...e}),this.registerFilter("t",e.ctx.t),this.registerFilter("log",e=>(console.log("[Liquid log]",e),e))}}var c4=l(7520),c8=l(964),c3=l(7152),c6=l(5056);class c9 extends s.Plugin{async load(){this.app.addComponents({FlowRoute:S.default}),this.app.flowEngine.setModelRepository(new ck(this.app));let e=Object.fromEntries(Object.entries(n).filter(e=>{let[,t]=e;return"function"==typeof t&&t.prototype instanceof r.FlowModel}));this.flowEngine.registerModels(e),this.flowEngine.registerActions(i),this.flowEngine.registerActions(o),this.flowEngine.flowSettings.registerComponents({IconPicker:a.ar,DefaultValue:cw,FlowSettingsVariableTextArea:u.n}),this.flowEngine.flowSettings.addToolbarItem({key:"dynamic-flows-editor",component:cT,visible:e=>e.getEvents().size>0,sort:0});let t=new c2;this.flowEngine.context.defineProperty("markdown",{get:()=>t});let s=new c5({ctx:this.flowEngine.context});this.flowEngine.context.defineProperty("liquid",{get:()=>s}),this.flowEngine.context.defineMethod("previewRunJS",async function(e,t){let o=await Promise.resolve().then(l.bind(l,426));return await o.previewRunJS(String(e??""),this,{version:t})},{description:"Preview/diagnose a RunJS snippet (lint + sandbox execution).",detail:"(code: string, version?: string) => Promise<{ success: boolean; message: string }>",params:[{name:"code",type:"string",description:"RunJS code to preview."},{name:"version",type:"string",description:"RunJS version override (e.g. v1/v2)."}],returns:{type:"Promise<PreviewRunJSResult>",description:"Preview result."},completion:{insertText:"await ctx.previewRunJS('console.log(1)', 'v2')"}})}}},9378(e,t,l){l.d(t,{g:()=>m});var o=l(1178),n=l(1649);let i=l(7583).default.memoize(async e=>e?(await Promise.resolve().then(l.bind(l,248))).default.render(e):e);function r(e){let[t,l]=(0,n.useState)(""),[o,r]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{r(!0),i(e).then(e=>{l(e),r(!1)}).catch(e=>console.log(e))},[e]),{html:t,loading:o}}function a(e){let t=e,l=document.createElement("div");l.innerHTML=t;let o=l.innerText;return l=null,(null==o?void 0:o.replace(/[\n\r]/g,""))||""}var s=l(2741),d=l(691),u=l(504),c=l(2793);let p=()=>{let e=(0,u.useFlowContext)(),{token:t}=c.theme.useToken(),l=!!e.isDarkTheme,o=new s.TinyColor(t.colorFillAlter).onBackground(t.colorBgContainer).toHexShortString(),n={lineHeight:"inherit","&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:t.colorFillQuaternary,border:`1px solid ${t.colorBorder}`,borderRadius:t.borderRadiusSM},blockquote:{borderLeft:"4px solid #ccc",paddingLeft:"20px",marginLeft:"0",color:"#666",fontStyle:"italic"},img:{maxWidth:"100%"},".hljs":{background:"#f8f8f8",color:"#444"},".hljs-comment":{color:"#697070"},".hljs-punctuation,.hljs-tag":{color:"#444a"},".hljs-tag .hljs-attr,.hljs-tag .hljs-name":{color:"#444"},".hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag":{fontWeight:700},".hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type":{color:"#800"},".hljs-section,.hljs-title":{color:"#800",fontWeight:700},".hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable":{color:"#ab5656"},".hljs-literal":{color:"#695"},".hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code":{color:"#397300"},".hljs-meta":{color:"#1f7199"},".hljs-meta .hljs-string":{color:"#38a"},".hljs-emphasis":{fontStyle:"italic"},".hljs-strong":{fontWeight:700}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${t.colorBorderSecondary}`,padding:`${t.paddingContentVertical}px ${t.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:o,fontWeight:"bold",color:t.colorText},"tr:hover":{backgroundColor:t.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}},i={"&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:t.colorFillQuaternary,border:`1px solid ${t.colorBorder}`,borderRadius:t.borderRadiusSM},".hljs":{color:"#adbac7",background:"#22272e"},".hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_":{color:"#f47067"},".hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_":{color:"#dcbdfb"},".hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable":{color:"#6cb6ff"},".hljs-meta .hljs-string,.hljs-regexp,.hljs-string":{color:"#96d0ff"},".hljs-built_in,.hljs-symbol":{color:"#f69d50"},".hljs-code,.hljs-comment,.hljs-formula":{color:"#768390"},".hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag":{color:"#8ddb8c"},".hljs-subst":{color:"#adbac7"},".hljs-section":{color:"#316dca",fontWeight:700},".hljs-bullet":{color:"#eac55f"},".hljs-emphasis":{color:"#adbac7",fontStyle:"italic"},".hljs-strong":{color:"#adbac7",fontWeight:700},".hljs-addition":{color:"#b4f1b4",backgroundColor:"#1b4721"},".hljs-deletion":{color:"#ffd8d3",backgroundColor:"#78191b"}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${t.colorBorderSecondary}`,padding:`${t.paddingContentVertical}px ${t.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:o,fontWeight:"bold",color:t.colorText},"tr:hover":{backgroundColor:t.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}};return(0,d.css)({lineHeight:t.lineHeight,"& > *:last-child":{marginBottom:"0"},".ant-description-textarea, .ant-description-input":{lineHeight:t.lineHeight},".field-interface-datetime":{minWidth:"100px"},img:{maxWidth:"100%"},...l?i:n})},m=e=>{let{textOnly:t,overflowMode:l,style:i}=e,s=p(),{html:d=""}=r(e.value),u=a(d),m="ellipsis"===l,h=(0,n.useRef)(null),[f,g]=(0,n.useState)(!1);(0,n.useEffect)(()=>{if(h.current){let e=h.current;g(e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight)}},[d,i,l]);let v={...i||{},...m?{display:"-webkit-box",WebkitLineClamp:1,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-word",cursor:"default"}:{}},y=(0,o.jsx)("div",{ref:h,className:`${s} nb-markdown`,dangerouslySetInnerHTML:{__html:t?u:d},style:v});return m&&f?(0,o.jsx)(c.Tooltip,{title:(0,o.jsx)("div",{dangerouslySetInnerHTML:{__html:d},style:{maxHeight:500,overflowY:"auto",padding:10,color:"#000"}}),overlayInnerStyle:{background:"#fff",color:"#000",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"},color:"#fff",children:y}):y}},248(e,t,l){function o(e,t){function l(e){return e.split(/\s+/g)[0]}__rspack_external_mermaid.default.initialize({securityLevel:"loose",...t});let o=e.renderer.rules.fence;function n(e,t,n,i,r){let a=e[t],s=a.info.trim();if(-1===["mermaid","{mermaid}"].indexOf(s?l(s):""))return void 0!==o?o(e,t,n,i,r):"";let d="",u=[],c=document.createElement("div");document.body.appendChild(c);try{let e="mermaid-container";__rspack_external_mermaid.default.mermaidAPI.render(e,a.content,t=>{let l=document.getElementById(e);null!==l&&u.push(["style",`max-width:${l.style.maxWidth};max-height:${l.style.maxHeight}`]),d=t},c)}catch(e){return`<div class="alert alert-danger">${e}</div>`}finally{c.remove()}return u.push(["src",`data:image/svg+xml,${encodeURIComponent(d)}`]),`<img ${r.renderAttrs({attrs:u})}>`}e.renderer.rules.fence=n}l.d(t,{default:()=>i});let n=new __rspack_external_markdown_it_a5918e6a.default({html:!0,linkify:!0,typographer:!0,breaks:!0});n.use(__rspack_external_markdown_it_highlightjs_3df446b8.default),n.use(o);let i=n},7309(e,t,l){function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Array.isArray(e)?e.map(e=>{if(e&&"object"==typeof e&&!Array.isArray(e)){let t=e,l=void 0!==t.label,o=void 0!==t.value,n=l?t.label:String(t.value??""),i=o?t.value:n,r={label:n,value:i};return t.color&&(r.color=t.color),t.icon&&(r.icon=t.icon),r}return{label:String(e),value:e}}):[]}function n(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;return Array.isArray(e)?e.map(e=>"string"==typeof(null==e?void 0:e.label)?{...e,label:t(e.label)}:e):[]}function i(e,t){if(e&&Array.isArray(e)&&0!==e.length)return n(o(e),t)}function r(e,t){let l=null==t?void 0:t.mode,o="multiple"===l||"tags"===l||(null==t?void 0:t.multiple)===!0;return Array.isArray(e)?e.filter(e=>""!==e&&null!=e):""===e||null==e?o?[]:void 0:e}function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(Array.isArray(e)?e:null==e?[]:[e]).map(e=>{var l;let o=t.find(t=>(null==t?void 0:t.value)===e);return o?{value:e,label:o.label}:{value:e,label:(null==e||null==(l=e.toString)?void 0:l.call(e))??e}})}function s(e,t){var l,n,i,r;if(!["radioGroup","checkboxGroup","select","multipleSelect"].includes(null==t?void 0:t.interface)||Array.isArray(null==(l=e.props)?void 0:l.options)&&(null==(i=e.props)||null==(n=i.options)?void 0:n.length)>0)return!1;let a=null==(r=t.uiSchema)?void 0:r.enum;if(!Array.isArray(a)||0===a.length)return!1;let s=o(a);return!!s.length&&(e.setProps({options:s}),!0)}l.d(t,{NI:()=>s,ZY:()=>n,di:()=>i,xO:()=>r,yg:()=>a})},9133(e,t,l){l.d(t,{E4:()=>i,Gj:()=>d,a_:()=>o,eo:()=>p,w7:()=>r});let o="__custom__";function n(e){return`${o}:${e}`}function i(e){var t;if(!e||"object"!=typeof e)return!1;let l=e;if(!(null==(t=l.isAssociationField)?void 0:t.call(l)))return!1;let o=l.type,n=l.interface;return"belongsToMany"===o||"hasMany"===o||"belongsToArray"===o||"m2m"===n||"o2m"===n||"mbm"===n}function r(e){var t;if(!e||"object"!=typeof e)return;let l=e;return l.collection||(null==(t=l.context)?void 0:t.collection)||void 0}function a(e){return"string"==typeof e?e.trim():""}function s(e){if(!e||"object"!=typeof e)return[];let t=e,l="function"==typeof t.getStepParams?t.getStepParams("fieldSettings","init"):void 0,o=l&&"object"==typeof l?l:void 0,i="function"==typeof t.getStepParams?t.getStepParams("formItemSettings","fieldSettings"):void 0,r=i&&"object"==typeof i?i:void 0,s=(null==o?void 0:o.fieldPath)??t.fieldPath,d=(null==o?void 0:o.associationPathName)??t.associationPathName,u=null==r?void 0:r.name,c=a(s),p=a(d),m=a(u),h=new Set;return c&&h.add(c),p&&(c?c.startsWith(`${p}.`)?h.add(c):h.add(`${p}.${c}`):h.add(p)),m&&h.add(n(m)),Array.from(h)}function d(e){return s(e)[0]}function u(e){if(!e||"object"!=typeof e)return[];let t=e.subModels;if(!t||"object"!=typeof t)return[];let l=t.items;if(Array.isArray(l))return l;let o=t.grid;if(!o||"object"!=typeof o)return[];let n=o.subModels;if(!n||"object"!=typeof n)return[];let i=n.items;return Array.isArray(i)?i:[]}function c(e){if(!e||"object"!=typeof e)return[];let t=e.subModels;return t&&"object"==typeof t?u(t.field):[]}function p(e,t){let l=a(t);if(!l)return null;let o=e=>{if(!Array.isArray(e))return null;for(let t of e){if(s(t).some(e=>e===l))return t;let e=o(c(t));if(e)return e}return null};return o(u(e))}},7720(e,t,l){l.d(t,{_:()=>n});var o=l(6832);function n(e,t,l){let n;if(!l||!Array.isArray(l))return null;let i=l.find(e=>(null==e?void 0:e.value)===t),r=null==i?void 0:i.schema,a=null==r?void 0:r["x-component"];if(!a)return null;if("DateFilterDynamicComponent"===a)n=o.DateFilterDynamicComponent;else{var s;n=null==e||null==(s=e.getComponent)?void 0:s.call(e,a)}return n?{Comp:n,props:(null==r?void 0:r["x-component-props"])||{}}:null}},544(e,t,l){l.d(t,{ON:()=>i,jI:()=>n});let o="__saveStepParamsWithSubModels";function n(e){if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("[saveStepParamsWithSubModels] model is not an object");e[o]=!0}async function i(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("[saveStepParamsWithSubModels] model is not an object");let l=e;if(!0!==l[o])return await t();if("function"!=typeof l.save)throw Error("[saveStepParamsWithSubModels] model.save is not a function");try{return await l.save()}finally{delete l[o]}}},3890(e,t,l){l.d(t,{P:()=>f,z:()=>g});var o=l(1178),n=l(2314),i=l(504),r=l(7583),a=l(1649),s=l(2793),d=l(8563),u=l(2542),c=l(7843),p=l(8804);let m=()=>{let{t:e}=(0,c.useTranslation)(),t=(0,i.useFlowModel)(),l=t.context.blockModel.collection,n=l.dataSource,d=(0,a.useMemo)(()=>{let t=`${e(n.displayName||n.key)} > `,o=l?`${e(l.title)||l.name||l.tableName} `:"";return`${t}${o}`},[]),{actionName:u}=t.forbidden,m=(0,a.useMemo)(()=>e('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:d,actionName:e(r.default.capitalize(u))}).replaceAll("&gt;",">"),[u,d,e]);return(0,o.jsx)(p.t,{children:(0,o.jsx)(s.Result,{status:"403",subTitle:m})})};function h(){let{t:e}=(0,c.useTranslation)(),t=(0,i.useFlowModel)(),l=t.dataSource,n=(0,a.useMemo)(()=>{let o=`${e(l.displayName||l.key)} > `,n=t.resource.resourceName;return`${o}${n}`},[]),r=(0,a.useMemo)(()=>e('The {{type}} "{{name}}" may have been deleted. Please remove this {{blockType}}.',{type:e("Collection"),name:n,blockType:e("Block")}).replaceAll("&gt;",">"),[n,e]);return(0,o.jsx)(p.t,{children:(0,o.jsx)(s.Result,{status:"404",subTitle:r})})}let f={new:"new",one:"one",many:"many",select:"select",filter:"filter",oam:["one","many"],subForm:"subForm",bulkEditForm:"bulkEditForm"};class g extends i.FlowModel{setFilterActive(e,t){this.activeFilterSources.set(e,t)}hasActiveFilters(){let e=this.resource;if(e&&e.filter&&Object.keys(e.filter).length>0)return!0;for(let[,e]of this.activeFilterSources)if(e)return!0;return!1}removeFilterSource(e){this.activeFilterSources.delete(e)}getDataLoadingMode(){var e;let t=this.getStepParams("dataLoadingModeSettings");return(null==t||null==(e=t.dataLoadingMode)?void 0:e.mode)||"auto"}static _getScene(){return r.default.castArray(this.scene||[])}static _isScene(e){return this._getScene().includes(e)}getModelClassName(e){return Object.keys(this.customModelClasses).includes(e)?this.customModelClasses[e]:this._defaultCustomModelClasses[e]||e}renderHiddenInConfig(){return this.forbidden?(0,o.jsx)(m,{}):(0,o.jsx)(s.Tooltip,{title:this.context.t("The block is hidden and only visible when the UI Editor is active"),children:(0,o.jsx)(d.tn,{ref:this.context.ref,...this.decoratorProps,style:{opacity:"0.3"},children:(0,o.jsx)(this.ObservedRenderComponent,{})})})}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineMethod("getModelClassName",e=>this.getModelClassName(e)),this.ObservedRenderComponent=(0,i.observer)(()=>this.renderComponent(),{displayName:"ObservedRenderComponent"})}setDecoratorProps(e){Object.assign(this.decoratorProps,e)}get title(){return this._title||(this._title=this.defaultBlockTitle()),this._title}defaultBlockTitle(){var e;return`${this.translate((null==(e=this.constructor.meta)?void 0:e.label)||this.constructor.name)}`}renderComponent(){throw Error("renderComponent method must be implemented in subclasses of BlockModel")}render(){return this.collectionRequired&&!this.context.collection?(0,o.jsx)(h,{}):(0,o.jsx)(d.tn,{ref:this.context.ref,...this.decoratorProps,children:(0,o.jsx)(this.ObservedRenderComponent,{})})}constructor(...e){super(...e),this.decoratorProps=(0,n.observable)({}),this._defaultCustomModelClasses={},this.customModelClasses={},this.collectionRequired=!1,this.ObservedRenderComponent=null,this.activeFilterSources=new Map}}g.registerFlow({key:"cardSettings",title:(0,i.tExpr)("Card settings"),steps:{titleDescription:{title:(0,i.tExpr)("Title & description"),uiSchema:{title:{"x-component":"Input","x-decorator":"FormItem",title:(0,i.tExpr)("Title")},description:{"x-component":"Input.TextArea","x-decorator":"FormItem",title:(0,i.tExpr)("Description")}},handler(e,t){let l=e.t(t.title,{ns:"lm-flow-engine"}),o=e.t(t.description,{ns:"lm-flow-engine"});e.model.setDecoratorProps({title:l,description:o})}},linkageRules:{use:"blockLinkageRules"},blockHeight:{use:"blockHeight"}}}),g.define({hide:!0,label:(0,i.tExpr)("Other blocks")}),i.FlowModel.registerEvents({beforeRender:{title:(0,i.tExpr)("Before render"),name:"beforeRender",uiSchema:{condition:{type:"object",title:(0,i.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":u.H}},handler:u.b}})},146(e,t,l){l.d(t,{t:()=>s});var o=l(504),n=l(7583),i=l(7123),r=l(8481),a=l(2606);class s extends a.R{onMount(){super.onMount(),this.previousBeforeRenderHash=this.context.location.search}getDirtyTrackingVersion(e,t,l,o){var n;let i=new Set,r=(null==l||null==(n=l.getResourceName)?void 0:n.call(l))||o.associationName||o.collectionName;r&&i.add(String(r)),o.associationName&&i.add(String(o.associationName)),o.collectionName&&i.add(String(o.collectionName));let a=0;for(let l of i)a+=e.getDataSourceDirtyVersion(t,l);return a}onActive(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.hidden&&this.previousBeforeRenderHash!==this.context.location.search&&(this.rerender(),!e)||this.hidden)return;let t=this.context.resource;if(!t)return;let l=this.getResourceSettingsInitParams(),o=t.getDataSourceKey()||l.dataSourceKey||"main",n=this.context.engine,i=this.getDirtyTrackingVersion(n,o,t,l);if(e){if(this.dirtyRefreshing)return;this.dirtyRefreshing=!0,t.refresh().then(()=>{this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(n,o,t,l)}).catch(()=>{}).finally(()=>{this.dirtyRefreshing=!1});return}this.isManualRefresh||null!==this.lastSeenDirtyVersion&&i===this.lastSeenDirtyVersion||this.dirtyRefreshing||(this.dirtyRefreshing=!0,t.refresh().then(()=>{this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(n,o,t,l)}).catch(()=>{}).finally(()=>{this.dirtyRefreshing=!1}))}static filterCollection(e){return!!e.filterTargetKey}static isCollectionAvailable(e){if(!e)return!1;let t=(0,r.b1)(this);return(0,r.F3)(e,t)}static async defineChildren(e){let t=t=>{var l;if(!(null==(l=this.meta)?void 0:l.createModelOptions))return t||{};if("function"==typeof this.meta.createModelOptions){let l=this.meta.createModelOptions(e);return n.default.merge({},l,t)}return n.default.merge({},this.meta.createModelOptions,t)},l=e=>this.name+e,{dataSourceKey:i,collectionName:r,associationName:a,filterByTk:s}=e.view.inputArgs,d=e.dataSourceManager.getDataSources().map(e=>0===e.getCollections().length?null:{key:l(`ds-${e.key}`),label:e.displayName,searchable:!0,searchPlaceholder:(0,o.tExpr)("Search"),children:o=>e.getCollections().map(o=>{if(!this.filterCollection(o)||!this.isCollectionAvailable(o))return null;let n={dataSourceKey:o.dataSourceKey,collectionName:o.name};return{key:l(`ds-${e.key}.${o.name}`),label:o.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)}).filter(Boolean),u=e=>1===d.length?d[0].children(e):d;if(!r)return u(e);if(this._isScene("select")){let o={dataSourceKey:i,collectionName:r};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let n=e.dataSourceManager.getCollection(i,r),s=[];return this.isCollectionAvailable(n)&&s.push({key:l("current-collection"),label:"Current collection",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}),s.push({key:l("others-collections"),label:"Other collections",children:u(e)}),s}if(this._isScene("new")){let o={dataSourceKey:i,collectionName:r};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let n=[],d=e.dataSourceManager.getCollection(i,r);return this.isCollectionAvailable(d)&&n.push({key:l("current-collection"),label:"Current collection",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}),null!=s&&n.push({key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(i,r).getAssociationFields(this._getScene()).map(e=>{if(!e.targetCollection||"belongsToArray"===e.type||!this.filterCollection(e.targetCollection)||!this.isCollectionAvailable(e.targetCollection))return null;let o=`{{ctx.popup.record.${e.sourceKey||e.collection.filterTargetKey}}}`;e.sourceKey===e.collection.filterTargetKey&&(o="{{ctx.view.inputArgs.filterByTk}}");let n={dataSourceKey:i,collectionName:e.target,associationName:e.resourceName,sourceId:o};return{key:l(`associated-${e.name}`),label:e.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)}),n.push({key:l("others-collections"),label:"Other collections",children:u(e)}),n}let c=[{key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(i,r).getAssociationFields(this._getScene()).map(e=>{if(!e.targetCollection||"belongsToArray"===e.type||!this.filterCollection(e.targetCollection)||!this.isCollectionAvailable(e.targetCollection))return null;let o=`{{ctx.popup.record.${e.sourceKey||e.collection.filterTargetKey}}}`;e.sourceKey===e.collection.filterTargetKey&&(o="{{ctx.view.inputArgs.filterByTk}}");let n={dataSourceKey:i,collectionName:e.target,associationName:e.resourceName,sourceId:o};return{key:l(`associated-${e.name}`),label:e.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)},{key:l("others-records"),label:"Other records",children:u(e)}];if(this._isScene("one")){let o=e.dataSourceManager.getCollection(i,r);if(!o||!this.filterCollection(o)||!this.isCollectionAvailable(o))return c;let n={dataSourceKey:i,collectionName:r,filterByTk:"{{ctx.view.inputArgs.filterByTk}}"};a&&(n.associationName=a,n.sourceId="{{ctx.view.inputArgs.sourceId}}"),c.unshift({key:l("current-record"),label:"Current record",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})})}return c}get dataSource(){return this.context.dataSource}get collection(){return this.context.collection}get resource(){return this.context.resource}get association(){return this.context.association}get associationField(){return this.context.association}getAclActionName(){return"view"}async getFilterFields(){return this.collection.getFields().filter(e=>e.filterable)}getResourceSettingsInitParams(){return this.getStepParams("resourceSettings","init")}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineProperty("actionName",{get:()=>this.getAclActionName(),cache:!1}),this.context.defineProperty("resourceName",{get:()=>this.resource.getResourceName(),cache:!1}),this.context.defineProperty("dataSource",{get:()=>{let e=this.getResourceSettingsInitParams();return this.context.dataSourceManager.getDataSource(e.dataSourceKey)}}),this.context.defineProperty("collection",{get:()=>{let e=this.getResourceSettingsInitParams();return this.context.dataSourceManager.getCollection(e.dataSourceKey,e.collectionName)}}),this.context.defineProperty("resource",{get:()=>{let e=this.getResourceSettingsInitParams(),t=this.createResource(this.context,e);t.setDataSourceKey(e.dataSourceKey),t.setResourceName(e.associationName||e.collectionName);let l=()=>{var l;let o=this.context.engine;if(!(null==o?void 0:o.getDataSourceDirtyVersion))return;let n=(null==(l=t.getDataSourceKey)?void 0:l.call(t))||e.dataSourceKey||"main";this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(o,n,t,e)};return l(),t.on("refresh",()=>{l(),this.invalidateFlowCache("beforeRender")}),t}}),this.context.defineProperty("association",{get:()=>{let e=this.getResourceSettingsInitParams();if(e.associationName)return this.dataSource.getAssociation(e.associationName)}})}createResource(e,t){throw Error("createResource method must be implemented in subclasses of CollectionBlockModel")}refresh(){return this.resource?this.resource.refresh():super.refresh()}defaultBlockTitle(){var e,t,l,o,n,r,a;let s=this.translate((null==(e=this.constructor.meta)?void 0:e.label)||this.constructor.name),d=(null==(t=this.dataSource)?void 0:t.displayName)||(null==(l=this.dataSource)?void 0:l.key),u=(null==(r=this.context)||null==(n=r.dataSourceManager)||null==(o=n.getDataSources)?void 0:o.call(n).length)||0,c=null==(a=this.collection)?void 0:a.title;if(this.association){let e=this.resource.getResourceName(),t=this.dataSource.getCollection(e.split(".")[0]);return(0,i.l)({blockLabel:s,dsName:d,dsCount:u,collectionTitle:c,sourceCollectionTitle:t.title,associationTitle:this.association.title})}return(0,i.l)({blockLabel:s,dsName:d,dsCount:u,collectionTitle:c})}addAppends(e){var t,l;let o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e)if(e.includes(".")){let[l,n]=e.split("."),i=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${l}`);if(!i)return;let r=i.target;if(!r)return;let a=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${r}.${n}`);if(a&&a.isAssociationField()){if(this.resource.addAppends(e),(null==(t=a.targetCollection)?void 0:t.template)==="tree"){let t=e.includes(".")?e.slice(e.lastIndexOf(".")+1):e;a.name===t&&this.resource.addAppends(`${e}.parent(recursively=true)`)}o&&this.resource.refresh()}}else{if(!this.collection)return;let t=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${e}`);if(!t)return;t.isAssociationField()&&(this.resource.addAppends(t.name),(null==(l=t.targetCollection)?void 0:l.template)==="tree"&&this.resource.addAppends(`${t.name}.parent(recursively=true)`),o&&this.resource.refresh())}}constructor(...e){super(...e),this.isManualRefresh=!1,this.collectionRequired=!0,this.lastSeenDirtyVersion=null,this.dirtyRefreshing=!1}}s.registerFlow({key:"resourceSettings",sort:-999,steps:{collectionCheck:{handler(e){e.collection||e.exitAll()}},aclCheck:{use:"aclCheck"},init:{handler(e,t){if(!t.dataSourceKey)throw Error("dataSourceKey is required");if(!t.collectionName)throw Error("collectionName is required");Object.keys(t).includes("sourceId")&&e.resource.setSourceId(t.sourceId),Object.keys(t).includes("filterByTk")&&e.resource.setFilterByTk(t.filterByTk)}}}}),s.registerFlow({key:"refreshSettings",sort:1e4,steps:{refresh:{async handler(e){let t=e.model,l=e.model.context.filterManager,n=(null==l?void 0:l.prepareFiltersForTarget)?await l.prepareFiltersForTarget(e.model.uid):void 0;l&&l.bindToTarget(e.model.uid);let i=t.getDataLoadingMode(),r=t.resource;if(r instanceof o.MultiRecordResource&&"manual"===i&&!t.hasActiveFilters()){r.setData([]),r.setMeta({count:0,hasNext:!1,page:1}),r.loading=!1;return}null==n||n.forEach(t=>{var l;null==t||null==(l=t.markInitialTargetRefreshHandled)||l.call(t,e.model.uid)}),e.model.isManualRefresh?e.model.resource.loading=!1:await e.model.resource.refresh()}}}}),s.registerFlow({key:"dataLoadingModeSettings",sort:800,title:(0,o.tExpr)("Set data loading mode"),steps:{dataLoadingMode:{use:"dataLoadingMode"}}}),s.define({hide:!0})},2606(e,t,l){l.d(t,{R:()=>i});var o=l(504),n=l(3890);class i extends n.z{}i.define({hide:!0,label:(0,o.tExpr)("Data blocks"),async children(e){let t=await (0,o.buildSubModelItems)(i)(e),{collectionName:l,filterByTk:n,scene:r}=e.view.inputArgs;return t.filter(t=>{var o,i,a,s,d,u,c;let p=e.engine.getModelClass(t.useModel);return"select"===r?null==(s=p._isScene)?void 0:s.call(p,"select"):"subForm"===r?null==(d=p._isScene)?void 0:d.call(p,"subForm"):"bulkEditForm"===r?null==(u=p._isScene)?void 0:u.call(p,"bulkEditForm"):"new"===r||l&&!n?null==(c=p._isScene)?void 0:c.call(p,"new"):!p._isScene||!(null==(o=p._isScene)?void 0:o.call(p,"select"))&&!(null==(i=p._isScene)?void 0:i.call(p,"subForm"))&&!(null==(a=p._isScene)?void 0:a.call(p,"bulkEditForm"))})}})},6859(e,t,l){l.d(t,{o:()=>n});var o=l(504);class n extends o.FlowModel{static resolveUse(e,t,l){var o,n;let i=null==e||null==(n=e.stepParams)||null==(o=n.fieldBinding)?void 0:o.use;return i&&i!==(null==e?void 0:e.use)?i:null==e?void 0:e.use}}},1442(e,t,l){l.d(t,{j:()=>n});var o=l(504);class n extends o.FlowModel{}n.registerFlow({key:"popupSettings",on:"click",steps:{openView:{use:"openView",defaultParams:e=>({mode:"embed",preventClose:!0,pageModelClass:"RootPageModel"})}}})},6832(e,t,l){l.r(t),l.d(t,{DateFilterDynamicComponent:()=>_});var o=l(1178),n=l(1649),i=l(2793),r=l(691),a=l(504),s=l(6305),d=l(3526),u=l(7583);let c=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,p=(e,t)=>{if(!e)return null;if(d.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,d.dayjs)(e).format(t),o=(0,d.dayjs)(l,t);return o.isValid()?o:(0,d.dayjs)(e)}let l=(0,d.dayjs)(e,t);if(l.isValid())return l;let o=(0,d.dayjs)(e);return o.isValid()?o:null},m=e=>{let{value:t,picker:l="date",format:r,showTime:m,timeFormat:h}=e,f=(0,a.useFlowEngine)(),g=f.translate.bind(f),v=(0,s.fD)(),y=[{label:g("Today"),value:v.today},{label:g("Last week"),value:v.lastWeek},{label:g("This week"),value:v.thisWeek},{label:g("Next week"),value:v.nextWeek},{label:g("Last month"),value:v.lastMonth},{label:g("This month"),value:v.thisMonth},{label:g("Next month"),value:v.nextMonth},{label:g("Last quarter"),value:v.lastQuarter},{label:g("This quarter"),value:v.thisQuarter},{label:g("Next quarter"),value:v.nextQuarter},{label:g("Last year"),value:v.lastYear},{label:g("This year"),value:v.thisYear},{label:g("Next year"),value:v.nextYear},{label:g("Last 7 days"),value:v.last7Days},{label:g("Next 7 days"),value:v.next7Days},{label:g("Last 30 days"),value:v.last30Days},{label:g("Next 30 days"),value:v.next30Days},{label:g("Last 90 days"),value:v.last90Days},{label:g("Next 90 days"),value:v.next90Days}],_=t?(0,s.Pn)(null==t?void 0:t[0],l):l,b=_===l&&r?r:(0,d.getPickerFormat)(_),x="date"===_?c(b):b,M=(0,d.getDateTimeFormat)(_,x,m,h),w={utc:!0,presets:y,...e,format:M,picker:_,showTime:!!m&&{defaultValue:[(0,d.dayjs)("00:00:00","HH:mm:ss"),(0,d.dayjs)("23:59:59","HH:mm:ss")]}},S=(0,n.useMemo)(()=>u.default.castArray(e.value).map(e=>p(e,M)),[e.value,M]);return(0,o.jsx)(i.DatePicker.RangePicker,{...w,style:{flex:1,...null==w?void 0:w.style},value:S})},h=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,f=(e,t)=>{if(!e)return null;if(d.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,d.dayjs)(e).format(t),o=(0,d.dayjs)(l,t);return o.isValid()?o:(0,d.dayjs)(e)}let l=(0,d.dayjs)(e,t);if(l.isValid())return l;let o=(0,d.dayjs)(e);return o.isValid()?o:null},g=e=>{let{picker:t="date",format:l,showTime:r,timeFormat:u,onChange:c}=e,p=(0,a.useFlowContext)(),m=Array.isArray(e.value)?e.value[0]:e.value,g=m?(0,s.Pn)(m,t):t,[v,y]=(0,n.useState)(g),_=p.model.translate.bind(p.model),b=e=>{let o=e===t&&l?l:(0,d.getPickerFormat)(e),n="date"===e?h(o):o;return(0,d.getDateTimeFormat)(e,n,r,u)},x=(0,n.useMemo)(()=>b(v),[l,t,r,v,u]),M=(0,n.useMemo)(()=>f(m,x),[m,x]),w={utc:!0,inputReadOnly:p.isMobileLayout,...e,underFilter:!0,showTime:!!r&&{defaultValue:(0,d.dayjs)("00:00:00","HH:mm:ss")},format:x,picker:v};return(0,o.jsxs)(i.Space.Compact,{style:{width:"100%"},children:[(0,o.jsx)(i.Select,{style:{width:"100px"},popupMatchSelectWidth:!1,value:v,options:[{label:_("Date"),value:"date"},{label:_("Month"),value:"month"},{label:_("Quarter"),value:"quarter"},{label:_("Year"),value:"year"}],onChange:e=>{let t=b(e),l=x;if(y(e),!m||!c)return;let o=f(m,l);o&&o.isValid()&&c(o,o.format(t))}}),(0,o.jsx)(i.DatePicker,{...w,style:{flex:1,...null==w?void 0:w.style},value:M})]})},v=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=[{value:"exact",label:e("Exact day")},{value:"past",label:e("Past")},{value:"next",label:e("Next")},{value:"today",label:e("Today")},{value:"yesterday",label:e("Yesterday")},{value:"tomorrow",label:e("Tomorrow")},{value:"thisWeek",label:e("This Week")},{value:"lastWeek",label:e("Last Week")},{value:"nextWeek",label:e("Next Week")},{value:"thisMonth",label:e("This Month")},{value:"lastMonth",label:e("Last Month")},{value:"nextMonth",label:e("Next Month")},{value:"thisQuarter",label:e("This Quarter")},{value:"lastQuarter",label:e("Last Quarter")},{value:"nextQuarter",label:e("Next Quarter")},{value:"thisYear",label:e("This Year")},{value:"lastYear",label:e("Last Year")},{value:"nextYear",label:e("Next Year")}];return t&&l.splice(3,0,{value:"now",label:e("Now")}),l},y=e=>{let{isRange:t,defaultValue:l,onChange:i,...r}=e,a=(0,n.useCallback)((e,t)=>i(t),[i]);return t?(0,o.jsx)(m,{...r,onChange:a}):(0,o.jsx)(g,{...r,onChange:a})},_=e=>{let{value:t,onChange:l,includeNow:s=!1,...d}=e,u=(0,a.useFlowEngine)(),c=u.translate.bind(u),{token:p}=i.theme.useToken(),[m,h]=(0,n.useState)(!1),f=(0,n.useMemo)(()=>v(c,s),[c,s]),g=e=>{if(h(!1),"exact"===e)return l(void 0);let t={type:e};["past","next"].includes(e)&&(t.number=1,t.unit="day"),l(t)},_=()=>{let e=f.slice(0,3),t=f.slice(3),l=(0,r.css)`
780
780
  padding: 3px 10px;
781
781
  cursor: pointer;
782
782
  white-space: nowrap;