@nocobase/app 2.2.7 → 2.2.9
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/dist/client/assets/{index-c6ae6df6.js → index-41a6b6c0.js} +14 -14
- package/dist/client/index.html +1 -1
- package/dist/client/index.html.tpl +1 -1
- package/dist/client/v/assets/{index-47080cb1.js → index-9b5884e9.js} +13 -13
- package/dist/client/v/index.html +1 -1
- package/package.json +7 -7
- /package/dist/client/assets/{index-c6ae6df6.js.LICENSE.txt → index-41a6b6c0.js.LICENSE.txt} +0 -0
- /package/dist/client/v/assets/{index-47080cb1.js.LICENSE.txt → index-9b5884e9.js.LICENSE.txt} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! For license information please see index-
|
|
1
|
+
/*! For license information please see index-9b5884e9.js.LICENSE.txt */
|
|
2
2
|
export const __rspack_esm_id="8410";export const __rspack_esm_ids=["8410"];export const __webpack_modules__={65359(e,t,l){var r={"./en-nz":["35571","4096"],"./bi.js":["95944","5905"],"./id.js":["87420","557"],"./km":["36101","7318"],"./he.js":["92010","1463"],"./me":["80623","3028"],"./tk":["62544","9065"],"./ko.js":["88003","4784"],"./tet.js":["18928","1481"],"./es-do":["61219","448"],"./ku":["16605","9518"],"./hr":["15811","9248"],"./zh-tw.js":["31349","3526"],"./hy-am":["94309","1846"],"./am.js":["4736","192"],"./en-in":["60912","3977"],"./de-at":["32878","3283"],"./pt-br":["92218","1863"],"./ar-iq.js":["13309","3102"],"./en-sg":["12673","1434"],"./zh":["56007","828"],"./en-il.js":["97690","8087"],"./lo":["73860","7141"],"./tlh":["60321","3978"],"./mi.js":["32739","4672"],"./el":["54072","9217"],"./ur.js":["51750","5819"],"./sq":["95977","4930"],"./pa-in.js":["39252","8053"],"./ar-kw.js":["79865","242"],"./fr-ca.js":["86290","4223"],"./de-ch.js":["13672","1329"],"./ru":["62796","6093"],"./eo.js":["33713","7386"],"./nb":["7205","630"],"./br":["72745","1586"],"./fo":["17674","791"],"./zh.js":["56007","828"],"./vi":["96098","8269"],"./fr-ch.js":["73433","5122"],"./ms-my":["26400","8473"],"./es-pr":["3532","9021"],"./bo.js":["59294","5123"],"./ht.js":["8809","4594"],"./lo.js":["73860","7141"],"./my.js":["46803","8480"],"./et":["4288","5881"],"./br.js":["72745","1586"],"./gu":["57409","474"],"./it-ch":["19286","1179"],"./sv-fi":["9160","9953"],"./ne.js":["40880","553"],"./zh-cn.js":["16033"],"./gom-latn.js":["78660","7669"],"./bg.js":["39990","1979"],"./mr.js":["46462","5459"],"./cv.js":["4780","5933"],"./lt.js":["34485","406"],"./pt":["72369","9578"],"./th.js":["47081","2258"],"./cs.js":["9751","4076"],"./es.js":["47317","70"],"./bn.js":["92509","2110"],"./ar-tn":["54405","6870"],"./mi":["32739","4672"],"./sr.js":["45616","3641"],"./tr":["4895","5108"],"./bn-bd":["64608","6345"],"./fa.js":["90292","7413"],"./it":["33900","1469"],"./nl":["69423","8676"],"./zh-hk":["87741","2622"],"./fo.js":["17674","791"],"./bs.js":["25530","8295"],"./ja.js":["50952","4801"],"./my":["46803","8480"],"./es-do.js":["61219","448"],"./gl":["33562","7095"],"./nl-be.js":["60465","6346"],"./en-ca.js":["21995","4456"],"./tzm-latn.js":["58804","2613"],"./types.d.ts":["69224","929"],"./ru.js":["62796","6093"],"./sq.js":["95977","4930"],"./cv":["4780","5933"],"./km.js":["36101","7318"],"./fa":["90292","7413"],"./cs":["9751","4076"],"./ms":["79677","2446"],"./types.d":["69224","929"],"./ca":["25993","9170"],"./tr.js":["4895","5108"],"./x-pseudo":["5760","8217"],"./tzm-latn":["58804","2613"],"./kn":["6364","93"],"./jv":["77741","4686"],"./ms-my.js":["26400","8473"],"./ht":["8809","4594"],"./be":["51532","8349"],"./gd":["68418","3039"],"./en-au":["59881","5861"],"./ka":["46481","9274"],"./ka.js":["46481","9274"],"./ur":["51750","5819"],"./sv.js":["21340","3309"],"./zh-cn":["16033"],"./pl.js":["63225","6914"],"./hi":["52830","3859"],"./ug-cn":["79911","3260"],"./ar-kw":["79865","242"],"./dv.js":["82187","5640"],"./id":["87420","557"],"./dv":["82187","5640"],"./vi.js":["96098","8269"],"./de-ch":["13672","1329"],"./en-in.js":["60912","3977"],"./es-pr.js":["3532","9021"],"./es-us.js":["32498","335"],"./ar-iq":["13309","3102"],"./fi.js":["89964","9565"],"./ca.js":["25993","9170"],"./ms.js":["79677","2446"],"./zh-tw":["31349","3526"],"./bs":["25530","8295"],"./rw.js":["35414","9592"],"./fy":["59836","2301"],"./uz-latn":["80950","8635"],"./mt.js":["99464","6241"],"./fr.js":["813","6062"],"./hu":["38298","183"],"./lv.js":["76467","8624"],"./sr-cyrl.js":["27439","3396"],"./tzl":["3187","896"],"./mn":["12698","8631"],"./pa-in":["39252","8053"],"./nl-be":["60465","6346"],"./kk":["11335","300"],"./en-tt":["2619","7608"],"./ar-ly.js":["85592","2913"],"./hr.js":["15811","9248"],"./kk.js":["11335","300"],"./ar":["2338","5791"],"./ar-dz.js":["48361","2322"],"./ar-sa":["40539","1848"],"./nl.js":["69423","8676"],"./cy":["95681","5757"],"./en-ie":["17329","58"],"./lb.js":["88615","8252"],"./ar-ly":["85592","2913"],"./de.js":["50494","7507"],"./am":["4736","192"],"./lv":["76467","8624"],"./tg":["15012","2565"],"./de-at.js":["32878","3283"],"./sl":["39998","4195"],"./tg.js":["15012","2565"],"./ky.js":["34457","3458"],"./kn.js":["6364","93"],"./bo":["59294","5123"],"./da":["42706","4767"],"./ss.js":["52487","492"],"./uz":["54734","7555"],"./fr-ch":["73433","5122"],"./sk":["46847","6660"],"./hu.js":["38298","183"],"./sr":["45616","3641"],"./he":["92010","1463"],"./uk.js":["34173","2270"],"./es-mx":["64719","9204"],"./se.js":["55285","8294"],"./oc-lnc":["70225","5642"],"./pt-br.js":["92218","1863"],"./rw":["35414","9592"],"./ar-sa.js":["40539","1848"],"./nb.js":["7205","630"],"./fr-ca":["86290","4223"],"./hi.js":["52830","3859"],"./gl.js":["33562","7095"],"./en-ie.js":["17329","58"],"./me.js":["80623","3028"],"./fy.js":["59836","2301"],"./ar.js":["2338","5791"],"./az":["51130","9847"],"./lt":["34485","406"],"./en":["65826","5087"],"./ro.js":["24334","5139"],"./sw":["2979","9584"],"./te.js":["87406","4419"],"./tl-ph.js":["78142","1667"],"./es-mx.js":["64719","9204"],"./ky":["34457","3458"],"./it.js":["33900","1469"],"./zh-hk.js":["87741","2622"],"./da.js":["42706","4767"],"./te":["87406","4419"],"./mt":["99464","6241"],"./lb":["88615","8252"],"./uz-latn.js":["80950","8635"],"./ml.js":["75376","8729"],"./en-sg.js":["12673","1434"],"./uz.js":["54734","7555"],"./tzm.js":["95084","1101"],"./tet":["18928","1481"],"./oc-lnc.js":["70225","5642"],"./az.js":["51130","9847"],"./en-au.js":["59881","5861"],"./fr":["813","6062"],"./gd.js":["68418","3039"],"./yo.js":["87933","5870"],"./nn":["23473","5674"],"./bm":["71092","5701"],"./index.d.ts":["41213","9550"],"./sw.js":["2979","9584"],"./af":["65662","3523"],"./en-il":["97690","8087"],"./eu":["94007","1052"],"./et.js":["4288","5881"],"./rn":["34509","2606"],"./se":["55285","8294"],"./sv-fi.js":["9160","9953"],"./gu.js":["57409","474"],"./gom-latn":["78660","7669"],"./pl":["63225","6914"],"./ar-dz":["48361","2322"],"./ar-ma":["81289","1986"],"./eu.js":["94007","1052"],"./ss":["52487","492"],"./tk.js":["62544","9065"],"./es-us":["32498","335"],"./bi":["95944","5905"],"./ug-cn.js":["79911","3260"],"./mn.js":["12698","8631"],"./pt.js":["72369","9578"],"./cy.js":["95681","5757"],"./mr":["46462","5459"],"./ga.js":["54061","3646"],"./ko":["88003","4784"],"./ku.js":["16605","9518"],"./af.js":["65662","3523"],"./hy-am.js":["94309","1846"],"./es":["47317","70"],"./ml":["75376","8729"],"./en-ca":["21995","4456"],"./bn":["92509","2110"],"./ga":["54061","3646"],"./is.js":["15513","5506"],"./sd.js":["63222","1675"],"./sl.js":["39998","4195"],"./tlh.js":["60321","3978"],"./tl-ph":["78142","1667"],"./uk":["34173","2270"],"./x-pseudo.js":["5760","8217"],"./is":["15513","5506"],"./jv.js":["77741","4686"],"./el.js":["54072","9217"],"./fi":["89964","9565"],"./bn-bd.js":["64608","6345"],"./en-gb":["72026","8759"],"./en-gb.js":["72026","8759"],"./mk":["75877","4358"],"./ne":["40880","553"],"./ro":["24334","5139"],"./mk.js":["75877","4358"],"./si":["65665","3898"],"./tzm":["95084","1101"],"./be.js":["51532","8349"],"./de":["50494","7507"],"./rn.js":["34509","2606"],"./si.js":["65665","3898"],"./yo":["87933","5870"],"./bg":["39990","1979"],"./en.js":["65826","5087"],"./sv":["21340","3309"],"./th":["47081","2258"],"./bm.js":["71092","5701"],"./nn.js":["23473","5674"],"./ar-ma.js":["81289","1986"],"./index.d":["41213","9550"],"./ja":["50952","4801"],"./ta.js":["77250","1887"],"./ar-tn.js":["54405","6870"],"./sd":["63222","1675"],"./sk.js":["46847","6660"],"./tzl.js":["3187","896"],"./en-nz.js":["35571","4096"],"./eo":["33713","7386"],"./ta":["77250","1887"],"./en-tt.js":["2619","7608"],"./it-ch.js":["19286","1179"],"./sr-cyrl":["27439","3396"]};function n(e){if(!l.o(r,e))return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=r[e],n=t[0];return Promise.all(t.slice(1).map(l.e)).then(function(){return l.t(n,23)})}n.keys=()=>Object.keys(r),n.id=65359,e.exports=n},35358(e,t,l){var r={"./af":"25177","./af.js":"25177","./ar":"61509","./ar-dz":"41488","./ar-dz.js":"41488","./ar-kw":"58676","./ar-kw.js":"58676","./ar-ly":"42353","./ar-ly.js":"42353","./ar-ma":"24496","./ar-ma.js":"24496","./ar-sa":"82682","./ar-sa.js":"82682","./ar-tn":"89756","./ar-tn.js":"89756","./ar.js":"61509","./az":"95533","./az.js":"95533","./be":"28959","./be.js":"28959","./bg":"47777","./bg.js":"47777","./bm":"54903","./bm.js":"54903","./bn":"61290","./bn-bd":"17357","./bn-bd.js":"17357","./bn.js":"61290","./bo":"31545","./bo.js":"31545","./br":"11470","./br.js":"11470","./bs":"44429","./bs.js":"44429","./ca":"7306","./ca.js":"7306","./cs":"56464","./cs.js":"56464","./cv":"73635","./cv.js":"73635","./cy":"64226","./cy.js":"64226","./da":"93601","./da.js":"93601","./de":"77853","./de-at":"26111","./de-at.js":"26111","./de-ch":"54697","./de-ch.js":"54697","./de.js":"77853","./dv":"60708","./dv.js":"60708","./el":"54691","./el.js":"54691","./en-au":"53872","./en-au.js":"53872","./en-ca":"28298","./en-ca.js":"28298","./en-gb":"56195","./en-gb.js":"56195","./en-ie":"66584","./en-ie.js":"66584","./en-il":"65543","./en-il.js":"65543","./en-in":"9033","./en-in.js":"9033","./en-nz":"79402","./en-nz.js":"79402","./en-sg":"43004","./en-sg.js":"43004","./eo":"32934","./eo.js":"32934","./es":"97650","./es-do":"20838","./es-do.js":"20838","./es-mx":"17730","./es-mx.js":"17730","./es-us":"56575","./es-us.js":"56575","./es.js":"97650","./et":"3035","./et.js":"3035","./eu":"3508","./eu.js":"3508","./fa":"119","./fa.js":"119","./fi":"90527","./fi.js":"90527","./fil":"95995","./fil.js":"95995","./fo":"52477","./fo.js":"52477","./fr":"85498","./fr-ca":"26435","./fr-ca.js":"26435","./fr-ch":"37892","./fr-ch.js":"37892","./fr.js":"85498","./fy":"37071","./fy.js":"37071","./ga":"41734","./ga.js":"41734","./gd":"70217","./gd.js":"70217","./gl":"77329","./gl.js":"77329","./gom-deva":"32124","./gom-deva.js":"32124","./gom-latn":"93383","./gom-latn.js":"93383","./gu":"95050","./gu.js":"95050","./he":"11713","./he.js":"11713","./hi":"43861","./hi.js":"43861","./hr":"26308","./hr.js":"26308","./hu":"90609","./hu.js":"90609","./hy-am":"17160","./hy-am.js":"17160","./id":"74063","./id.js":"74063","./is":"89374","./is.js":"89374","./it":"88383","./it-ch":"21827","./it-ch.js":"21827","./it.js":"88383","./ja":"23827","./ja.js":"23827","./jv":"89722","./jv.js":"89722","./ka":"41794","./ka.js":"41794","./kk":"27088","./kk.js":"27088","./km":"96870","./km.js":"96870","./kn":"84451","./kn.js":"84451","./ko":"63164","./ko.js":"63164","./ku":"98174","./ku.js":"98174","./ky":"78474","./ky.js":"78474","./lb":"79680","./lb.js":"79680","./lo":"15867","./lo.js":"15867","./lt":"45766","./lt.js":"45766","./lv":"69532","./lv.js":"69532","./me":"58076","./me.js":"58076","./mi":"41848","./mi.js":"41848","./mk":"30306","./mk.js":"30306","./ml":"73739","./ml.js":"73739","./mn":"99053","./mn.js":"99053","./mr":"86169","./mr.js":"86169","./ms":"73386","./ms-my":"92297","./ms-my.js":"92297","./ms.js":"73386","./mt":"77075","./mt.js":"77075","./my":"72264","./my.js":"72264","./nb":"22274","./nb.js":"22274","./ne":"8235","./ne.js":"8235","./nl":"92572","./nl-be":"43784","./nl-be.js":"43784","./nl.js":"92572","./nn":"54566","./nn.js":"54566","./oc-lnc":"69330","./oc-lnc.js":"69330","./pa-in":"29849","./pa-in.js":"29849","./pl":"94418","./pl.js":"94418","./pt":"79834","./pt-br":"48303","./pt-br.js":"48303","./pt.js":"79834","./ro":"24457","./ro.js":"24457","./ru":"82271","./ru.js":"82271","./sd":"1221","./sd.js":"1221","./se":"33478","./se.js":"33478","./si":"17538","./si.js":"17538","./sk":"5784","./sk.js":"5784","./sl":"46637","./sl.js":"46637","./sq":"86794","./sq.js":"86794","./sr":"45719","./sr-cyrl":"3322","./sr-cyrl.js":"3322","./sr.js":"45719","./ss":"56000","./ss.js":"56000","./sv":"41011","./sv.js":"41011","./sw":"40748","./sw.js":"40748","./ta":"11025","./ta.js":"11025","./te":"11885","./te.js":"11885","./tet":"28861","./tet.js":"28861","./tg":"86571","./tg.js":"86571","./th":"55802","./th.js":"55802","./tk":"59527","./tk.js":"59527","./tl-ph":"29231","./tl-ph.js":"29231","./tlh":"31052","./tlh.js":"31052","./tr":"85096","./tr.js":"85096","./tzl":"79846","./tzl.js":"79846","./tzm":"81765","./tzm-latn":"97711","./tzm-latn.js":"97711","./tzm.js":"81765","./ug-cn":"48414","./ug-cn.js":"48414","./uk":"16618","./uk.js":"16618","./ur":"57777","./ur.js":"57777","./uz":"57609","./uz-latn":"72475","./uz-latn.js":"72475","./uz.js":"57609","./vi":"21135","./vi.js":"21135","./x-pseudo":"64051","./x-pseudo.js":"64051","./yo":"82218","./yo.js":"82218","./zh-cn":"52648","./zh-cn.js":"52648","./zh-hk":"1632","./zh-hk.js":"1632","./zh-mo":"31541","./zh-mo.js":"31541","./zh-tw":"50304","./zh-tw.js":"50304"};function n(e){return l(i(e))}function i(e){if(!l.o(r,e)){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}n.keys=function(){return Object.keys(r)},n.resolve=i,e.exports=n,n.id=35358},2109(e,t,l){let r,n,i;var o,a,s,d,u,c,p,h,f,m={};l.r(m),l.d(m,{default:()=>ox,evaluators:()=>oy,getOptions:()=>ob});var g={};l.r(g),l.d(g,{array:()=>oz,bigField:()=>oZ,boolean:()=>oJ,collection:()=>oQ,datetime:()=>oU,enumType:()=>oY,id:()=>oH,number:()=>oW,object:()=>oK,string:()=>oV,tableoid:()=>oX,time:()=>oG});var v={};l.r(v),l.d(v,{connectFields:()=>fC,customizeFilterRender:()=>fO,defaultOperator:()=>fI,operatorComponentProps:()=>fB});var y={};l.r(y),l.d(y,{ASSIGN_FIELD_VALUES_STEP_KEY:()=>uX.zL,ActionGroupModel:()=>dc,ActionModel:()=>df.S0,ActionSceneEnum:()=>df.s5,ActionWithoutPermission:()=>df._T,AddChildActionModel:()=>cv,AddNewActionModel:()=>uC,AssignFormGridModel:()=>cA,AssignFormItemModel:()=>cH,AssignFormModel:()=>cx,AssociateActionModel:()=>uO,AssociationFieldGroupModel:()=>dm,AssociationFieldModel:()=>pe,BasePageTabModel:()=>ub,BlockGridModel:()=>d4,BlockModel:()=>d6.z,BlockSceneEnum:()=>d6.P,BulkDeleteActionModel:()=>u$,CascadeSelectFieldModel:()=>v0,CascadeSelectInnerFieldModel:()=>vQ,CascadeSelectListFieldModel:()=>v1,CheckboxFieldModel:()=>yb,CheckboxGroupFieldModel:()=>yx,ChildPageModel:()=>ud,ChildPageTabModel:()=>uw,ClickableFieldModel:()=>vO,CollectionActionGroupModel:()=>dp,CollectionActionModel:()=>d3.U,CollectionBlockModel:()=>d5.t,CollectionSelectorFieldModel:()=>yA,ColorFieldModel:()=>yk,CommonItemModel:()=>d8,CreateContent:()=>pC,CreateFormModel:()=>fq,CustomWidth:()=>mB,DataBlockModel:()=>d9.R,DateOnlyFieldModel:()=>y$,DateOnlyFilterFieldModel:()=>pV,DateOnlyPicker:()=>yO,DateTimeFilterFieldModel:()=>pL,DateTimeNoTzFieldModel:()=>yL,DateTimeNoTzFilterFieldModel:()=>pK,DateTimeNoTzPicker:()=>yB,DateTimeTzFieldModel:()=>yK,DateTimeTzFilterFieldModel:()=>pW,DateTimeTzPicker:()=>yz,DeleteActionModel:()=>uB,DetailsAssociationFieldGroupModel:()=>cY,DetailsBlockModel:()=>cQ,DetailsCustomItemModel:()=>c1,DetailsGridModel:()=>c2,DetailsItemModel:()=>cT,DetailsJSFieldItemModel:()=>c8,DetailsPagination:()=>cZ,DisassociateActionModel:()=>uL,DisplayCheckboxFieldModel:()=>xD,DisplayColorFieldModel:()=>xn,DisplayDateTimeFieldModel:()=>xa,DisplayEnumFieldModel:()=>xc,DisplayHtmlFieldModel:()=>xh,DisplayIconFieldModel:()=>xf,DisplayJSONFieldModel:()=>xv,DisplayNumberFieldModel:()=>xC,DisplayPasswordFieldModel:()=>xj,DisplayPercentFieldModel:()=>xE,DisplaySubItemFieldModel:()=>b7,DisplaySubListFieldModel:()=>xr,DisplaySubTableFieldModel:()=>b9,DisplayTextFieldModel:()=>xR,DisplayTimeFieldModel:()=>xI,DisplayTitleFieldModel:()=>b4,DisplayURLFieldModel:()=>xT,DividerItemModel:()=>bG,EditActionModel:()=>uq,EditFormContent:()=>yl,EditFormModel:()=>cI.EditFormModel,ExpandCollapseActionModel:()=>cf,FieldDeletePlaceholder:()=>mD,FieldModel:()=>st.o,FieldModelSelect:()=>p3,FieldOperatorSelect:()=>hh,FieldWithoutPermissionPlaceholder:()=>mN,FilterActionModel:()=>uK,FilterBlockModel:()=>d7,FilterFormActionGroupModel:()=>hj,FilterFormActionModel:()=>hP,FilterFormBlockModel:()=>h0,FilterFormCollapseActionModel:()=>h3,FilterFormCustomFieldModel:()=>hb,FilterFormCustomItemModel:()=>hf,FilterFormCustomRecordSelectFieldModel:()=>hC,FilterFormFieldModel:()=>c9,FilterFormGridModel:()=>fg,FilterFormItemModel:()=>fm,FilterFormJSActionModel:()=>fv,FilterFormRecordSelectFieldModel:()=>p$,FilterFormResetActionModel:()=>fy,FilterFormSubmitActionModel:()=>fA,FilterManager:()=>d_,FormActionGroupModel:()=>u1,FormActionModel:()=>uZ,FormAssociationFieldGroupModel:()=>f6,FormAssociationItemModel:()=>me,FormBlockContent:()=>cb.JU,FormBlockModel:()=>cb.F4,FormComponent:()=>cb.s2,FormCustomItemModel:()=>fV,FormGridModel:()=>cw,FormItemModel:()=>cB,FormJSFieldItemModel:()=>fz,FormModel:()=>cb.mO,FormSubmitActionModel:()=>u0,GRID_FLOW_KEY:()=>dW,GRID_STEP:()=>dH,GridModel:()=>dX,IconFieldModel:()=>yG,InputFieldModel:()=>yJ.m,InputNumberField:()=>y9,JSActionModel:()=>uG,JSBlockModel:()=>mc,JSCollectionActionModel:()=>uJ,JSColumnModel:()=>gS,JSEditableFieldModel:()=>bU,JSFieldModel:()=>bI,JSFormActionModel:()=>fK,JSItemActionModel:()=>u5,JSItemModel:()=>b1,JSRecordActionModel:()=>u8,JsonFieldModel:()=>r,JsonInput:()=>y6,LinkActionModel:()=>ch,MainPageModel:()=>up,MarkdownItemModel:()=>b0,NBColorPicker:()=>yF,NumberFieldModel:()=>y7,ObjectNester:()=>vx,PageModel:()=>ua,PageTabModel:()=>uS,PasswordFieldModel:()=>be,PercentFieldModel:()=>bn,PercentInput:()=>br,PluginSettingsTopbarActionModel:()=>nu,PopupActionModel:()=>uF,PopupCollectionActionModel:()=>u9,PopupSubTableActionGroupModel:()=>yp,PopupSubTableActionsColumnModel:()=>ym,PopupSubTableEditActionModel:()=>yn,PopupSubTableFieldModel:()=>yu,PopupSubTableFormActionGroupModel:()=>u6,PopupSubTableFormModel:()=>yg,PopupSubTableFormSubmitActionModel:()=>u4,PopupSubTableRemoveActionModel:()=>yc,QUICK_EDIT_FORM_MAX_HEIGHT:()=>fW,QUICK_EDIT_MARKDOWN_HEIGHT:()=>fH,QUICK_EDIT_POPOVER_MAX_HEIGHT:()=>fU,QuickEditFormModel:()=>f4,RadioGroupFieldModel:()=>bi,RecordActionGroupModel:()=>dh,RecordActionModel:()=>uk.L,RecordPickerContent:()=>gG,RecordPickerFieldModel:()=>gX,RecordSelectFieldModel:()=>pT,RefreshActionModel:()=>u7,RichTextField:()=>bf,RichTextFieldModel:()=>n,RootPageModel:()=>uA,RootPageTabModel:()=>ux,RouteModel:()=>eb,SelectFieldModel:()=>bS,SourceCascader:()=>hg,SubFormFieldModel:()=>vw,SubFormListFieldModel:()=>vA,SubPageModel:()=>uM,SubTableColumnModel:()=>vs,SubTableFieldModel:()=>vv,SubTableRecordAction:()=>yr,TABLE_COLUMN_MIN_WIDTH:()=>mO,TableActionsColumnModel:()=>mY,TableAssociationFieldGroupModel:()=>mG,TableBlockModel:()=>gp,TableColumnModel:()=>mq,TableCustomColumnModel:()=>mV,TableJSFieldItemModel:()=>gx,TableSelectModel:()=>gb,TextareaFieldModel:()=>i,TimeFieldModel:()=>bE,TopbarActionModel:()=>nn,UIEditorTopbarActionModel:()=>nd,USER_CENTER_ACTION_ID:()=>nc,UnitConversion:()=>xP,UpdateRecordActionModel:()=>co,UserCenterActionItemModel:()=>nx,UserCenterItemModel:()=>ny,UserCenterSelectItemModel:()=>nw,UserCenterTextItemModel:()=>nb,UserCenterTopbarActionModel:()=>nC,VariableFieldFormModel:()=>bR,ViewActionModel:()=>ca,applyAssociateAction:()=>u_,applyClickToOpenProps:()=>v_,applyClickToOpenSetting:()=>vN,applyDisassociateAction:()=>uI,buildDisplayPathFromValue:()=>vW,buildRecordPickerParentItemContext:()=>gU,buildRecordPickerPopupContextInputArgs:()=>gH,canRecordPickerSelectMultiple:()=>g$,collectCascadeHydrationCandidate:()=>vK,connectFields:()=>fC,createAssignFieldValuesStep:()=>uX.KW,createAssignFormSubModelOptions:()=>uX.nF,customizeFilterRender:()=>fO,defaultOperator:()=>fI,findOptionPathByTk:()=>vH,formatNumber:()=>xF,getAllDataModels:()=>dP,getAssignFieldValuesDefaultParams:()=>uX.Z1,getAssociationBlockResourceSettings:()=>uP,getAssociationSelectAssociatedRecordsFilter:()=>gy,getAssociationSelectForeignKeyFilter:()=>gv,getAssociationSelectorContextInputArgs:()=>uR,getAssociationTargetResourceSettings:()=>uE,getDefaultOperator:()=>dk,getDetailsItemValue:()=>cE,getDisplayNumber:()=>xk,getFilterFormOperatorList:()=>dM,getFilterFormOperatorMeta:()=>dF,getQuickEditFieldProps:()=>fZ,getRecordPickerClearedValue:()=>gV,getRecordPickerEmptyValue:()=>gq,getTopbarPluginSettingsItems:()=>nr,getValueWithIndex:()=>cj,injectRecordPickerPopupContext:()=>gW,isAssociationBlockContext:()=>uj,isFilterValueEmpty:()=>dC,joinUrlSearch:()=>cd,markCascadeHydrationDone:()=>vU,mergeAssignFieldValues:()=>uX.GO,normalizeRecordPickerSelectedRows:()=>gL,normalizeRecordPickerValue:()=>gz,normalizeTableColumnWidth:()=>m$,operatorComponentProps:()=>fB,recalculateGridSizes:()=>dZ,refreshClickToOpenRuntime:()=>vD,resolveAssignFieldValues:()=>uX.eu,resolveCustomFieldOperatorList:()=>hu,resolveDefaultCustomFieldOperator:()=>hc,shouldClearRecordPickerValueOnMultipleChange:()=>gB,tableRowActionsClassName:()=>mU,toOperatorSelectOptions:()=>hp,transformNestedData:()=>vE,transformRowsToSingleColumn:()=>dQ});var b={};l.r(b),l.d(b,{aclCheck:()=>wM,aclCheckRefresh:()=>wj,actionLinkageRules:()=>AM,afterSuccess:()=>a9,blockHeight:()=>Sy,blockLinkageRules:()=>AA,confirm:()=>a7,customVariable:()=>x2,dataLoadingMode:()=>wg,dataScope:()=>ds,dateRangeLimit:()=>wh,dateTimeFormat:()=>wu,detailsFieldLinkageRules:()=>Aj,displayFieldComponent:()=>ww,fieldComponent:()=>wS,fieldLinkageRules:()=>AC,filterFormDefaultValues:()=>Sh,fixed:()=>wN,formAssignRules:()=>Sc,layout:()=>wy,linkageAssignField:()=>Ag,linkageRulesRefresh:()=>Sf,linkageRunjs:()=>Ay,linkageSetActionProps:()=>Al,linkageSetBlockProps:()=>S7,linkageSetDetailsFieldProps:()=>Aa,linkageSetFieldProps:()=>Ai,linkageSetMenuItemProps:()=>Ar,linkageSetTabProps:()=>An,menuLinkageRules:()=>AF,navigateToURL:()=>x0,numberFormat:()=>AI,openView:()=>xW,overflowMode:()=>AR,pattern:()=>wI,refreshTargetBlocks:()=>x8,renderMode:()=>wv,required:()=>wb,runjs:()=>xH,setTargetDataScope:()=>wr,showMessage:()=>xJ,showNotification:()=>xZ,sortingRule:()=>wm,subFormFieldLinkageRules:()=>AP,subFormLinkageAssignField:()=>Av,subFormLinkageSetFieldProps:()=>Ao,tabLinkageRules:()=>Ak,titleField:()=>wa,validation:()=>wD});var x={};l.r(x),l.d(x,{ACLContext:()=>rh.w0,ACLRolesCheckProvider:()=>rh.rR,ADMIN_LAYOUT_MODEL_UID:()=>t_,ADMIN_SETTINGS_KEY:()=>aq.w$,ADMIN_SETTINGS_LAYOUT_MODEL_UID:()=>rX.O,ADMIN_SETTINGS_PATH:()=>aq.wq,AIManager:()=>ed,APIClient:()=>R,APP_SWITCHER_ACTION_PANEL_MODEL_UID:()=>nR,ASSIGN_FIELD_VALUES_STEP_KEY:()=>uX.zL,ActionGroupModel:()=>dc,ActionModel:()=>df.S0,ActionSceneEnum:()=>df.s5,ActionWithoutPermission:()=>df._T,AddChildActionModel:()=>cv,AddNewActionModel:()=>uC,AdminLayoutComponent:()=>ir,AdminLayoutContent:()=>ra,AdminLayoutMenuItemModel:()=>l7,AdminLayoutMenuItemRenderer:()=>lR,AdminLayoutMenuModelRenderer:()=>l_,AdminLayoutModel:()=>iv,AdminLayoutRouteCoordinator:()=>tI,AdminSettingsLayout:()=>MP.AdminSettingsLayout,AdminSettingsLayoutModel:()=>Mj.C,AntdAppProvider:()=>J,AppError:()=>ec.uV,AppMaintaining:()=>ec.be,AppMaintainingDialog:()=>ec.tp,AppNotFound:()=>ec.bM,AppSpin:()=>ec.gv,AppSwitcherActionPanelModel:()=>MM,Application:()=>aU,ApplicationContext:()=>aW,ApplicationModel:()=>oL,AssignFormGridModel:()=>cA,AssignFormItemModel:()=>cH,AssignFormModel:()=>cx,AssociateActionModel:()=>uO,AssociationFieldGroupModel:()=>dm,AssociationFieldModel:()=>pe,BaseApplication:()=>oO,BaseLayoutModel:()=>eU,BaseLayoutRouteCoordinator:()=>eP,BasePageTabModel:()=>ub,BlankComponent:()=>ec.ct,BlockGridModel:()=>d4,BlockModel:()=>d6.z,BlockSceneEnum:()=>d6.P,BulkDeleteActionModel:()=>u$,CascadeSelectFieldModel:()=>v0,CascadeSelectInnerFieldModel:()=>vQ,CascadeSelectListFieldModel:()=>v1,CheckboxFieldInterface:()=>Ff,CheckboxFieldModel:()=>yb,CheckboxGroupFieldInterface:()=>Fm,CheckboxGroupFieldModel:()=>yx,ChildPageModel:()=>ud,ChildPageTabModel:()=>uw,ClickableFieldModel:()=>vO,CodeEditor:()=>uH.BY,CodeEditorExtension:()=>F3.o,CodeScanner:()=>ec.O5,CollectionActionGroupModel:()=>dp,CollectionActionModel:()=>d3.U,CollectionBlockModel:()=>d5.t,CollectionFieldInterface:()=>Fh,CollectionFieldInterfaceManager:()=>aC,CollectionFilter:()=>ec.px,CollectionFilterItem:()=>ec.Ql,CollectionFilterPanel:()=>ec.XO,CollectionSelect:()=>o7,CollectionSelectFieldInterface:()=>Fg,CollectionSelectorFieldModel:()=>yA,ColorFieldInterface:()=>Fv,ColorFieldModel:()=>yk,CommonItemModel:()=>d8,CreateContent:()=>pC,CreateFormModel:()=>fq,CreatedAtFieldInterface:()=>Fy,CreatedByFieldInterface:()=>Fb,CurrentUserContext:()=>MH,CustomWidth:()=>mB,DEFAULT_ADMIN_LAYOUT_ROUTE_PATH:()=>tm,DEFAULT_DATA_SOURCE_KEY:()=>eE.Ze,DEFAULT_PAGE_SIZE:()=>ec.yQ,DataBlockModel:()=>d9.R,DateFieldInterface:()=>FZ,DateOnlyFieldModel:()=>y$,DateOnlyFilterFieldModel:()=>pV,DateOnlyPicker:()=>yO,DateTimeFilterFieldModel:()=>pL,DateTimeNoTzFieldModel:()=>yL,DateTimeNoTzFilterFieldModel:()=>pK,DateTimeNoTzPicker:()=>yB,DateTimeTzFieldModel:()=>yK,DateTimeTzFilterFieldModel:()=>pW,DateTimeTzPicker:()=>yz,DatetimeFieldInterface:()=>Fx,DatetimeNoTzFieldInterface:()=>F0,DefaultToolsManager:()=>es,DeleteActionModel:()=>uB,DetailsAssociationFieldGroupModel:()=>cY,DetailsBlockModel:()=>cQ,DetailsCustomItemModel:()=>c1,DetailsGridModel:()=>c2,DetailsItemModel:()=>cT,DetailsJSFieldItemModel:()=>c8,DetailsPagination:()=>cZ,DialogFormLayout:()=>ec.xg,DisassociateActionModel:()=>uL,DisplayCheckboxFieldModel:()=>xD,DisplayColorFieldModel:()=>xn,DisplayDateTimeFieldModel:()=>xa,DisplayEnumFieldModel:()=>xc,DisplayHtmlFieldModel:()=>xh,DisplayIconFieldModel:()=>xf,DisplayJSONFieldModel:()=>xv,DisplayNumberFieldModel:()=>xC,DisplayPasswordFieldModel:()=>xj,DisplayPercentFieldModel:()=>xE,DisplaySubItemFieldModel:()=>b7,DisplaySubListFieldModel:()=>xr,DisplaySubTableFieldModel:()=>b9,DisplayTextFieldModel:()=>xR,DisplayTimeFieldModel:()=>xI,DisplayTitleFieldModel:()=>b4,DisplayURLFieldModel:()=>xT,DividerItemModel:()=>bG,DragSortRowContext:()=>ec.c5,DrawerFormLayout:()=>ec.gh,EditActionModel:()=>uq,EditFormContent:()=>yl,EditFormModel:()=>cI.EditFormModel,EmailFieldInterface:()=>Fw,EntryActionManager:()=>ep,EnvVariableInput:()=>ec.s9,ExpandCollapseActionModel:()=>cf,ExtendCollectionsProvider:()=>F6,FieldAssignValueInput:()=>wc.zv,FieldDeletePlaceholder:()=>mD,FieldFilterOperatorRegistry:()=>o0,FieldModel:()=>st.o,FieldModelSelect:()=>p3,FieldOperatorSelect:()=>hh,FieldValidationConfigureRegistry:()=>aS,FieldWithoutPermissionPlaceholder:()=>mN,FileSizeInput:()=>ec.c,FilterActionModel:()=>uK,FilterBlockModel:()=>d7,FilterContent:()=>se.oJ,FilterFormActionGroupModel:()=>hj,FilterFormActionModel:()=>hP,FilterFormBlockModel:()=>h0,FilterFormCollapseActionModel:()=>h3,FilterFormCustomFieldModel:()=>hb,FilterFormCustomItemModel:()=>hf,FilterFormCustomRecordSelectFieldModel:()=>hC,FilterFormFieldModel:()=>c9,FilterFormGridModel:()=>fg,FilterFormItemModel:()=>fm,FilterFormJSActionModel:()=>fv,FilterFormRecordSelectFieldModel:()=>p$,FilterFormResetActionModel:()=>fy,FilterFormSubmitActionModel:()=>fA,FilterGroup:()=>se.I8,FilterItem:()=>se.qi,FilterManager:()=>d_,FlowModelRepository:()=>A$,FlowPage:()=>xB,FlowRoute:()=>iI,FormActionGroupModel:()=>u1,FormActionModel:()=>uZ,FormAssociationFieldGroupModel:()=>f6,FormAssociationItemModel:()=>me,FormBlockContent:()=>cb.JU,FormBlockModel:()=>cb.F4,FormComponent:()=>cb.s2,FormCustomItemModel:()=>fV,FormGridModel:()=>cw,FormItemModel:()=>cB,FormJSFieldItemModel:()=>fz,FormModel:()=>cb.mO,FormSubmitActionModel:()=>u0,GRID_FLOW_KEY:()=>dW,GRID_STEP:()=>dH,GlobalThemeProvider:()=>eo,GridModel:()=>dX,HeaderContext:()=>lS,Icon:()=>ec.In,IconFieldInterface:()=>FS,IconFieldModel:()=>yG,IconPicker:()=>eE.ar,IdFieldInterface:()=>FA,InputFieldInterface:()=>Fk,InputFieldModel:()=>yJ.m,InputNumberField:()=>y9,IntegerFieldInterface:()=>FC,InternalAdminSettingsLayout:()=>MP.InternalAdminSettingsLayout,JSActionModel:()=>uG,JSBlockModel:()=>mc,JSCollectionActionModel:()=>uJ,JSColumnModel:()=>gS,JSEditableFieldModel:()=>bU,JSFieldModel:()=>bI,JSFormActionModel:()=>fK,JSItemActionModel:()=>u5,JSItemModel:()=>b1,JSRecordActionModel:()=>u8,JsonFieldInterface:()=>FP,JsonFieldModel:()=>r,JsonInput:()=>y6,JsonTextArea:()=>ec.V4,KeepAlive:()=>ec.PR,KeepAliveProvider:()=>ec.cn,LayoutContent:()=>rs,LayoutContentRoute:()=>iD,LayoutManager:()=>iZ,LayoutRoute:()=>iz,LinkActionModel:()=>ch,LinkageFilterItem:()=>se.Ru,M2MFieldInterface:()=>Fj,M2OFieldInterface:()=>FE,MAX_MESSAGE_CHARS:()=>uH.hP,MENU_TYPE_OPTIONS:()=>lH,MainPageModel:()=>up,MarkdownFieldInterface:()=>FR,MarkdownItemModel:()=>b0,MobileMenuControlContext:()=>lw,MockFlowModelRepository:()=>AO,MultipleSelectFieldInterface:()=>FT,NBColorPicker:()=>yF,NanoidFieldInterface:()=>FX,NocoBaseBuildInPlugin:()=>MZ,NocoBaseBuildInPluginV2:()=>MZ,NocoBaseDesktopRouteType:()=>eE.q2,NumberFieldInterface:()=>FI,NumberFieldModel:()=>y7,O2MFieldInterface:()=>FD,OBOFieldInterface:()=>F_,OHOFieldInterface:()=>FN,ObjectNester:()=>vx,OptionsEditor:()=>ab,PAGE_SIZE_OPTIONS:()=>ec.xp,PLUGIN_MANAGER_SETTING_NAME:()=>rX.Bm,PageModel:()=>ua,PageTabModel:()=>uS,PasswordFieldInterface:()=>FO,PasswordFieldModel:()=>be,PasswordInput:()=>ec.yA,PercentFieldInterface:()=>F$,PercentFieldModel:()=>bn,PercentInput:()=>br,PhoneFieldInterface:()=>FB,PinnedPluginListContext:()=>rm,PinnedPluginListLite:()=>nE,Plugin:()=>aQ,PluginFlowEngine:()=>MT,PluginManager:()=>aL,PluginManagerPage:()=>ME.PluginManagerPage,PluginSettingsManager:()=>aq.mz,PluginSettingsTopbarActionModel:()=>nu,PopupActionModel:()=>uF,PopupCollectionActionModel:()=>u9,PopupSubTableActionGroupModel:()=>yp,PopupSubTableActionsColumnModel:()=>ym,PopupSubTableEditActionModel:()=>yn,PopupSubTableFieldModel:()=>yu,PopupSubTableFormActionGroupModel:()=>u6,PopupSubTableFormModel:()=>yg,PopupSubTableFormSubmitActionModel:()=>u4,PopupSubTableRemoveActionModel:()=>yc,PoweredBy:()=>ec.G5,QUICK_EDIT_FORM_MAX_HEIGHT:()=>fW,QUICK_EDIT_MARKDOWN_HEIGHT:()=>fH,QUICK_EDIT_POPOVER_MAX_HEIGHT:()=>fU,QuickEditFormModel:()=>f4,RadioGroupFieldInterface:()=>FL,RadioGroupFieldModel:()=>bi,RangeValidationItems:()=>aw,RecordActionGroupModel:()=>dh,RecordActionModel:()=>uk.L,RecordPickerContent:()=>gG,RecordPickerFieldModel:()=>gX,RecordSelectFieldModel:()=>pT,RefreshActionModel:()=>u7,RemoteFlowModelRenderer:()=>xL,RemoteSelect:()=>ec.lT,ResetThemeTokenAndKeepAlgorithm:()=>tq,RichTextField:()=>bf,RichTextFieldInterface:()=>Fq,RichTextFieldModel:()=>n,RootPageModel:()=>uA,RootPageTabModel:()=>ux,RouteModel:()=>eb,RouteRepository:()=>i0,RouterContextCleaner:()=>ec.PK,RouterManager:()=>rJ,SNIPPET_PREFIX:()=>aq.tJ,SYSTEM_SETTINGS_SETTING_NAME:()=>rX.jm,ScanInput:()=>ec.E5,SelectFieldInterface:()=>FV,SelectFieldModel:()=>bS,SkeletonFallback:()=>i$,SnowflakeIdFieldInterface:()=>Fz,SortHandle:()=>ec.vm,SortableCategoryTabs:()=>ec.pO,SortableRow:()=>ec.B7,SourceCascader:()=>hg,SubFormFieldModel:()=>vw,SubFormListFieldModel:()=>vA,SubPageModel:()=>uM,SubTableColumnModel:()=>vs,SubTableFieldModel:()=>vv,SubTableRecordAction:()=>yr,SwitchLanguage:()=>ec.rw,SystemSettingsPage:()=>MR.SystemSettingsPage,SystemSettingsSource:()=>eh.o,TABLE_COLUMN_MIN_WIDTH:()=>mO,Table:()=>ec.XI,TableActionsColumnModel:()=>mY,TableAssociationFieldGroupModel:()=>mG,TableBlockModel:()=>gp,TableColumnModel:()=>mq,TableCustomColumnModel:()=>mV,TableJSFieldItemModel:()=>gx,TableSelectModel:()=>gb,TableoidFieldInterface:()=>FK,TextAreaWithContextSelector:()=>a0.n,TextareaFieldInterface:()=>FU,TextareaFieldModel:()=>i,TimeFieldInterface:()=>FW,TimeFieldModel:()=>bE,TopbarActionModel:()=>nn,TypedVariableInput:()=>ec.Pb,UIEditorTopbarActionModel:()=>nd,UI_OPERATION_QUERY_KEY:()=>F5.CL,USER_CENTER_ACTION_ID:()=>nc,UUIDFieldInterface:()=>FJ,UnitConversion:()=>xP,UnixTimestampFieldInterface:()=>FQ,UpdateRecordActionModel:()=>co,UpdatedAtFieldInterface:()=>FH,UpdatedByFieldInterface:()=>FY,UrlFieldInterface:()=>FG,UserCenterActionItemModel:()=>nx,UserCenterItemModel:()=>ny,UserCenterSelectItemModel:()=>nw,UserCenterTextItemModel:()=>nb,UserCenterTopbarActionModel:()=>nC,VariableFieldFormModel:()=>bR,VariableFilterItem:()=>se.Et,VariableInput:()=>ec.P8,VariableJSON:()=>ec.hJ,VariableJsonTextArea:()=>ec.jr,VariableTextArea:()=>ec.hp,ViewActionModel:()=>ca,WebSocketClient:()=>i1,aclCheck:()=>wM,aclCheckRefresh:()=>wj,actionLinkageRules:()=>AM,addCustomAlgorithmToTheme:()=>el,addFieldValidationConfiguresToGroup:()=>ak,afterSuccess:()=>a9,applyAssociateAction:()=>u_,applyClickToOpenProps:()=>v_,applyClickToOpenSetting:()=>vN,applyDisassociateAction:()=>uI,applyMobilePaginationProps:()=>ce.hO,array:()=>oz,bigField:()=>oZ,blockHeight:()=>Sy,blockLinkageRules:()=>AA,boolean:()=>oJ,browserUIOperationCodec:()=>kr,buildDisplayPathFromValue:()=>vW,buildInsertRouteSchema:()=>l6,buildLinkSettingSchema:()=>lK,buildMenuBasicSchema:()=>lY,buildMenuTitleWithIcon:()=>lN,buildRecordPickerParentItemContext:()=>gU,buildRecordPickerPopupContextInputArgs:()=>gH,buildV2SigninHref:()=>tc,canRecordPickerSelectMultiple:()=>g$,collectCascadeHydrationCandidate:()=>vK,collection:()=>oQ,compatOldTheme:()=>ee,configurePropertiesToItems:()=>as,confirm:()=>a7,connectFields:()=>fC,createAclSnippetAllow:()=>rh.rN,createAssignFieldValuesStep:()=>uX.KW,createAssignFormSubModelOptions:()=>uX.nF,createCompactSimpleItemRender:()=>ce.hH,createDefaultCollectionBlockTitle:()=>ce.lr,createFilterable:()=>o8,createFormRegistry:()=>ec.oV,createInsertMenuStep:()=>lZ,createMockClient:()=>aX,createSettingsPathMap:()=>rX.nC,createTypedFilterable:()=>o9,customAlgorithm:()=>et,customVariable:()=>x2,customizeFilterRender:()=>fO,dataLoadingMode:()=>wg,dataScope:()=>ds,dateRangeLimit:()=>wh,dateTimeFormat:()=>wu,dateTimeFormatConfigureItems:()=>ag,datetime:()=>oU,decodeUIOperation:()=>ki,defaultOperator:()=>fI,defaultTheme:()=>Z,detailsFieldLinkageRules:()=>Aj,diagnoseRunJS:()=>uH.fL,dispatchEventDeep:()=>ce.Xi,displayFieldComponent:()=>ww,editMarkdownFlow:()=>bQ,encodeUIOperation:()=>ko,enumType:()=>oY,escapeHTML:()=>rw.Z,evaluateFieldConfigureExpression:()=>ar,fieldComponent:()=>wS,fieldFilterOperatorPresets:()=>o4,fieldFilterOperators:()=>o2,fieldLinkageRules:()=>AC,fieldValidationConfigureRegistry:()=>aA,filterFormDefaultValues:()=>Sh,filterOperatorRegistry:()=>o1,filterRenderableSettings:()=>rX.Ui,filterVisibleSettings:()=>rX.eD,findFirstAccessiblePageRoute:()=>tE,findFirstInternalSettingsPage:()=>rX.X2,findFirstV2LandingRoute:()=>tj,findNextSiblingRoute:()=>l2,findOptionPathByTk:()=>vH,findPrevSiblingRoute:()=>l1,findSettingsByName:()=>rX.R0,fixed:()=>wN,formAssignRules:()=>Sc,formatEnvPath:()=>ec.EM,formatNumber:()=>xF,formatRunJSPreviewMessage:()=>uH.by,formatVariablePath:()=>ec.X5,getAdminLayoutMenuInitializerButton:()=>lD,getAdminLayoutMenuMovePositionOptions:()=>lA,getAdminLayoutMenuVirtualPath:()=>t9,getAdminLayoutModel:()=>iy,getAdminLayoutRoutePath:()=>ty,getAllDataModels:()=>dP,getAppVersionHTML:()=>rw.p,getAssignFieldValuesDefaultParams:()=>uX.Z1,getAssociationBlockResourceSettings:()=>uP,getAssociationSelectAssociatedRecordsFilter:()=>gy,getAssociationSelectForeignKeyFilter:()=>gv,getAssociationSelectorContextInputArgs:()=>uR,getAssociationTargetResourceSettings:()=>uE,getCoreFieldConfigureState:()=>ah,getCurrentV2RedirectPath:()=>tu,getDefaultOperator:()=>dk,getDefaultSettingsPath:()=>rX.C9,getDefaultV2AdminRedirectPath:()=>to,getDetailsItemValue:()=>cE,getDisplayNumber:()=>xk,getFilterFormOperatorList:()=>dM,getFilterFormOperatorMeta:()=>dF,getLayoutContentRouteNames:()=>eD,getLayoutModel:()=>eW,getLayoutPageRouteName:()=>eR,getLayoutPageTabRouteName:()=>eT,getLayoutPageTabViewRouteName:()=>e_,getLayoutPageViewRouteName:()=>eI,getMenuCreationDefaultParams:()=>lW,getMenuCreationUiSchema:()=>lX,getMenuEditDefaultParams:()=>lJ,getMenuItems:()=>rX.gL,getMobileCompactPaginationClassName:()=>ce.NY,getModernClientPrefix:()=>te,getPinnedPluginListKeys:()=>rf,getQuickEditFieldProps:()=>fZ,getRecordPickerClearedValue:()=>gV,getRecordPickerEmptyValue:()=>gq,getRouteRuntimeVersion:()=>M7,getSimpleModePaginationClassName:()=>ce.HZ,getTopbarPluginSettingsItems:()=>nr,getUniqueKeyFromCollection:()=>F1,getUnknownCountPaginationTotal:()=>ce.SM,getV2EffectiveBasePath:()=>tl,getValueWithIndex:()=>cj,hasIcon:()=>ec.cE,hasOwnSettingsPage:()=>rX.lv,icons:()=>ec.Pt,id:()=>oH,indexConfigureItems:()=>am,injectRecordPickerPopupContext:()=>gW,insertRouteSchema:()=>lU,isAssociationBlockContext:()=>uj,isFilterValueEmpty:()=>dC,isLayoutContentRouteName:()=>eN,isTitleField:()=>eE.ji,isTitleFieldInterface:()=>eE.w,isV2AdminRuntime:()=>tw,isV2MenuRoute:()=>tP,joinAdminLayoutRoutePath:()=>tb,joinUrlSearch:()=>cd,languageCodes:()=>aZ.A,layout:()=>wy,linkageAssignField:()=>Ag,linkageRulesRefresh:()=>Sf,linkageRunjs:()=>Ay,linkageSetActionProps:()=>Al,linkageSetBlockProps:()=>S7,linkageSetDetailsFieldProps:()=>Aa,linkageSetFieldProps:()=>Ai,linkageSetMenuItemProps:()=>Ar,linkageSetTabProps:()=>An,makeFormatVariablePath:()=>ec.nW,makeParseVariablePath:()=>ec.Dx,makeVariableRegExp:()=>ec.at,markCascadeHydrationDone:()=>vU,matchSettingsRoute:()=>rX.CM,matchesRoutePath:()=>l4,menuLinkageRules:()=>AF,mergeAssignFieldValues:()=>uX.GO,mergePaginationClassName:()=>ce.M6,navigateToURL:()=>x0,normalizeAdminLayoutMenuLegacyVariables:()=>la,normalizeCollectionTemplateField:()=>F2,normalizeCollectionTemplateFields:()=>F4,normalizeFilterableOperators:()=>o3,normalizeLayoutRoutePath:()=>iX,normalizeRecordPickerSelectedRows:()=>gL,normalizeRecordPickerValue:()=>gz,normalizeTableColumnWidth:()=>m$,normalizeV2RedirectPath:()=>td,number:()=>oW,numberFormat:()=>AI,object:()=>oK,openAdminLayoutMenuLink:()=>lp,openView:()=>xW,openViewFlow:()=>ev,operatorComponentProps:()=>fB,overflowMode:()=>AR,parseEnvPath:()=>ec.uO,parseUIOperation:()=>kn,parseVariablePath:()=>ec.h7,pattern:()=>wI,previewRunJS:()=>uH.zA,recalculateGridSizes:()=>dZ,reconcileAdminLayoutMenuItems:()=>lF,redirectToV2Signin:()=>tp,refreshClickToOpenRuntime:()=>vD,refreshTargetBlocks:()=>x8,registerFieldValidationConfigure:()=>aM,registerFieldValidationConfigureGroup:()=>aF,registerIcon:()=>ec.pU,registerIcons:()=>ec.K1,removeMarkdownIframes:()=>Me.VC,removeUIOperation:()=>F5.Wq,renderMode:()=>wv,replaceRouteParams:()=>rX.uT,required:()=>wb,resolveAdminLayoutMenuDragMoveOptions:()=>lk,resolveAdminLayoutMenuDragMoveOptionsFromEvent:()=>lC,resolveAdminLayoutMenuLink:()=>ls,resolveAdminRouteRuntimeTarget:()=>tT,resolveAssignFieldValues:()=>uX.eu,resolveCustomFieldOperatorList:()=>hu,resolveDefaultCustomFieldOperator:()=>hc,resolveDynamicNamePath:()=>sc.IJ,resolveFilterOperators:()=>o6,resolveV2SigninRedirect:()=>th,reverseFieldConfigureItem:()=>ay,reverseFieldConfigureItems:()=>av,runCoreFieldConfigureEffects:()=>af,runjs:()=>xH,setTargetDataScope:()=>wr,shouldClearRecordPickerValueOnMultipleChange:()=>gB,shouldOpenAdminRouteInNewWindow:()=>rY,shouldRenderIconInTitle:()=>lT,showMessage:()=>xJ,showNotification:()=>xZ,sortTopLevelSettings:()=>rX.p$,sortingRule:()=>wm,string:()=>oV,stripMarkdownIframeTags:()=>Me.jR,stripMarkdownIframes:()=>Me.$P,stripModernClientPrefix:()=>tt,subFormFieldLinkageRules:()=>AP,subFormLinkageAssignField:()=>Av,subFormLinkageSetFieldProps:()=>Ao,tabLinkageRules:()=>Ak,tableRowActionsClassName:()=>mU,tableoid:()=>oX,time:()=>oG,titleField:()=>wa,toOperatorSelectOptions:()=>hp,toRouterNavigationPath:()=>tS,toToolsMap:()=>eu,toTreeSelectItems:()=>l0,toViewStack:()=>ej,transformNestedData:()=>vE,transformRowsToSingleColumn:()=>dQ,useACLContext:()=>rh.bq,useACLRoleContext:()=>rh.v6,useAclSnippets:()=>rh.K3,useAdminLayoutRoutePage:()=>MC,useApp:()=>W.n,useAppListRender:()=>n$,useApplications:()=>nI,useCurrentAppInfo:()=>ry.g,useCurrentRoleMode:()=>rh.GL,useCurrentRoles:()=>MG,useCurrentUserContext:()=>MY,useFilterOptions:()=>se.uw,useFilteredMetaTree:()=>ec.a7,useGlobalTheme:()=>ei,useKeepAlive:()=>ec.Y,useLayoutRoutePage:()=>ib,useMobileLayout:()=>Mk,usePlugin:()=>rb.n,useRoleRecheck:()=>rh.N5,useRouter:()=>rx,useSystemSettings:()=>eh.e,useUIConfigurationPermissions:()=>rh.uM,validation:()=>wD}),l(70571);var w=l(50467);l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(45336),l(79936),l(23446),l(61874),l(1633),l(9700),l(69861);var S=l(12039),A=l(96540),M=l(65606);let F=new Map;function k(e){return"string"==typeof e?e:"string"==typeof(null==e?void 0:e.message)?e.message:""}function C(e){F.size>10&&F.clear();let t=Date.now();return e.filter(e=>{let l=k(e);if(!l)return!1;let r=F.get(l);return(!r||!(t-r<500))&&(F.set(l,t),!0)})}function P(e,t,l){if(!l||0===t.length)return;let r=C(t);0!==r.length&&l[e]({message:r.map((e,t)=>{let l=k(e);return A.createElement("div",{key:`${t}_${l}`},l)})})}function j(e){let t=Math.floor(Math.abs(e)),l=Math.abs(e%1*60),r=String(t).padStart(2,"0"),n=String(l).padStart(2,"0"),i=e>=0?"+":"-";return`${i}${r}:${n}`}function E(){return j(-(new Date().getTimezoneOffset()/60))}class R extends S.Q9{get notification(){var e,t;return null==(t=this.app)||null==(e=t.context)?void 0:e.notification}getHostname(){var e,t;if(M.env.API_BASE_URL)try{return new URL(M.env.API_BASE_URL).hostname}catch{}return null==(t=window)||null==(e=t.location)?void 0:e.hostname}getHeaders(){let e=super.getHeaders();return this.appName&&(e["X-App"]=this.appName),e["X-Timezone"]=E(),e["X-Hostname"]=this.getHostname(),e}interceptors(){this.axios.interceptors.request.use(e=>{let t=this.getHeaders();return Object.keys(t).forEach(l=>{(0,S.bO)(e.headers,l)||(e.headers[l]=t[l])}),e}),super.interceptors(),this.useNotificationMiddleware()}handleNotificationError(e){var t;let l=null==(t=e.config)?void 0:t.skipNotify;if(l&&(!0===l||"function"==typeof l&&l(e)))throw e;let r=this.toErrMessages(e);throw Array.isArray(r)&&P("error",r,this.notification),e}useNotificationMiddleware(){this.axios.interceptors.response.use(e=>{var t;let l=null==(t=e.data)?void 0:t.messages;return Array.isArray(l)&&P("success",l,this.notification),e},this.handleNotificationError.bind(this))}constructor(...e){super(...e),(0,w._)(this,"app",void 0)}}var T=l(58587),I=l(18150),_=l(68238);l(5409),l(23089),l(82855),l(17106),l(36792),l(89773);var D=l(74848),N=l(95243),O=l(11869),$=l(40098),B=l.n($),L=l(5338),q=l(52230),V=l(47665),z=l(84976),K=l(47767),U=l(44363),W=l(36098),H=l(88040);let Y=(0,A.memo)(e=>{let{children:t}=e,l=(0,W.n)(),{notification:r}=H.A.useApp();return(0,A.useLayoutEffect)(()=>{l.context.defineProperty("notification",{value:r})},[l,r]),(0,D.jsx)(D.Fragment,{children:t})});Y.displayName="AppInner";let G=e=>{let{children:t,className:l,style:r}=e;return(0,D.jsx)(H.A,{className:l,style:{height:"100%",...r},children:(0,D.jsx)(Y,{children:t})})};G.displayName="AntdAppProvider";let J=G;l(14324);var X=l(35710),Q=l(4888);let Z={name:"",token:{colorPrimaryHeader:"#001529",colorBgHeader:"#001529",colorBgHeaderMenuHover:"#ffffff1a",colorBgHeaderMenuActive:"#ffffff1a",colorTextHeaderMenu:"#ffffffa6",colorTextHeaderMenuHover:"#ffffff",colorTextHeaderMenuActive:"#ffffff",colorSettings:"#F18B62",colorBgSettingsHover:"rgba(241, 139, 98, 0.06)",colorTemplateBgSettingsHover:"rgba(98, 200, 241, 0.06)",colorBorderSettingsHover:"rgba(241, 139, 98, 0.3)",motionUnit:.03}},ee=function(e){var t;return(null==(t=e.token)?void 0:t.colorSettings)||(e.token={...e.token,...Z.token}),e},et=(e,t)=>{var l,r,n,i,o,a,s,d,u,c,p,h;let f=t||X.A.defaultAlgorithm(e);return(l=f).paddingPageHorizontal??(l.paddingPageHorizontal=f.sizeLG),(r=f).paddingPageVertical??(r.paddingPageVertical=f.sizeLG),(n=f).paddingPopupHorizontal??(n.paddingPopupHorizontal=f.sizeLG),(i=f).paddingPopupVertical??(i.paddingPopupVertical=f.size),(o=f).marginBlock??(o.marginBlock=f.sizeLG),(a=f).borderRadiusBlock??(a.borderRadiusBlock=f.borderRadiusLG),(s=f).colorBgSider??(s.colorBgSider=f.colorBgElevated),(d=f).colorBgSiderMenuHover??(d.colorBgSiderMenuHover=f.colorBgTextHover||f.colorFillSecondary),(u=f).colorBgSiderMenuActive??(u.colorBgSiderMenuActive=f.colorPrimaryBg),(c=f).colorTextSiderMenu??(c.colorTextSiderMenu=f.colorText),(p=f).colorTextSiderMenuHover??(p.colorTextSiderMenuHover=f.colorText),(h=f).colorTextSiderMenuActive??(h.colorTextSiderMenuActive=f.colorPrimary),f},el=e=>(Array.isArray(e.algorithm)?e.algorithm.includes(et)||e.algorithm.push(et):e.algorithm=[e.algorithm,et].filter(Boolean),e.algorithm=e.algorithm.filter(Boolean),e);var er=l(22803);(0,er.injectGlobal)`
|
|
3
3
|
.ant-form-item-label > label {
|
|
4
4
|
font-weight: 600;
|
|
@@ -76,7 +76,7 @@ export const __rspack_esm_id="8410";export const __rspack_esm_ids=["8410"];expor
|
|
|
76
76
|
display: inline-flex;
|
|
77
77
|
align-items: center;
|
|
78
78
|
height: 100%;
|
|
79
|
-
`,r1=e=>{let t=null==e?void 0:e.trim();return t&&"/"!==t?`/${t.replace(/^\/+/,"")}`:"/"},r2=e=>{let t=r1(e).replace(/\/+$/,"");return""===t||"/"===t?"":t},r4=e=>{var t,l,r,n;return(null==e||null==(l=e.router)||null==(t=l.getBasename)?void 0:t.call(l))||(null==e||null==(r=e.router)?void 0:r.basename)||(null==e||null==(n=e.getPublicPath)?void 0:n.call(e))||""},r6=(e,t)=>{let l=r1(e),r=r2(t);return r?l===r?"/":l.startsWith(`${r}/`)?r1(l.slice(r.length)):l:l},r3=e=>{let t=r1(e),l=/^(.*?\/(?:apps|_app)\/[^/]+)(?=\/|$)/.exec(t),r=(null==l?void 0:l[1])||"";return{appPath:r,routePath:r?r1(t.slice(r.length)):t}},r5=(e,t)=>{var l;let r=r3(t||"").appPath;if(r)return r;let n=r3((null==e||null==(l=e.getPublicPath)?void 0:l.call(e))||"").appPath;return n||((null==e?void 0:e.name)&&"main"!==e.name&&e.getHref?r2(e.getHref("/")):"")},r8=(e,t)=>{let l=r1(e);return!t||l===t||l.startsWith(`${t}/`)?l:`${t}${l}`},r9=e=>"/admin"===e||e.startsWith("/admin/"),r7=e=>{try{var t,l,r;return null==e||null==(r=e.layoutManager)||null==(l=r.getLayout)||null==(t=l.call(r,"admin"))?void 0:t.routePath}catch{return}},ne=(e,t)=>{let l=r1(e),r=r2(t);return!r||l===r||l.startsWith(`${r}/`)?l:`${r}${l}`};function nt(e){return(0,D.jsx)("div",{onClick:()=>{window.open(e.link,"_blank","noopener,noreferrer")},children:e.title})}function nl(e){let t=(0,W.n)(),l=(0,K.useLocation)(),r=e.path||"/admin/settings",n=r4(t),i=r6(l.pathname,n),o=r3(i),a=o.appPath||r5(t,n),s=o.appPath?o.routePath:i,d=r8(r6(r,n),a);if(a){let l=ne(d,n)
|
|
79
|
+
`,r1=e=>{let t=null==e?void 0:e.trim();return t&&"/"!==t?`/${t.replace(/^\/+/,"")}`:"/"},r2=e=>{let t=r1(e).replace(/\/+$/,"");return""===t||"/"===t?"":t},r4=e=>{var t,l,r,n;return(null==e||null==(l=e.router)||null==(t=l.getBasename)?void 0:t.call(l))||(null==e||null==(r=e.router)?void 0:r.basename)||(null==e||null==(n=e.getPublicPath)?void 0:n.call(e))||""},r6=(e,t)=>{let l=r1(e),r=r2(t);return r?l===r?"/":l.startsWith(`${r}/`)?r1(l.slice(r.length)):l:l},r3=e=>{let t=r1(e),l=/^(.*?\/(?:apps|_app)\/[^/]+)(?=\/|$)/.exec(t),r=(null==l?void 0:l[1])||"";return{appPath:r,routePath:r?r1(t.slice(r.length)):t}},r5=(e,t)=>{var l;let r=r3(t||"").appPath;if(r)return r;let n=r3((null==e||null==(l=e.getPublicPath)?void 0:l.call(e))||"").appPath;return n||((null==e?void 0:e.name)&&"main"!==e.name&&e.getHref?r2(e.getHref("/")):"")},r8=(e,t)=>{let l=r1(e);return!t||l===t||l.startsWith(`${t}/`)?l:`${t}${l}`},r9=e=>"/admin"===e||e.startsWith("/admin/"),r7=e=>{try{var t,l,r;return null==e||null==(r=e.layoutManager)||null==(l=r.getLayout)||null==(t=l.call(r,"admin"))?void 0:t.routePath}catch{return}},ne=(e,t)=>{let l=r1(e),r=r2(t);return!r||l===r||l.startsWith(`${r}/`)?l:`${r}${l}`};function nt(e){return(0,D.jsx)("div",{onClick:()=>{window.open(e.link,"_blank","noopener,noreferrer")},children:e.title})}function nl(e){let t=(0,W.n)(),l=(0,K.useLocation)(),r=e.path||"/admin/settings",n=r4(t),i=r6(l.pathname,n),o=r3(i),a=o.appPath||r5(t,n),s=o.appPath?o.routePath:i,d=r8(r6(r,n),a);if(a){let l=ne(d,n);return rY({currentPathname:i,targetPathname:d,basePath:n,adminRoutePath:r7(t)})?(0,D.jsx)("a",{href:l,target:"_blank",rel:"noopener noreferrer",children:e.title}):(0,D.jsx)(z.Link,{to:r6(d,n),children:e.title})}return r9(s)?(0,D.jsx)(z.Link,{to:d,children:e.title}):(0,D.jsx)("a",{href:ne(r,n),target:"_blank",rel:"noopener noreferrer",children:e.title})}function nr(e){let{settings:t,canManagePlugins:l,t:r}=e,n=(0,rX.eD)((0,rX.Ui)(t)),i=n.find(e=>e.name===rX.Bm),o=new Map,a=(0,rX.p$)(n.filter(e=>e.name!==rX.Bm).map(e=>({...e,children:void 0})));a.forEach(e=>{o.set(e.key,e)});let s=((0,rX.gL)(a)||[]).map(e=>{if((null==e?void 0:e.type)==="divider")return e;let t=o.get(String(e.key)),l=null==t?void 0:t.path,r=null==t?void 0:t.link,n=(null==t?void 0:t.title)||e.title;return{key:e.key,name:null==t?void 0:t.name,path:null==t?void 0:t.path,link:r,title:n,icon:e.icon,label:r?(0,D.jsx)(nt,{title:n,link:r}):(0,D.jsx)(nl,{title:n,path:l})}}),d=[];return l&&i&&d.push({key:i.key,icon:i.icon||(0,D.jsx)(rT.A,{}),label:(0,D.jsx)(nl,{title:i.title||r("Plugin manager"),path:i.path})}),l&&s.length&&d.push({type:"divider"}),d.push(...s),d}class nn extends O.FlowModel{getActionId(){return this.actionId||this.uid||this.constructor.name}getTestId(){return this.testId||`topbar-action-${this.getActionId()}`}isHidden(){return!!this.hidden}getButtonStyle(e){}onClick(e){}renderButton(){return(0,D.jsx)(no,{model:this})}renderWrapper(e){return this.tooltip?(0,D.jsx)(tz.A,{title:this.context.t(this.tooltip),children:(0,D.jsx)("span",{className:r0,children:e})}):e}render(){return this.renderWrapper(this.renderButton())}constructor(...e){super(...e),(0,w._)(this,"sort",0)}}let ni=e=>({"--nb-topbar-action-color":e.colorTextHeaderMenu||"rgba(255, 255, 255, 0.65)","--nb-topbar-action-hover-bg":e.colorBgHeaderMenuHover||"rgba(255, 255, 255, 0.1)"}),no=(0,O.observer)(e=>{var t,l;let{model:r,style:n,className:i}=e,{token:o}=X.A.useToken(),a=o;return(0,D.jsx)(eY.Ay,{...r.props,type:"text",icon:r.icon,"data-testid":r.getTestId(),onClick:r.onClick.bind(r),className:(0,er.cx)(rZ,i,null==(t=r.props)?void 0:t.className),style:{...ni(a),...r.getButtonStyle(a),...null==(l=r.props)?void 0:l.style,...n}})},{displayName:"TopbarActionButton"}),na=(0,O.observer)(e=>{let{model:t}=e,l=(0,O.useFlowEngine)(),{token:r}=X.A.useToken(),n=r,i=!!l.context.flowSettingsEnabled,o=!!t.context.isMobileLayout;return((0,r_.vC)("ctrl+shift+u",()=>{if(!o){if(i)return void l.flowSettings.disable();l.flowSettings.enable()}},[i,l,o]),o)?null:t.renderWrapper((0,D.jsx)(no,{model:t,style:i?{backgroundColor:n.colorSettings,"--nb-topbar-action-hover-bg":n.colorSettings}:void 0}))},{displayName:"UIEditorTopbarAction"}),ns=(0,O.observer)(e=>{let{model:t}=e,l=(0,W.n)(),{snippets:r=[]}=(0,rh.v6)(),{t:n}=(0,eG.B)(),[i,o]=(0,A.useState)(!1),a=(0,A.useMemo)(()=>nr({settings:l.pluginSettingsManager.getList(!0),canManagePlugins:r.includes("pm"),t:n}),[l,r,n]);return((0,A.useEffect)(()=>()=>{l.pluginSettingsManager.clearCache()},[l]),a.length)?(0,D.jsx)(rv.A,{open:i,trigger:["hover"],placement:"bottomRight",mouseEnterDelay:0,mouseLeaveDelay:.1,onOpenChange:o,menu:{style:{maxHeight:"70vh",overflow:"auto"},items:a},children:(0,D.jsx)("span",{className:r0,onMouseEnter:()=>o(!0),children:(0,D.jsx)(no,{model:t})})}):null},{displayName:"PluginSettingsTopbarAction"});class nd extends nn{async onClick(){let e=this.context.engine.flowSettings;if(e.enabled){(0,rQ.o7)(!1),await e.disable();return}(0,rQ.o7)(!0),await e.enable()}render(){return(0,D.jsx)(na,{model:this})}constructor(...e){super(...e),(0,w._)(this,"sort",0),(0,w._)(this,"actionId","ui-editor"),(0,w._)(this,"testId","ui-editor-button"),(0,w._)(this,"aclSnippet","ui.*"),(0,w._)(this,"icon",(0,D.jsx)(re.A,{})),(0,w._)(this,"tooltip",(0,O.tExpr)("UI Editor"))}}class nu extends nn{render(){return(0,D.jsx)(ns,{model:this})}constructor(...e){super(...e),(0,w._)(this,"sort",100),(0,w._)(this,"actionId","plugin-settings"),(0,w._)(this,"testId","plugin-settings-button"),(0,w._)(this,"icon",(0,D.jsx)(rI.A,{}))}}let nc="user-center",np={profile:100,preferences:200,system:300,danger:400},nh=(0,er.css)`
|
|
80
80
|
display: inline-flex;
|
|
81
81
|
align-items: center;
|
|
82
82
|
height: 100%;
|
|
@@ -440,7 +440,7 @@ export const __rspack_esm_id="8410";export const __rspack_esm_ids=["8410"];expor
|
|
|
440
440
|
padding: 0;
|
|
441
441
|
overflow: hidden;
|
|
442
442
|
}
|
|
443
|
-
`,is={token:{colorSplit:"rgba(255, 255, 255, 0.1)"}};function id(e,t){return e.map((e,t)=>({action:e,index:t})).filter(e=>{let{action:l}=e;return!l.isHidden()&&(!l.aclSnippet||t(l.aclSnippet))}).sort((e,t)=>(e.action.sort||0)!==(t.action.sort||0)?(e.action.sort||0)-(t.action.sort||0):e.index-t.index).map(e=>{let{action:t}=e;return t})}let iu=e=>({"--nb-topbar-action-color":e.colorTextHeaderMenu||"rgba(255, 255, 255, 0.65)","--nb-topbar-action-hover-bg":e.colorBgHeaderMenuHover||"rgba(255, 255, 255, 0.1)"}),ic=()=>null,ip=e=>"function"==typeof(null==e?void 0:e.getActionId)?e.getActionId():(null==e?void 0:e.actionId)||(null==e?void 0:e.uid)||"",ih=A.memo(e=>{let{allow:t}=(0,ii.K)(),{token:l}=X.A.useToken(),r=l,n=(0,A.useMemo)(()=>id(e.actions,t),[t,e.actions]),i=n.filter(e=>ip(e)!==nc),o=n.find(e=>ip(e)===nc);return(0,D.jsxs)("div",{className:io,style:iu(r),children:[(0,D.jsx)("div",{className:"nb-topbar-actions-list",onClick:e.onActionClick,children:i.map(e=>(0,D.jsx)(V.tH,{FallbackComponent:ic,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,D.jsx)(O.FlowModelRenderer,{model:e})},e.uid))}),(0,D.jsx)(Q.Ay,{theme:is,children:(0,D.jsx)(ru.A,{type:"vertical"})}),(0,D.jsx)(rk,{}),o?(0,D.jsx)(V.tH,{FallbackComponent:ic,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,D.jsx)(O.FlowModelRenderer,{model:o})},o.uid):null]})});ih.displayName="TopbarActionsContent";let im=A.memo(e=>{let{token:t}=X.A.useToken(),l=t,[r,n]=(0,A.useState)(!1),i=(0,A.useCallback)(()=>{n(!1)},[]);return e.isMobile?(0,D.jsx)(lq.A,{rootClassName:ia,content:(0,D.jsx)(ih,{actions:e.actions,onActionClick:i}),color:l.colorBgHeader,trigger:"click",open:r,onOpenChange:n,children:(0,D.jsx)("div",{style:{padding:"0 16px",display:"flex",alignItems:"center",height:"100%",marginRight:-16},children:(0,D.jsx)(lL.A,{style:{color:l.colorTextHeaderMenu,fontSize:20}})})}):(0,D.jsx)(ih,{actions:e.actions})});im.displayName="TopbarActionsBar";let ig=e=>{let{children:t,model:l}=e,r=(0,O.useFlowEngine)(),n=(0,W.n)(),i=(0,K.useNavigate)(),o=(0,K.useLocation)(),a=(0,K.useMatches)(),[s,d]=(0,A.useState)(!1),u=(0,A.useRef)(!1),c=r.context.routeRepository,p=null==l?void 0:l.layout,h=null==p?void 0:p.uid,f=null==p?void 0:p.routeName,m=null==p?void 0:p.routePath,g=null==p?void 0:p.authCheck,v=(0,A.useMemo)(()=>{if(h||f||m||void 0!==g)return{authCheck:g,routeName:f,routePath:m||"",uid:h}},[g,f,m,h]),y=ty(v),b=(null==v?void 0:v.routeName)||"admin",x=(0,A.useMemo)(()=>({routePath:y}),[y]),w=(0,A.useMemo)(()=>tS(o.pathname,n.router.getBasename())===y,[n,y,o.pathname]),S=(0,A.useMemo)(()=>{var e,t;let l=a[a.length-1];if(!eN(b,null==l?void 0:l.id))return"";let r=a.find(e=>e.id===b);return(null==(e=l.params)?void 0:e.name)||(null==(t=(0,O.parsePathnameToViewParams)(o.pathname,{basePath:(null==r?void 0:r.pathname)||y})[0])?void 0:t.viewUid)||""},[b,y,o.pathname,a]);return((0,A.useEffect)(()=>{u.current=!1},[o.pathname,o.search,o.hash,S]),(0,A.useEffect)(()=>{var e;let t=!0,l=null==c||null==(e=c.activateLayout)?void 0:e.call(c,v);return(async()=>{var e,l,r,o,a;if(d(!1),!w&&!S){t&&d(!0);return}if(!(null==c||null==(e=c.isAccessibleLoaded)?void 0:e.call(c)))try{await (null==c||null==(r=c.ensureAccessibleLoaded)?void 0:r.call(c))}catch(e){t&&d(!0);return}if(!t||u.current)return;if(S){let e=null==c||null==(o=c.getRouteBySchemaUid)?void 0:o.call(c,S);if((null==e?void 0:e.type)===eE.q2.page){let t=tT({app:n,route:e,layout:x,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===t.navigationMode&&t.runtimePath){u.current=!0,window.location.replace(t.runtimePath);return}}let l=e||null==c||null==(a=c.getRouteById)?void 0:a.call(c,S);if(!e&&(null==l?void 0:l.type)===eE.q2.group){let e=tT({app:n,route:l,layout:x});if(e.runtimePath)return(u.current=!0,"document"===e.navigationMode)?window.location.replace(e.runtimePath):i(tS(e.runtimePath,n.router.getBasename()),{replace:!0})}t&&d(!0);return}let s=tj((null==c||null==(l=c.listAccessible)?void 0:l.call(c))||[]);if(!s){t&&d(!0);return}let p=tT({app:n,route:s,layout:x});if(!p.runtimePath){t&&d(!0);return}(u.current=!0,"document"===p.navigationMode)?window.location.replace(p.runtimePath):i(tS(p.runtimePath,n.router.getBasename()),{replace:!0})})(),()=>{t=!1,null==l||l()}},[n,r,w,v,x,o.hash,o.pathname,o.search,i,S,c]),s)?(0,D.jsx)(D.Fragment,{children:t}):null};class iv extends eU{refreshMenuRouteTree(){this.menuRouteRefreshVersion+=1}syncMenuRoutes(e){lF(this,Array.isArray(e)?e:[])}toProLayoutRoute(e){let t=(this.subModels.menuItems||[]).map(t=>t.toProLayoutRoute({...e,depth:0})).filter(Boolean)||[];return e.designable&&(e.isMobile?t.push(lD("schema-initializer-Menu-header",this)):t.unshift(lD("schema-initializer-Menu-header",this))),{path:"/",children:t}}createRouteCoordinator(){return new tI(this.flowEngine,this.getRouteCoordinatorOptions())}render(){return(0,D.jsx)(ig,{model:this,children:(0,D.jsx)(ir,{...this.props,model:this})})}constructor(e){super(e),(0,w._)(this,"menuRouteRefreshVersion",0),(0,N.define)(this,{menuRouteRefreshVersion:N.observable.ref})}}function iy(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=eW(e,t_,{...t,use:t.use||iv});if(!l&&t.required)throw Error("[NocoBase] FlowRoute requires admin-layout-model. Please render FlowRoute under AdminLayout.");return l}function ib(e){let{flowEngine:t,pageUid:l,active:r,refreshDesktopRoutes:n,layoutContentRef:i,getLayoutModel:o}=e,a=o(t),s=(0,A.useRef)(r),d=(0,A.useRef)(n);if(!a)throw Error("[NocoBase] FlowRoute requires layout model. Please render FlowRoute under Layout.");return s.current=r,d.current=n,(0,A.useEffect)(()=>(a.registerRoutePage(l,{active:s.current??!1,refreshDesktopRoutes:d.current,layoutContentElement:i.current}),()=>{a.unregisterRoutePage(l)}),[a,l,i]),(0,A.useEffect)(()=>{a.updateRoutePage(l,{active:r,refreshDesktopRoutes:n,layoutContentElement:i.current})},[r,a,l,n,i]),a}iv.registerFlow({key:"topbarAction",steps:{step1:{handler:async(e,t)=>{let l=[...(await e.engine.getSubclassesOfAsync("TopbarActionModel")).keys()].map(t=>{let l=e.engine.createModel({use:t,uid:`topbar-action-${t}`});return l.setParent(e.model),l});e.model.props.actionsRender=e=>[(0,D.jsx)(im,{actions:l,isMobile:null==e?void 0:e.isMobile},"topbar-actions")]}}}});var ix=l(10159);let iw=e=>{e.context.defineProperty("deviceType",{get:()=>"browser"===ix.deviceType?"computer":ix.deviceType,cache:!1,meta:{type:"string",title:e.translate("Current device type"),interface:"select",uiSchema:{enum:[{label:e.translate("Computer"),value:"computer"},{label:e.translate("Mobile"),value:"mobile"},{label:e.translate("Tablet"),value:"tablet"},{label:e.translate("SmartTv"),value:"smarttv"},{label:e.translate("Console"),value:"console"},{label:e.translate("Wearable"),value:"wearable"},{label:e.translate("Embedded"),value:"embedded"}],"x-component":"Select"}},info:{description:"Current device type (computer/mobile/tablet/...).",detail:"string"}})},iS=e=>iy(e,{required:!0}),iA=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.uid)?eW(e,l.uid,{required:!0}):iS(e)},iM=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.routeName)&&"admin"!==l.routeName?"notFound":"redirect"},iF=e=>(null==e?void 0:e.authCheck)!==!1,ik=(e,t)=>{if(Array.isArray(e))for(let l of e){if(l.type!==eE.q2.group&&l.schemaUid===t||l.type===eE.q2.group&&null!=l.id&&String(l.id)===t)return l;let e=ik(l.children,t);if(e)return e}},iC=(e,t)=>{var l,r;let n=null==e||null==(l=e.getRouteBySchemaUid)?void 0:l.call(e,t);return n&&n.type!==eE.q2.group?n:ik(null==e||null==(r=e.listAccessible)?void 0:r.call(e),t)},iP=async(e,t)=>{var l;if(e.getModel(t))return!0;let r=await (null==(l=e.modelRepository)?void 0:l.findOne({uid:t}).catch(()=>null));if(null==r?void 0:r.uid)return!0;let n=await e.loadModel({uid:t}).catch(()=>null);return n&&e.getModel(t)===n&&e.removeModelWithSubModels(t),!!n},ij=e=>{let{pageUid:t,active:l,getLayoutModel:r}=e,n=(0,O.useFlowEngine)(),{active:i}=(0,rt.Y)(),o=n.context.routeRepository,a=A.useMemo(()=>null==o?void 0:o.refreshAccessible.bind(o),[o]),s=(0,A.useRef)(null);return(0,A.useEffect)(()=>{n.context.getPropertyOptions("deviceType")||iw(n)},[n]),ib({flowEngine:n,pageUid:t,active:l??i,refreshDesktopRoutes:a,layoutContentRef:s,getLayoutModel:r}),(0,D.jsx)("div",{ref:s})},iE=(e,t)=>{let l=e.getPublicPath(),r=window.location.pathname.startsWith(l)?window.location:t,n=r.pathname.startsWith(l)?r.pathname.slice(l.length):r.pathname.replace(/^\/+/,"");return`${tt(l)}${n}${r.search}${r.hash}`},iR=e=>{let{app:t,location:l}=e,{t:r}=(0,eG.B)(),n=`/${te()}/`,i=e=>e.replaceAll("{{modernClientPath}}",n);return(0,D.jsx)(eH.Ay,{status:"warning",title:i(r("This page is not supported in the {{modernClientPath}} branch")),subTitle:i(r("The {{modernClientPath}} branch only supports new pages. This page is a legacy page. Please open it from the original entry.")),extra:(0,D.jsx)(eY.Ay,{href:iE(t,l),type:"primary",children:r("Open from the original entry")})})},iT=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{active:t,getLayoutModel:l,legacyPageBehavior:r,pageUid:n}=e,i=(0,O.useFlowEngine)(),o=(0,O.useFlowContext)(),a=null==o?void 0:o.layout,s=(0,A.useMemo)(()=>null==l?void 0:l(i),[i,l]),d=a||(null==s?void 0:s.layout),u=null==d?void 0:d.uid,c=null==d?void 0:d.routeName,p=null==d?void 0:d.routePath,h=null==d?void 0:d.authCheck,f=(0,A.useMemo)(()=>{if(u||c||p||void 0!==h)return{authCheck:h,routeName:c,routePath:p,uid:u}},[h,c,p,u]),m=(0,A.useMemo)(()=>l||(e=>iA(e,f)),[l,f]),g=r||iM(i,f),v=(0,W.n)(),y=(0,K.useLocation)(),b=(0,K.useNavigate)(),x=i.context.routeRepository,w=(0,K.useParams)(),S=n||(null==w?void 0:w.name),M=void 0!==(null==w?void 0:w.tabUid)||void 0!==(null==w?void 0:w["*"]),F=!x,[k,C]=(0,A.useState)({pageUid:void 0,pending:!0,allowBridge:!1,notFound:!1}),P=(0,A.useRef)(!1),j=(0,A.useRef)(0);if(!S)throw Error("[NocoBase] FlowRoute requires pageUid or route.params.name.");return(0,A.useEffect)(()=>{P.current=!1},[y.hash,y.pathname,y.search,S]),(0,A.useEffect)(()=>{let e=!0,t=++j.current,l=iF(f);return(async()=>{var r,n,o,a;if(C({pageUid:S,pending:!0,allowBridge:!1,notFound:!1}),l&&!F&&!(null==x||null==(r=x.isAccessibleLoaded)?void 0:r.call(x)))try{await (null==x||null==(n=x.ensureAccessibleLoaded)?void 0:n.call(x))}catch(l){e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:!0,notFound:!1});return}if(!e||t!==j.current)return;let s=F||!l?void 0:iC(x,S);if(!s&&!F&&l)return C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});if(!s&&"notFound"===g){let l=await iP(i,S);e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:l,notFound:!l});return}if((null==s?void 0:s.type)===eE.q2.group){if(M)return C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});let e=tT({app:v,route:s,layout:f});return"emptyGroup"===e.reason?C({pageUid:S,pending:!1,allowBridge:!1,notFound:!1}):e.runtimePath?P.current?C({pageUid:S,pending:!1,allowBridge:!1,notFound:!1}):(P.current=!0,"document"===e.navigationMode)?window.location.replace(e.runtimePath):b(tS(e.runtimePath,null==(a=v.router)||null==(o=a.getBasename)?void 0:o.call(a)),{replace:!0}):C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0})}if((null==s?void 0:s.type)===eE.q2.page){if("notFound"===g)return C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});if("bridge"===g)return C({pageUid:S,pending:!1,allowBridge:!0,notFound:!1});let l=tT({app:v,route:s,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===l.navigationMode&&l.runtimePath&&!P.current){P.current=!0,window.location.replace(l.runtimePath);return}if("unsupportedV2Runtime"===l.reason){e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:!1,notFound:!1,legacyPageUnsupported:!0});return}}e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:!0,notFound:!1})})(),()=>{e=!1}},[v,i,M,g,b,S,f,x,F]),(0,A.useMemo)(()=>k.pageUid!==S||k.pending?null:k.notFound?(0,D.jsx)(ec.bM,{}):k.legacyPageUnsupported?(0,D.jsx)(iR,{app:v,location:y}):k.allowBridge?(0,D.jsx)(ij,{pageUid:S,active:t,getLayoutModel:m}):null,[t,v,m,k.allowBridge,k.legacyPageUnsupported,k.notFound,k.pageUid,k.pending,y,S])};iT.displayName="FlowRoute";let iI=iT,i_=e=>e.current,iD=e=>{let{layoutRouteName:t}=e,l=(0,W.n)(),r=(0,O.useFlowEngine)(),n=l.layoutManager.getLayout(t),i=(0,K.useLocation)(),o=(0,K.useMatches)(),a=eW(r,n.uid,{required:!0}),s="admin"===n.routeName?"redirect":"notFound",d=(0,A.useRef)(0),u=(0,A.useMemo)(()=>{let e=o[o.length-1],t=o.find(e=>e.id===n.routeName);return{id:null==e?void 0:e.id,name:null==e?void 0:e.id,pathname:i.pathname,state:i.state,params:(null==e?void 0:e.params)||{},layoutRouteName:n.routeName,layoutBasePathname:null==t?void 0:t.pathname}},[n.routeName,i.pathname,i.state,o]);if(!a)throw Error(`[NocoBase] Layout '${n.routeName}' model '${n.uid}' is not mounted.`);let c=a.resolveLayoutRoute(u),p=(0,A.useMemo)(()=>e=>eW(e,n.uid,{required:!0}),[n.uid]);return((0,A.useEffect)(()=>{let e=++d.current;return a.syncLayoutRoute(u),()=>{Promise.resolve().then(()=>{i_(d)===e&&a.clearLayoutRoute(u)}).catch(()=>{})}},[a,u]),"root"===c.type)?null:"notFound"===c.type?(0,D.jsx)(ec.bM,{}):(0,D.jsx)(iI,{pageUid:c.pageUid,getLayoutModel:p,legacyPageBehavior:s})};l(42196);var iN=l(66466),iO=l(42441);function i$(e){return(0,D.jsx)(n_.A,{...e,children:(0,D.jsx)(iO.A,{paragraph:{rows:3}})})}let iB=e=>e.current;function iL(e){return e===eU||(0,O.isInheritedFrom)(e,eU)}function iq(e,t){if(!(e instanceof eU))throw Error(`[NocoBase] Layout '${t.routeName}' requires model '${t.uid}' to be an instance of BaseLayoutModel.`)}async function iV(e,t){let l=await e.getModelClassAsync(t.layoutModelClass);if(!l)throw Error(`[NocoBase] Layout '${t.routeName}' model class '${t.layoutModelClass}' is not registered.`);if(!iL(l))throw Error(`[NocoBase] Layout '${t.routeName}' model class '${t.layoutModelClass}' must extend BaseLayoutModel.`)}let iz=e=>{let{layoutRouteName:t}=e,l=(0,W.n)(),r=(0,O.useFlowEngine)(),n=l.layoutManager.getLayout(t),i=(0,K.useLocation)(),o=(0,K.useMatches)(),a=o[o.length-1],s=o.find(e=>e.id===n.routeName),d=JSON.stringify((null==a?void 0:a.params)||{}),u=(0,A.useMemo)(()=>JSON.parse(d),[d]),c=(0,A.useRef)(0),p=(0,A.useMemo)(()=>({id:null==a?void 0:a.id,name:null==a?void 0:a.id,pathname:i.pathname,state:i.state,params:u,layoutRouteName:n.routeName,layoutBasePathname:null==s?void 0:s.pathname}),[null==a?void 0:a.id,u,n.routeName,null==s?void 0:s.pathname,i.pathname,i.state]),{loading:h,data:f,error:m}=(0,iN.A)(async()=>{let e=r.getModel(n.uid);if(e)return iq(e,n),e.setProps({layout:n}),e;await iV(r,n);let t=await r.createModelAsync({uid:n.uid,use:n.layoutModelClass,props:{layout:n}});return iq(t,n),t},{refreshDeps:[r,n]});if((0,A.useEffect)(()=>{if(!f)return;let e=++c.current;return f.syncLayoutRoute(p),()=>{Promise.resolve().then(()=>{iB(c)===e&&f.clearLayoutRoute(p)}).catch(()=>{})}},[f,p]),m)throw m;return h||!f?(0,D.jsx)(i$,{style:{margin:16}}):(0,D.jsx)(O.FlowModelRenderer,{model:f})},iK="RootPageModel",iU="ChildPageModel",iW=(e,t)=>{if("string"!=typeof e||""===e.trim())throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a non-empty string.`)},iH=(e,t)=>{if("string"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a string.`)},iY=(e,t)=>{void 0!==e&&iW(e,t)},iG=(e,t)=>{if(void 0!==e&&"boolean"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a boolean.`)};function iJ(e){if(e.includes("..")||e.startsWith(".")||e.endsWith("."))throw Error(`[NocoBase] layoutManager.registerLayout() received invalid routeName '${e}'.`)}function iX(e,t){let l=t.trim(),r=e.includes(".");if(r&&l.startsWith("/"))throw Error(`[NocoBase] nested layout routePath '${t}' must be relative.`);let n=r?l.replace(/^\/+/,"").replace(/\/+$/,""):`/${l.replace(/^\/+/,"").replace(/\/+$/,"")}`;if(!r&&(!n||"/"===n))throw Error("[NocoBase] layoutManager.registerLayout() does not support root routePath '/'.");if(n.includes("*"))throw Error(`[NocoBase] layoutManager.registerLayout() does not support wildcard routePath '${t}'.`);return n}function iQ(e){iW(e.routeName,"routeName"),iH(e.routePath,"routePath"),iW(e.uid,"uid"),iW(e.layoutModelClass,"layoutModelClass"),iY(e.rootPageModelClass,"rootPageModelClass"),iY(e.childPageModelClass,"childPageModelClass"),iG(e.authCheck,"authCheck"),iJ(e.routeName);let t=iX(e.routeName,e.routePath);return{routeName:e.routeName,rootRouteName:e.routeName.split(".")[0],routePath:t,uid:e.uid,layoutModelClass:e.layoutModelClass,rootPageModelClass:e.rootPageModelClass||iK,childPageModelClass:e.childPageModelClass||iU,authCheck:e.authCheck??!0}}class iZ{registerLayout(e){let t=iQ(e);if(this.layouts.has(t.routeName))throw Error(`[NocoBase] Layout '${t.routeName}' has already been registered.`);let l=this.uidIndex.get(t.uid);if(l)throw Error(`[NocoBase] Layout uid '${t.uid}' has already been registered by '${l}'.`);return this.layouts.set(t.routeName,t),this.uidIndex.set(t.uid,t.routeName),this.addStandardRoutes(t),t}getLayout(e){let t=this.layouts.get(e);if(!t)throw Error(`[NocoBase] Layout '${e}' is not registered.`);return t}hasLayout(e){return this.layouts.has(e)}listLayouts(){return Array.from(this.layouts.values())}addStandardRoutes(e){let t=e.routeName,l=e.authCheck,r=!1===l;this.app.router.add(t,{path:e.routePath,authCheck:l,skipAuthCheck:r,element:(0,D.jsx)(iz,{layoutRouteName:e.routeName})}),this.app.router.add(eR(t),{path:":name",authCheck:l,skipAuthCheck:r,element:(0,D.jsx)(iD,{layoutRouteName:e.routeName})}),this.app.router.add(eT(t),{path:":name/tab/:tabUid",authCheck:l,skipAuthCheck:r,element:(0,D.jsx)(iD,{layoutRouteName:e.routeName})}),this.app.router.add(eI(t),{path:":name/view/*",authCheck:l,skipAuthCheck:r,element:(0,D.jsx)(iD,{layoutRouteName:e.routeName})}),this.app.router.add(e_(t),{path:":name/tab/:tabUid/view/*",authCheck:l,skipAuthCheck:r,element:(0,D.jsx)(iD,{layoutRouteName:e.routeName})})}constructor(e){(0,w._)(this,"app",void 0),(0,w._)(this,"layouts",new Map),(0,w._)(this,"uidIndex",new Map),this.app=e}}class i0{activateLayout(e){let t=this.normalizeLayoutUid(null==e?void 0:e.uid),l=Symbol("route-layout");return this.layoutActivations.push({token:l,uid:t}),this.syncRoutesProperty(),()=>{let e=this.layoutActivations.findIndex(e=>e.token===l);e>=0&&this.layoutActivations.splice(e,1),this.syncRoutesProperty()}}setRoutes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getCurrentLayoutUid(),l=this.getRouteCache(t);l.routes=e,l.accessibleLoaded=!0,t===this.getCurrentLayoutUid()&&(this.routes=e),this.emitChange(t)}listAccessible(){let e=this.getRouteCache(this.getReadableLayoutUid()).routes;return this.routes=e,e}isAccessibleLoaded(){return this.getRouteCache().accessibleLoaded}async refreshAccessible(){let e=this.getCurrentLayoutUid();return this.refreshAccessibleByLayout(e)}async refreshAccessibleByLayout(e){var t;let l=this.nextRefreshRequestId(e),r=await this.getAPIClient().request({url:"/desktopRoutes:listAccessible",params:{tree:!0,sort:"sort",layout:e}}),n=(null==r||null==(t=r.data)?void 0:t.data)||[];return l===this.getRefreshRequestId(e)&&this.setRoutes(n,e),n}async ensureAccessibleLoaded(){let e=this.getCurrentLayoutUid(),t=this.getRouteCache(e);if(t.accessibleLoaded)return this.routes=t.routes,t.routes;let l=this.accessibleLoadingPromises.get(e);if(l)return l;let r=this.refreshAccessibleByLayout(e).finally(()=>{this.accessibleLoadingPromises.get(e)===r&&this.accessibleLoadingPromises.delete(e)});return this.accessibleLoadingPromises.set(e,r),r}subscribe(e){return this.subscribers.set(e,this.getCurrentLayoutUid()),()=>{this.subscribers.delete(e)}}unsubscribe(e){this.subscribers.delete(e)}async createRoute(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{refreshAfterMutation:l=!0}=t,r=await this.getResource("desktopRoutes").create({values:e,layout:this.getCurrentLayoutUid()});return l&&await this.refreshAccessible(),r}async updateRoute(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{refreshAfterMutation:r=!0}=l,n=await this.getResource("desktopRoutes").update(Array.isArray(e)?{filter:{id:{$in:e}},values:t}:{filterByTk:e,values:t});return r&&await this.refreshAccessible(),n}async deleteRoute(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{refreshAfterMutation:l=!0}=t,r=await this.getResource("desktopRoutes").destroy({filterByTk:e});return l&&await this.refreshAccessible(),r}async moveRoute(e){let{refreshAfterMove:t=!0,...l}=e,r=await this.getResource("desktopRoutes").move(l);return t&&await this.refreshAccessible(),r}getRouteBySchemaUid(e){return this.findRoute(this.listAccessible(),e)}getRouteById(e){return this.findRouteById(this.listAccessible(),e)}getAPIClient(){var e;if(!(null==(e=this.ctx)?void 0:e.api))throw Error("[NocoBase] RouteRepository requires context.api.");return this.ctx.api}getResource(e){return this.getAPIClient().resource(e)}emitChange(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getCurrentLayoutUid();this.subscribers.forEach((t,l)=>{if(t!==e)return;let r=this.notifiedLayoutUid;this.notifiedLayoutUid=e;try{l()}finally{this.notifiedLayoutUid=r}})}getCurrentLayoutUid(){var e;return(null==(e=this.layoutActivations[this.layoutActivations.length-1])?void 0:e.uid)||t_}normalizeLayoutUid(e){return"string"==typeof e&&e.trim()?e:t_}getReadableLayoutUid(){return this.notifiedLayoutUid||this.getCurrentLayoutUid()}getRouteCache(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getCurrentLayoutUid(),t=this.routeCaches.get(e);return t||(t={accessibleLoaded:!1,routes:[]},this.routeCaches.set(e,t)),t}syncRoutesProperty(){this.routes=this.getRouteCache().routes}nextRefreshRequestId(e){let t=this.getRefreshRequestId(e)+1;return this.refreshRequestIds.set(e,t),t}getRefreshRequestId(e){return this.refreshRequestIds.get(e)||0}findRoute(e,t){for(let l of e){if(l.schemaUid===t)return l;if(l.children){let e=this.findRoute(l.children,t);if(e)return e}}}findRouteById(e,t){for(let l of e){if(null!=l.id&&String(l.id)===String(t))return l;if(l.children){let e=this.findRouteById(l.children,t);if(e)return e}}}constructor(e){(0,w._)(this,"ctx",void 0),(0,w._)(this,"routes",void 0),(0,w._)(this,"subscribers",void 0),(0,w._)(this,"accessibleLoadingPromises",void 0),(0,w._)(this,"layoutActivations",void 0),(0,w._)(this,"routeCaches",void 0),(0,w._)(this,"refreshRequestIds",void 0),(0,w._)(this,"notifiedLayoutUid",void 0),this.ctx=e,this.routes=[],this.subscribers=new Map,this.accessibleLoadingPromises=new Map,this.layoutActivations=[],this.routeCaches=new Map,this.refreshRequestIds=new Map}}class i1{getURL(){if(!this.app)return;let e=this.app.getApiUrl();if(!e)return;let t="";if(this.getSubAppName(this.app))t=`?_app=${this.getSubAppName(this.app)}`;else{let e=(0,S.xW)(this.app.getPublicPath());t=e?`?__appName=${e}`:""}let l=this.options.basename||"/ws";if(this.options.url){let e=new URL(this.options.url);if("localhost"===e.hostname){let r="https:"===location.protocol?"wss":"ws";return`${r}://${location.hostname}:${e.port}${l}${t}`}return`${this.options.url}${t}`}try{let r=new URL(e);return`${"https:"===r.protocol?"wss":"ws"}://${r.host}${l}${t}`}catch(e){return`${"https:"===location.protocol?"wss":"ws"}://${location.host}${l}${t}`}}get reconnectAttempts(){var e;return(null==(e=this.options)?void 0:e.reconnectAttempts)||30}get reconnectInterval(){var e;return(null==(e=this.options)?void 0:e.reconnectInterval)||1e3}get pingInterval(){var e;return(null==(e=this.options)?void 0:e.pingInterval)||3e5}get readyState(){return this._ws?this._ws.readyState:-1}createWebSocket(){return new WebSocket(this.getURL(),this.options.protocols)}connect(){let e;if(!this.enabled||(0===this._reconnectTimes&&console.log("[nocobase-ws]: connecting..."),this._reconnectTimes>=this.reconnectAttempts||this.readyState===WebSocket.OPEN))return;this._reconnectTimes++;let t=this.createWebSocket();t.onopen=()=>{for(let{type:e,listener:l,options:r}of(console.log("[nocobase-ws]: connected."),this.serverDown=!1,this._ws&&this.removeAllListeners(),this._reconnectTimes=0,this._ws=t,this.events))this._ws.addEventListener(e,l,r);e=setInterval(()=>this.send("ping"),this.pingInterval),this.connected=!0,this.emit("open",{})},t.onerror=async()=>{console.log("onerror",this.readyState,this._reconnectTimes)},t.onclose=async t=>{setTimeout(()=>this.connect(),this.reconnectInterval),console.log("onclose",this.readyState,this._reconnectTimes,this.serverDown),this.connected=!1,clearInterval(e)}}reconnect(){this._reconnectTimes=0,this.connect()}close(){if(this._ws)return this._reconnectTimes=this.reconnectAttempts,this._ws.close()}send(e){if(this._ws)return this._ws.send(e)}on(e,t,l){this.events.push({type:e,listener:t,options:l}),this._ws&&this._ws.addEventListener(e,t,l)}emit(e,t){for(let l of this.events)l.type===e&&l.listener(t)}off(e,t,l){let r=0;for(let l of this.events){if(l.type===e&&l.listener===t){this.events.splice(r,1);break}r++}this._ws&&this._ws.removeEventListener(e,t,l)}removeAllListeners(){if(this._ws)for(let{type:e,listener:t,options:l}of this.events)this._ws.removeEventListener(e,t,l)}constructor(e){if((0,w._)(this,"_ws",void 0),(0,w._)(this,"_reconnectTimes",0),(0,w._)(this,"events",[]),(0,w._)(this,"options",void 0),(0,w._)(this,"app",void 0),(0,w._)(this,"enabled",void 0),(0,w._)(this,"connected",!1),(0,w._)(this,"serverDown",!1),(0,w._)(this,"lastMessage",{}),(0,w._)(this,"getSubAppName",e=>{let t=e.getPublicPath(),l=`^${t}_app/([^/]*)/`,r=location.pathname.match(new RegExp(l));return r?r[1]:null}),!e){this.enabled=!1;return}this.options=!0===e?{}:e,this.enabled=!0,(0,N.define)(this,{serverDown:N.observable.ref,connected:N.observable.ref,lastMessage:N.observable.ref})}}function i2(){"use strict";function e(e){for(var t=[],l=0,r=e.length;l<r;l++)-1===t.indexOf(e[l])&&t.push(e[l]);return t}function t(e,t){return JSON.stringify(e)===JSON.stringify(t)}Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var l={},r={$is:function(e,t){return e===t},$match:function(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.some(e=>Array.isArray(e))?e.some(e=>(null==e?void 0:e.length)===t.length&&(null==e?void 0:e.every((e,l)=>e===t[l]))):JSON.stringify(e)===JSON.stringify(t)},$eq:function(e,l){return Array.isArray(e)&&Array.isArray(l)?t(e,l):Array.isArray(e)?e.includes(l):e==l},$ne:function(e,t){return e!=t},"!==":function(e,t){return e!==t},$gt:function(e,t){return Array.isArray(e)?e.some(e=>e>t):e>t},$gte:function(e,t){return e>=t},$lt:function(e,t,l){return Array.isArray(e)?e.some(e=>e<t):void 0===l?e<t:e<t&&t<l},$lte:function(e,t,l){return void 0===l?e<=t:e<=t&&t<=l},$exists:function(e){return l.truthy(e)},$notEmpty:function(e){return!r.$empty(e)},$empty:function(e){return Array.isArray(e)||"string"==typeof e?0===e.length:null==e},$notExists:function(e){return!l.truthy(e)},"%":function(e,t){return e%t},log:function(e){return e},$in:function(e,t){return!!t&&void 0!==t.indexOf&&(Array.isArray(e)&&Array.isArray(t)?t.some(t=>e.includes(t)):-1!==t.indexOf(e))},$notIn:function(e,t){return!!t&&void 0!==t.indexOf&&-1===t.indexOf(e)},$includes:function(e,t){return!!e&&void 0!==e.indexOf&&(Array.isArray(e)?e.some(e=>null==e?void 0:e.includes(t)):-1!==e.indexOf(t))},$notIncludes:function(e,t){return Array.isArray(e)?!e.some(e=>(e||"").includes(t)):!(e=e||"").includes(t)},$anyOf:function(e,t){return null!=e&&0!==e.length&&(Array.isArray(e)&&Array.isArray(t)&&e.some(e=>Array.isArray(e))?e.some(e=>e.some(e=>t.includes(e))):e.some(e=>t.includes(e)))},$noneOf:function(e,t){return!e||0===e.length||!t||0===t.length||(Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]),!t.some(t=>e.includes(t)))},$notMatch:function(e,t){if((null==e?void 0:e.length)!==(null==t?void 0:t.length))return!0;for(let l=0;l<((null==e?void 0:e.length)||0);l++)if((null==e?void 0:e[l])!==(null==t?void 0:t[l]))return!0;return!1},$dateOn:function(e,t){if(!e||!t)return!1;if(t.type&&(t=(0,ea.getDayRangeByParams)(t)),Array.isArray(t))return r.$dateBetween(e,t);let l=i8(e),n=i8(t);return!!l&&!!n&&l.getTime()===n.getTime()},$dateBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ea.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=i8(e),r=i8(t);return!!l&&!!r&&l.getTime()<r.getTime()},$dateNotBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ea.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=i8(e),r=i8(t);if(!l||!r)throw Error("Invalid date format");return l.getTime()>=r.getTime()},$dateAfter:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ea.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=i8(e),r=i8(t);return l.getTime()>r.getTime()},$dateNotAfter:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ea.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=i8(e),r=i8(t);if(!l||!r)throw Error("Invalid date format");return l.getTime()<=r.getTime()},$dateBetween:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ea.getDayRangeByParams)(t));let l=i8(e),r=i4(t[0]),n=i4(t[1]);if(!l||!r||!n)throw Error("Invalid date format");return l.getTime()>=r.getTime()&&l.getTime()<=n.getTime()},$dateNotOn:function(e,t){if(!e||!t)return!1;if(t.type&&(t=(0,ea.getDayRangeByParams)(t)),Array.isArray(t))return!r.$dateBetween(e,t);let l=i8(e),n=i8(t);return l.getTime()!==n.getTime()},$isTruly:function(e){return Array.isArray(e)?e.some(e=>!0===e||1===e):!0===e||1===e},$isFalsy:function(e){return Array.isArray(e)?e.some(e=>!l.truthy(e)):!l.truthy(e)},cat:function(){return Array.prototype.join.call(arguments,"")},substr:function(e,t,l){if(l<0){var r=String(e).substr(t);return r.substr(0,r.length+l)}return String(e).substr(t,l)},"+":function(){return Array.prototype.reduce.call(arguments,function(e,t){return parseFloat(e,10)+parseFloat(t,10)},0)},"*":function(){return Array.prototype.reduce.call(arguments,function(e,t){return parseFloat(e,10)*parseFloat(t,10)})},"-":function(e,t){return void 0===t?-e:e-t},"/":function(e,t){return e/t},min:function(){return Math.min.apply(this,arguments)},max:function(){return Math.max.apply(this,arguments)},merge:function(){return Array.prototype.reduce.call(arguments,function(e,t){return e.concat(t)},[])},var:function(e,t){var l=void 0===t?null:t,r=this;if(void 0===e||""===e||null===e)return r;for(var n=String(e).split("."),i=0;i<n.length;i++)if(null==r||void 0===(r=r[n[i]]))return l;return r},missing:function(){for(var e=[],t=Array.isArray(arguments[0])?arguments[0]:arguments,r=0;r<t.length;r++){var n=t[r],i=l.apply({var:n},this);(null===i||""===i)&&e.push(n)}return e},missing_some:function(e,t){var r=l.apply({missing:t},this);return t.length-r.length>=e?[]:r}};return l.is_logic=function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&1===Object.keys(e).length&&!e.type},l.truthy=function(e){return(!Array.isArray(e)||0!==e.length)&&!!e},l.getOperator=function(e){return Object.keys(e)[0]},l.getValues=function(e){return e[l.getOperator(e)]},l.apply=function(e,t){if(Array.isArray(e))return e.map(function(e){return l.apply(e,t)});if(!l.is_logic(e))return e;var n,i,o,a,s,d=l.getOperator(e),u=e[d];if(Array.isArray(u)||(u=[u]),"if"===d||"?:"==d){for(n=0;n<u.length-1;n+=2)if(l.truthy(l.apply(u[n],t)))return l.apply(u[n+1],t);return u.length===n+1?l.apply(u[n],t):null}if("$and"===d){for(n=0;n<u.length&&(i=l.apply(u[n],t),l.truthy(i));n+=1);return i}if("or"===d){for(n=0;n<u.length&&(i=l.apply(u[n],t),!l.truthy(i));n+=1);return i}if("filter"===d)return(a=l.apply(u[0],t),o=u[1],Array.isArray(a))?a.filter(function(e){return l.truthy(l.apply(o,e))}):[];if("map"===d)return(a=l.apply(u[0],t),o=u[1],Array.isArray(a))?a.map(function(e){return l.apply(o,e)}):[];else if("reduce"===d)return(a=l.apply(u[0],t),o=u[1],s=void 0!==u[2]?u[2]:null,Array.isArray(a))?a.reduce(function(e,t){return l.apply(o,{current:t,accumulator:e})},s):s;else if("all"===d){if(a=l.apply(u[0],t),o=u[1],!Array.isArray(a)||!a.length)return!1;for(n=0;n<a.length;n+=1)if(!l.truthy(l.apply(o,a[n])))return!1;return!0}else if("none"===d){if(a=l.apply(u[0],t),o=u[1],!Array.isArray(a)||!a.length)return!0;for(n=0;n<a.length;n+=1)if(l.truthy(l.apply(o,a[n])))return!1;return!0}else if("some"===d){if(a=l.apply(u[0],t),o=u[1],!Array.isArray(a)||!a.length)return!1;for(n=0;n<a.length;n+=1)if(l.truthy(l.apply(o,a[n])))return!0;return!1}if(u=u.map(function(e){return l.apply(e,t)}),Object.prototype.hasOwnProperty.call(r,d)&&"function"==typeof r[d])return r[d].apply(t,u);if(d.indexOf(".")>0){var c=String(d).split("."),p=r;for(n=0;n<c.length;n++){if(!Object.prototype.hasOwnProperty.call(p,c[n]))throw Error("Unrecognized operation "+d+" (failed at "+c.slice(0,n+1).join(".")+")");p=p[c[n]]}return p.apply(t,u)}throw Error("Unrecognized operation "+d)},l.uses_data=function(t){var r=[];if(l.is_logic(t)){var n=l.getOperator(t),i=t[n];Array.isArray(i)||(i=[i]),"var"===n?r.push(i[0]):i.forEach(function(e){r.push.apply(r,l.uses_data(e))})}return e(r)},l.addOperation=function(e,t){r[e]=t},l.rmOperation=function(e){delete r[e]},l.rule_like=function(e,t){if(t===e||"@"===t)return!0;if("number"===t)return"number"==typeof e;if("string"===t)return"string"==typeof e;if("array"===t)return Array.isArray(e)&&!l.is_logic(e);if(l.is_logic(t)){if(l.is_logic(e)){var r=l.getOperator(t),n=l.getOperator(e);if("@"===r||r===n)return l.rule_like(l.get_values(e,!1),l.get_values(t,!1))}return!1}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(var i=0;i<t.length;i+=1)if(!l.rule_like(e[i],t[i]))return!1;return!0}return!1},l}function i4(e){return new Date(e.includes("T")&&e.endsWith("Z")?e:e.includes(" ")?e.replace(" ","T"):`${e}T00:00:00`)}function i6(e){let[t,l]=e.split("-").map(Number);return new Date(t,l-1)}function i3(e){return new Date(parseInt(e.slice(0,4)),(parseInt(e.slice(5,6))-1)*3)}function i5(e){return new Date(parseInt(e),0)}function i8(e){let t=Array.isArray(e)?e[1]??e[0]:e;if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(t))return new Date(t);if(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(t))return new Date(t.replace(" ","T"));if(/^\d{4}-\d{2}-\d{2}$/.test(t))return i4(t);if(/^\d{4}-\d{2}$/.test(t))return i6(t);if(/^\d{4}Q[1-4]$/.test(t))return i3(t);else if(/^\d{4}$/.test(t))return i5(t);return null}l(38263);var i9=l(42524),i7=l(89286),oe=l(36194),ot=l(52582),ol=l(20419),or=l(78880),on=l(27253);l(86171),l(59056),l(19875);var oi=l(43886),oo=l(5900),oa=l(2543);function os(e,t){let l=t.split("."),r=e;for(let e=0;e<l.length&&null!=r;e++){let t=l[e],n=t.match(/^\d+$/);!Array.isArray(r)||n||r[t]||(r[t]=r.map(e=>e[t]).flat()),r=null==r?void 0:r[t]}}function od(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=(0,oa.cloneDeep)(l),n={},i={},o=0;return this(t.trim().replace(/{{\s*([\w$.-]+)\s*}}/g,(t,l)=>{if(l.startsWith("this."))return`{{${l}}}`;os(r,l);let a=(0,oa.get)(r,l)??null;"function"==typeof a&&(a=a());let s=i[l];return s||(s=`$$${o++}`,i[l]=s,n[s]=a),e.replaceValue?`${null==a||"number"==typeof a&&(Number.isNaN(a)||!Number.isFinite(a))?"":a}`:s}),n)}let ou={label:"Math.js",tooltip:"{{t('Math.js comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types.')}}",link:"MATHJS_DOC_URL",evaluate:od.bind(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=oi._3(e,t);return"number"==typeof l?Number.isNaN(l)||!Number.isFinite(l)?null:oo.LIG(l,9):l instanceof oo.uqu?l.toArray():l},{replaceKey:!0})};var oc=l(8558);l(67980);let op=Object.keys(oc).filter(e=>"default"!==e);function oh(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=Object.create(null);for(let e of op)l[e]=oc[e];if(e&&"object"==typeof e)for(let[t,r]of Object.entries(e))l[t]=r;for(let e of t)l[e]=void 0;return l}function of(e,t,l){return new Compartment(oh(t,l.blockedIdentifiers)).evaluate(e)}function om(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={blockedIdentifiers:e.blockedIdentifiers};return od.bind(function(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=of(e,l,t);return"number"==typeof r?Number.isNaN(r)||!Number.isFinite(r)?null:(0,oo.LIG)(r,9):r},{})}om();let og={label:"Formula.js",tooltip:'{{t("Formula.js supports most Microsoft Excel formula functions.")}}',link:"FORMULAJS_DOC_URL",evaluate:om({blockedIdentifiers:[...ea.BASE_BLOCKED_IDENTIFIERS,"window","document","parent","top","frames","navigator","location","localStorage","sessionStorage"]})},ov={label:"{{t('String template')}}",tooltip:"{{t('Simple string replacement, can be used to interpolate variables in a string.')}}",evaluate:od.bind(function(e){return arguments.length>1&&void 0!==arguments[1]&&arguments[1],e},{replaceValue:!0})},oy=new ea.Registry;function ob(){return Array.from(oy.getEntities()).reduce((e,t)=>{let[l,r]=t;return e.concat({value:l,...r})},[])}oy.register("formula.js",og),oy.register("math.js",ou),oy.register("string",ov);let ox=oy;var ow=l(67377),oS=l(74172),oA=l(4213),oM=l(88909),oF=l(72635),ok=l(68984),oC=l(43627);function oP(e,t,l){e.define(t,()=>l),window.__nocobase_app_dev__&&(window.__nocobase_app_dev_deps__=window.__nocobase_app_dev_deps__||{},window.__nocobase_app_dev_deps__[t]=l)}function oj(e){oP(e,"react",A),oP(e,"react-dom",lz),oP(e,"react/jsx-runtime",D),oP(e,"react-router",K),oP(e,"react-router-dom",z),oP(e,"antd",oS),oP(e,"@ant-design/icons",i7),oP(e,"@ant-design/cssinjs",i9),oP(e,"antd-style",oe),oP(e,"i18next",oF),oP(e,"react-i18next",ok),oP(e,"@formily/antd-v5",ol),oP(e,"@formily/core",or),oP(e,"@formily/react",rd),oP(e,"@formily/reactive",N),oP(e,"@formily/shared",on),oP(e,"@nocobase/utils",ea),oP(e,"@nocobase/utils/client",ea),oP(e,"@nocobase/client-v2",x),oP(e,"@nocobase/client-v2/client-v2",x),oP(e,"@nocobase/flow-engine",O),oP(e,"@nocobase/evaluators",m),oP(e,"@nocobase/evaluators/client",m),oP(e,"@dnd-kit/core",lB),oP(e,"@dnd-kit/sortable",oC),oP(e,"@ctrl/tinycolor",ot),oP(e,"ahooks",ow),oP(e,"axios",oM.A),oP(e,"dayjs",ea.dayjs),oP(e,"lodash",B()),oP(e,"@emotion/css",er),oP(e,"file-saver",oA)}var oE=l(40407);let oR=/^\/+/,oT=/\/+$/,oI=e=>{let t=oR.exec(e);return t?e.slice(t[0].length):e},o_=e=>{let t=oT.exec(e);return t?e.slice(0,-t[0].length):e},oD=e=>`${o_(e)}/`,oN=e=>(0,U.isValidElementType)(e);class oO{get pm(){return this.pluginManager}get disableAcl(){return this.options.disableAcl}get isWsAuthorized(){return this.wsAuthorized}setDocumentLanguage(e){"u">typeof document&&(e?document.documentElement.lang=e:document.documentElement.removeAttribute("lang"))}defineObservableState(){(0,N.define)(this,{maintained:N.observable.ref,maintaining:N.observable.ref,error:N.observable.ref,apps:N.observable})}initializeExtendedState(){this.systemSettings=new eh.o(this.apiClient)}afterManagersInitialized(){this.aiManager=new ed(this),this.jsonLogic=i2()}configureContext(){}configureRuntimeAdapters(){}addCustomProviders(){}initListeners(){this.eventBus.addEventListener("auth:tokenChanged",e=>{let t=e.detail;(null==t?void 0:t.token)&&this.setTokenInWebSocket(t)}),this.eventBus.addEventListener("maintaining:end",()=>{this.apiClient.auth.token&&this.setTokenInWebSocket({token:this.apiClient.auth.token,authenticator:this.apiClient.auth.getAuthenticator()})})}setTokenInWebSocket(e){let{token:t,authenticator:l}=e;this.maintaining||this.ws.send(JSON.stringify({type:"auth:token",payload:{token:t,authenticator:l}}))}initRequireJs(){if(void 0===globalThis.window)return;let e=globalThis.window;if(e.requirejs){this.requirejs=e.requirejs;return}e.requirejs=this.requirejs=(0,oE.b)(),oj(this.requirejs),e.define=this.requirejs.define}configureBaseContext(){this.flowEngine.context.defineProperty("app",{value:this}),this.flowEngine.context.defineProperty("api",{value:this.apiClient}),this.flowEngine.context.defineProperty("i18n",{value:this.i18n}),this.flowEngine.context.defineProperty("router",{get:()=>this.router.router,cache:!1}),this.flowEngine.context.defineProperty("documentTitle",{get:()=>document.title}),this.flowEngine.context.defineProperty("route",{get:()=>{},observable:!0}),this.flowEngine.context.defineProperty("location",{get:()=>location,observable:!0}),this.flowEngine.context.defineProperty("routeRepository",{value:new i0(this.flowEngine.context)}),this.flowEngine.context.defineProperty("appInfo",{get:async()=>{var e;return(null==(e=(await this.apiClient.request({url:"app:getInfo"})).data)?void 0:e.data)||{}}}),this.flowEngine.context.defineProperty("pageInfo",{value:(0,N.observable)({version:void 0})}),this.flowEngine.context.defineProperty("systemSettings",{get:()=>this.systemSettings})}addBaseProviders(){this.use(q.x,{i18n:this.i18n}),this.use(O.FlowEngineProvider,{engine:this.flowEngine}),this.use(eo),this.use(J)}addFinalProviders(){this.use(O.FlowEngineGlobalsContextProvider)}addReactRouterComponents(){this.addComponents({Link:z.Link,Navigate:K.Navigate,NavLink:z.NavLink})}addRoutes(){this.router.add("not-found",{path:"*",Component:()=>null})}updateFavicon(e){let t=document.querySelector('link[rel="shortcut icon"]');arguments.length>0&&(this.favicon=e||"");let l=this.favicon||this.getCdnUrl()+"favicon/favicon.ico";t?t.href=l:((t=document.createElement("link")).rel="shortcut icon",t.href=l,document.head.appendChild(t))}setWsAuthorized(e){this.wsAuthorized=e}setMaintaining(e){this.maintaining!==e&&(this.maintaining=e,e||this.eventBus.dispatchEvent(new Event("maintaining:end")))}getOptions(){return this.options}getName(){return(0,S.xW)(this.getPublicPath())||null}getCdnUrl(){return oD(window.__webpack_public_path__||tt(this.getPublicPath()))}getPublicPath(){return oD(this.options.publicPath||"/")}getApiUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.apiClient.axios.defaults.baseURL??"";if(!t.startsWith("http://")&&!t.startsWith("https://")){let{protocol:e,host:l}=globalThis.window.location;t=`${e}//${l}${t}`}return`${o_(t)}/${oI(e)}`}getRouteUrl(e){return this.getPublicPath()+oI(e)}getHref(e){let t=this.name;return t&&"main"!==t?`${this.getPublicPath()}apps/${t}/${oI(e)}`:this.getPublicPath()+oI(e)}getComposeProviders(){let e=rA(...this.providers)(ec.ct);return e.displayName="Providers",e}use(e,t){return this.addProvider(e,t)}addProvider(e,t){return this.providers.push([e,t])}addProviders(e){e.forEach(e=>{Array.isArray(e)?this.addProvider(e[0],e[1]):this.addProvider(e)})}getComponent(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],l=e=>t&&console.error(e);if(!e)return void l(`getComponent called with ${e}`);if("string"==typeof e){let t=(0,$.get)(this.components,e);return t||void l(`Component ${e} not found`)}if(oN(e))return e;l(`Component ${e} should be a string or a React component`)}renderComponent(e,t,l){let r=this.getComponent(e);return r?A.createElement(r,t,l):null}addComponent(e,t){let l=e,r=t||l.displayName||l.name;r?(0,$.set)(this.components,r,e):console.error("Component must have a displayName or pass name as second argument")}addComponents(e){Object.keys(e).forEach(t=>{this.addComponent(e[t],t)})}setAppsComponent(e){let{Component:t}=e;this.apps.Component=t}setAppsProvider(e){let{loadAppList:t}=e;this.apps.loadAppList=t}getRootFallback(){return this.renderComponent("AppSpin")}getRootComponent(){let e=this.model,t=this.flowEngine,l=()=>this.getRootFallback();return r=>{let{children:n}=r;return(0,A.useLayoutEffect)(()=>{e.setProps({children:n})},[n]),(0,D.jsx)(O.FlowEngineProvider,{engine:t,children:(0,D.jsx)(O.FlowModelRenderer,{fallback:l(),model:e})})}}mount(e){let t=rS(e);if(t){let e=this.getRootComponent(),l=(0,L.createRoot)(t);return l.render((0,D.jsx)(e,{})),l}}createLayoutManager(e){return new iZ(this)}createWebSocketClient(e){return new i1(e.ws??!1)}getDefaultComponents(){return{AppNotFound:ec.bM,AppError:ec.uV,AppSpin:ec.gv,AppMaintaining:ec.be,AppMaintainingDialog:ec.tp}}constructor(e={}){(0,w._)(this,"options",void 0),(0,w._)(this,"eventBus",void 0),(0,w._)(this,"providers",void 0),(0,w._)(this,"router",void 0),(0,w._)(this,"scopes",void 0),(0,w._)(this,"i18n",void 0),(0,w._)(this,"ws",void 0),(0,w._)(this,"apiClient",void 0),(0,w._)(this,"components",void 0),(0,w._)(this,"pluginManager",void 0),(0,w._)(this,"pluginSettingsManager",void 0),(0,w._)(this,"layoutManager",void 0),(0,w._)(this,"entryActionManager",void 0),(0,w._)(this,"aiManager",void 0),(0,w._)(this,"devDynamicImport",void 0),(0,w._)(this,"requirejs",void 0),(0,w._)(this,"name",void 0),(0,w._)(this,"favicon",void 0),(0,w._)(this,"flowEngine",void 0),(0,w._)(this,"dataSourceManager",void 0),(0,w._)(this,"jsonLogic",void 0),(0,w._)(this,"context",void 0),(0,w._)(this,"systemSettings",void 0),(0,w._)(this,"maintained",void 0),(0,w._)(this,"maintaining",void 0),(0,w._)(this,"error",void 0),(0,w._)(this,"model",void 0),(0,w._)(this,"wsAuthorized",void 0),(0,w._)(this,"apps",void 0),this.options=e,this.eventBus=new EventTarget,this.providers=[],this.scopes={},this.components={},this.entryActionManager=new ep,this.maintained=!1,this.maintaining=!1,this.error=null,this.wsAuthorized=!1,this.apps={Component:null,loadAppList:null},this.initRequireJs(),this.defineObservableState(),this.devDynamicImport=e.devDynamicImport,this.scopes=(0,$.merge)(this.scopes,e.scopes),this.components=(0,$.merge)(this.getDefaultComponents(),e.components),this.name=this.options.name||(0,S.xW)(e.publicPath)||"main",this.apiClient=this.createApiClient(e),this.initializeExtendedState(),this.i18n=this.createI18n(e),this.router=this.createRouterManager(e),this.layoutManager=this.createLayoutManager(e),this.pluginManager=this.createPluginManager(e),this.flowEngine=new O.FlowEngine,this.flowEngine.registerModels({ApplicationModel:oL}),this.model=this.flowEngine.createModel({use:"ApplicationModel",uid:"__app_model__"}),this.context=this.flowEngine.context,this.configureRuntimeAdapters(),this.context.defineProperty("pluginManager",{get:()=>this.pluginManager}),this.configureBaseContext(),this.configureContext(),this.addBaseProviders(),this.addCustomProviders(),this.addFinalProviders(),this.addReactRouterComponents(),this.addProviders(e.providers||[]),this.ws=this.createWebSocketClient(e),this.ws.app=this,this.pluginSettingsManager=this.createPluginSettingsManager(e),this.addRoutes(),this.i18n.on("languageChanged",e=>{this.apiClient.auth.locale=e,this.setDocumentLanguage(e)}),this.initListeners(),this.afterManagersInitialized()}}var o$=new WeakMap,oB=new WeakMap;class oL extends O.FlowModel{get app(){return this.context.app}getProviders(){return(0,_._)(this,o$,(0,T._)(this,o$)||this.app.getComposeProviders()),(0,T._)(this,o$)}getRouter(){return(0,_._)(this,oB,(0,T._)(this,oB)||this.app.router.getRouterComponent()),(0,T._)(this,oB)}render(){return this.app.maintaining&&!this.app.maintained?(0,D.jsx)(D.Fragment,{children:this.renderMaintaining()}):this.app.error&&!this.app.maintaining?(0,D.jsx)(D.Fragment,{children:this.renderError()}):(0,D.jsxs)(D.Fragment,{children:[this.renderContent(),this.app.maintaining&&this.app.maintained?this.renderMaintainingDialog():null]})}renderMaintaining(){return this.app.renderComponent("AppMaintaining",{app:this.app,error:this.app.error})}renderMaintainingDialog(){return this.app.renderComponent("AppMaintainingDialog",{app:this.app,error:this.app.error})}renderError(){return this.app.renderComponent("AppError",{app:this.app,error:this.app.error})}renderContent(){let e=this.app.getComponent("AppError",!1),t=this.getRouter(),l=this.getProviders(),r=(0,D.jsx)(t,{BaseLayout:l});if(!e)return r;let n=(e,t)=>{var l;console.error(e);let r=null==(l=t.componentStack)?void 0:l.trim();if(!r)return;let n=Error("React component stack");n.stack=r,console.error(n)};return(0,D.jsx)(V.tH,{FallbackComponent:t=>(0,D.jsx)(e,{app:this.app,...t}),onError:n,children:r})}constructor(...e){super(...e),(0,I._)(this,o$,{writable:!0,value:void 0}),(0,I._)(this,oB,{writable:!0,value:void 0})}}oL.registerFlow({key:"appFlow",steps:{init:{async handler(e){try{await e.app.load()}catch(t){e.model.app.error=t,console.error(t)}}}}});var oq=l(16350);l(39398);let oV=[{label:'{{t("contains")}}',value:"$includes",selected:!0},{label:'{{t("does not contain")}}',value:"$notIncludes"},{label:'{{t("is")}}',value:"$eq"},{label:'{{t("is not")}}',value:"$ne"},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],oz=[{label:'{{t("is")}}',value:"$match",selected:!0,schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is not")}}',value:"$notMatch",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is any of")}}',value:"$anyOf",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$noneOf",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],oK=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$ne"}],oU=[{label:"{{ t('is') }}",value:"$dateOn",selected:!0,schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is not') }}",value:"$dateNotOn",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is before') }}",value:"$dateBefore",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is after') }}",value:"$dateAfter",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is on or after') }}",value:"$dateNotBefore",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is on or before') }}",value:"$dateNotAfter",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is between') }}",value:"$dateBetween",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!0}}},{label:"{{ t('is empty') }}",value:"$empty",noValue:!0},{label:"{{ t('is not empty') }}",value:"$notEmpty",noValue:!0}],oW=[{label:'{{t("=")}}',value:"$eq",selected:!0},{label:'{{t("≠")}}',value:"$ne"},{label:'{{t(">")}}',value:"$gt"},{label:'{{t("≥")}}',value:"$gte"},{label:'{{t("<")}}',value:"$lt"},{label:'{{t("≤")}}',value:"$lte"},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],oH=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$ne"},{label:'{{t("exists")}}',value:"$exists",noValue:!0},{label:'{{t("not exists")}}',value:"$notExists",noValue:!0}],oY=[{label:'{{t("is")}}',value:"$eq",selected:!0,schema:{"x-component":"Select","x-component-props":{mode:null}}},{label:'{{t("is not")}}',value:"$ne",schema:{"x-component":"Select","x-component-props":{mode:null}}},{label:'{{t("is any of")}}',value:"$in",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$notIn",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],oG=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$neq"},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],oJ=[{label:'{{t("Yes")}}',value:"$isTruly",selected:!0,noValue:!0,schema:{"x-component":"Select","x-component-props":{multiple:!1,options:[{label:'{{t("Yes")}}',value:!0},{label:'{{t("No")}}',value:!1}]}}},{label:'{{t("No")}}',value:"$isFalsy",noValue:!0,schema:{"x-component":"Select","x-component-props":{multiple:!1,options:[{label:'{{t("Yes")}}',value:!0},{label:'{{t("No")}}',value:!1}]}}},{label:"{{ t('is empty') }}",value:"$empty",noValue:!0},{label:"{{ t('is not empty') }}",value:"$notEmpty",noValue:!0}],oX=[{label:'{{t("is any of")}}',value:"$childIn",schema:{"x-component":"CollectionSelect","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$childNotIn",schema:{"x-component":"CollectionSelect","x-component-props":{mode:"tags"}}}],oQ=[{label:'{{t("is")}}',value:"$eq",selected:!0,schema:{"x-component":"DataSourceCollectionCascader"}},{label:'{{t("is not")}}',value:"$ne",schema:{"x-component":"DataSourceCollectionCascader"}},{label:'{{t("is any of")}}',value:"$in",schema:{"x-component":"DataSourceCollectionCascader","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$notIn",schema:{"x-component":"DataSourceCollectionCascader","x-component-props":{mode:"tags"}}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],oZ=[{label:'{{t("contains")}}',value:"$includes",selected:!0,schema:{type:"string","x-component":"Input"}},{label:'{{t("does not contain")}}',value:"$notIncludes",schema:{type:"string","x-component":"Input"}},{label:'{{t("is")}}',value:"$eq",schema:{type:"string","x-component":"Input"}},{label:'{{t("is not")}}',value:"$ne",schema:{type:"string","x-component":"Input"}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0,schema:{type:"string","x-component":"Input"}},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0,schema:{type:"string","x-component":"Input"}}];class o0{register(e){return this.operators[e.value]=e,this}registerMany(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.forEach(e=>{this.register(e)}),this}registerGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=this.resolveOperatorReferences(t);return this.registerMany(l),this.groups[e]=l,this}addToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=this.resolveOperatorReferences(t);return this.registerMany(l),this.groups[e]||(this.groups[e]=[]),l.forEach(t=>{this.groups[e].some(e=>e.value===t.value)||this.groups[e].push(t)}),this}get(e){return this.operators[e]}getGroup(e){return this.groups[e]||[]}getGroups(){return this.groups}resolveOperators(e){return e?"string"==typeof e?this.getGroup(e):e:[]}resolveOperatorReferences(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(e=>"string"==typeof e?this.get(e):e).filter(e=>!!e)}constructor(e={}){(0,w._)(this,"operators",{}),(0,w._)(this,"groups",{}),Object.entries(e).forEach(e=>{let[t,l]=e;this.registerGroup(t,l)})}}let o1=new o0(g),o2=o1.getGroups(),o4=o2;function o6(e){return o1.resolveOperators(e)}function o3(e){if(!e)return e;let t=Array.isArray(e.operatorOverrides)?e.operatorOverrides:[];e.operatorGroup&&(e.operators=o5(o6(e.operatorGroup),t));let l=e.operators;return"string"==typeof l?(e.operatorGroup=l,e.operators=o5(o6(l),t)):Array.isArray(l)?e.operators=o5(l,t):t.length>0&&(e.operators=[...t]),Array.isArray(e.children)&&e.children.forEach(e=>{e&&"object"==typeof e&&o3(e)}),e}function o5(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(0===t.length)return e;let l=[...e];return t.forEach(e=>{let t=l.findIndex(t=>t.value===e.value);-1===t?l.push(e):l[t]=e}),l}function o8(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...t,operatorGroup:e,operators:o6(e)}}function o9(e,t){return{operators:e.flatMap(e=>{let{types:l,operators:r}=e;return o6(r).map(e=>({...e,visible:r=>{let n=l.includes(t(r));return"function"==typeof e.visible?e.visible(r)&&n:n}}))})}}let o7="CollectionSelect",ae=new Set(["name","uiSchema.title"]),at=new Set(["Grid","Grid.Row","Grid.Col","div"]);function al(e){return{...e.context,...e.values}}function ar(e,t){if("boolean"==typeof e)return e;if("string"!=typeof e)return!1;let l=e.replace(/^\s*\{\{\s*/,"").replace(/\s*\}\}\s*$/,""),r=al(t),n=e=>{let t=e.trim().replace(/^\$/,"");if(!t)return!1;if(t.startsWith("!"))return!n(t.slice(1).trim());if("true"===t)return!0;if("false"===t)return!1;let l=t.match(/^([A-Za-z_$][\w$]*)\((.*)\)$/);if(l){let[,e,t]=l,n=(0,$.get)(r,e);return"function"==typeof n&&!!n(...t.split(",").map(e=>e.trim()).filter(Boolean).map(e=>e.replace(/^['"]|['"]$/g,"")))}return!!(0,$.get)(r,t)};return l.split("||").some(e=>e.split("&&").every(e=>n(e)))}function an(e){return"string"==typeof e?t=>ar(e,t):e}function ai(e){return(null==e?void 0:e["x-hidden"])!==void 0?an(e["x-hidden"]):(null==e?void 0:e["x-visible"])!==void 0?t=>!ar(e["x-visible"],t):void 0}function ao(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",l=arguments.length>2?arguments[2]:void 0;return Object.entries(e||{}).flatMap(e=>{let[r,n]=e,i=t?`${t}.${r}`:r,o=null==n?void 0:n.properties,a=null==n?void 0:n["x-component"];if(o&&"Grid.Row"===a){let e=Object.entries(o).filter(e=>{let[,t]=e;return(null==t?void 0:t["x-component"])==="Grid.Col"}),l=e.length>0?Math.floor(24/e.length):24;return e.flatMap((e,r)=>{let[n,o]=e;return ao((null==o?void 0:o.properties)||{},t,{row:i,column:n,columnIndex:r,span:l})})}return o&&(!a||at.has(a))?ao(o,t,l):[{name:i,schema:n,layout:l}]})}function aa(e,t){return!ae.has(e)&&(!!(null==t?void 0:t["x-component"])||(null==t?void 0:t.default)!==void 0||(null==t?void 0:t["x-hidden"])!==void 0)}function as(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ao(e).filter(e=>{let{name:t,schema:l}=e;return aa(t,l)}).map(e=>{var l;let{name:r,schema:n,layout:i}=e,o=null==n?void 0:n["x-component"];return{name:r,title:(null==n?void 0:n.title)||(null==n?void 0:n["x-content"]),component:o,Component:o?null==(l=t.components)?void 0:l[o]:void 0,componentProps:null==n?void 0:n["x-component-props"],defaultValue:null==n?void 0:n.default,description:null==n?void 0:n.description,hidden:ai(n),disabled:an(null==n?void 0:n["x-disabled"]),options:Array.isArray(null==n?void 0:n.enum)?n.enum:void 0,required:null==n?void 0:n.required,schema:n,layout:i}})}let ad=[{label:"MMMM Do YYYY",value:"MMMM Do YYYY"},{label:"YYYY-MM-DD",value:"YYYY-MM-DD"},{label:"MM/DD/YY",value:"MM/DD/YY"},{label:"YYYY/MM/DD",value:"YYYY/MM/DD"},{label:"DD/MM/YYYY",value:"DD/MM/YYYY"},{label:'{{t("Custom")}}',value:"custom"}],au=[{label:'{{t("12 hour")}}',value:"hh:mm:ss a"},{label:'{{t("24 hour")}}',value:"HH:mm:ss"}];function ac(e){return(0,$.get)(e,"uiSchema.x-component-props.picker")||"date"}function ap(e){return(0,$.get)(e,"uiSchema.x-component-props.showTime")}function ah(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("unique"===e||"primaryKey"===e)return{disabled:!l.createMainOnly||!!l.primaryKeyOnly};if("autoIncrement"===e)return{disabled:!l.createMainOnly};if(e.startsWith("reverseField."))return{disabled:!l.showReverseFieldConfig,hidden:!l.showReverseFieldConfig};if("autoCreateReverseField"===e&&(0,$.get)(t,"reverseField.key"))return{disabled:!0};if("uiSchema.x-component-props.dateFormat"===e)return{componentProps:{picker:ac(t)}};if("uiSchema.x-component-props.showTime"===e)return{hidden:"date"!==ac(t)};if("uiSchema.x-component-props.timeFormat"===e)return{hidden:"date"!==ac(t)||!1===ap(t)};if("defaultValue"===e){let e=!!(0,$.get)(t,"primaryKey")||!!(0,$.get)(t,"unique")||!!(0,$.get)(t,"autoIncrement")||!!(0,$.get)(t,"defaultToCurrentTime");return{hidden:e,...e?{value:null,hasValue:!0}:null,componentProps:{gmt:(0,$.get)(t,"uiSchema.x-component-props.gmt"),showTime:(0,$.get)(t,"uiSchema.x-component-props.showTime"),dateFormat:(0,$.get)(t,"uiSchema.x-component-props.dateFormat"),timeFormat:(0,$.get)(t,"uiSchema.x-component-props.timeFormat"),picker:(0,$.get)(t,"uiSchema.x-component-props.picker"),format:(0,$.get)(t,"uiSchema.x-component-props.format")},dataSource:(0,$.get)(t,"uiSchema.enum")}}return("precision"===e||"scale"===e)&&"decimal"!==(0,$.get)(t,"type")?{hidden:!0}:{}}function af(e){let{context:t,getValue:l,setValue:r,values:n}=e,i=!!l("primaryKey"),o=!!l("unique");if(t.createMainOnly&&i&&(!e.changedName||"primaryKey"===e.changedName)&&(!1!==l("unique")&&r("unique",!1),(0,$.has)(n,"autoIncrement")&&!0!==l("autoIncrement")&&r("autoIncrement",!0)),t.createMainOnly&&o&&i&&"unique"===e.changedName&&r("primaryKey",!1),(0,$.get)(n,"reverseField.key")&&!0!==l("autoCreateReverseField")&&r("autoCreateReverseField",!0),("uiSchema.x-component-props.picker"===e.changedName||["primaryKey","unique","autoIncrement","defaultToCurrentTime"].includes(e.changedName||""))&&null!=l("defaultValue")&&(l("primaryKey")||l("unique")||l("autoIncrement")||l("defaultToCurrentTime")||"uiSchema.x-component-props.picker"===e.changedName)&&r("defaultValue",null),!((0,$.has)(n,"uiSchema.x-component-props.picker")||(0,$.has)(n,"uiSchema.x-component-props.dateFormat")||(0,$.has)(n,"uiSchema.x-component-props.showTime")||(0,$.has)(n,"uiSchema.x-component-props.timeFormat")))return;let a=ac(n);"uiSchema.x-component-props.picker"===e.changedName&&(0,$.has)(n,"uiSchema.x-component-props.dateFormat")&&(0,$.get)(n,"uiSchema.x-component-props.dateFormat")!==(0,ea.getPickerFormat)(a)&&r("uiSchema.x-component-props.dateFormat",(0,ea.getPickerFormat)(a)),(0,$.has)(n,"uiSchema.x-component-props.showTime")&&"date"!==a&&!1!==ap(n)&&r("uiSchema.x-component-props.showTime",!1),(0,$.has)(n,"uiSchema.x-component-props.timeFormat")&&ap(n)&&!(0,$.get)(n,"uiSchema.x-component-props.timeFormat")&&r("uiSchema.x-component-props.timeFormat","HH:mm:ss")}function am(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[{name:"primaryKey",title:'{{t("Primary")}}',component:"Checkbox"},{name:"unique",title:'{{t("Unique")}}',component:"Checkbox"}];return e.autoIncrement&&t.push({name:"autoIncrement",title:'{{t("Auto increment")}}',component:"Checkbox"}),t}function ag(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[];return!1!==e.includePicker&&t.push({name:"uiSchema.x-component-props.picker",title:'{{t("Picker")}}',component:"Radio.Group",defaultValue:"date",options:[{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}],hidden:e.hidden}),t.push({name:"uiSchema.x-component-props.dateFormat",title:'{{t("Date format")}}',component:"ExpiresRadio",defaultValue:"YYYY-MM-DD",options:ad,componentProps:{defaultValue:"dddd",formats:["MMMM Do YYYY","YYYY-MM-DD","MM/DD/YY","YYYY/MM/DD","DD/MM/YYYY"]},hidden:e.hidden},{name:"uiSchema.x-component-props.showTime",title:'{{t("Show time")}}',component:"Checkbox",defaultValue:e.showTimeDefault,hidden:e.hidden},{name:"uiSchema.x-component-props.timeFormat",title:'{{t("Time format")}}',component:"Radio.Group",defaultValue:"HH:mm:ss",options:au,hidden:t=>!!("function"==typeof e.hidden&&e.hidden(t))||("boolean"==typeof e.hidden?e.hidden:!1===ap(t.values))}),t}function av(){return[{name:"autoCreateReverseField",title:'{{t("Create inverse field in the target collection")}}',component:"Checkbox",defaultValue:!1},{name:"reverseField.type",title:'{{t("Inverse relationship type")}}',component:"Select",required:!0,options:[{label:"{{t('HasOne')}}",value:"hasOne"},{label:"{{t('HasMany')}}",value:"hasMany"},{label:"{{t('BelongsTo')}}",value:"belongsTo"},{label:"{{t('BelongsToMany')}}",value:"belongsToMany"}],hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,$.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}},{name:"reverseField.uiSchema.title",title:'{{t("Inverse field display name")}}',component:"Input",required:!0,hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,$.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}},{name:"reverseField.name",title:'{{t("Inverse field name")}}',component:"Input",required:!0,description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}",hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,$.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}}]}let ay=av;function ab(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{name:e.name||"uiSchema.enum",title:e.title||'{{t("Options")}}',component:"ArrayTable"}}let ax={key:"required",label:"Required",hasValue:!1,params:[]};function aw(e){let t="date"===e?"datePicker":"inputNumber",l="date"===e?"date":"limit";return[{key:"greater",label:"Greater than",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]},{key:"less",label:"Less than",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]},{key:"max",label:"Max value",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]},{key:"min",label:"Min value",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]}]}class aS{register(e){this.items.set(e.key,(0,$.cloneDeep)(e))}registerMany(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.forEach(e=>this.register(e))}registerGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.groups.set(e,t)}addToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.groups.set(e,[...this.groups.get(e)||[],...t])}get(e){return(0,$.cloneDeep)(this.items.get(e))}getGroup(e){return(this.groups.get(e)||[]).map(e=>"string"==typeof e?this.get(e):(0,$.cloneDeep)(e)).filter(Boolean)}constructor(){(0,w._)(this,"items",new Map),(0,w._)(this,"groups",new Map)}}let aA=new aS;function aM(e){aA.register(e)}function aF(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aA.registerGroup(e,t)}function ak(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aA.addToGroup(e,t)}aA.registerMany([ax,{key:"pattern",label:"Pattern",hasValue:!0,params:[{key:"regex",label:"Regular Expression",componentType:"text",required:!0}]},{key:"email",label:"Email",hasValue:!1,params:[],paramsType:"object"},{key:"uuid",label:"UUID",hasValue:!1,params:[],paramsType:"object"},{key:"length",label:"Length",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"uri",label:"URI",hasValue:!1,params:[],paramsType:"object"},{key:"multiple",label:"Multiple of",hasValue:!0,params:[{key:"base",label:"Base",componentType:"inputNumber",required:!0}]},{key:"integer",label:"Integer",hasValue:!1,params:[]},{key:"precision",label:"Precision",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"unsafe",label:"Unsafe integer",hasValue:!1,params:[]},{key:"timestamp",label:"Timestamp",hasValue:!0,params:[{key:"type",label:"Type",componentType:"singleSelect",options:[{label:"JavaScript",value:"javascript"},{label:"Unix",value:"unix"}],defaultValue:"javascript"}]}]),aA.registerGroup("string",["required",{key:"max",label:"Max length",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"min",label:"Min length",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},"pattern","email","uuid","length","uri"]),aA.registerGroup("number",["required",...aw("number"),"multiple","integer","precision","unsafe"]),aA.registerGroup("date",["required",...aw("date"),"timestamp"]),aA.registerGroup("object",["required"]);class aC{addFieldInterfaces(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.reduce((e,t)=>{if("function"!=typeof t)return e;let l=new t(this);return(null==l?void 0:l.name)&&(o3(l.filterable),e[l.name]=l,Array.isArray(this.actionList[l.name])&&(this.actionList[l.name].forEach(e=>{var t,r;if("addComponentOption"===e.type){null==(r=l.addComponentOption)||r.call(l,e.data);return}if("registerConfigure"===e.type){l.configure=this.mergeFieldInterfaceConfigure(l.configure,e.data);return}null==(t=l.addOperator)||t.call(l,e.data)}),delete this.actionList[l.name])),e},{});Object.assign(this.collectionFieldInterfaceInstances,t)}addFieldInterfaceComponentOption(e,t){var l;let r=this.getFieldInterface(e);r?null==(l=r.addComponentOption)||l.call(r,t):this.enqueueAction(e,{type:"addComponentOption",data:t})}addFieldInterfaceOperator(e,t){var l;let r=this.getFieldInterface(e);r?null==(l=r.addOperator)||l.call(r,t):this.enqueueAction(e,{type:"addOperator",data:t})}registerFieldFilterOperator(e){o1.register(e)}registerFieldFilterOperatorGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];o1.registerGroup(e,t),this.normalizeFieldInterfaceFilterables()}addFieldFilterOperatorsToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];o1.addToGroup(e,t),this.normalizeFieldInterfaceFilterables()}registerFieldValidationConfigure(e){aM(e)}registerFieldValidationConfigureGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aF(e,t)}addFieldValidationConfiguresToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];ak(e,t)}getFieldValidationConfigureGroup(e){return aA.getGroup(e)}registerFieldInterfaceConfigure(e){let t=this.getFieldInterface(e.name);t?t.configure=this.mergeFieldInterfaceConfigure(t.configure,e):this.enqueueAction(e.name,{type:"registerConfigure",data:e})}getFieldInterface(e){return this.collectionFieldInterfaceInstances[e]}getFieldInterfaces(e){return Object.values(this.collectionFieldInterfaceInstances).filter(t=>!e||!t.supportDataSourceType&&!t.notSupportDataSourceType||(t.supportDataSourceType?t.supportDataSourceType.includes(e):!t.notSupportDataSourceType||!t.notSupportDataSourceType.includes(e)))}getFieldInterfaceConfigureProperties(e,t){var l;let r=this.getFieldInterfaceConfigure(e,t);return(null==r||null==(l=r.getConfigureFormProperties)?void 0:l.call(r,t))||(null==r?void 0:r.properties)||{}}getFieldInterfaceConfigure(e,t){var l,r,n;let i=this.getFieldInterface(e);if(!i)return;let o=(null==(l=i.getConfigureFormProperties)?void 0:l.call(i,t))||i.properties||{},a={name:i.name,title:i.title,group:i.group,order:i.order,default:i.default,titleUsable:i.titleUsable,isAssociation:i.isAssociation,supportDataSourceType:i.supportDataSourceType,notSupportDataSourceType:i.notSupportDataSourceType,properties:o,items:as(o,{components:null==(r=i.configure)?void 0:r.components}),getConfigureFormProperties:null==(n=i.getConfigureFormProperties)?void 0:n.bind(i)};return this.mergeFieldInterfaceConfigure(a,i.configure)}addFieldInterfaceGroups(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this.collectionFieldGroups,e)}getFieldInterfaceGroups(){return this.collectionFieldGroups}getFieldInterfaceGroup(e){return this.collectionFieldGroups[e]}enqueueAction(e,t){this.actionList[e]||(this.actionList[e]=[]),this.actionList[e].push(t)}normalizeFieldInterfaceFilterables(){Object.values(this.collectionFieldInterfaceInstances).forEach(e=>{o3(e.filterable)})}mergeFieldInterfaceConfigure(e,t){return e?t?{...e,...t,default:t.default||e.default,properties:{...e.properties||{},...t.properties||{}},items:this.mergeFieldConfigureItems(e.items,t.items),components:{...e.components||{},...t.components||{}}}:e:t}mergeFieldConfigureItems(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=new Map;return e.forEach(e=>l.set(e.name,e)),t.forEach(e=>l.set(e.name,e)),Array.from(l.values())}constructor(e){(0,w._)(this,"dataSourceManager",void 0),(0,w._)(this,"collectionFieldInterfaceInstances",void 0),(0,w._)(this,"collectionFieldGroups",void 0),(0,w._)(this,"actionList",void 0),this.dataSourceManager=e,this.collectionFieldInterfaceInstances={},this.collectionFieldGroups={},this.actionList={}}}function aP(e){return`${e}/client-v2`}function aj(e){return("default"in e?e.default:void 0)||e}function aE(e,t){window.__nocobase_app_dev_plugins__=window.__nocobase_app_dev_plugins__||{},window.__nocobase_app_dev_plugins__[e]=t}function aR(e){Object.entries(e).forEach(e=>{let[t,l]=e,r=aP(t);window.define(r,()=>l),aE(r,l)})}function aT(e){Object.entries(e).forEach(e=>{let[t,l]=e,r=aP(t);window.define(r,()=>l),aE(r,l)})}function aI(e,t){e.requirejs.config({waitSeconds:120,paths:t.reduce((e,t)=>(e[aP(t.packageName)]=t.url,e),{})})}function a_(e,t){return function(){for(var l=arguments.length,r=Array(l),n=0;n<l;n++)r[n]=arguments[n];r.forEach((t,l)=>{t&&aE(aP(e[l].packageName),t)}),t(r.map((t,l)=>[e[l].name,(null==t?void 0:t.default)||t]).filter(e=>e[1]));let i=r.map((e,t)=>e?null:t).filter(e=>null!==e).map(t=>e[t].packageName);i.length>0&&console.error("[nocobase load plugin error]: These plugins do not have an `export.default` exported content or there is an error in the plugins. error plugins: \r\n%s",i.join(", \r\n"))}}function aD(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aI(e,t);let l=t.map(e=>aP(e.packageName));return new Promise((r,n)=>{e.requirejs(l,a_(t,r),n)})}async function aN(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];for(let l of aO(e)){let e=await import(l.url),r=aj(e);r&&(t.push([l.name,r]),aT({[l.packageName]:e}))}return t}function aO(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Map(e.map(e=>[e.packageName,e])),l=[],r=new Set,n=new Set,i=e=>{if(!n.has(e.packageName)&&!r.has(e.packageName)){for(let l of(r.add(e.packageName),e.appDevDependencies||[])){let e=t.get(l);e&&i(e)}r.delete(e.packageName),n.add(e.packageName),l.push(e)}};return e.forEach(i),l}async function a$(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=[],r=[],n=async()=>{if(0===r.length)return;let t=await aD(e,r);l.push(...t),r=[]};for(let e of aO(t)){if("esm"===e.devMode){await n();let t=await aN([e]);l.push(...t);continue}r.push(e)}return await n(),l}async function aB(e){let{requirejs:t,pluginData:l,devDynamicImport:r}=e;if(0===l.length)return[];let n=[],i={},o={};if(r){for await(let e of l){let t=await r(e.packageName);if(t){let l=aj(t);n.push([e.name,l]),i[e.packageName]=l,o[e.packageName]=t}}aR(o)}let a=l.filter(e=>!i[e.packageName]),s=a.filter(e=>"esm"===e.devMode),d=a.filter(e=>"esm"!==e.devMode);if(0===s.length){if(0===d.length)return n;let e=await aD(t,d);return n.push(...e),n}let u=await a$(t,a);return n.push(...u),n}class aL{async init(e){await this.initStaticPlugins(e),this.loadRemotePlugins&&await this.initRemotePlugins()}getRemotePluginsRequestUrl(){return"pm:listEnabledV2"}async initStaticPlugins(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for await(let t of e){let e=Array.isArray(t)?t[0]:t,l=Array.isArray(t)?t[1]:void 0;await this.add(e,l)}}async initRemotePlugins(){var e;let t=await this.app.apiClient.request({url:this.getRemotePluginsRequestUrl()}),l=(null==t||null==(e=t.data)?void 0:e.data)||[];for await(let[e,t]of(await aB({requirejs:this.app.requirejs,pluginData:l,devDynamicImport:this.app.devDynamicImport}))){let r=l.find(t=>t.name===e);await this.add(t,r)}}async add(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=this.getInstance(e,t);this.pluginInstances.set(e,l),t.name&&(this.pluginsAliases[t.name]=l),t.packageName&&(this.pluginsAliases[t.packageName]=l),await l.afterAdd()}get(e){return"string"==typeof e?this.pluginsAliases[e]:this.pluginInstances.get(e.default||e)}getInstance(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new e(t,this.app)}async load(){for(let e of(await this.initPlugins,this.pluginInstances.values()))await e.beforeLoad();for(let e of this.pluginInstances.values())await e.load(),this.app.eventBus.dispatchEvent(new CustomEvent(`plugin:${e.options.name}:loaded`,{detail:e}))}constructor(e,t,l){(0,w._)(this,"_plugins",void 0),(0,w._)(this,"loadRemotePlugins",void 0),(0,w._)(this,"app",void 0),(0,w._)(this,"pluginInstances",void 0),(0,w._)(this,"pluginsAliases",void 0),(0,w._)(this,"initPlugins",void 0),this._plugins=e,this.loadRemotePlugins=t,this.app=l,this.pluginInstances=new Map,this.pluginsAliases={},this.app=l,this.initPlugins=this.init(e||[]),this.loadRemotePlugins=t}}var aq=l(96204),aV=l(24978);let az=e=>{let{children:t}=e,{token:l}=X.A.useToken(),r=l.colorFillTertiary,n=new aV.q(l.colorFill).onBackground(l.colorFillSecondary).toHexShortString(),i=new aV.q(l.colorFill).onBackground(l.colorFill).toHexShortString(),o=new aV.q(l.colorFill).onBackground(l.colorFill).onBackground(l.colorFill).toHexShortString();return(0,A.useEffect)(()=>{document.body.style.setProperty("--nb-spacing",`${l.marginLG}px`),document.body.style.setProperty("--nb-designer-offset",`${l.marginXS}px`),document.body.style.setProperty("--nb-header-height",`${l.sizeXXL-2}px`),document.body.style.setProperty("--nb-box-bg",l.colorBgLayout),document.body.style.setProperty("--colorBgLayout",l.colorBgLayout),document.body.style.setProperty("--colorBgContainer",l.colorBgContainer),document.body.style.setProperty("--controlHeightLG",`${l.controlHeightLG}px`),document.body.style.setProperty("--paddingContentVerticalSM",`${l.paddingContentVerticalSM}px`),document.body.style.setProperty("--marginSM",`${l.marginSM}px`),document.body.style.setProperty("--colorInfoBg",l.colorInfoBg),document.body.style.setProperty("--colorInfoBorder",l.colorInfoBorder),document.body.style.setProperty("--colorWarningBg",l.colorWarningBg),document.body.style.setProperty("--colorWarningBorder",l.colorWarningBorder),document.body.style.setProperty("--colorText",l.colorText),document.body.style.setProperty("--colorTextDescription",l.colorTextDescription),document.body.style.setProperty("--colorBgTextHover",l.colorBgTextHover),document.body.style.setProperty("--colorSplit",l.colorSplit),document.body.style.setProperty("--borderRadiusOuter",`${l.borderRadiusOuter}px`),document.body.style.setProperty("--colorTextHeaderMenu",l.colorTextHeaderMenu),document.body.style.setProperty("--colorPrimaryText",l.colorPrimaryText),document.body.style.setProperty("--colorPrimaryTextActive",l.colorPrimaryTextActive),document.body.style.setProperty("--colorPrimaryTextHover",l.colorPrimaryTextHover),document.body.style.setProperty("--colorBgSider",l.colorBgSider),document.body.style.setProperty("--colorBgSiderMenuHover",l.colorBgSiderMenuHover),document.body.style.setProperty("--colorBgSiderMenuActive",l.colorBgSiderMenuActive),document.body.style.setProperty("--colorTextSiderMenu",l.colorTextSiderMenu),document.body.style.setProperty("--colorTextSiderMenuHover",l.colorTextSiderMenuHover),document.body.style.setProperty("--colorTextSiderMenuActive",l.colorTextSiderMenuActive),document.body.style.setProperty("--colorBgScrollTrack",r),document.body.style.setProperty("--colorBgScrollBar",n),document.body.style.setProperty("--colorBgScrollBarHover",i),document.body.style.setProperty("--colorBgScrollBarActive",o),document.body.style.setProperty("--colorSettings",l.colorSettings||Z.token.colorSettings),document.body.style.setProperty("--colorBgSettingsHover",l.colorBgSettingsHover),document.body.style.setProperty("--colorTemplateBgSettingsHover",l.colorTemplateBgSettingsHover),document.body.style.setProperty("--colorBorderSettingsHover",l.colorBorderSettingsHover),document.body.style.setProperty("--colorBgMenuItemSelected",l.colorBgHeaderMenuActive),document.body.style.setProperty("background-color",l.colorBgContainer)},[n,o,i,r,l.colorBgContainer,l.colorBgLayout,l.colorBgSettingsHover,l.colorTemplateBgSettingsHover,l.colorBorderSettingsHover,l.colorInfoBg,l.colorInfoBorder,l.colorPrimaryText,l.colorPrimaryTextActive,l.colorPrimaryTextHover,l.colorSettings,l.colorBgTextHover,l.colorSplit,l.colorText,l.colorTextDescription,l.colorWarningBg,l.colorWarningBorder,l.borderRadiusOuter,l.controlHeightLG,l.marginLG,l.marginSM,l.marginXS,l.paddingContentVerticalSM,l.sizeXXL,l.colorTextHeaderMenu,l.colorBgSider,l.colorBgSiderMenuHover,l.colorBgSiderMenuActive,l.colorTextSiderMenu,l.colorTextSiderMenuHover,l.colorTextSiderMenuActive,l.colorBgHeaderMenuActive]),t};az.displayName="CSSVariableProvider";let aK=az;class aU extends oO{createApiClient(e){let t=new R({withCredentials:!0,...e.apiClient,appName:e.name||(0,S.xW)(e.publicPath)});return t.app=this,t}configureRuntimeAdapters(){this.dataSourceManager=this.flowEngine.context.dataSourceManager,this.dataSourceManager.setRequester(this.apiClient.request.bind(this.apiClient)),this.dataSourceManager.collectionFieldInterfaceManager||this.dataSourceManager.setCollectionFieldInterfaceManager(new aC(this.dataSourceManager))}createI18n(e){if(e.i18n)return e.i18n;let t=(0,oF.createInstance)();return t.use(oq.r9).init({lng:"en-US",defaultNS:"client",resources:{},keySeparator:!1,nsSeparator:!1}),t}createRouterManager(e){var t;let l=new rJ(e.router,this);if((null==(t=e.router)?void 0:t.basename)===void 0){let e=this.getPublicPath(),t="/"===e?void 0:e.replace(/\/$/,"");t&&l.setBasename(t)}return l}createPluginManager(e){return new aL(e.plugins||[],!!e.loadRemotePlugins,this)}createPluginSettingsManager(e){return new aq.mz(this)}async load(){try{this.hasLoadError=!1,await this.loadWebSocket(),await this.pm.load(),await this.flowEngine.flowSettings.load()}catch(i){var e,t,l,r,n;this.hasLoadError=!0,(null==i||null==(r=i.response)||null==(l=r.data)||null==(t=l.errors)||null==(e=t[0])?void 0:e.code)==="BLOCKED_IP"&&(this.hasLoadError=!1),this.ws.enabled&&await new Promise(e=>{setTimeout(()=>e(null),1e3)}),this.error={code:"LOAD_ERROR",...null==(n=this.apiClient.toErrMessages(i))?void 0:n[0]},console.error(i,this.error)}this.updateFavicon()}async loadWebSocket(){this.eventBus.addEventListener("ws:message:authorized",()=>{this.setWsAuthorized(!0)}),this.ws.on("message",e=>{var t,l,r,n;if(!e.data)return;let i=JSON.parse(e.data);if(null==i||null==(t=i.payload)?void 0:t.refresh)return void globalThis.window.location.reload();if("notification"===i.type){let e=this.context.notification;null==(r=e[(null==(n=i.payload)?void 0:n.type)||"info"])||r.call(e,{message:null==(l=i.payload)?void 0:l.message});return}if("maintaining"===i.type&&"APP_RUNNING"!==i.payload.code)this.setMaintaining(!0),this.error=i.payload;else{this.hasLoadError&&globalThis.window.location.reload(),this.setMaintaining(!1),this.maintained=!0,this.error=null;let e=i.type;if(!e)return;let t=`ws:message:${e}`;this.eventBus.dispatchEvent(new CustomEvent(t,{detail:i.payload}))}}),this.ws.on("serverDown",()=>{this.maintaining=!0,this.maintained=!1}),this.ws.on("open",()=>{let e=this.apiClient.auth.token;e&&this.setTokenInWebSocket({token:e,authenticator:this.apiClient.auth.getAuthenticator()})}),this.ws.connect()}addCustomProviders(){this.use(aK)}addFieldInterfaces(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.dataSourceManager.addFieldInterfaces(e)}addFieldInterfaceGroups(e){return this.dataSourceManager.addFieldInterfaceGroups(e)}addFieldInterfaceComponentOption(e,t){return this.dataSourceManager.addFieldInterfaceComponentOption(e,t)}addFieldInterfaceOperator(e,t){return this.dataSourceManager.addFieldInterfaceOperator(e,t)}registerFieldFilterOperator(e){return this.dataSourceManager.registerFieldFilterOperator(e)}registerFieldFilterOperatorGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.dataSourceManager.registerFieldFilterOperatorGroup(e,t)}addFieldFilterOperatorsToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.dataSourceManager.addFieldFilterOperatorsToGroup(e,t)}registerFieldValidationConfigure(e){var t,l;return null==(l=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=l.registerFieldValidationConfigure)?void 0:t.call(l,e)}registerFieldValidationConfigureGroup(e){var t,l;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return null==(l=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=l.registerFieldValidationConfigureGroup)?void 0:t.call(l,e,r)}addFieldValidationConfiguresToGroup(e){var t,l;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return null==(l=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=l.addFieldValidationConfiguresToGroup)?void 0:t.call(l,e,r)}constructor(...e){super(...e),(0,w._)(this,"hasLoadError",!1)}}let aW=(0,A.createContext)(null);aW.displayName="ApplicationContext";var aH=l(36093),aY=l.n(aH);class aG extends aU{constructor(e={}){super({router:{type:"memory",initialEntries:["/"]},...e}),(0,w._)(this,"apiMock",void 0),this.apiMock=new(aY())(this.apiClient.axios),this.ws=new aJ(e.ws||{})}}class aJ extends i1{connect(){}close(){}send(){}on(e,t,l){this.eventBus.addEventListener(e,e=>t({data:JSON.stringify(e.detail)}),l)}emit(e,t){this.eventBus.dispatchEvent(new CustomEvent(e,{detail:t}))}off(e,t,l){this.eventBus.removeEventListener(e,t,l)}removeAllListeners(){}constructor(e){super(e),(0,w._)(this,"eventBus",new EventTarget)}}function aX(e){return new aG(e)}class aQ{get pluginManager(){return this.app.pluginManager}get context(){return this.app.context}get flowEngine(){return this.app.flowEngine}get engine(){return this.app.flowEngine}get pm(){return this.app.pm}get router(){return this.app.router}get pluginSettingsManager(){return this.app.pluginSettingsManager}get schemaInitializerManager(){return this.app.schemaInitializerManager}get schemaSettingsManager(){return this.app.schemaSettingsManager}get dataSourceManager(){return this.app.dataSourceManager}get ai(){return this.app.aiManager}async afterAdd(){}async beforeLoad(){}async load(){}t(e){var t;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.app.i18n.t(e,{ns:null==(t=this.options)?void 0:t.packageName,...l})}constructor(e,t){(0,w._)(this,"options",void 0),(0,w._)(this,"app",void 0),this.options=e,this.app=t,this.options=e,this.app=t}}var aZ=l(84256),a0=l(47785);function a1(e){return"steps"in e&&e.steps||{}}function a2(e){let t=a1(e);for(let e of["saveResource","submit","request","apply","save"]){var l;if(Object.prototype.hasOwnProperty.call(t,e)&&(null==(l=t[e])?void 0:l.result)!=null)return t[e].result}let r=Object.entries(t).filter(e=>{let[t,l]=e;return"afterSuccess"!==t&&(null==l?void 0:l.result)!=null}).map(e=>{let[,t]=e;return t.result});return r[r.length-1]}function a4(e){if(!a6(e))return;let t=a3(e);if(t())return(0,O.createRecordMetaFactory)(t,e.t("Response record"),()=>{let l=t(),r=a2(e);if(l&&r)try{let e=l.getFilterByTK(r);if(null==e)return;return{collection:l.name,dataSourceKey:l.dataSourceKey||"main",filterByTk:e}}catch(e){return}})}function a6(e){var t;if(Object.prototype.hasOwnProperty.call(a1(e),"saveResource"))return!0;let{model:l,flowKey:r}=e;return!!l&&"function"==typeof l.getFlow&&!!r&&Object.prototype.hasOwnProperty.call((null==(t=l.getFlow(r))?void 0:t.steps)||{},"saveResource")}function a3(e){return()=>{var t,l;return(null==(t=e.blockModel)?void 0:t.collection)||e.collection||(null==(l=e.model)?void 0:l.collection)||null}}function a5(e){let t=a4(e);if(!t){var l;return(null==(l=e.getPropertyMetaTree)?void 0:l.call(e))||[]}let r=new O.FlowContext;return r.addDelegate(e),r.defineProperty("responseRecord",{get:()=>a2(e),cache:!1,resolveOnServer:(0,O.createRecordResolveOnServerWithLocal)(a3(e),()=>a2(e)),meta:t}),r.getPropertyMetaTree()}function a8(e){let t=(0,O.useFlowSettingsContext)(),l=(0,A.useMemo)(()=>()=>a5(t),[t]);return(0,D.jsx)(a0.n,{...e,metaTree:l})}let a9=(0,O.defineAction)({name:"afterSuccess",title:(0,O.tExpr)("After successful submission"),defineProperties(e){let t=a4(e);return{responseRecord:{get:()=>a2(e),cache:!1,resolveOnServer:(0,O.createRecordResolveOnServerWithLocal)(a3(e),()=>a2(e)),...t?{meta:t}:{}}}},uiSchema:{successMessage:{type:"string",title:(0,O.tExpr)("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea"},manualClose:{type:"boolean",title:(0,O.tExpr)("Message popup close method"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,O.tExpr)("Automatic close"),value:!1},{label:(0,O.tExpr)("Manually close"),value:!0}]},actionAfterSuccess:{type:"string",title:(0,O.tExpr)("Action after successful submission"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,O.tExpr)("Stay on the current popup or page"),value:"stay"},{label:(0,O.tExpr)("Return to the previous popup or page"),value:"previous"},{label:(0,O.tExpr)("Close popup and redirect to"),value:"redirect"}]},redirectTo:{type:"string",title:(0,O.tExpr)("Link"),"x-decorator":"FormItem","x-component":a8,"x-reactions":{dependencies:["actionAfterSuccess"],fulfill:{state:{visible:"{{$deps[0]==='redirect'}}"}}}}},defaultParams:{successMessage:(0,O.tExpr)("Saved successfully"),manualClose:!1,actionAfterSuccess:"previous"},async handler(e,t){let{successMessage:l,manualClose:r=!1,actionAfterSuccess:n="previous",redirectTo:i}=t;"previous"===n&&e.view&&e.view.close();let o=t=>{if(e.engine){let t=e.engine;for(;t.nextEngine;)t=t.nextEngine;let l=[],r=t;for(;r;)l.push(r),r=r.previousEngine;for(let e of l)e.destroyView()}e.router.navigate(t)},a=e=>{if((0,ea.isURL)(e)){window.location.href=e;return}o(e)};if(l){let t=e.t(l);if(r)return void await e.modal.success({title:t,onOk:async()=>{"redirect"===n&&i&&a(i)}});e.message.success(t)}"redirect"===n&&i&&a(i)}}),a7=(0,O.defineAction)({name:"confirm",title:(0,O.tExpr)("Confirmation"),uiSchema:{enable:{type:"boolean",title:(0,O.tExpr)("Enable secondary confirmation"),"x-decorator":"FormItem","x-component":"Switch"},title:{type:"string",title:(0,O.tExpr)("Title"),"x-decorator":"FormItem","x-component":a0.n,"x-component-props":{rows:2}},content:{type:"string",title:(0,O.tExpr)("Content"),"x-decorator":"FormItem","x-component":a0.n,"x-component-props":{rows:3}}},defaultParams:{enable:!1,title:(0,O.tExpr)("Please Confirm"),content:(0,O.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 se=l(58528),st=l(81486);let sl={__nocobaseDataScopeNull__:!0},sr="{{$nRole}}",sn=/^\s*\{\{\s*ctx\.role\s*\}\}\s*$/;function si(e){return"string"==typeof e&&sn.test(e)}function so(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!0===e.__nocobaseDataScopeNull__&&1===Object.keys(e).length}function sa(e){return so(e)?null:Array.isArray(e)?e.map(e=>sa(e)):e&&"object"==typeof e?Object.keys(e).reduce((t,l)=>(t[l]=sa(e[l]),t),{}):e}function ss(e){var t;return!!(0,O.isVariableExpression)(e)&&(null==(t=(0,O.extractPropertyPath)(e))?void 0:t[0])==="urlSearchParams"}function sd(e,t){if(e&&t&&"object"==typeof e&&"object"==typeof t){if("path"in e&&"operator"in e){if(si(e.value)){t.value=sr;return}(0,O.isVariableExpression)(e.value)&&!ss(e.value)&&(void 0===t.value||null===t.value||""===t.value)&&(t.value=sl);return}Array.isArray(e.items)&&Array.isArray(t.items)&&e.items.forEach((e,l)=>{sd(e,t.items[l])})}}function su(e,t){let l=B().cloneDeep(t);return sd(e,l),sa((0,O.pruneFilter)((0,ea.transformFilter)(l)))}var sc=l(12197),sp=l(47632);function sh(e,t){return e.length===t.length&&e.every((e,l)=>e===t[l])}function sf(e,t){return!(e.length>t.length)&&e.every((e,l)=>e===t[l])}function sm(e){let t=new Map;for(let l of e)(null==l?void 0:l.length)&&t.set((0,sc.Qc)(l),l);return Array.from(t.values())}function sg(e){let t=sm(e);return t.filter((e,l)=>!t.some((t,r)=>r!==l&&sf(e,t)))}function sv(e){let t=Array.isArray(e)?e:[],l=[];for(let e of t){if("string"!=typeof e)continue;let[t,r]=e.split(":"),n=Number(r);!t||Number.isNaN(n)||l.push({name:t,index:n})}return l}function sy(e){var t;let l=null==e?void 0:e.model;return sv((null==l||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex))}function sb(e,t){let l=e.length-1-t;if(l<0)return null;let r=[];for(let t=0;t<=l;t++)r.push(e[t].name,e[t].index);return r}function sx(e,t){let l=sb(e,t);return(null==l?void 0:l.length)?l.slice(0,-1):null}function sw(e){return(0,sc.EA)(e).filter(e=>"object"!=typeof e)}function sS(e){return(0,sc.c1)(e)}function sA(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=e,r=Array.isArray(null==l?void 0:l.changedPaths)?l.changedPaths:[],n=[];for(let e of r){if(Array.isArray(e)){if(1===e.length&&"string"==typeof e[0]){let t=(0,sc.c1)(e[0]);t.length&&n.push(t);continue}let t=e.filter(e=>"string"==typeof e||"number"==typeof e);t.length&&n.push(t);continue}"string"==typeof e&&e&&n.push((0,sc.c1)(e))}if(n.length)return n;let i=null==l?void 0:l.changedValues;if(i&&"object"==typeof i&&(t.includeArrayChangedValues||!Array.isArray(i)))for(let e of Object.keys(i)){let t=(0,sc.c1)(e);t.length&&n.push(t)}return n}function sM(e){var t,l;let r=e;return!!r&&"object"==typeof r&&!!r.emitter&&"function"==typeof r.emitter.on&&"function"==typeof r.emitter.off&&(!!r.formValueRuntime||!!(null==(t=r.context)?void 0:t.form)||"function"==typeof(null==(l=r.context)?void 0:l.setFormValues))}function sF(e){var t;let l=[],r=e=>{e&&!l.includes(e)&&l.push(e)},n=e.model;r(null==n||null==(t=n.context)?void 0:t.blockModel),r(e.model);let i=null==n?void 0:n.parent;for(;i;)r(i),i=null==i?void 0:i.parent;return l.find(sM)||null}var sk=l(26866);function sC(e){if(Array.isArray(e)){let t=e.filter(e=>"string"==typeof e&&!!e);return t.length?t:"id"}return"string"==typeof e&&e?e:"id"}function sP(e){var t,l;return sC((null==e||null==(t=e.targetCollection)?void 0:t.filterTargetKey)??(null==e||null==(l=e.targetCollection)?void 0:l.filterByTk)??(null==e?void 0:e.targetKey))}function sj(e){var t,l,r,n,i,o,a,s,d,u;let c=e.model;return(null==c||null==(r=c.context)||null==(l=r.blockModel)||null==(t=l.context)?void 0:t.collection)??(null==c||null==(o=c.context)||null==(i=o.formBlock)||null==(n=i.context)?void 0:n.collection)??(null==c||null==(a=c.context)?void 0:a.rootCollection)??(null==e?void 0:e.rootCollection)??(null==e?void 0:e.collection)??(null==c||null==(d=c.context)||null==(s=d.collectionField)?void 0:s.collection)??(null==c||null==(u=c.context)?void 0:u.collection)}function sE(e){var t,l,r,n,i,o,a,s,d,u,c,p;let h=e.model;return sC((null==h||null==(l=h.context)||null==(t=l.collection)?void 0:t.filterTargetKey)??(null==h||null==(n=h.context)||null==(r=n.collection)?void 0:r.filterByTk)??(null==h||null==(a=h.context)||null==(o=a.collectionField)||null==(i=o.targetCollection)?void 0:i.filterTargetKey)??(null==h||null==(u=h.context)||null==(d=u.collectionField)||null==(s=d.targetCollection)?void 0:s.filterByTk)??(null==h||null==(p=h.context)||null==(c=p.collectionField)?void 0:c.targetKey))}function sR(e,t){let l=sj(e),r=sE(e);return t.map(e=>{let t=r;if(null==l?void 0:l.getField){var n;let r=l.getField(e.name);((null==r||null==(n=r.isAssociationField)?void 0:n.call(r))||(null==r?void 0:r.targetCollection)||(null==r?void 0:r.targetKey))&&(t=sP(r),l=null==r?void 0:r.targetCollection)}return{...e,filterTargetKey:t}})}function sT(e,t,l){let r=e.length-1-t;if(r<0)return;let n=e[r],i=null==n?void 0:n.filterTargetKey,o=Array.isArray(i)?i.map(e=>[e]):"string"==typeof i&&i?[[i]]:[];return{entries:e.slice(0,r+1).map(e=>({...e})),tailPath:l,identityTailPaths:o}}function sI(e,t){return null!=e&&(Array.isArray(e)&&"number"==typeof t?t>=0&&t<e.length:"object"==typeof e&&Object.prototype.hasOwnProperty.call(e,t))}function s_(e,t){let l=e;for(let e of t){if(!sI(l,e))return{found:!1};l=l[e]}return{found:!0,value:l}}function sD(e){let t=e;return(null==t?void 0:t.allValuesSnapshot)??(null==t?void 0:t.allValues)}function sN(e,t){return e&&"object"==typeof e?(0,sk.r5)(e,t):null}function sO(e){let t=[];for(let l of e.entries)t.push(l.name,l.index);return t}function s$(e,t,l,r){if(null==l?void 0:l.rowDetached)return!1;let n=sO(t);if(!n.length||!t.identityTailPaths.length)return!1;let i=t.identityTailPaths.map(e=>[...n,...e]);return(r??sA(e)).some(e=>i.some(t=>sf(t,e)))}function sB(e,t,l){return Array.isArray(e)&&t?e.findIndex(e=>sN(e,l)===t):-1}function sL(e,t,l,r){let n=[],i=-1,o=[];for(let a=0;a<t.entries.length;a++){let s=t.entries[a],d=[...n,s.name],u=s_(e,d);if(!u.found||!Array.isArray(u.value))return{found:!1};let c=null==l?void 0:l[a],p=sB(u.value,c,s.filterTargetKey),h=p>=0?p:s.index;if(h<0||h>=u.value.length)return c?{found:!1,rowMissing:!0}:{found:!1};let f=u.value[h];if(c&&p<0&&!r)return{found:!1,rowMissing:!0};o.push(sN(f,s.filterTargetKey)),i=h,n=[...d,h]}return{found:!0,path:[...n,...t.tailPath],rowIndex:i,rowIdentities:o}}function sq(e,t,l){var r,n;let i=s_(sD(t),l);if(i.found)return i;let o=null==e||null==(r=e.context)?void 0:r.form;return"function"==typeof(null==o?void 0:o.getFieldValue)?{found:!0,value:o.getFieldValue(l)}:s_(null==e||null==(n=e.context)?void 0:n.formValues,l)}function sV(e,t,l,r,n){var i,o;let a=l.rowScope;if(!a)return sq(e,t,l.path);if(null==r?void 0:r.rowDetached)return{found:!1,rowMissing:!0};let s=s$(t,a,r,n);for(let l of[sD(t),null==e||null==(i=e.context)?void 0:i.formValues]){let e=sL(l,a,null==r?void 0:r.rowIdentities,s);if(e.rowMissing)return{found:!1,rowMissing:!0};if(!e.found||!e.path)continue;let t=s_(l,e.path);if(t.found)return{found:!0,value:t.value,rowIdentities:e.rowIdentities}}let d=null==e||null==(o=e.context)?void 0:o.form;return"function"==typeof(null==d?void 0:d.getFieldValue)?{found:!0,value:d.getFieldValue(l.path),rowIdentities:null==r?void 0:r.rowIdentities}:{found:!1}}function sz(e){return Array.isArray(e)?e.length:e}function sK(e,t,l){var r,n;if(!Array.isArray(e))return{found:!0,value:e};let i=null==l||null==(r=l.rowIdentities)?void 0:r[l.rowIdentities.length-1],o=null==(n=t.rowScope)?void 0:n.entries[t.rowScope.entries.length-1],a=sB(e,i,null==o?void 0:o.filterTargetKey);return a>=0?{found:!0,value:a,rowIdentities:null==l?void 0:l.rowIdentities}:i?{found:!1,rowMissing:!0}:!o||o.index<0||o.index>=e.length?{found:!1}:{found:!0,value:o.index,rowIdentities:[sN(e[o.index],o.filterTargetKey)]}}function sU(e,t,l,r,n){var i,o;if("length"===l.kind){if(null==r?void 0:r.rowDetached)return{found:!1,rowMissing:!0};let o=null==r?void 0:r.rowIdentities,a=l.rowScope;if(a){let l=s$(t,a,r,n);for(let n of[sD(t),null==e||null==(i=e.context)?void 0:i.formValues]){let e=sL(n,a,null==r?void 0:r.rowIdentities,l);if(e.rowMissing)return{found:!1,rowMissing:!0};if(e.found){o=e.rowIdentities;break}}}let s=sq(e,t,l.path);return s.found?{found:!0,value:sz(s.value),rowIdentities:o}:s}if(null==r?void 0:r.rowDetached)return{found:!1,rowMissing:!0};let a=l.rowScope;if(a){let l=s$(t,a,r,n);for(let n of[sD(t),null==e||null==(o=e.context)?void 0:o.formValues]){let e=sL(n,a,null==r?void 0:r.rowIdentities,l);if(e.rowMissing)return{found:!1,rowMissing:!0};if(e.found&&"number"==typeof e.rowIndex)return{found:!0,value:e.rowIndex,rowIdentities:e.rowIdentities}}}let s=sq(e,t,l.path);return s.found?sK(s.value,l,r):s}function sW(e,t,l){if(e.wildcard)return null;let r={complete:!0,rowDetached:!1,rowMissing:!1,values:new Map,structures:new Map};for(let n of e.valuePaths){let e=(0,sc.Qc)(n.path),i=sV(t,l,n);if(i.rowMissing){r.rowMissing=!0,r.complete=!1;continue}if(!i.found){r.complete=!1;continue}r.values.set(e,{value:(0,$.cloneDeep)(i.value),rowIdentities:i.rowIdentities,rowDetached:!1})}for(let n of e.structuralPaths){let e=sU(t,l,n);if(e.rowMissing){r.rowMissing=!0,r.complete=!1;continue}if(!e.found){r.complete=!1;continue}r.structures.set(`${n.kind}:${(0,sc.Qc)(n.path)}`,{value:(0,$.cloneDeep)(e.value),rowIdentities:e.rowIdentities,rowDetached:!1})}return r}function sH(e,t,l,r,n){if(e.wildcard)return null;let i={complete:!0,rowDetached:!1,rowMissing:!1,values:new Map,structures:new Map};for(let o of e.valuePaths){let e=(0,sc.Qc)(o.path),a=r.values.get(e),s=sV(t,l,o,a,n);if(s.rowMissing){i.rowMissing=!0,i.rowDetached=!0,a?i.values.set(e,{...a,rowDetached:!0}):i.complete=!1;continue}if(!s.found){i.complete=!1;continue}i.values.set(e,{value:(0,$.cloneDeep)(s.value),rowIdentities:s.rowIdentities??(null==a?void 0:a.rowIdentities),rowDetached:!1})}for(let o of e.structuralPaths){let e=`${o.kind}:${(0,sc.Qc)(o.path)}`,a=r.structures.get(e),s=sU(t,l,o,a,n);if(s.rowMissing){i.rowMissing=!0,i.rowDetached=!0,a?i.structures.set(e,{...a,rowDetached:!0}):i.complete=!1;continue}if(!s.found){i.complete=!1;continue}i.structures.set(e,{value:(0,$.cloneDeep)(s.value),rowIdentities:s.rowIdentities??(null==a?void 0:a.rowIdentities),rowDetached:!1})}return i}function sY(e,t){if(e.size!==t.size)return!1;for(let[r,n]of e.entries()){var l;if(!t.has(r)||!(0,$.isEqual)(n.value,null==(l=t.get(r))?void 0:l.value))return!1}return!0}function sG(e,t,l,r){if(e.wildcard||!(null==r?void 0:r.complete))return{status:"unknown",snapshot:sW(e,t,l)};let n=sH(e,t,l,r,sA(l));return(null==n?void 0:n.rowMissing)?{status:"unchanged",snapshot:{...n,rowMissing:!1}}:(null==n?void 0:n.complete)?{status:sY(r.values,n.values)&&sY(r.structures,n.structures)?"unchanged":"changed",snapshot:n}:{status:"unknown",snapshot:n}}let sJ="formValuesChange",sX="__formValueDrivenDataScopeClearBindings";function sQ(e){let t=new Map;for(let r of e){var l;(null==r||null==(l=r.path)?void 0:l.length)&&t.set((0,sc.Qc)(r.path),r)}return Array.from(t.values())}function sZ(e){let t=sQ(e);return t.filter((e,l)=>!t.some((t,r)=>r!==l&&sf(e.path,t.path)))}function s0(e){let t=new Map;for(let r of e){var l;(null==r||null==(l=r.path)?void 0:l.length)&&t.set(`${r.kind}:${(0,sc.Qc)(r.path)}`,r)}return Array.from(t.values())}function s1(e){let t=new Map;for(let r of e){var l;(null==r||null==(l=r.path)?void 0:l.length)&&t.set(`${r.includeChildren?"children":"exact"}:${(0,sc.Qc)(r.path)}`,r)}return Array.from(t.values())}function s2(){return{wildcard:!1,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function s4(){return{wildcard:!0,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function s6(e){let t=e[0];if("value"===t){let t=e.slice(1);return t.length?{wildcard:!1,valuePaths:[{path:t}],structuralPaths:[],triggerPaths:[]}:s4()}return"__is_new__"===t||"__is_stored__"===t?{wildcard:!1,valuePaths:[{path:[t]}],structuralPaths:[],triggerPaths:[]}:s2()}function s3(e,t){var l,r;let n=sR(e,sv((null==(r=e.model)||null==(l=r.context)?void 0:l.fieldIndex)??(null==e?void 0:e.fieldIndex))),i=0,o=[...t];for(;"parentItem"===o[0];)i+=1,o=o.slice(1);let a=o[0];if(!a)return s4();if(!n.length)return 0===i?s6(o):s2();if(i===n.length)return s6(o);if(i>n.length)return s4();if("value"===a){let e=sb(n,i);if(!e)return s4();let t=sx(n,i),l=o.slice(1);return{wildcard:!1,valuePaths:[{path:[...e,...l],rowScope:sT(n,i,l)}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0},...t?[{path:t,includeChildren:!1}]:[]]}}if("index"===a||"length"===a){let e=sx(n,i);return e?{wildcard:!1,valuePaths:[],structuralPaths:[{path:e,kind:a,rowScope:sT(n,i,[])}],triggerPaths:[{path:e,includeChildren:!1}]}:s4()}if("__is_new__"===a||"__is_stored__"===a){let e=sb(n,i);return e?{wildcard:!1,valuePaths:[{path:[...e,a],rowScope:sT(n,i,[a])}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0}]}:s4()}return s4()}function s5(e,t){let l={deps:new Set,wildcard:!1};(0,sp.G)(t,l);let r=[],n=[],i=[],o=l.wildcard;for(let t of l.deps){if("fv:*"===t){o=!0;continue}if(!t.startsWith("fv:")){if("ctx:item"===t||t.startsWith("ctx:item:")){let l="ctx:item"===t?"":t.slice(9),a=s3(e,l?sS(l):[]);o||(o=a.wildcard),r.push(...a.valuePaths),n.push(...a.structuralPaths),i.push(...a.triggerPaths)}continue}let l=t.slice(3);if(!l){o=!0;continue}r.push({path:sS(l)})}return{wildcard:o,valuePaths:sZ(r),structuralPaths:s0(n),triggerPaths:s1(i)}}function s8(e){return e.wildcard||e.valuePaths.length>0||e.structuralPaths.length>0||e.triggerPaths.length>0}function s9(e){var t;let l=null==e||null==(t=e.props)?void 0:t.value;return null!=l&&(!Array.isArray(l)||l.length>0)}function s7(e,t){if(!s8(e))return!1;if(e.wildcard)return!0;let l=sA(t);if(!l.length)return!0;for(let t of l){for(let l of e.valuePaths)if(sf(l.path,t)||sf(t,l.path))return!0;for(let l of e.structuralPaths)if(sh(l.path,t)||sf(t,l.path))return!0;for(let l of e.triggerPaths)if(l.includeChildren&&(sf(l.path,t)||sf(t,l.path))||!l.includeChildren&&sh(l.path,t))return!0}return!1}function de(e,t){let l=e=>e.map(e=>(0,sc.Qc)(e.path)).sort(),r=e=>e.map(e=>`${e.kind}:${(0,sc.Qc)(e.path)}`).sort();return JSON.stringify({formBlockUid:null==t?void 0:t.uid,wildcard:e.wildcard,valuePaths:l(e.valuePaths),structuralPaths:r(e.structuralPaths),triggerPaths:e.triggerPaths.map(e=>`${e.includeChildren?"children":"exact"}:${(0,sc.Qc)(e.path)}`).sort()})}function dt(e){var t,l;return(t=e)[l=sX]||(t[l]=new Map)}function dl(e){return sF(e)}function dr(e){var t,l;if(!s9(e))return;let r=Array.isArray(null==e||null==(t=e.props)?void 0:t.value)?[]:null;"function"==typeof e.change?e.change(r):"function"==typeof(null==e||null==(l=e.props)?void 0:l.onChange)&&e.props.onChange(r)}function dn(e){var t;return!!e&&"object"==typeof e&&"function"==typeof(null==e||null==(t=e.props)?void 0:t.onChange)}function di(e,t){let l=dt(e).get(t);l&&l.dispose()}function da(e,t){var l,r,n,i,o,a;let s=e.model,d=null==e?void 0:e.flowKey;if(!dn(s)||!d)return;let u="dataScope",c=`${d}:${u}`,p=s5(e,t);if(!s8(p))return void di(s,c);let h=dl(e);if(!h)return void di(s,c);let f=de(p,h),m=dt(s),g=m.get(c);if((null==g?void 0:g.signature)===f)return;g&&g.dispose();let v=(null==s||null==(l=s.flowEngine)?void 0:l.emitter)||(null==e||null==(r=e.engine)?void 0:r.emitter)||(null==s||null==(i=s.context)||null==(n=i.engine)?void 0:n.emitter),y={signature:f,snapshot:sW(p,h),dispose:()=>{}},b=()=>{var e,t,l,r;null==(t=h.emitter)||null==(e=t.off)||e.call(t,sJ,x),null==v||null==(l=v.off)||l.call(v,"model:unmounted",w),null==v||null==(r=v.off)||r.call(v,"model:destroyed",S),m.get(c)===y&&m.delete(c)},x=e=>{var t;if(s.disposed||h.disposed)return void b();if(!s7(p,e))return;let l=sG(p,h,e,y.snapshot);(null==(t=l.snapshot)?void 0:t.complete)&&(y.snapshot=l.snapshot),"unchanged"===l.status||s9(s)&&dr(s)},w=e=>{let{model:t}=e;(t===h||t===s&&s.disposed)&&b()},S=e=>{let{model:t}=e;(t===s||t===h)&&b()};y.dispose=b,m.set(c,y),h.emitter.on(sJ,x),null==v||null==(o=v.on)||o.call(v,"model:unmounted",w),null==v||null==(a=v.on)||a.call(v,"model:destroyed",S)}let ds=(0,O.defineAction)({name:"dataScope",title:(0,O.tExpr)("Data scope"),uiMode:{type:"dialog",props:{width:800}},uiSchema:{filter:{type:"object","x-decorator":"FormItem","x-component":function(e){let t=(0,O.useFlowSettingsContext)();return(0,D.jsx)(se.I8,{value:e.value,FilterItem:e=>(0,D.jsx)(se.Et,{...e,model:t.model,rightAsVariable:!0,maxAssociationFieldDepth:t.model instanceof st.o?void 0:2})})}}},defaultParams:e=>({filter:{logic:"$and",items:[]}}),useRawParams:!0,async handler(e,t){var l;let r=null==(l=e.model)?void 0:l.resource;if(!r)return;let n=await e.resolveJsonTemplate(t.filter),i=su(t.filter,n);da(e,t.filter),(0,ea.isEmptyFilter)(i)?r.removeFilterGroup(e.model.uid):r.addFilterGroup(e.model.uid,i)}});var dd=l(52717),du=l(94130);class dc extends O.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,r]of t.currentModels)e.set(l,r);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 r=t.collection||(null==(l=t.blockModel)?void 0:l.collection),n=(0,du.GX)(e);return(0,du.F3)(r,n)}static async defineChildren(e){let t=this.baseClass?await (0,O.buildSubModelItems)(this.baseClass)(e):[],l=[],r=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)||r.find(e=>e.useModel===n.name))continue;let t=await (0,O.buildSubModelItem)(n,e);t&&l.push(t)}return B().sortBy([...r,...l],"sort")}}(0,w._)(dc,"baseClass",void 0),(0,w._)(dc,"scene",void 0),(0,w._)(dc,"_models",void 0);class dp extends dc{}(0,w._)(dp,"baseClass",dd.S0),(0,w._)(dp,"scene",dd.s5.collection);class dh extends dc{}(0,w._)(dh,"baseClass",dd.S0),(0,w._)(dh,"scene",dd.s5.record);var df=l(14252);class dm extends O.FlowModel{static defineChildren(e){let t=this.itemModelName,l=this.maxAssociationFieldDepth??2,r=function(n){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return o>=l?[]:n.getToOneAssociationFields().map(n=>{let a=i?`${i}.${n.name}`:n.name,s=o+1;return n.targetCollection?{key:`${a}-assocationField`,label:n.title,children:()=>[{key:`${a}-children-collectionField`,label:e.t("Display fields"),type:"group",children:n.targetCollection.getFields().map(r=>{var n;if(s>=l&&((null==(n=r.isAssociationField)?void 0:n.call(r))||r.target||r.targetCollection))return;let i=`${a}.${r.name}`,o=O.DisplayItemModel.getDefaultBindingByField(e,r,{fallbackToTargetTitleField:!0});if(!o)return;let d=o.modelName;return{key:`c-${a}.${r.name}`,label:r.title,useModel:t,toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===i},createModelOptions:{stepParams:{fieldSettings:{init:{dataSourceKey:e.collection.dataSourceKey,collectionName:e.prefixFieldPath?e.blockModel.context.collection.name:e.collection.name,fieldPath:i,associationPathName:a}}},subModels:{field:{use:d}}}}}).filter(Boolean)},{key:`${a}-children-associationField`,label:"Display association fields",type:"group",children:(r(n.targetCollection,a,s)||[]).filter(Boolean)}].filter(e=>{var t;return e.key!==`${a}-children-associationField`||(null==(t=e.children)?void 0:t.length)>0})}:void console.error(`AssociationFieldGroupModel: target collection ${n.target} not found for field ${n.name}`)}).filter(Boolean)};return r(e.collection,e.prefixFieldPath)}}function dg(e){return["multipleSelect","checkboxGroup"].includes(null==e?void 0:e.interface)||["array","json","jsonb"].includes(null==e?void 0:e.type)}function dv(e){return e.context}function dy(e,t){var l;let r=e[t]||(null==(l=dv(e))?void 0:l[t]);return r&&"object"==typeof r?r:void 0}function db(e){var t,l,r;let n=null==(t=dv(e))?void 0:t.dataSourceManager;return n||(null==(r=e.flowEngine)||null==(l=r.context)?void 0:l.dataSourceManager)}function dx(e){return{operatorGroup:e.operatorGroup,operators:Array.isArray(e.operators)?[...e.operators]:e.operators,operatorOverrides:Array.isArray(e.operatorOverrides)?[...e.operatorOverrides]:e.operatorOverrides}}function dw(e){if(!1===e)return[];if(!e||"object"!=typeof e)return;let t=o3(dx(e));return Array.isArray(null==t?void 0:t.operators)&&t.operators.length>0?t.operators:Array.isArray(null==t?void 0:t.operatorOverrides)&&t.operatorOverrides.length>0?t.operatorOverrides:void 0}function dS(e,t){var l;let r="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;if(!r)return;let n=db(e),i=null==n?void 0:n.collectionFieldInterfaceManager,o=null==i||null==(l=i.getFieldInterface)?void 0:l.call(i,r);return null==o?void 0:o.filterable}function dA(e){let t=[null==e?void 0:e.interface,null==e?void 0:e.type].filter(e=>"string"==typeof e),l=eE.II;for(let e of t){let t=l[e];if(null==t?void 0:t.length)return t}return[]}function dM(e){let t=dy(e,"collectionField"),l=dy(e,"filterField"),r=t||l;if((null==r?void 0:r.filterable)===!1)return[];let n=dw(null==r?void 0:r.filterable);if(null==n?void 0:n.length)return n;let i=dS(e,r);if(!1===i)return[];let o=dw(i);return(null==o?void 0:o.length)?o:dA(r)}function dF(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:dk(e);if(!t)return null;let l=dy(e,"collectionField")||dy(e,"filterField");return dM(e).find(e=>e.value===t&&(!e.visible||e.visible(l)))||null}function dk(e){var t,l,r,n,i,o;let a=dM(e);return e.operator||(null==(l=e.getStepParams)||null==(t=l.call(e,"filterFormItemSettings","defaultOperator"))?void 0:t.value)||(null==(n=e.subModels)||null==(r=n.field)?void 0:r.operator)||(null==(i=a.find(e=>e.selected))?void 0:i.value)||(null==(o=a[0])?void 0:o.value)||"$includes"}function dC(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 dP(e){return e.filterSubModels("items",e=>{var t;return!!(null==(t=e.resource)?void 0:t.supportsFilter)})}(0,w._)(dm,"itemModelName","DetailsItemModel"),(0,w._)(dm,"maxAssociationFieldDepth",2),dm.define({label:'{{t("Display fields")}}'});let dj={$match:"$in",$anyOf:"$in",$notMatch:"$notIn",$noneOf:"$notIn"};function dE(e,t){var l,r,n;let i=null==e||null==(l=e.context)?void 0:l.dataSourceManager,o=null==e?void 0:e.collection;if(!i||!(null==o?void 0:o.dataSourceKey)||!(null==o?void 0:o.name)||!t)return;let a=o.name,s=t.split(".").filter(Boolean);for(let e=0;e<s.length;e+=1){let t=null==(r=i.getCollectionField)?void 0:r.call(i,`${o.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 dR(e,t,l){let r=dj[e];if(!r)return e;let n=dE(t,l);return!n||dg(n)?e:r}async function dT(e){(null==e?void 0:e.loading)&&await new Promise(t=>{let l=()=>{e.loading?setTimeout(l,16):t()};l()})}function dI(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Unknown error"}}class d_{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 r;let e=this.gridModel.flowEngine.getModel(t.filterId),n=null==e||null==(r=e.context)?void 0:r.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}": ${dI(t)}`)}})),l}async saveConnectFieldsConfig(e,t){let l=t.targets.map(t=>({filterId:e,targetId:t.targetId,filterPaths:t.filterPaths})),r=this.filterConfigs.filter(t=>t.filterId!==e);this.filterConfigs=[],this.filterConfigs.push(...r,...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:r=!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&&r&&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 r=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(dC(n)){try{t.resource.removeFilterGroup(e.filterId),r.setFilterActive(e.filterId,!1)}catch(e){console.error(`[NocoBase]: Failed to remove filter configuration from target model: ${e.message}`)}return}r.setFilterActive(e.filterId,!0);let i=e.filterPaths.map(r=>({path:r,operator:dR(e.operator||dk(l),t,r),value:n}));try{if(1===i.length)t.resource.addFilterGroup(e.filterId,new O.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 O.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 r=t;l.forEach(e=>{try{t.resource.removeFilterGroup(e.filterId),"function"==typeof(null==r?void 0:r.removeFilterSource)&&r.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 r=this.filterConfigs.filter(e=>l.includes(e.filterId));if(0===r.length)return;let n=(null==t?void 0:t.excludeTargetIds)?new Set(t.excludeTargetIds):void 0,i=[...new Set(r.map(e=>e.targetId))].filter(e=>!(null==n?void 0:n.has(e))).map(async e=>{try{var t,l;this.bindToTarget(e);let r=this.gridModel.flowEngine.getModel(e);if(!r)return void console.error(`Target model with uid "${e}" not found`);if(!r.resource||"function"!=typeof r.resource.refresh)return void console.error(`Target model with uid "${e}" does not have a valid resource with refresh method`);let n=r,i=r.resource,o=r,a=n.getDataLoadingMode();if("manual"===a&&!n.hasActiveFilters()){i.setData([]),i.setMeta({count:0,hasNext:!1}),"function"==typeof i.setPage&&i.setPage(1),i.loading=!1,null==(l=o.resetAfterFilterChange)||l.call(o);return}await dT(i),"function"==typeof i.setPage&&i.setPage(1),await i.refresh(),null==(t=o.resetAfterFilterChange)||t.call(o)}catch(t){console.error(`Failed to refresh target model "${e}": ${t.message}`);return}});await Promise.all(i)}constructor(e,t){(0,w._)(this,"filterConfigs",void 0),(0,w._)(this,"gridModel",void 0),this.gridModel=e,this.filterConfigs=t||[]}}var dD=l(84626),dN=l(47152),dO=l(16370);function d$(e){let{rows:t={},sizes:l={},layout:r,renderItem:n,rowGap:i=16,colGap:o=16,dragOverlayRect:a}=e,s=r||(0,O.normalizeGridLayout)({rows:t,sizes:l});return s.rows.length?(0,D.jsxs)("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:i},"data-grid-root":!0,children:[a&&(0,D.jsx)(dq,{rect:a}),(0,D.jsx)(dB,{rows:s.rows,renderItem:n,rowGap:i,colGap:o,parentPath:[]})]}):(0,D.jsx)("div",{style:{position:"relative"},"data-grid-root":!0,"data-grid-empty-container":!0,children:a&&(0,D.jsx)(dq,{rect:a})})}function dB(e){let{rows:t,renderItem:l,rowGap:r,colGap:n,parentPath:i}=e;return(0,D.jsx)(D.Fragment,{children:t.map(e=>{let t=e.cells.length,o=e.sizes||[],a=o.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=o.reduce((e,t)=>e+(t||0),0),r=t-o.filter(Boolean).length,n=r>0?(24-e)/r:0;return o[l]??n}});return(0,D.jsx)(dN.A,{gutter:n,"data-grid-row-id":e.id,"data-grid-path":JSON.stringify(s),children:e.cells.map((t,i)=>(0,D.jsx)(dL,{rowKey:e.id,columnIndex:i,span:d[i],rowGap:r,colGap:n,cell:t,path:[...s.slice(0,-1),{rowId:e.id,cellId:t.id}],renderItem:l},t.id))},e.id)})})}let dL=A.memo(function(e){var t;let{rowKey:l,columnIndex:r,span:n,rowGap:i,colGap:o,cell:a,path:s,renderItem:d}=e,u=a.items||[];return(0,D.jsx)(dO.A,{span:n,"data-grid-column-row-id":l,"data-grid-column-index":r,"data-grid-path":JSON.stringify(s),children:(0,D.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:i},children:[u.map((e,t)=>e===O.EMPTY_COLUMN_UID?null:(0,D.jsx)("div",{"data-grid-item-row-id":l,"data-grid-column-index":r,"data-grid-item-index":t,"data-grid-item-uid":e,"data-grid-path":JSON.stringify(s),children:d(e)},e)),(null==(t=a.rows)?void 0:t.length)?(0,D.jsx)(dB,{rows:a.rows,renderItem:d,rowGap:i,colGap:o,parentPath:s}):null]})})});function dq(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},r={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,D.jsx)("div",{style:{...l,...r[t.type]}})}dL.displayName="GridColumn";var dV=l(95725),dz=l(40919);let dK=e=>{let{value:t,onChange:l,rows:r=10,...n}=e,[i,o]=(0,A.useState)(()=>t?JSON.stringify(t,null,2):""),[a,s]=(0,A.useState)(null);(0,A.useEffect)(()=>{o(t?JSON.stringify(t,null,2):"")},[t]);let d=e=>{let t=e.target.value;o(t);try{let e=t.trim()?JSON.parse(t):void 0;s(null),null==l||l(e)}catch(e){s(e.message)}};return(0,D.jsxs)("div",{children:[(0,D.jsx)(dV.A.TextArea,{value:i,autoSize:{minRows:r,maxRows:r+10},onChange:d,...n}),a&&(0,D.jsx)(dz.A,{type:"error",message:a,showIcon:!0,style:{marginTop:8}})]})},dU=(0,rd.connect)(dK),dW="gridSettings",dH="grid",dY=new Set(["column-edge","item-edge","empty-column"]),dG=e=>e.filter(e=>!dY.has(e.type)),dJ=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 dX extends O.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},r={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,r),t.removeEventListener("mousemove",this.updateDragPointerPosition,r),t.removeEventListener("touchmove",this.updateDragPointerPosition,r),t.removeEventListener("scroll",this.handleDragScroll,r),null==n||n.removeEventListener("scroll",this.handleDragScroll,r)}}deriveRowOrder(e,t){let l=[],r=new Set;return(t||Object.keys(e)).forEach(t=>{e[t]&&!r.has(t)&&(l.push(t),r.add(t))}),Object.keys(e).forEach(e=>{r.has(e)||(l.push(e),r.add(e))}),l}normalizeRowsWithOrder(e,t){let l=this.deriveRowOrder(e,t),r={};return l.forEach(t=>{e[t]&&(r[t]=e[t])}),Object.keys(e).forEach(t=>{r[t]||(r[t]=e[t])}),{rows:r,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(dW,dH)||{};return(0,O.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=B().omit(e.props,["dragOverlayRect"]),e}syncLayoutProps(e){let t=(0,O.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(dW,{[dH]:{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 r=t[e],n=l.find(e=>e.id===r.rowId);if(!n)break;if(e===t.length-1)return n;let i=n.cells.find(e=>e.id===r.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,r)=>{let n=e.cells.findIndex((e,r)=>!l.has(r)&&B().isEqual(this.collectCellItemsForResize(e),t));if(-1!==n){l.add(n);let r=e.cells[n];return r.rows&&!r.items?B().cloneDeep(r):{id:r.id,items:[...t]}}return{id:`${e.id}:cell:${r}:${(0,on.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,r;let n=this.getResizeRowPath(e),i=(null==(t=this.gridContainerRef.current)?void 0:t.clientWidth)||0;if(!n.length)return i;let o=Array.from((null==(l=this.gridContainerRef.current)?void 0:l.querySelectorAll("[data-grid-row-id]"))||[]).find(e=>{try{return B().isEqual(JSON.parse(e.dataset.gridPath||"[]"),n)}catch{return!1}});return(null==o||null==(r=o.parentElement)?void 0:r.clientWidth)||i}prunePlaceholderOnlyRows(e){let t=e=>e.map(e=>{let l=e.cells.map((l,r)=>{var n,i;let o=(null==(n=e.sizes)?void 0:n[r])??1;if(null==(i=l.rows)?void 0:i.length){let e=t(l.rows);return e.length?{cell:{...l,rows:e},size:o,hasRealItem:!0}:null}let a=l.items||[],s=a.some(e=>e!==O.EMPTY_COLUMN_UID),d=a.includes(O.EMPTY_COLUMN_UID);return s||d?{cell:l,size:o,hasRealItem:s}:null}).filter(Boolean);return l.some(e=>e.hasRealItem)?{...e,cells:l.map(e=>e.cell),sizes:l.map(e=>e.size)}:null}).filter(Boolean);return(0,O.normalizeGridLayout)({layout:{...e,rows:t(e.rows||[])},itemUids:this.getItemUids(),gridUid:this.uid,logger:console})}resizeGridLayout(e){var t;let{direction:l,resizeDistance:r,model:n}=e,i=this.getGridLayout(),o=(0,O.findModelUidLayoutPosition)(i,n.uid);if(!o)return null;let a=this.findLayoutRowByPath(i,o.path);if(!a)return null;let s=this.getResizeContainerWidth(o.path),d=a.cells.map(e=>this.collectCellItemsForResize(e)),{newRows:u,newSizes:c,moveDistance:p}=dZ({position:{rowId:a.id,columnIndex:o.cellIndex,itemIndex:o.itemIndex},direction:l,resizeDistance:r,prevMoveDistance:this.prevMoveDistance,oldRows:{[a.id]:d},oldSizes:{[a.id]:a.sizes||[]},gutter:(null==(t=this.context.themeToken)?void 0:t.marginBlock)??16,gridContainerWidth:s}),h=B().cloneDeep(i),f=this.findLayoutRowByPath(h,o.path);return f?(f.cells=this.buildResizedCells(a,u[a.id]||[]),f.sizes=c[a.id]||[],{layout:(0,O.normalizeGridLayout)({layout:h,itemUids:this.getItemUids(),gridUid:this.uid,logger:console}),moveDistance:p}):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 r=e.uid;this.resetRows(!0);let n=this.prunePlaceholderOnlyRows(this.props.layout);this.setGridStepLayout(n),this.syncLayoutProps(n),null==(t=this.context.filterManager)||t.removeFilterConfig({targetId:r}),null==(l=this.context.filterManager)||l.removeFilterConfig({filterId:r}),this.saveStepParams()}),this.emitter.on("onSubModelMoved",()=>{this.resetRows(!0)}),this.emitter.on("onResizeLeft",e=>{let{resizeDistance:t,model:l}=e,r=this.resizeGridLayout({direction:"left",resizeDistance:t,model:l});r&&(this.prevMoveDistance=r.moveDistance,this.syncLayoutProps(r.layout))}),this.emitter.on("onResizeRight",e=>{let{resizeDistance:t,model:l}=e,r=this.resizeGridLayout({direction:"right",resizeDistance:t,model:l});r&&(this.prevMoveDistance=r.moveDistance,this.syncLayoutProps(r.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,O.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(O.EMPTY_COLUMN_UID);let r=new Set,n={};for(let[t,i]of Object.entries(e)){let e=i.map(e=>B().castArray(e).filter(e=>l.has(e))).filter(e=>e.length>0);e.length>0&&(n[t]=e,e.forEach(e=>e.forEach(e=>r.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,on.uid)()]=[[e.uid]]);return n}resetRows(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getStepParams(dW,dH)||{},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 r=dJ(e.activatorEvent);if(r)return this.dragState.pointerOrigin=r,{x:r.x+e.delta.x,y:r.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,O.buildLayoutSnapshot)({container:this.getDragContainer()});this.dragState.slots=this.context.isMobileLayout?dG(e.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,r,n;let i=this.dragOverlayConfig,o=e.rect;switch(e.type){case"column":{let l=null==i||null==(t=i.columnInsert)?void 0:t[e.position],r=(null==l?void 0:l.height)??o.height,n=(null==l?void 0:l.offsetTop)??0;return{top:o.top+n,left:o.left,width:o.width,height:r}}case"column-edge":{let t=null==i||null==(l=i.columnEdge)?void 0:l[e.direction],r=(null==t?void 0:t.width)??o.width,n=(null==t?void 0:t.offsetLeft)??0;return{top:o.top,left:o.left+n,width:r,height:o.height}}case"item-edge":{let t=null==i||null==(r=i.columnEdge)?void 0:r[e.direction],l=(null==t?void 0:t.width)??o.width,n=(null==t?void 0:t.offsetLeft)??0;return{top:o.top,left:o.left+n,width:l,height:o.height}}case"row-gap":{let t=null==i||null==(n=i.rowGap)?void 0:n[e.position],l=(null==t?void 0:t.height)??o.height,r=(null==t?void 0:t.offsetTop)??0;return{top:o.top+r,left:o.left,width:o.width,height:l}}default:return{top:o.top,left:o.left,width:o.width,height:o.height}}}getHitTestSlot(e){return{...e,rect:this.computeOverlayRect(e)}}resolveDragSlot(e){var t;return(null==(t=this.dragState)?void 0:t.slots.length)?(0,O.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,O.getSlotKey)(e);if(this.dragState.activeSlotKey===t&&this.dragState.previewLayout)return;let l=(0,O.simulateLayoutForSlot)({slot:e,sourceUid:this.dragState.sourceUid,layout:this.dragState.snapshot,generateRowId:on.uid,generatedIds:this.dragState.generatedIds,generateId:()=>(0,on.uid)()});if(l.layout&&this.dragState.snapshot.layout&&(0,O.isSameGridLayout)(l.layout,this.dragState.snapshot.layout))return void this.applyPreview(null);this.dragState.previewLayout={rows:B().cloneDeep(l.rows),sizes:B().cloneDeep(l.sizes),rowOrder:B().cloneDeep(l.rowOrder),layout:B().cloneDeep(l.layout)};let r=this.computeOverlayRect(e),n={top:r.top-this.dragState.containerRect.top,left:r.left-this.dragState.containerRect.left,width:r.width,height:r.height,type:e.type};this.setProps("dragOverlayRect",n),this.dragState.activeSlotKey=t}handleDragStart(e){let t=e.active.id,l=this.normalizeLayoutFromSource(),r=(0,O.projectLayoutToLegacyRows)(l);this.dragState={sourceUid:t,snapshot:{rows:B().cloneDeep(r.rows),sizes:B().cloneDeep(r.sizes),rowOrder:B().cloneDeep(r.rowOrder),layout:B().cloneDeep(l)},slots:[],containerEl:this.gridContainerRef.current,containerRect:{top:0,left:0,width:0,height:0},pointerOrigin:dJ(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(B().cloneDeep(l.layout)):(this.setProps("rows",B().cloneDeep(l.rows)),this.setProps("sizes",B().cloneDeep(l.sizes)),l.rowOrder&&this.setProps("rowOrder",B().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,O.normalizeGridLayout)({rows:dQ((0,O.projectLayoutToLegacyRows)(t).rows),itemUids:this.getItemUids()}):t,r=(0,O.projectLayoutToLegacyRows)(l),{rows:n,rowOrder:i}=this.normalizeRowsWithOrder(r.rows,r.rowOrder),o=this.orderSizesByRowOrder(r.sizes,i);if(this.context.flowSettingsEnabled)return{layout:l,rows:n,sizes:o};let a=new Map(((null==(e=this.subModels)?void 0:e.items)||[]).map(e=>[e.uid,e])),s=e=>e.map(e=>{let t=e.cells.map((t,l)=>{var r;let n=null==(r=e.sizes)?void 0:r[l],i=Number.isFinite(n)&&n>0?n:1;if(t.rows){let e=s(t.rows);return e.length?{cell:{...t,rows:e},size:i,hasVisibleContent:!0}:null}let o=(t.items||[]).filter(e=>{var t;return e===O.EMPTY_COLUMN_UID||(null==(t=a.get(e))?void 0:t.hidden)!==!0}),d=o.some(e=>{if(e===O.EMPTY_COLUMN_UID)return!1;let t=a.get(e);return!t||!t.hidden}),u=o.includes(O.EMPTY_COLUMN_UID);return d||u?{cell:{...t,items:o},size:i,hasVisibleContent:d}:null}).filter(Boolean);return t.some(e=>e.hasVisibleContent)?{...e,cells:t.map(e=>e.cell),sizes:t.map(e=>e.size)}:null}).filter(Boolean),d=(0,O.normalizeGridLayout)({layout:{version:2,rows:s(l.rows)}}),u=(0,O.projectLayoutToLegacyRows)(d);return{layout:d,rows:u.rows,sizes:u.sizes}}render(){let{layout:e,rows:t,sizes:l}=this.getVisibleLayout(),r=Object.keys(t||{}).length>0;return(0,D.jsxs)(D.Fragment,{children:[r&&(0,D.jsx)(dD.A,{ref:this.gridContainerRef,direction:"vertical",style:{width:"100%",marginBottom:this.props.rowGap,display:"flex"},size:this.props.rowGap,children:(0,D.jsx)(O.DndProvider,{onDragStart:this.handleDragStart.bind(this),onDragMove:this.handleDragMove.bind(this),onDragEnd:this.handleDragEnd.bind(this),onDragCancel:this.handleDragCancel.bind(this),children:(0,D.jsx)(d$,{rowGap:this.props.rowGap,colGap:this.props.colGap,layout:e,rows:t,sizes:l,dragOverlayRect:this.props.dragOverlayRect,renderItem:e=>{var t,l,r,n,i;let o=this.flowEngine.getModel(e);if(!o)return this.itemFallback;let a=this.context.fieldKey,s=this.context.fieldIndex,d=this.context.getPropertyOptions("item"),u=null==(t=(l=this.context).getPropertyOptions)?void 0:t.call(l,"record"),c=null==(r=(n=this.context).getPropertyOptions)?void 0:r.call(n,"currentObject"),p=null==s?o:(()=>{let t=o.createFork({},`${a}:${e}`);t.context.defineProperty("fieldIndex",{get:()=>s}),t.context.defineProperty("fieldKey",{get:()=>a}),t.context.defineProperty("record",{get:()=>this.context.record,cache:!1,meta:null==u?void 0:u.meta,resolveOnServer:null==u?void 0:u.resolveOnServer,serverOnlyWhenContextParams:null==u?void 0:u.serverOnlyWhenContextParams}),t.context.defineProperty("currentObject",{get:()=>this.context.currentObject,cache:!1,resolveOnServer:null==c?void 0:c.resolveOnServer,serverOnlyWhenContextParams:null==c?void 0:c.serverOnlyWhenContextParams});let{value:l,...r}=d||{};return t.context.defineProperty("item",{...r,get:()=>this.context.item,cache:!1}),t})();return(0,D.jsx)(O.Droppable,{model:p,children:(0,D.jsx)(O.MemoFlowModelRenderer,{model:p,fallback:o.skeleton||this.itemFallback,showFlowSettings:!!this.context.flowSettingsEnabled&&this.getItemFlowSettings(),showErrorFallback:!0,settingsMenuLevel:(null==p?void 0:p.settingsMenuLevel)??this.itemSettingsMenuLevel,showTitle:!0,extraToolbarItems:this.itemExtraToolbarItems},`${p.uid}:${a}:${(null==p?void 0:p.use)||(null==p||null==(i=p.constructor)?void 0:i.name)||"m"}`)})}})})}),this.context.flowSettingsEnabled&&(0,D.jsx)("div",{style:{marginBottom:16},children:this.renderAddSubModelButton()})]})}constructor(...e){super(...e),(0,w._)(this,"subModelBaseClass","BlockModel"),(0,w._)(this,"gridContainerRef",A.createRef()),(0,w._)(this,"prevMoveDistance",0),(0,w._)(this,"itemSettingsMenuLevel",1),(0,w._)(this,"itemFlowSettings",{}),(0,w._)(this,"dragOverlayConfig",void 0),(0,w._)(this,"itemFallback",(0,D.jsx)(i$,{})),(0,w._)(this,"itemExtraToolbarItems",[{key:"drag-handler",component:O.DragHandler,sort:1}]),(0,w._)(this,"dragState",void 0),(0,w._)(this,"_memoItemFlowSettings",void 0),(0,w._)(this,"updateDragPointerPosition",e=>{if(!this.dragState)return;let t=dJ(e);t&&(this.dragState.pointerPosition=t)}),(0,w._)(this,"handleDragScroll",()=>{this.dragState&&this.scheduleSnapshotRefresh()})}}function dQ(e,t){let l=(null==t?void 0:t.emptyColumnUid)??O.EMPTY_COLUMN_UID,r={},n=e=>{if(!r[e])return e;let t=1,l=`${e}:duplicate:${t}`;for(;r[l];)t+=1,l=`${e}:duplicate:${t}`;return l};return Object.keys(e).forEach(t=>{let i=e[t].map((e,t)=>({columnIndex:t,items:e.filter(e=>e!==l)})).filter(e=>e.items.length>0);if(1===i.length&&0===i[0].columnIndex){r[n(t)]=[i[0].items];return}i.forEach(e=>{r[n(`mobile:${encodeURIComponent(t)}:${e.columnIndex}`)]=[e.items]})}),r}function dZ(e){var t,l;let{position:r,direction:n,resizeDistance:i,prevMoveDistance:o,oldSizes:a,oldRows:s,gridContainerWidth:d,gutter:u=16,columnCount:c=24}=e,p=B().cloneDeep(s),h=B().cloneDeep(a),f=Math.floor(i/(d-u*((h[r.rowId]||[]).length-1))*c);if(f===o)return{newRows:p,newSizes:h,moveDistance:f};(t=h)[l=r.rowId]??(t[l]=[c]);let m=h[r.rowId],g=f-o,v="left"===n&&r.columnIndex>0,y="right"===n&&r.columnIndex<m.length-1;if(!v&&!y&&g>0){let e=c-m.reduce((e,t)=>e+t,0);if(e<=0)return{newRows:p,newSizes:h,moveDistance:o};g>e&&(f=o+e,g=e)}if(h[r.rowId][r.columnIndex]+=g,"left"===n&&r.columnIndex>0&&(h[r.rowId][r.columnIndex-1]-=g,0===h[r.rowId][r.columnIndex-1]&&d1({rows:p,sizes:h,position:r,direction:"left"})),"left"===n&&0===r.columnIndex){let e=h[r.rowId].slice(1).reduce((e,t)=>e+t,0);h[r.rowId][0]<c-e&&d0({rows:p,sizes:h,position:r,direction:"left"})}if("right"===n&&r.columnIndex<h[r.rowId].length-1&&(h[r.rowId][r.columnIndex+1]-=g,0===h[r.rowId][r.columnIndex+1]&&d1({rows:p,sizes:h,position:r,direction:"right"})),"right"===n&&r.columnIndex===h[r.rowId].length-1){let e=h[r.rowId].slice(0,-1).reduce((e,t)=>e+t,0);h[r.rowId][r.columnIndex]<c-e&&d0({rows:p,sizes:h,position:r,direction:"right"})}return{newRows:p,newSizes:h,moveDistance:f}}function d0(e){let{rows:t,sizes:l,position:r,direction:n}=e,i=t[r.rowId]||[],o=l[r.rowId]||[];if("left"===n){let e=i[r.columnIndex-1];if(null==e?void 0:e.includes(O.EMPTY_COLUMN_UID))return;i.splice(r.columnIndex,0,[O.EMPTY_COLUMN_UID]),o.splice(r.columnIndex,0,1)}if("right"===n){let e=i[r.columnIndex+1];if(null==e?void 0:e.includes(O.EMPTY_COLUMN_UID))return;i.splice(r.columnIndex+1,0,[O.EMPTY_COLUMN_UID]),o.splice(r.columnIndex+1,0,1)}}function d1(e){let{rows:t,sizes:l,position:r,direction:n}=e,i=t[r.rowId]||[],o=l[r.rowId]||[];if("left"===n){let e=i[r.columnIndex-1];if(!(null==e?void 0:e.includes(O.EMPTY_COLUMN_UID)))return;i.splice(r.columnIndex-1,1),o.splice(r.columnIndex-1,1)}if("right"===n){let e=i[r.columnIndex+1];if(!(null==e?void 0:e.includes(O.EMPTY_COLUMN_UID)))return;i.splice(r.columnIndex+1,1),o.splice(r.columnIndex+1,1)}}dX.registerFlow({key:dW,steps:{resetRows:{handler(e){e.model.resetRows()}},grid:{uiSchema:{layout:{title:(0,O.tExpr)("Layout"),"x-decorator":"FormItem","x-component":dU,"x-component-props":{autoSize:{minRows:10,maxRows:20},description:(0,O.tExpr)("Configure the nested layout of the grid.")}}},async handler(e,t){let l=e.model,r=(0,O.normalizeGridLayout)({layout:t.layout,rows:t.rows,sizes:t.sizes,rowOrder:t.rowOrder,itemUids:l.getItemUids(),gridUid:l.uid,logger:console});l.setGridStepLayout(r),l.syncLayoutProps(r)}}}});let d2=["JSBlockModel","IframeBlockModel","MarkdownBlockModel"];class d4 extends dX{onInit(e){super.onInit(e),this.context.defineProperty("blockGridModel",{value:this}),this.context.defineProperty("filterManager",{once:!0,get:()=>new d_(this,e.filterManager)})}onMount(){var e,t;super.onMount(),(null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)!=="select"||this.viewActivatedListener||(this.viewActivatedListener=()=>{this.mapSubModels("items",e=>{var t;null==(t=e.onActive)||t.call(e)})},this.flowEngine.emitter.on(O.VIEW_ACTIVATED_EVENT,this.viewActivatedListener))}onUnmount(){this.viewActivatedListener&&(this.flowEngine.emitter.off(O.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),super.onUnmount()}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,O.buildSubModelGroups)(["DataBlockModel","FilterBlockModel"])(e),l=d2.filter(t=>!!e.engine.getModelClass(t)),r=(await Promise.all(l.map(t=>(0,O.buildSubModelItems)(t)(e)))).flat().sort((e,t)=>(e.sort??1e3)-(t.sort??1e3));return r.length>0&&t.push({key:"select-scene-other-blocks",type:"group",label:e.t("Other blocks"),sort:1e3,children:r}),t}}serialize(){let e=super.serialize();return e.filterManager=this.filterManager.getFilterConfigs(),e}renderAddSubModelButton(){let e=this.addBlockItems;return(0,D.jsx)(O.AddSubModelButton,{model:this,subModelKey:"items",items:e,subModelBaseClasses:e?void 0:this.subModelBaseClasses,children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(tD.A,{}),"data-flow-add-block":!0,children:this.context.t("Add block")})})}render(){return(0,D.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),(0,w._)(this,"viewActivatedListener",void 0),(0,w._)(this,"dragOverlayConfig",{columnInsert:{before:{offsetTop:-12},after:{offsetTop:12}},columnEdge:{left:{offsetLeft:-5},right:{offsetLeft:6}}})}}d4.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 d6=l(77471),d3=l(72380),d5=l(52175);class d8 extends O.FlowModel{}var d9=l(5679);class d7 extends d6.z{}d7.define({hide:!0,label:"Filter blocks"});var ue=l(44279),ut=l(21637),ul=l(2117);async function ur(e){var t,l,r,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==(r=n.prevent)||r.call(n),e.exitAll()))}let un="__no_active_page_tab__";function ui(e){var t;let{hiddenTabKeys:l,hiddenActiveTabLabel:r,items:n,tabBarProps:i}=e,o=n.filter(e=>!l.has(String(e.key))).map(e=>{let{children:t,className:l,destroyInactiveTabPane:r,forceRender:n,style:i,...o}=e;return{...o,children:null}}),a=o.some(e=>e.key===i.activeKey)?i.activeKey:un,s=null==(t=o.find(e=>!e.disabled))?void 0:t.key,d=l.has(String(i.activeKey))?String(i.activeKey):void 0,u=d&&i.id?`${i.id}-tab-${d}`:void 0,c=e=>{let t=String(e.key);if(a!==un||t!==String(s))return e;let l=!1,r=A.Children.map(e.props.children,e=>l||!A.isValidElement(e)||"tab"!==e.props.role?e:(l=!0,A.cloneElement(e,{tabIndex:0})));return A.cloneElement(e,void 0,r)};return(0,D.jsxs)(D.Fragment,{children:[u?(0,D.jsx)("span",{id:u,hidden:!0,children:r||d}):null,(0,D.jsx)(ut.A,{activeKey:un,animated:{inkBar:i.animated.inkBar,tabPane:!1},destroyInactiveTabPane:!0,id:i.id,items:o,more:i.more,onTabClick:(e,t)=>i.onTabClick(e,t),onTabScroll:i.onTabScroll,renderTabBar:(e,t)=>(0,D.jsx)(t,{...e,activeKey:a,children:c}),tabBarExtraContent:i.extra,tabBarGutter:i.tabBarGutter,tabBarStyle:i.style,tabPosition:i.tabPosition})]})}function uo(e){let{dependencyKey:t,onSync:l}=e,r=A.useRef(),n=A.useRef(!1),i=A.useRef();return A.useEffect(()=>{let e=l({previousEffectiveActiveKey:r.current,previousAllHidden:n.current,lastCorrectionSignature:i.current});r.current=e.effectiveActiveKey,n.current=e.previousAllHidden,i.current=e.lastCorrectionSignature},[t,l]),null}class ua extends O.FlowModel{getEnableTabs(){let e=this.context.currentRoute,t=this.props.routeId;return null!=t&&(null==e?void 0:e.id)!=null&&String(e.id)===String(t)&&"boolean"==typeof e.enableTabs?e.enableTabs:!!this.props.enableTabs}getAllTabs(){var e;return(null==(e=this.subModels)?void 0:e.tabs)||[]}getUnhiddenTabs(){return this.getAllTabs().filter(e=>!e.hidden)}getRequestedTabKey(){var e,t;let l=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;if(l){let e="string"==typeof l.tabUid&&l.tabUid?l.tabUid:void 0;if(e)return this.implicitActiveKey=void 0,{key:e,source:"url"};let t="string"==typeof this.props.tabActiveKey&&this.props.tabActiveKey?this.props.tabActiveKey:void 0;return t&&t===this.implicitActiveKey?{key:t,source:"implicit"}:{source:"none"}}let r="string"==typeof this.props.tabActiveKey&&this.props.tabActiveKey?this.props.tabActiveKey:void 0;return r?{key:r,source:r===this.implicitActiveKey?"implicit":"props"}:{source:"none"}}resolveTabActiveState(){var e,t;let l=this.getAllTabs(),r=this.getUnhiddenTabs(),n=this.getRequestedTabKey();if(!n.key)return{...n,status:"unspecified",effectiveKey:null==(e=r[0])?void 0:e.uid,allTabs:l,unhiddenTabs:r};let i=l.find(e=>e.uid===n.key);return"implicit"===n.source&&(!i||i.hidden)?{...n,status:"unspecified",effectiveKey:null==(t=r[0])?void 0:t.uid,allTabs:l,unhiddenTabs:r}:i?r.some(e=>e.uid===n.key)?{...n,status:"visible",effectiveKey:n.key,allTabs:l,unhiddenTabs:r}:{...n,status:"hidden",effectiveKey:n.key,allTabs:l,unhiddenTabs:r}:{...n,status:"unknown",effectiveKey:n.key,allTabs:l,unhiddenTabs:r}}getActiveTabKey(){if(!this.getEnableTabs()){var e;let t=null==(e=this.getFirstTab())?void 0:e.uid;if(t)return t}return this.resolveTabActiveState().effectiveKey}getTabActiveKeySyncDependency(){var e,t;let l=this.getAllTabs(),r=this.getUnhiddenTabs(),n=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;return JSON.stringify([!!this.context.flowSettingsEnabled,n&&n.tabUid||null,this.props.tabActiveKey||null,l.map(e=>e.uid),r.map(e=>e.uid),this.implicitActiveKey||null])}requestDocumentTitleUpdate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.updateDocumentTitle(e,t).catch(e=>{console.warn("[PageModel] Failed to update document title",e)})}rememberImplicitActiveKey(e){this.implicitActiveKey=e,this.props.tabActiveKey!==e&&this.setProps("tabActiveKey",e)}commitTabActiveKey(e,t){let{previousActiveKey:l,navigate:r,preserveImplicitKey:n=!1,rememberLocalTransition:i=!1}=t;if(i&&e&&(this.locallyCommittedTabTransition={activeKey:e,previousActiveKey:l}),this.implicitActiveKey=e&&n?e:void 0,r){var o,a,s;null==(s=this.context.view)||null==(a=s.navigation)||null==(o=a.changeTo)||o.call(a,{tabUid:e})}e&&e!==l&&this.invokeTabModelLifecycleMethod(e,"onActive"),l&&l!==e&&this.invokeTabModelLifecycleMethod(l,"onInactive"),this.setProps("tabActiveKey",e),e||this.requestDocumentTitleUpdate()}consumeLocallyCommittedTabTransition(e,t){let l=this.locallyCommittedTabTransition;return!!l&&!!t&&(l.activeKey===t&&l.previousActiveKey===e?(this.locallyCommittedTabTransition=void 0,!0):(t!==l.previousActiveKey&&(this.locallyCommittedTabTransition=void 0),!1))}scheduleActiveLifecycleRefresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirtyRefreshScheduled||(this.dirtyRefreshScheduled=!0,Promise.resolve().then(()=>{this.dirtyRefreshScheduled=!1,this.unmounted||!1!==(0,O.getPageActive)(this.context)&&this.activateCurrentTab(e)}).catch(()=>{}))}activateCurrentTab(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive",e)}deactivateCurrentTab(){let e=this.getActiveTabKey();e&&this.invokeTabModelLifecycleMethod(e,"onInactive")}onMount(){var e,t,l,r,n,i,o,a,s;super.onMount(),this.unmounted=!1,this.implicitActiveKey=void 0,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.requestDocumentTitleUpdate(),this.viewActivatedListener||(this.viewActivatedListener=e=>{this.activateCurrentTab()},null==(i=this.flowEngine)||null==(n=i.emitter)||null==(r=n.on)||r.call(n,O.VIEW_ACTIVATED_EVENT,this.viewActivatedListener));let d=(0,O.getEmitterViewActivatedVersion)(null==(l=this.flowEngine)?void 0:l.emitter),u=d>0&&d!==this.lastSeenEmitterViewActivatedVersion;this.lastSeenEmitterViewActivatedVersion=d,u&&!1!==(0,O.getPageActive)(this.context)&&this.activateCurrentTab(),this.dataSourceDirtyListener||(this.dataSourceDirtyListener=e=>{this.scheduleActiveLifecycleRefresh()},null==(s=this.flowEngine)||null==(a=s.emitter)||null==(o=a.on)||o.call(a,O.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener))}onUnmount(){var e,t,l,r,n,i;this.unmounted=!0,this.viewActivatedListener&&(null==(l=this.flowEngine)||null==(t=l.emitter)||null==(e=t.off)||e.call(t,O.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),this.dataSourceDirtyListener&&(null==(i=this.flowEngine)||null==(n=i.emitter)||null==(r=n.off)||r.call(n,O.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener),this.dataSourceDirtyListener=void 0),super.onUnmount()}invokeTabModelLifecycleMethod(e,t){var l,r;let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!e)return;"onActive"===t&&(null==(l=this.context)?void 0:l.pageInfo)&&(this.context.pageInfo.version="v2");let i=this.findSubModel("tabs",t=>t.uid===e)||this.flowEngine.getModel(e);if(i){if(i.context.tabActive){let e=!1!==(0,O.getPageActive)(i.context);i.context.tabActive.value=e&&"onActive"===t}null==(r=i.subModels.grid)||r.mapSubModels("items",e=>{var l;null==(l=e[t])||l.call(e,n)})}"onActive"===t&&this.requestDocumentTitleUpdate(e)}async updateDocumentTitle(e){var t,l,r,n,i,o,a,s,d,u,c,p,h,f,m,g,v,y,b,x;let w=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.unmounted||!1===(0,O.getPageActive)(this.context))return;let S=!!(null==(l=this.context)||null==(t=l.view)?void 0:t.navigation),A=null==(i=this.context)||null==(n=i.view)||null==(r=n.inputArgs)?void 0:r.viewUid,M=null==(s=this.flowEngine)||null==(a=s.context)||null==(o=a.route)?void 0:o.pathname;if(S&&A&&"string"==typeof M){let e=null==(u=this.context)||null==(d=u.layout)?void 0:d.routePath,t=null==(c=(0,O.parsePathnameToViewParams)(M,{basePath:(null==(h=this.context)||null==(p=h.layoutRoute)?void 0:p.basePathname)||((null==e?void 0:e.startsWith("/"))?e:"")}).at(-1))?void 0:c.viewUid;if(t&&t!==A)return}let F=++this.documentTitleUpdateVersion,k=async e=>{if(!e||"string"!=typeof e)return"";try{var t,l;let r=await (null==(t=(l=this.context).resolveJsonTemplate)?void 0:t.call(l,e));return null==r?"":String(r)}catch(t){return e}},C=this.getUnhiddenTabs(),P=e||this.getActiveTabKey(),j=!this.getEnableTabs()||!P&&0===C.length,E="";if(j)E=await k(null==(x=this.stepParams)||null==(b=x.pageSettings)||null==(y=b.general)?void 0:y.documentTitle)||this.props.title||"";else{let e=P?this.findSubModel("tabs",e=>e.uid===P)||this.flowEngine.getModel(P):this.getFirstTab();if(!e&&w<5)return void window.setTimeout(()=>{this.unmounted||F===this.documentTitleUpdateVersion&&this.requestDocumentTitleUpdate(P,w+1)},0);E=await k(null==e||null==(g=e.stepParams)||null==(m=g.pageTabSettings)||null==(f=m.tab)?void 0:f.documentTitle)||(null==e||null==(v=e.getTabTitle)?void 0:v.call(e))||""}F===this.documentTitleUpdateVersion&&"string"==typeof E&&""!==E&&(document.title=E)}mapTabs(){return this.mapSubModels("tabs",e=>({key:e.uid,label:(0,D.jsx)(O.Droppable,{model:e,children:(0,D.jsx)(O.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!0,showBorder:!1,toolbarPosition:"above",style:{transform:"translateY(8px)"}},extraToolbarItems:[{key:"drag-handler",component:O.DragHandler,sort:1}]})}),children:e.renderChildren()}))}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;let r=this.resolveTabActiveState(),n=this.mapTabs(),i=new Set(this.context.flowSettingsEnabled?[]:r.allTabs.filter(e=>e.hidden).map(e=>e.uid)),o="hidden"===r.status?null==(t=r.allTabs.find(e=>e.uid===r.effectiveKey))||null==(e=t.getTabTitle)?void 0:e.call(t):void 0,a=r.effectiveKey||(r.allTabs.length>0?un:void 0),s=(null==(l=this.context.themeToken)?void 0:l.paddingLG)??16,d=void 0!==this.tabBarExtraContent.left?this.tabBarExtraContent.left:(0,D.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:s,height:1}}),u=void 0!==this.tabBarExtraContent.right?this.tabBarExtraContent.right:(0,D.jsx)("span",{style:{display:"inline-flex",marginInlineEnd:s},children:(0,D.jsx)(O.AddSubModelButton,{model:this,subModelKey:"tabs",items:[{key:"blank",label:this.context.t("Blank tab"),createModelOptions:this.createPageTabModelOptions}],children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(tD.A,{}),children:this.context.t("Add tab")})})});return(0,D.jsxs)(O.DndProvider,{onDragEnd:this.handleDragEnd.bind(this),children:[(0,D.jsx)(uo,{dependencyKey:this.getTabActiveKeySyncDependency(),onSync:this.synchronizeTabActiveKey}),(0,D.jsx)(ut.A,{activeKey:a,tabBarStyle:this.props.tabBarStyle,items:n,renderTabBar:i.size>0?e=>(0,D.jsx)(ui,{hiddenTabKeys:i,hiddenActiveTabLabel:o,items:n,tabBarProps:e}):void 0,onChange:e=>{var t;let l=this.getActiveTabKey();this.implicitActiveKey=void 0,this.commitTabActiveKey(e,{previousActiveKey:l,navigate:!!(null==(t=this.context.view)?void 0:t.navigation),rememberLocalTransition:!0})},tabBarExtraContent:{left:d,right:u}})]})}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,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&(0,D.jsx)(ue.z,{title:this.props.title,style:t}),l?this.renderTabs():this.renderFirstTab()]})}constructor(...e){super(...e),(0,w._)(this,"tabBarExtraContent",{}),(0,w._)(this,"viewActivatedListener",void 0),(0,w._)(this,"dataSourceDirtyListener",void 0),(0,w._)(this,"lastSeenEmitterViewActivatedVersion",0),(0,w._)(this,"dirtyRefreshScheduled",!1),(0,w._)(this,"unmounted",!1),(0,w._)(this,"documentTitleUpdateVersion",0),(0,w._)(this,"implicitActiveKey",void 0),(0,w._)(this,"locallyCommittedTabTransition",void 0),(0,w._)(this,"synchronizeTabActiveKey",e=>{let t=this.resolveTabActiveState(),l=t.allTabs.length>0&&0===t.unhiddenTabs.length,r=(e,t)=>({previousEffectiveActiveKey:e,effectiveActiveKey:e,previousAllHidden:l,lastCorrectionSignature:t});if("unknown"===t.status)return r(t.effectiveKey);if("visible"===t.status){let l=t.effectiveKey;if(this.consumeLocallyCommittedTabTransition(e.previousEffectiveActiveKey,l))return r(l);let n=e.previousAllHidden&&"url"!==t.source,i=!!e.previousEffectiveActiveKey&&e.previousEffectiveActiveKey!==l;if((n||i)&&l){let n=`visible:${t.source}:${e.previousEffectiveActiveKey||""}->${l}`;return n!==e.lastCorrectionSignature&&this.commitTabActiveKey(l,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1,preserveImplicitKey:"implicit"===t.source}),r(l,n)}return r(l)}if("hidden"===t.status){let l=t.effectiveKey;if(this.consumeLocallyCommittedTabTransition(e.previousEffectiveActiveKey,l))return r(l);if(l&&e.previousEffectiveActiveKey!==l){let n=`hidden:${t.source}:${e.previousEffectiveActiveKey||""}->${l}`;return n!==e.lastCorrectionSignature&&this.commitTabActiveKey(l,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}),r(l,n)}return r(l)}let n=t.effectiveKey;if(!n){if(!l){if("implicit"!==t.source||!t.key)return r(void 0);let l=`implicit-missing:${e.previousEffectiveActiveKey||""}`;return l!==e.lastCorrectionSignature&&this.commitTabActiveKey(void 0,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}),r(void 0,l)}let n=`all-hidden:${e.previousEffectiveActiveKey||""}`;return e.previousAllHidden||n===e.lastCorrectionSignature||(this.implicitActiveKey=void 0,this.props.tabActiveKey||e.previousEffectiveActiveKey?this.commitTabActiveKey(void 0,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}):this.requestDocumentTitleUpdate()),r(void 0,n)}let i=e.previousAllHidden||!!e.previousEffectiveActiveKey&&e.previousEffectiveActiveKey!==n,o=`implicit:${e.previousEffectiveActiveKey||""}->${n}`;return i&&o!==e.lastCorrectionSignature?this.commitTabActiveKey(n,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1,preserveImplicitKey:!0}):this.rememberImplicitActiveKey(n),r(n,i?o:void 0)}),(0,w._)(this,"createPageTabModelOptions",()=>{let e=(0,on.uid)();return{uid:e,use:"RootPageTabModel",props:{route:{parentId:this.props.routeId,type:"tabs",schemaUid:e,tabSchemaName:(0,on.uid)(),params:[],hideInMenu:!1,enableTabs:!1}}}})}}ua.registerEvents({close:{title:(0,O.tExpr)("Close"),name:"close",hideInSettings(e){var t;return!!(null==(t=e.view)?void 0:t.preventClose)},uiSchema:{condition:{type:"object",title:(0,O.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":ul.H}},handler:ul.b}}),ua.registerFlow({key:"closeGuard",title:(0,O.tExpr)("Close guard"),on:"close",steps:{confirmUnsavedChanges:{title:(0,O.tExpr)("Unsaved changes confirmation"),handler:ur}}}),ua.registerFlow({key:"pageSettings",title:(0,O.tExpr)("Page settings"),steps:{general:{title:(0,O.tExpr)("Edit page"),uiSchema:{title:{type:"string",title:(0,O.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},documentTitle:{type:"string",title:(0,O.tExpr)("Document title"),description:(0,O.tExpr)("Used as the browser tab title when tabs are disabled. Supports variables. Leave empty to use Page title."),"x-decorator":"FormItem","x-component":a0.n,"x-component-props":{rows:1,maxRows:6}},displayTitle:{type:"boolean",title:(0,O.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"},enableTabs:{type:"boolean",title:(0,O.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,r;let n=null==(r=e.model.context)||null==(l=r.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})),await e.model.updateDocumentTitle()}}}});var us=l(68904);class ud extends ua{renderBackButtonWhenTabsDisabled(){var e,t,l;if((null==(t=this.context)||null==(e=t.view)?void 0:e.type)!=="embed")return null;let r=null==(l=this.context)?void 0:l.themeToken,n={...this.props.tabBarStyle,paddingBlock:(null==r?void 0:r.paddingXS)??8};return(0,D.jsx)("div",{style:n,children:(0,D.jsx)(uu,{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");e.active.id!==e.over.id&&await this.flowEngine.moveModel(e.active.id,e.over.id)}render(){return(0,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&this.props.title&&(0,D.jsx)(ue.z,{title:this.props.title,style:this.props.headerStyle}),this.props.enableTabs?this.renderTabs():(0,D.jsxs)(D.Fragment,{children:[this.renderBackButtonWhenTabsDisabled(),this.renderFirstTab()]})]})}constructor(...e){super(...e),(0,w._)(this,"tabBarExtraContent",{left:(0,D.jsx)(uu,{})}),(0,w._)(this,"createPageTabModelOptions",()=>({use:"ChildPageTabModel"}))}}let uu=e=>{let{renderSpacerWhenNoBack:t=!0}=e,l=(0,O.useFlowContext)(),r=l.themeToken,n=32,i=(null==r?void 0:r.paddingLG)??16,o=(0,A.useMemo)(()=>({width:"auto",height:"auto",lineHeight:1,padding:r.paddingXS,marginLeft:r.paddingLG,marginRight:n-r.paddingXS}),[r.paddingLG,r.paddingXS]);return"embed"!==l.view.type?t?(0,D.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:i,height:1}}):null:(0,D.jsx)(eY.Ay,{"aria-label":"back-button",type:"text",icon:(0,D.jsx)(us.A,{}),style:o,onClick:l.view.close})};class uc extends O.FlowModel{}uc.registerFlow({key:"pageSettings",title:(0,O.tExpr)("Page settings"),steps:{general:{title:(0,O.tExpr)("General"),uiSchema:{title:{type:"string",title:(0,O.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},displayTitle:{type:"boolean",title:(0,O.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,r;let n=null==(r=e.model.context)||null==(l=r.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 up extends uc{renderFirstTab(){var e;return(0,D.jsx)(O.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&(0,D.jsx)(ue.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}function uh(e){let{ctx:t,options:l}=e,{data:r,loading:n}=(0,iN.A)(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==r?void 0:r.uid)?(0,D.jsx)(O.FlowModelRenderer,{model:r,fallback:(0,D.jsx)(i$,{style:{margin:i}})}):(0,D.jsx)(i$,{style:{margin:i}})}function uf(e){return Array.isArray(e)?e.find(e=>!!e&&"object"==typeof e):e&&"object"==typeof e?e:void 0}function um(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function ug(e){return um(e)}let uv=new WeakMap;async function uy(e){let t=(uv.get(e)||Promise.resolve()).catch(()=>void 0).then(()=>e.refreshAccessible());uv.set(e,t);try{await t}finally{uv.get(e)===t&&uv.delete(e)}}class ub extends O.FlowModel{onInit(e){super.onInit(e),this.context.defineProperty("tabActive",{value:O.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",r=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"})||r}getTabIcon(){var e,t;return null==(t=this.stepParams.pageTabSettings)||null==(e=t.tab)?void 0:e.icon}renderChildren(){return null}renderHiddenInConfig(){return(0,D.jsxs)("span",{style:{display:"inline-block",opacity:.5},children:[(0,D.jsx)(eE.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}render(){return(0,D.jsxs)("span",{style:{display:"inline-block"},children:[(0,D.jsx)(eE.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}}ub.registerFlow({key:"pageTabSettings",title:(0,O.tExpr)("Tab settings"),steps:{tab:{title:(0,O.tExpr)("Edit tab"),preset:!0,uiSchema:{title:{title:(0,O.tExpr)("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},documentTitle:{type:"string",title:(0,O.tExpr)("Document title"),description:(0,O.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":a0.n,"x-component-props":{rows:1,maxRows:6}},icon:{title:(0,O.tExpr)("Icon"),"x-decorator":"FormItem","x-component":"IconPicker"}},async handler(e,t){var l;let r="function"==typeof(null==e?void 0:e.t)?e.t.bind(e):e=>e;e.model.setProps("title",r(t.title,{ns:"lm-desktop-routes"})),e.model.setProps("icon",t.icon);let n=e.engine.getModel(e.model.parentId);await (null==n||null==(l=n.updateDocumentTitle)?void 0:l.call(n))}},linkageRules:{use:"tabLinkageRules"}}});class ux extends ub{onInit(e){super.onInit(e),this.shouldHydratePersistedLinkageRules()&&this.hydratePersistedLinkageRules().catch(e=>{console.warn("[RootPageTabModel] Failed to hydrate tab linkage rules",e)})}hasExplicitLinkageRulesStep(){var e;let t=null==(e=this.stepParams)?void 0:e.pageTabSettings;return um(t)&&Object.prototype.hasOwnProperty.call(t,"linkageRules")}shouldHydratePersistedLinkageRules(){var e,t;return!!this.context.flowSettingsEnabled||(null==(t=this.props.route)||null==(e=t.options)?void 0:e.hasPersistedPageTabFlowModel)===!0}async fetchPersistedAnchor(){var e;let t=await this.context.api.request({url:"flowModels:findOne",params:{uid:this.uid}}),l=null==t||null==(e=t.data)?void 0:e.data;return um(l)?l:void 0}async performPersistedLinkageRulesHydrate(){if(this.hasExplicitLinkageRulesStep())return;let e=await this.fetchPersistedAnchor();if(this.hasExplicitLinkageRulesStep())return;let t=um(null==e?void 0:e.stepParams)?e.stepParams:void 0,l=um(null==t?void 0:t.pageTabSettings)?t.pageTabSettings:void 0,r=null==l?void 0:l.linkageRules;ug(r)&&(this.setStepParams("pageTabSettings","linkageRules",B().cloneDeep(r)),this.invalidateFlowCache("beforeRender",!0),await this.rerender())}hydratePersistedLinkageRules(){if(this.persistedLinkageRulesHydrated)return Promise.resolve();if(this.persistedLinkageRulesHydrating)return this.persistedLinkageRulesHydrating;let e=this.performPersistedLinkageRulesHydrate();return this.persistedLinkageRulesHydrating=e,e.then(()=>{this.persistedLinkageRulesHydrating===e&&(this.persistedLinkageRulesHydrated=!0,this.persistedLinkageRulesHydrating=void 0)}).catch(()=>{this.persistedLinkageRulesHydrating===e&&(this.persistedLinkageRulesHydrating=void 0)}),e}async openFlowSettings(e){return(null==e?void 0:e.flowKey)==="pageTabSettings"&&(null==e?void 0:e.stepKey)==="linkageRules"&&await this.hydratePersistedLinkageRules(),super.openFlowSettings(e)}renderChildren(){return(0,D.jsx)(uh,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}async saveStepParams(){let e=this.hasExplicitLinkageRulesStep(),t=e?B().cloneDeep(this.stepParams.pageTabSettings.linkageRules):void 0;await this.save(),e&&t&&await this.persistLinkageRulesToAnchor(t)}async save(){var e,t,l,r,n,i,o,a,s,d,u,c;let p=this.serialize(),h=null==(l=this.stepParams)||null==(t=l.pageTabSettings)||null==(e=t.tab)?void 0:e.documentTitle,f=this.props.route||{},m=null!=f.id,g=m&&f.schemaUid?null==(n=this.context.routeRepository)||null==(r=n.getRouteBySchemaUid)?void 0:r.call(n,f.schemaUid):void 0,v={...m?{schemaUid:f.schemaUid}:f,title:this.getTabTitle(""),icon:this.getTabIcon(),options:{...g?g.options:f.options,flowRegistry:p.flowRegistry,documentTitle:h}},y=await this.context.api.request(m?{method:"post",url:`desktopRoutes:update?filter[id]=${f.id}`,data:v}:{method:"post",url:"desktopRoutes:updateOrCreate",params:{filterKeys:["schemaUid"]},data:v}),b=uf(null==y||null==(i=y.data)?void 0:i.data);b&&this.setProps("route",{...this.props.route,...b,options:{...null==(o=this.props.route)?void 0:o.options,...b.options}});try{(null==(a=this.context.routeRepository)?void 0:a.refreshAccessible)?await uy(this.context.routeRepository):await (null==(s=(d=this.context).refreshDesktopRoutes)?void 0:s.call(d))}catch(e){null==(c=this.context.logger)||null==(u=c.warn)||u.call(c,{err:e},"[client-v2] Failed to refresh desktop routes after saving a page tab")}}buildAnchorPayload(e,t){let l="string"==typeof(null==e?void 0:e.uid)&&e.uid.length>0?B().cloneDeep(e):{uid:this.uid,use:"RouteModel"};delete l.subModels;let r=um(l.stepParams)?l.stepParams:{},n=um(r.pageTabSettings)?r.pageTabSettings:{};return{...l,stepParams:{...r,pageTabSettings:{...n,linkageRules:B().cloneDeep(t)}}}}async persistLinkageRulesToAnchor(e){let t=await this.fetchPersistedAnchor(),l=this.buildAnchorPayload(t,e);await this.context.api.request({method:"post",url:"flowModels:save",data:l});let r=Array.isArray(e.value)&&e.value.length>0;await this.syncPersistedPageTabFlowModelMarker(r),this.persistedLinkageRulesHydrated=!0}async syncPersistedPageTabFlowModelMarker(e){var t,l,r;let n=this.props.route;if((null==n?void 0:n.id)==null)throw Error("Cannot persist page tab FlowModel marker before the desktop route is saved.");if("function"!=typeof(null==(t=this.context.routeRepository)?void 0:t.updateRoute))throw Error("Route repository is unavailable while persisting the page tab FlowModel marker.");let i=n.schemaUid?null==(l=(r=this.context.routeRepository).getRouteBySchemaUid)?void 0:l.call(r,n.schemaUid):void 0,o={...(null==i?void 0:i.options)||n.options||{}};e?o.hasPersistedPageTabFlowModel=!0:delete o.hasPersistedPageTabFlowModel;let a=Object.keys(o).length>0?o:void 0;await this.context.routeRepository.updateRoute(n.id,{options:a},{refreshAfterMutation:!1}),this.setProps("route",{...n,options:a})}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}constructor(...e){super(...e),(0,w._)(this,"persistedLinkageRulesHydrated",!1),(0,w._)(this,"persistedLinkageRulesHydrating",void 0)}}class uw extends ub{renderChildren(){return(0,D.jsx)(uh,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class uS extends O.FlowModel{render(){return(0,D.jsx)(uh,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class uA extends ua{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,r=this.props.routeId;l&&(null==r||null==l.id||String(l.id)===String(r))&&(l.enableTabs=e),this.setProps("enableTabs",e)}async ensurePersistedRouteId(e){var t,l,r,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==(r=n.route)?void 0:r.id)}onMount(){super.onMount(),(0,O.reaction)(()=>this.context.pageActive.value,()=>{var e,t;if(null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.activationControlledByLayout){this.mounted=!0;return}this.context.pageActive.value&&this.mounted&&this.activateCurrentTab(!0),!1===this.context.pageActive.value&&this.deactivateCurrentTab(),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 r=this.flowEngine.getModel(null==(t=e.active)?void 0:t.id),n=this.flowEngine.getModel(null==(l=e.over)?void 0:l.id);if(!r||!n||r.uid===n.uid)return;let[i,o]=await Promise.all([this.ensurePersistedRouteId(r),this.ensurePersistedRouteId(n)]);null!=i&&null!=o&&(await this.context.api.request({url:"desktopRoutes:move",method:"post",params:{sourceId:i,targetId:o,sortField:"sort"}}),this.flowEngine.moveModel(r.uid,n.uid,{persist:!1}))}constructor(...e){super(...e),(0,w._)(this,"mounted",!1)}}uA.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),B().castArray(null==l?void 0:l.children).filter(Boolean).sort((e,t)=>(e.sort||0)-(t.sort||0)))){var r,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==(r=t.options)?void 0:r.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 uM extends uc{renderFirstTab(){var e;return(0,D.jsx)(O.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&(0,D.jsx)(ue.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}class uF extends df.S0{constructor(...e){super(...e),(0,w._)(this,"defaultProps",{title:(0,O.tExpr)("Popup"),icon:"ExportOutlined"})}}uF.define({label:(0,O.tExpr)("Popup")}),uF.registerFlow(ev);var uk=l(33297);class uC extends uF{getAclActionName(){return"create"}constructor(...e){super(...e),(0,w._)(this,"defaultPopupTitle",(0,O.tExpr)("Add new")),(0,w._)(this,"defaultProps",{type:"primary",title:(0,O.tExpr)("Add new"),icon:"PlusOutlined"})}}(0,w._)(uC,"scene",df.s5.collection),uC.define({label:(0,O.tExpr)("Add new"),sort:10});let uP=e=>{var t,l,r,n,i,o;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==(r=a.getResourceSettingsInitParams)?void 0:r.call(a))||(null==a||null==(n=a.getStepParams)?void 0:n.call(a,"resourceSettings","init"))||(null==e||null==(o=e.model)||null==(i=o.getStepParams)?void 0:i.call(o,"resourceSettings","init"))},uj=e=>{var t;return!!(null==(t=uP(e))?void 0:t.associationName)},uE=e=>{var t,l,r,n;let i=uP(e),o=(null==e||null==(t=e.blockModel)?void 0:t.association)||(null==e||null==(n=e.model)||null==(r=n.context)||null==(l=r.blockModel)?void 0:l.association),a=null==o?void 0:o.targetCollection;return{dataSourceKey:(null==a?void 0:a.dataSourceKey)||(null==i?void 0:i.dataSourceKey),collectionName:(null==a?void 0:a.name)||(null==o?void 0:o.target)||(null==i?void 0:i.collectionName)}},uR=e=>{var t,l,r,n,i,o;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=uP(e);return{collectionField:s,sourceId:(null==a||null==(n=a.resource)||null==(r=n.getSourceId)?void 0:r.call(n))??(null==d?void 0:d.sourceId),associatedRecords:(null==a||null==(o=a.resource)||null==(i=o.getData)?void 0:i.call(o))||[]}},uT=async(e,t,l)=>{var r;return"function"==typeof(null==e?void 0:e[t])?await e[t]({values:l}):await (null==e||null==(r=e.runAction)?void 0:r.call(e,t,{data:l}))},uI=async e=>{var t,l,r,n,i,o,a,s,d,u,c,p;let h=(null==e||null==(t=e.blockModel)?void 0:t.resource)||(null==e?void 0:e.resource),f=(null==e||null==(l=e.blockModel)?void 0:l.collection)||(null==e?void 0:e.collection);if(!uj(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){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 m=null==f||null==(r=f.getFilterByTK)?void 0:r.call(f,e.record);await uT(h,"remove",[m]),await (null==(n=h.refresh)?void 0:n.call(h)),null==(o=e.message)||null==(i=o.success)||i.call(o,e.t("Record disassociated successfully"))},u_=async(e,t)=>{var l,r,n,i,o,a,s,d,u,c,p;let h=(null==e||null==(l=e.blockModel)?void 0:l.resource)||(null==e?void 0:e.resource),f=(null==e||null==(r=e.blockModel)?void 0:r.collection)||(null==e?void 0:e.collection);if(!uj(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){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 m=t.map(e=>{var t;return(null==f||null==(t=f.getFilterByTK)?void 0:t.call(f,e))??e}).filter(e=>null!=e);await uT(h,"add",m),await (null==(n=h.refresh)?void 0:n.call(h)),null==(o=e.message)||null==(i=o.success)||i.call(o,e.t("Record associated successfully"))};function uD(e){let{options:t}=e,l=(0,O.useFlowViewContext)(),{data:r,loading:n}=(0,iN.A)(async()=>await l.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:l,skipSave:!l.flowSettingsEnabled}),{refreshDeps:[l,t]});return!n&&(null==r?void 0:r.uid)?(0,D.jsx)(O.FlowModelRenderer,{model:r,fallback:(0,D.jsx)(i$,{style:{margin:16}})}):(0,D.jsx)(i$,{style:{margin:16}})}function uN(e){let{model:t}=e,l=(0,O.useFlowViewContext)(),{Header:r,Footer:n,type:i}=l.view;return(0,D.jsxs)("div",{children:[(0,D.jsx)(r,{title:"dialog"===i?(0,D.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,D.jsx)(uD,{options:{parentId:l.view.inputArgs.parentId,subKey:"associate-selector-grid",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"}}),(0,D.jsx)(n,{children:"dialog"===i?(0,D.jsx)("div",{style:{padding:`0 ${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px`},children:(0,D.jsx)(eY.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})}):(0,D.jsx)(eY.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})})]})}class uO extends df.S0{getAclActionName(){return"update"}async associateSelectedRows(){await u_(this.context,this.selectedRows),this.selectedRows=[]}constructor(...e){super(...e),(0,w._)(this,"defaultPopupTitle",(0,O.tExpr)("Select record")),(0,w._)(this,"selectedRows",[]),(0,w._)(this,"defaultProps",{title:(0,O.tExpr)("Associate"),icon:"LinkOutlined"})}}(0,w._)(uO,"scene",df.s5.collection),(0,w._)(uO,"capabilityActionName","update"),uO.define({label:(0,O.tExpr)("Associate"),sort:15,hide:e=>!uj(e)}),uO.registerFlow({key:"associateSettings",title:(0,O.tExpr)("Associate settings"),on:"click",steps:{openSelector:{async handler(e,t){var l,r,n;let i=uE(e),o=(null==(l=e.inputArgs)?void 0:l.isMobileLayout)?"embed":(null==(r=e.inputArgs)?void 0:r.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:o,width:s[o][a],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:i.dataSourceKey,collectionName:i.collectionName,...uR(e),rowSelectionProps:{type:"checkbox",renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{e.model.selectedRows=l||[]}}},content:()=>(0,D.jsx)(uN,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===o?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}});class u$ extends df.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{title:(0,O.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,w._)(u$,"scene",df.s5.collection),(0,w._)(u$,"capabilityActionName","destroyMany"),u$.define({label:(0,O.tExpr)("Delete")}),u$.registerFlow({key:"deleteSettings",title:(0,O.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,O.tExpr)("Delete record"),content:(0,O.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 r=e.blockModel.resource;0===r.getSelectedRows().length?e.message.warning(e.t("Please select at least one record to delete")):(await r.destroy(e.blockModel.collection.getFilterByTK(r.getSelectedRows())),e.message.success(e.t("Selected records deleted successfully")))}}}});class uB extends df.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"link",title:(0,O.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,w._)(uB,"scene",df.s5.record),uB.define({label:(0,O.tExpr)("Delete"),sort:60}),uB.registerFlow({key:"deleteSettings",title:(0,O.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,O.tExpr)("Delete record"),content:(0,O.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 uL extends df.S0{getAclActionName(){return"update"}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"link",title:(0,O.tExpr)("Disassociate"),icon:"DisconnectOutlined"})}}(0,w._)(uL,"scene",df.s5.record),(0,w._)(uL,"capabilityActionName","update"),uL.define({label:(0,O.tExpr)("Disassociate"),sort:65,hide:e=>!uj(e)}),uL.registerFlow({key:"disassociateSettings",title:(0,O.tExpr)("Disassociate settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,O.tExpr)("Disassociate record"),content:(0,O.tExpr)("Are you sure you want to disassociate it?")}},disassociate:{async handler(e){await uI(e)}}}});class uq extends uF{getAclActionName(){return"update"}constructor(...e){super(...e),(0,w._)(this,"defaultPopupTitle",(0,O.tExpr)("Edit")),(0,w._)(this,"defaultProps",{title:(0,O.tExpr)("Edit"),icon:"EditOutlined"})}}(0,w._)(uq,"scene",df.s5.record),uq.define({label:(0,O.tExpr)("Edit"),sort:20});var uV=l(94384),uz=l(68669);class uK extends df.S0{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=uW(this.props.filterableFieldNames||[],t.map(e=>e.name));return this.map.set(this.props.filterableFieldNames,l),l}render(){return this.context.isMobileLayout?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(O.MobilePopup,{title:this.context.t("Filter"),visible:this.props.open,onClose:()=>{this.setProps("open",!1)},children:(0,D.jsxs)("div",{style:{padding:this.context.themeToken.paddingMD,backgroundColor:this.context.themeToken.colorBgContainer},children:[(0,D.jsx)(uz.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,D.jsx)(se.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames(),maxAssociationFieldDepth:2})}),(0,D.jsx)("div",{style:{height:150}})]})}),super.render()]}):(0,D.jsx)(lq.A,{open:this.props.open,content:(0,D.jsx)(uz.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,D.jsx)(se.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames(),maxAssociationFieldDepth:2})}),trigger:"click",placement:"bottomLeft",onOpenChange:e=>{!1===e&&this.setProps("open",void 0)},children:super.render()})}constructor(...e){super(...e),(0,w._)(this,"map",new WeakMap),(0,w._)(this,"defaultProps",{type:"default",title:(0,O.tExpr)("Filter"),icon:"FilterOutlined",filterValue:{logic:"$and",items:[]}})}}function uU(e){for(var t,l=arguments.length,r=Array(l>1?l-1:0),n=1;n<l;n++)r[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,eE.w6)(e.interface,...r);return!!(null==t?void 0:t.filterable)})}function uW(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}(0,w._)(uK,"scene","collection"),uK.define({label:(0,O.tExpr)("Filter"),toggleable:!0,sort:5}),uK.registerFlow({key:"filterSettings",title:(0,O.tExpr)("Filter settings"),steps:{position:{handler(e,t){e.model.setProps("position",t.position||"left")}},filterableFieldNames:{title:(0,O.tExpr)("Filterable fields"),uiSchema:{filterableFieldNames:{type:"array","x-decorator":"FormItem","x-component":e=>{var t;let{model:l}=(0,O.useFlowSettingsContext)(),r=uU(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,D.jsx)(uV.A,{...e,dataSource:r,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,r,n,i;return{filterableFieldNames:uU(e.blockModel.collection,null==(l=e.model)||null==(t=l.context)?void 0:t.dataSourceManager,null==(i=e.model)||null==(n=i.context)||null==(r=n.app)?void 0:r.dataSourceManager).map(e=>e.name)||[]}},handler(e,t){e.model.setProps("filterableFieldNames",t.filterableFieldNames)}},defaultFilter:{title:(0,O.tExpr)("Default filter conditions"),uiSchema:{defaultFilter:{type:"object","x-decorator":"FormItem","x-component":e=>{let{model:t}=(0,O.useFlowSettingsContext)();return(0,D.jsx)(se.I8,{value:e.value||{},FilterItem:e=>(0,D.jsx)(se.Et,{...e,model:t,maxAssociationFieldDepth:2})})}}},defaultParams:e=>({defaultFilter:e.model.defaultProps.filterValue}),handler(e,t){e.model.setProps("defaultFilterValue",B().cloneDeep(t.defaultFilter)),e.model.setProps("filterValue",B().cloneDeep(t.defaultFilter))}}}}),uK.registerFlow({key:"submitSettings",on:"submit",steps:{submit:{handler(e,t){let l=e.blockModel,r=null==l?void 0:l.resource;if(!l||!r)return;let n=(0,ea.transformFilter)(e.model.props.filterValue),i=!(0,ea.isEmptyFilter)(n);l.setFilterActive(e.model.uid,i),i?(r.addFilterGroup(e.model.uid,n),r.setPage(1)):r.removeFilterGroup(e.model.uid),"manual"!==l.getDataLoadingMode()||i||l.hasActiveFilters()?r.refresh():(r.setData([]),r.setMeta({count:0,hasNext:!1}),"function"==typeof r.setPage&&r.setPage(1),r.loading=!1),e.model.setProps("open",!1)}}}}),uK.registerFlow({key:"resetSettings",title:(0,O.tExpr)("Reset"),on:"reset",steps:{reset:{handler(e,t){let l=e.blockModel,r=null==l?void 0:l.resource;if(!l||!r)return;r.removeFilterGroup(e.model.uid),l.setFilterActive(e.model.uid,!1);let n=l.getDataLoadingMode(),i=e.model.props.defaultFilterValue,o=!(0,ea.isEmptyFilter)((0,ea.transformFilter)(i));"manual"!==n||o||l.hasActiveFilters()?(o&&(r.addFilterGroup(e.model.uid,(0,ea.transformFilter)(i)),l.setFilterActive(e.model.uid,!0),r.setPage(1)),r.refresh()):(r.setData([]),r.setMeta({count:0,hasNext:!1}),"function"==typeof r.setPage&&r.setPage(1),r.loading=!1),e.model.setProps("open",!1),e.model.setProps("filterValue",B().cloneDeep(i))}}}}),uK.registerFlow({key:"openSettings",on:"click",steps:{open:{handler(e,t){e.model.setProps("open",!e.model.props.open)}}}});var uH=l(89378);function uY(e,t){var l;let r=(null==(l=e.inputArgs)?void 0:l.preview)||{},n=(null==r?void 0:r.version)??(null==t?void 0:t.version)??"v1";return{code:("string"==typeof(null==r?void 0:r.code)?r.code:void 0)??(null==t?void 0:t.code)??"",version:n}}class uG extends df.S0{constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"default",title:(0,O.tExpr)("JS action"),icon:"JavaScriptOutlined"})}}uG.define({label:(0,O.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSActionModel"}}),uG.registerFlow({key:"clickSettings",on:"click",title:(0,O.tExpr)("Click settings"),steps:{runJs:{title:(0,O.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":uH.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:`
|
|
443
|
+
`,is={token:{colorSplit:"rgba(255, 255, 255, 0.1)"}};function id(e,t){return e.map((e,t)=>({action:e,index:t})).filter(e=>{let{action:l}=e;return!l.isHidden()&&(!l.aclSnippet||t(l.aclSnippet))}).sort((e,t)=>(e.action.sort||0)!==(t.action.sort||0)?(e.action.sort||0)-(t.action.sort||0):e.index-t.index).map(e=>{let{action:t}=e;return t})}let iu=e=>({"--nb-topbar-action-color":e.colorTextHeaderMenu||"rgba(255, 255, 255, 0.65)","--nb-topbar-action-hover-bg":e.colorBgHeaderMenuHover||"rgba(255, 255, 255, 0.1)"}),ic=()=>null,ip=e=>"function"==typeof(null==e?void 0:e.getActionId)?e.getActionId():(null==e?void 0:e.actionId)||(null==e?void 0:e.uid)||"",ih=A.memo(e=>{let{allow:t}=(0,ii.K)(),{token:l}=X.A.useToken(),r=l,n=(0,A.useMemo)(()=>id(e.actions,t),[t,e.actions]),i=n.filter(e=>ip(e)!==nc),o=n.find(e=>ip(e)===nc);return(0,D.jsxs)("div",{className:io,style:iu(r),children:[(0,D.jsx)("div",{className:"nb-topbar-actions-list",onClick:e.onActionClick,children:i.map(e=>(0,D.jsx)(V.tH,{FallbackComponent:ic,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,D.jsx)(O.FlowModelRenderer,{model:e})},e.uid))}),(0,D.jsx)(Q.Ay,{theme:is,children:(0,D.jsx)(ru.A,{type:"vertical"})}),(0,D.jsx)(rk,{}),o?(0,D.jsx)(V.tH,{FallbackComponent:ic,onError:e=>{console.error("[NocoBase] Topbar action render failed.",e)},children:(0,D.jsx)(O.FlowModelRenderer,{model:o})},o.uid):null]})});ih.displayName="TopbarActionsContent";let im=A.memo(e=>{let{token:t}=X.A.useToken(),l=t,[r,n]=(0,A.useState)(!1),i=(0,A.useCallback)(()=>{n(!1)},[]);return e.isMobile?(0,D.jsx)(lq.A,{rootClassName:ia,content:(0,D.jsx)(ih,{actions:e.actions,onActionClick:i}),color:l.colorBgHeader,trigger:"click",open:r,onOpenChange:n,children:(0,D.jsx)("div",{style:{padding:"0 16px",display:"flex",alignItems:"center",height:"100%",marginRight:-16},children:(0,D.jsx)(lL.A,{style:{color:l.colorTextHeaderMenu,fontSize:20}})})}):(0,D.jsx)(ih,{actions:e.actions})});im.displayName="TopbarActionsBar";let ig=e=>{let{children:t,model:l}=e,r=(0,O.useFlowEngine)(),n=(0,W.n)(),i=(0,K.useNavigate)(),o=(0,K.useLocation)(),a=(0,K.useMatches)(),[s,d]=(0,A.useState)(!1),u=(0,A.useRef)(!1),c=r.context.routeRepository,p=null==l?void 0:l.layout,h=null==p?void 0:p.uid,f=null==p?void 0:p.routeName,m=null==p?void 0:p.routePath,g=null==p?void 0:p.authCheck,v=(0,A.useMemo)(()=>{if(h||f||m||void 0!==g)return{authCheck:g,routeName:f,routePath:m||"",uid:h}},[g,f,m,h]),y=ty(v),b=(null==v?void 0:v.routeName)||"admin",x=(0,A.useMemo)(()=>({routePath:y}),[y]),w=(0,A.useMemo)(()=>tS(o.pathname,n.router.getBasename())===y,[n,y,o.pathname]),S=(0,A.useMemo)(()=>{var e,t;let l=a[a.length-1];if(!eN(b,null==l?void 0:l.id))return"";let r=a.find(e=>e.id===b);return(null==(e=l.params)?void 0:e.name)||(null==(t=(0,O.parsePathnameToViewParams)(o.pathname,{basePath:(null==r?void 0:r.pathname)||y})[0])?void 0:t.viewUid)||""},[b,y,o.pathname,a]);return((0,A.useEffect)(()=>{u.current=!1},[o.pathname,o.search,o.hash,S]),(0,A.useEffect)(()=>{var e;let t=!0,l=null==c||null==(e=c.activateLayout)?void 0:e.call(c,v);return(async()=>{var e,l,r,o,a;if(d(!1),!w&&!S){t&&d(!0);return}if(!(null==c||null==(e=c.isAccessibleLoaded)?void 0:e.call(c)))try{await (null==c||null==(r=c.ensureAccessibleLoaded)?void 0:r.call(c))}catch(e){t&&d(!0);return}if(!t||u.current)return;if(S){let e=null==c||null==(o=c.getRouteBySchemaUid)?void 0:o.call(c,S);if((null==e?void 0:e.type)===eE.q2.page){let t=tT({app:n,route:e,layout:x,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===t.navigationMode&&t.runtimePath){u.current=!0,window.location.replace(t.runtimePath);return}}let l=e||null==c||null==(a=c.getRouteById)?void 0:a.call(c,S);if(!e&&(null==l?void 0:l.type)===eE.q2.group){let e=tT({app:n,route:l,layout:x});if(e.runtimePath)return(u.current=!0,"document"===e.navigationMode)?window.location.replace(e.runtimePath):i(tS(e.runtimePath,n.router.getBasename()),{replace:!0})}t&&d(!0);return}let s=tj((null==c||null==(l=c.listAccessible)?void 0:l.call(c))||[]);if(!s){t&&d(!0);return}let p=tT({app:n,route:s,layout:x});if(!p.runtimePath){t&&d(!0);return}(u.current=!0,"document"===p.navigationMode)?window.location.replace(p.runtimePath):i(tS(p.runtimePath,n.router.getBasename()),{replace:!0})})(),()=>{t=!1,null==l||l()}},[n,r,w,v,x,o.hash,o.pathname,o.search,i,S,c]),s)?(0,D.jsx)(D.Fragment,{children:t}):null};class iv extends eU{refreshMenuRouteTree(){this.menuRouteRefreshVersion+=1}syncMenuRoutes(e){lF(this,Array.isArray(e)?e:[])}toProLayoutRoute(e){let t=(this.subModels.menuItems||[]).map(t=>t.toProLayoutRoute({...e,depth:0})).filter(Boolean)||[];return e.designable&&(e.isMobile?t.push(lD("schema-initializer-Menu-header",this)):t.unshift(lD("schema-initializer-Menu-header",this))),{path:"/",children:t}}createRouteCoordinator(){return new tI(this.flowEngine,this.getRouteCoordinatorOptions())}render(){return(0,D.jsx)(ig,{model:this,children:(0,D.jsx)(ir,{...this.props,model:this})})}constructor(e){super(e),(0,w._)(this,"menuRouteRefreshVersion",0),(0,N.define)(this,{menuRouteRefreshVersion:N.observable.ref})}}function iy(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=eW(e,t_,{...t,use:t.use||iv});if(!l&&t.required)throw Error("[NocoBase] FlowRoute requires admin-layout-model. Please render FlowRoute under AdminLayout.");return l}function ib(e){let{flowEngine:t,pageUid:l,active:r,refreshDesktopRoutes:n,layoutContentRef:i,getLayoutModel:o}=e,a=o(t),s=(0,A.useRef)(r),d=(0,A.useRef)(n);if(!a)throw Error("[NocoBase] FlowRoute requires layout model. Please render FlowRoute under Layout.");return s.current=r,d.current=n,(0,A.useEffect)(()=>(a.registerRoutePage(l,{active:s.current??!1,refreshDesktopRoutes:d.current,layoutContentElement:i.current}),()=>{a.unregisterRoutePage(l)}),[a,l,i]),(0,A.useEffect)(()=>{a.updateRoutePage(l,{active:r,refreshDesktopRoutes:n,layoutContentElement:i.current})},[r,a,l,n,i]),a}iv.registerFlow({key:"topbarAction",steps:{step1:{handler:async(e,t)=>{let l=[...(await e.engine.getSubclassesOfAsync("TopbarActionModel")).keys()].map(t=>{let l=e.engine.createModel({use:t,uid:`topbar-action-${t}`});return l.setParent(e.model),l});e.model.props.actionsRender=e=>[(0,D.jsx)(im,{actions:l,isMobile:null==e?void 0:e.isMobile},"topbar-actions")]}}}});var ix=l(10159);let iw=e=>{e.context.defineProperty("deviceType",{get:()=>"browser"===ix.deviceType?"computer":ix.deviceType,cache:!1,meta:{type:"string",title:e.translate("Current device type"),interface:"select",uiSchema:{enum:[{label:e.translate("Computer"),value:"computer"},{label:e.translate("Mobile"),value:"mobile"},{label:e.translate("Tablet"),value:"tablet"},{label:e.translate("SmartTv"),value:"smarttv"},{label:e.translate("Console"),value:"console"},{label:e.translate("Wearable"),value:"wearable"},{label:e.translate("Embedded"),value:"embedded"}],"x-component":"Select"}},info:{description:"Current device type (computer/mobile/tablet/...).",detail:"string"}})},iS=e=>iy(e,{required:!0}),iA=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.uid)?eW(e,l.uid,{required:!0}):iS(e)},iM=(e,t)=>{let l=t||e.context.layout;return(null==l?void 0:l.routeName)&&"admin"!==l.routeName?"notFound":"redirect"},iF=e=>(null==e?void 0:e.authCheck)!==!1,ik=(e,t)=>{if(Array.isArray(e))for(let l of e){if(l.type!==eE.q2.group&&l.schemaUid===t||l.type===eE.q2.group&&null!=l.id&&String(l.id)===t)return l;let e=ik(l.children,t);if(e)return e}},iC=(e,t)=>{var l,r;let n=null==e||null==(l=e.getRouteBySchemaUid)?void 0:l.call(e,t);return n&&n.type!==eE.q2.group?n:ik(null==e||null==(r=e.listAccessible)?void 0:r.call(e),t)},iP=async(e,t)=>{var l;if(e.getModel(t))return!0;let r=await (null==(l=e.modelRepository)?void 0:l.findOne({uid:t}).catch(()=>null));if(null==r?void 0:r.uid)return!0;let n=await e.loadModel({uid:t}).catch(()=>null);return n&&e.getModel(t)===n&&e.removeModelWithSubModels(t),!!n},ij=e=>{let{pageUid:t,active:l,getLayoutModel:r}=e,n=(0,O.useFlowEngine)(),{active:i}=(0,rt.Y)(),o=n.context.routeRepository,a=A.useMemo(()=>null==o?void 0:o.refreshAccessible.bind(o),[o]),s=(0,A.useRef)(null);return(0,A.useEffect)(()=>{n.context.getPropertyOptions("deviceType")||iw(n)},[n]),ib({flowEngine:n,pageUid:t,active:l??i,refreshDesktopRoutes:a,layoutContentRef:s,getLayoutModel:r}),(0,D.jsx)("div",{ref:s})},iE=(e,t)=>{let l=e.getPublicPath(),r=window.location.pathname.startsWith(l)?window.location:t,n=r.pathname.startsWith(l)?r.pathname.slice(l.length):r.pathname.replace(/^\/+/,"");return`${tt(l)}${n}${r.search}${r.hash}`},iR=e=>{let{app:t,location:l}=e,{t:r}=(0,eG.B)(),n=`/${te()}/`,i=e=>e.replaceAll("{{modernClientPath}}",n);return(0,D.jsx)(eH.Ay,{status:"warning",title:i(r("This page is not supported in the {{modernClientPath}} branch")),subTitle:i(r("The {{modernClientPath}} branch only supports new pages. This page is a legacy page. Please open it from the original entry.")),extra:(0,D.jsx)(eY.Ay,{href:iE(t,l),type:"primary",children:r("Open from the original entry")})})},iT=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{active:t,getLayoutModel:l,legacyPageBehavior:r,pageUid:n}=e,i=(0,O.useFlowEngine)(),o=(0,O.useFlowContext)(),a=null==o?void 0:o.layout,s=(0,A.useMemo)(()=>null==l?void 0:l(i),[i,l]),d=a||(null==s?void 0:s.layout),u=null==d?void 0:d.uid,c=null==d?void 0:d.routeName,p=null==d?void 0:d.routePath,h=null==d?void 0:d.authCheck,f=(0,A.useMemo)(()=>{if(u||c||p||void 0!==h)return{authCheck:h,routeName:c,routePath:p,uid:u}},[h,c,p,u]),m=(0,A.useMemo)(()=>l||(e=>iA(e,f)),[l,f]),g=r||iM(i,f),v=(0,W.n)(),y=(0,K.useLocation)(),b=(0,K.useNavigate)(),x=i.context.routeRepository,w=(0,K.useParams)(),S=n||(null==w?void 0:w.name),M=void 0!==(null==w?void 0:w.tabUid)||void 0!==(null==w?void 0:w["*"]),F=!x,[k,C]=(0,A.useState)({pageUid:void 0,pending:!0,allowBridge:!1,notFound:!1}),P=(0,A.useRef)(!1),j=(0,A.useRef)(0);if(!S)throw Error("[NocoBase] FlowRoute requires pageUid or route.params.name.");return(0,A.useEffect)(()=>{P.current=!1},[y.hash,y.pathname,y.search,S]),(0,A.useEffect)(()=>{let e=!0,t=++j.current,l=iF(f);return(async()=>{var r,n,o,a;if(C({pageUid:S,pending:!0,allowBridge:!1,notFound:!1}),l&&!F&&!(null==x||null==(r=x.isAccessibleLoaded)?void 0:r.call(x)))try{await (null==x||null==(n=x.ensureAccessibleLoaded)?void 0:n.call(x))}catch(l){e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:!0,notFound:!1});return}if(!e||t!==j.current)return;let s=F||!l?void 0:iC(x,S);if(!s&&!F&&l)return C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});if(!s&&"notFound"===g){let l=await iP(i,S);e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:l,notFound:!l});return}if((null==s?void 0:s.type)===eE.q2.group){if(M)return C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});let e=tT({app:v,route:s,layout:f});return"emptyGroup"===e.reason?C({pageUid:S,pending:!1,allowBridge:!1,notFound:!1}):e.runtimePath?P.current?C({pageUid:S,pending:!1,allowBridge:!1,notFound:!1}):(P.current=!0,"document"===e.navigationMode)?window.location.replace(e.runtimePath):b(tS(e.runtimePath,null==(a=v.router)||null==(o=a.getBasename)?void 0:o.call(a)),{replace:!0}):C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0})}if((null==s?void 0:s.type)===eE.q2.page){if("notFound"===g)return C({pageUid:S,pending:!1,allowBridge:!1,notFound:!0});if("bridge"===g)return C({pageUid:S,pending:!1,allowBridge:!0,notFound:!1});let l=tT({app:v,route:s,location:{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash},preserveLocationState:!0});if("document"===l.navigationMode&&l.runtimePath&&!P.current){P.current=!0,window.location.replace(l.runtimePath);return}if("unsupportedV2Runtime"===l.reason){e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:!1,notFound:!1,legacyPageUnsupported:!0});return}}e&&t===j.current&&C({pageUid:S,pending:!1,allowBridge:!0,notFound:!1})})(),()=>{e=!1}},[v,i,M,g,b,S,f,x,F]),(0,A.useMemo)(()=>k.pageUid!==S||k.pending?null:k.notFound?(0,D.jsx)(ec.bM,{}):k.legacyPageUnsupported?(0,D.jsx)(iR,{app:v,location:y}):k.allowBridge?(0,D.jsx)(ij,{pageUid:S,active:t,getLayoutModel:m}):null,[t,v,m,k.allowBridge,k.legacyPageUnsupported,k.notFound,k.pageUid,k.pending,y,S])};iT.displayName="FlowRoute";let iI=iT,i_=e=>e.current,iD=e=>{let{layoutRouteName:t}=e,l=(0,W.n)(),r=(0,O.useFlowEngine)(),n=l.layoutManager.getLayout(t),i=(0,K.useLocation)(),o=(0,K.useMatches)(),a=eW(r,n.uid,{required:!0}),s="admin"===n.routeName?"redirect":"notFound",d=(0,A.useRef)(0),u=(0,A.useMemo)(()=>{let e=o[o.length-1],t=o.find(e=>e.id===n.routeName);return{id:null==e?void 0:e.id,name:null==e?void 0:e.id,pathname:i.pathname,state:i.state,params:(null==e?void 0:e.params)||{},layoutRouteName:n.routeName,layoutBasePathname:null==t?void 0:t.pathname}},[n.routeName,i.pathname,i.state,o]);if(!a)throw Error(`[NocoBase] Layout '${n.routeName}' model '${n.uid}' is not mounted.`);let c=a.resolveLayoutRoute(u),p=(0,A.useMemo)(()=>e=>eW(e,n.uid,{required:!0}),[n.uid]);return((0,A.useEffect)(()=>{let e=++d.current;return a.syncLayoutRoute(u),()=>{Promise.resolve().then(()=>{i_(d)===e&&a.clearLayoutRoute(u)}).catch(()=>{})}},[a,u]),"root"===c.type)?null:"notFound"===c.type?(0,D.jsx)(ec.bM,{}):(0,D.jsx)(iI,{pageUid:c.pageUid,getLayoutModel:p,legacyPageBehavior:s})};l(42196);var iN=l(66466),iO=l(42441);function i$(e){return(0,D.jsx)(n_.A,{...e,children:(0,D.jsx)(iO.A,{paragraph:{rows:3}})})}let iB=e=>e.current;function iL(e){return e===eU||(0,O.isInheritedFrom)(e,eU)}function iq(e,t){if(!(e instanceof eU))throw Error(`[NocoBase] Layout '${t.routeName}' requires model '${t.uid}' to be an instance of BaseLayoutModel.`)}async function iV(e,t){let l=await e.getModelClassAsync(t.layoutModelClass);if(!l)throw Error(`[NocoBase] Layout '${t.routeName}' model class '${t.layoutModelClass}' is not registered.`);if(!iL(l))throw Error(`[NocoBase] Layout '${t.routeName}' model class '${t.layoutModelClass}' must extend BaseLayoutModel.`)}let iz=e=>{let{layoutRouteName:t}=e,l=(0,W.n)(),r=(0,O.useFlowEngine)(),n=l.layoutManager.getLayout(t),i=(0,K.useLocation)(),o=(0,K.useMatches)(),a=o[o.length-1],s=o.find(e=>e.id===n.routeName),d=JSON.stringify((null==a?void 0:a.params)||{}),u=(0,A.useMemo)(()=>JSON.parse(d),[d]),c=(0,A.useRef)(0),p=(0,A.useMemo)(()=>({id:null==a?void 0:a.id,name:null==a?void 0:a.id,pathname:i.pathname,state:i.state,params:u,layoutRouteName:n.routeName,layoutBasePathname:null==s?void 0:s.pathname}),[null==a?void 0:a.id,u,n.routeName,null==s?void 0:s.pathname,i.pathname,i.state]),{loading:h,data:f,error:m}=(0,iN.A)(async()=>{let e=r.getModel(n.uid);if(e)return iq(e,n),e.setProps({layout:n}),e;await iV(r,n);let t=await r.createModelAsync({uid:n.uid,use:n.layoutModelClass,props:{layout:n}});return iq(t,n),t},{refreshDeps:[r,n]});if((0,A.useEffect)(()=>{if(!f)return;let e=++c.current;return f.syncLayoutRoute(p),()=>{Promise.resolve().then(()=>{iB(c)===e&&f.clearLayoutRoute(p)}).catch(()=>{})}},[f,p]),m)throw m;return h||!f?(0,D.jsx)(i$,{style:{margin:16}}):(0,D.jsx)(O.FlowModelRenderer,{model:f})},iK="RootPageModel",iU="ChildPageModel",iW=(e,t)=>{if("string"!=typeof e||""===e.trim())throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a non-empty string.`)},iH=(e,t)=>{if("string"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a string.`)},iY=(e,t)=>{void 0!==e&&iW(e,t)},iG=(e,t)=>{if(void 0!==e&&"boolean"!=typeof e)throw Error(`[NocoBase] layoutManager.registerLayout() requires '${t}' to be a boolean.`)};function iJ(e){if(e.includes("..")||e.startsWith(".")||e.endsWith("."))throw Error(`[NocoBase] layoutManager.registerLayout() received invalid routeName '${e}'.`)}function iX(e,t){let l=t.trim(),r=e.includes(".");if(r&&l.startsWith("/"))throw Error(`[NocoBase] nested layout routePath '${t}' must be relative.`);let n=r?l.replace(/^\/+/,"").replace(/\/+$/,""):`/${l.replace(/^\/+/,"").replace(/\/+$/,"")}`;if(!r&&(!n||"/"===n))throw Error("[NocoBase] layoutManager.registerLayout() does not support root routePath '/'.");if(n.includes("*"))throw Error(`[NocoBase] layoutManager.registerLayout() does not support wildcard routePath '${t}'.`);return n}function iQ(e){iW(e.routeName,"routeName"),iH(e.routePath,"routePath"),iW(e.uid,"uid"),iW(e.layoutModelClass,"layoutModelClass"),iY(e.rootPageModelClass,"rootPageModelClass"),iY(e.childPageModelClass,"childPageModelClass"),iG(e.authCheck,"authCheck"),iJ(e.routeName);let t=iX(e.routeName,e.routePath);return{routeName:e.routeName,rootRouteName:e.routeName.split(".")[0],routePath:t,uid:e.uid,layoutModelClass:e.layoutModelClass,rootPageModelClass:e.rootPageModelClass||iK,childPageModelClass:e.childPageModelClass||iU,authCheck:e.authCheck??!0}}class iZ{registerLayout(e){let t=iQ(e);if(this.layouts.has(t.routeName))throw Error(`[NocoBase] Layout '${t.routeName}' has already been registered.`);let l=this.uidIndex.get(t.uid);if(l)throw Error(`[NocoBase] Layout uid '${t.uid}' has already been registered by '${l}'.`);return this.layouts.set(t.routeName,t),this.uidIndex.set(t.uid,t.routeName),this.addStandardRoutes(t),t}getLayout(e){let t=this.layouts.get(e);if(!t)throw Error(`[NocoBase] Layout '${e}' is not registered.`);return t}hasLayout(e){return this.layouts.has(e)}listLayouts(){return Array.from(this.layouts.values())}addStandardRoutes(e){let t=e.routeName,l=e.authCheck,r=!1===l;this.app.router.add(t,{path:e.routePath,authCheck:l,skipAuthCheck:r,element:(0,D.jsx)(iz,{layoutRouteName:e.routeName})}),this.app.router.add(eR(t),{path:":name",authCheck:l,skipAuthCheck:r,element:(0,D.jsx)(iD,{layoutRouteName:e.routeName})}),this.app.router.add(eT(t),{path:":name/tab/:tabUid",authCheck:l,skipAuthCheck:r,element:(0,D.jsx)(iD,{layoutRouteName:e.routeName})}),this.app.router.add(eI(t),{path:":name/view/*",authCheck:l,skipAuthCheck:r,element:(0,D.jsx)(iD,{layoutRouteName:e.routeName})}),this.app.router.add(e_(t),{path:":name/tab/:tabUid/view/*",authCheck:l,skipAuthCheck:r,element:(0,D.jsx)(iD,{layoutRouteName:e.routeName})})}constructor(e){(0,w._)(this,"app",void 0),(0,w._)(this,"layouts",new Map),(0,w._)(this,"uidIndex",new Map),this.app=e}}class i0{activateLayout(e){let t=this.normalizeLayoutUid(null==e?void 0:e.uid),l=Symbol("route-layout");return this.layoutActivations.push({token:l,uid:t}),this.syncRoutesProperty(),()=>{let e=this.layoutActivations.findIndex(e=>e.token===l);e>=0&&this.layoutActivations.splice(e,1),this.syncRoutesProperty()}}setRoutes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getCurrentLayoutUid(),l=this.getRouteCache(t);l.routes=e,l.accessibleLoaded=!0,t===this.getCurrentLayoutUid()&&(this.routes=e),this.emitChange(t)}listAccessible(){let e=this.getRouteCache(this.getReadableLayoutUid()).routes;return this.routes=e,e}isAccessibleLoaded(){return this.getRouteCache().accessibleLoaded}async refreshAccessible(){let e=this.getCurrentLayoutUid();return this.refreshAccessibleByLayout(e)}async refreshAccessibleByLayout(e){var t;let l=this.nextRefreshRequestId(e),r=await this.getAPIClient().request({url:"/desktopRoutes:listAccessible",params:{tree:!0,sort:"sort",layout:e}}),n=(null==r||null==(t=r.data)?void 0:t.data)||[];return l===this.getRefreshRequestId(e)&&this.setRoutes(n,e),n}async ensureAccessibleLoaded(){let e=this.getCurrentLayoutUid(),t=this.getRouteCache(e);if(t.accessibleLoaded)return this.routes=t.routes,t.routes;let l=this.accessibleLoadingPromises.get(e);if(l)return l;let r=this.refreshAccessibleByLayout(e).finally(()=>{this.accessibleLoadingPromises.get(e)===r&&this.accessibleLoadingPromises.delete(e)});return this.accessibleLoadingPromises.set(e,r),r}subscribe(e){return this.subscribers.set(e,this.getCurrentLayoutUid()),()=>{this.subscribers.delete(e)}}unsubscribe(e){this.subscribers.delete(e)}async createRoute(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{refreshAfterMutation:l=!0}=t,r=await this.getResource("desktopRoutes").create({values:e,layout:this.getCurrentLayoutUid()});return l&&await this.refreshAccessible(),r}async updateRoute(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{refreshAfterMutation:r=!0}=l,n=await this.getResource("desktopRoutes").update(Array.isArray(e)?{filter:{id:{$in:e}},values:t}:{filterByTk:e,values:t});return r&&await this.refreshAccessible(),n}async deleteRoute(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{refreshAfterMutation:l=!0}=t,r=await this.getResource("desktopRoutes").destroy({filterByTk:e});return l&&await this.refreshAccessible(),r}async moveRoute(e){let{refreshAfterMove:t=!0,...l}=e,r=await this.getResource("desktopRoutes").move(l);return t&&await this.refreshAccessible(),r}getRouteBySchemaUid(e){return this.findRoute(this.listAccessible(),e)}getRouteById(e){return this.findRouteById(this.listAccessible(),e)}getAPIClient(){var e;if(!(null==(e=this.ctx)?void 0:e.api))throw Error("[NocoBase] RouteRepository requires context.api.");return this.ctx.api}getResource(e){return this.getAPIClient().resource(e)}emitChange(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getCurrentLayoutUid();this.subscribers.forEach((t,l)=>{if(t!==e)return;let r=this.notifiedLayoutUid;this.notifiedLayoutUid=e;try{l()}finally{this.notifiedLayoutUid=r}})}getCurrentLayoutUid(){var e;return(null==(e=this.layoutActivations[this.layoutActivations.length-1])?void 0:e.uid)||t_}normalizeLayoutUid(e){return"string"==typeof e&&e.trim()?e:t_}getReadableLayoutUid(){return this.notifiedLayoutUid||this.getCurrentLayoutUid()}getRouteCache(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getCurrentLayoutUid(),t=this.routeCaches.get(e);return t||(t={accessibleLoaded:!1,routes:[]},this.routeCaches.set(e,t)),t}syncRoutesProperty(){this.routes=this.getRouteCache().routes}nextRefreshRequestId(e){let t=this.getRefreshRequestId(e)+1;return this.refreshRequestIds.set(e,t),t}getRefreshRequestId(e){return this.refreshRequestIds.get(e)||0}findRoute(e,t){for(let l of e){if(l.schemaUid===t)return l;if(l.children){let e=this.findRoute(l.children,t);if(e)return e}}}findRouteById(e,t){for(let l of e){if(null!=l.id&&String(l.id)===String(t))return l;if(l.children){let e=this.findRouteById(l.children,t);if(e)return e}}}constructor(e){(0,w._)(this,"ctx",void 0),(0,w._)(this,"routes",void 0),(0,w._)(this,"subscribers",void 0),(0,w._)(this,"accessibleLoadingPromises",void 0),(0,w._)(this,"layoutActivations",void 0),(0,w._)(this,"routeCaches",void 0),(0,w._)(this,"refreshRequestIds",void 0),(0,w._)(this,"notifiedLayoutUid",void 0),this.ctx=e,this.routes=[],this.subscribers=new Map,this.accessibleLoadingPromises=new Map,this.layoutActivations=[],this.routeCaches=new Map,this.refreshRequestIds=new Map}}class i1{getURL(){if(!this.app)return;let e=this.app.getApiUrl();if(!e)return;let t="";if(this.getSubAppName(this.app))t=`?_app=${this.getSubAppName(this.app)}`;else{let e=(0,S.xW)(this.app.getPublicPath());t=e?`?__appName=${e}`:""}let l=this.options.basename||"/ws";if(this.options.url){let e=new URL(this.options.url);if("localhost"===e.hostname){let r="https:"===location.protocol?"wss":"ws";return`${r}://${location.hostname}:${e.port}${l}${t}`}return`${this.options.url}${t}`}try{let r=new URL(e);return`${"https:"===r.protocol?"wss":"ws"}://${r.host}${l}${t}`}catch(e){return`${"https:"===location.protocol?"wss":"ws"}://${location.host}${l}${t}`}}get reconnectAttempts(){var e;return(null==(e=this.options)?void 0:e.reconnectAttempts)||30}get reconnectInterval(){var e;return(null==(e=this.options)?void 0:e.reconnectInterval)||1e3}get pingInterval(){var e;return(null==(e=this.options)?void 0:e.pingInterval)||3e5}get readyState(){return this._ws?this._ws.readyState:-1}createWebSocket(){return new WebSocket(this.getURL(),this.options.protocols)}connect(){let e;if(!this.enabled||(0===this._reconnectTimes&&console.log("[nocobase-ws]: connecting..."),this._reconnectTimes>=this.reconnectAttempts||this.readyState===WebSocket.OPEN))return;this._reconnectTimes++;let t=this.createWebSocket();t.onopen=()=>{for(let{type:e,listener:l,options:r}of(console.log("[nocobase-ws]: connected."),this.serverDown=!1,this._ws&&this.removeAllListeners(),this._reconnectTimes=0,this._ws=t,this.events))this._ws.addEventListener(e,l,r);e=setInterval(()=>this.send("ping"),this.pingInterval),this.connected=!0,this.emit("open",{})},t.onerror=async()=>{console.log("onerror",this.readyState,this._reconnectTimes)},t.onclose=async t=>{setTimeout(()=>this.connect(),this.reconnectInterval),console.log("onclose",this.readyState,this._reconnectTimes,this.serverDown),this.connected=!1,clearInterval(e)}}reconnect(){this._reconnectTimes=0,this.connect()}close(){if(this._ws)return this._reconnectTimes=this.reconnectAttempts,this._ws.close()}send(e){if(this._ws)return this._ws.send(e)}on(e,t,l){this.events.push({type:e,listener:t,options:l}),this._ws&&this._ws.addEventListener(e,t,l)}emit(e,t){for(let l of this.events)l.type===e&&l.listener(t)}off(e,t,l){let r=0;for(let l of this.events){if(l.type===e&&l.listener===t){this.events.splice(r,1);break}r++}this._ws&&this._ws.removeEventListener(e,t,l)}removeAllListeners(){if(this._ws)for(let{type:e,listener:t,options:l}of this.events)this._ws.removeEventListener(e,t,l)}constructor(e){if((0,w._)(this,"_ws",void 0),(0,w._)(this,"_reconnectTimes",0),(0,w._)(this,"events",[]),(0,w._)(this,"options",void 0),(0,w._)(this,"app",void 0),(0,w._)(this,"enabled",void 0),(0,w._)(this,"connected",!1),(0,w._)(this,"serverDown",!1),(0,w._)(this,"lastMessage",{}),(0,w._)(this,"getSubAppName",e=>{let t=e.getPublicPath(),l=`^${t}_app/([^/]*)/`,r=location.pathname.match(new RegExp(l));return r?r[1]:null}),!e){this.enabled=!1;return}this.options=!0===e?{}:e,this.enabled=!0,(0,N.define)(this,{serverDown:N.observable.ref,connected:N.observable.ref,lastMessage:N.observable.ref})}}function i2(){"use strict";function e(e){for(var t=[],l=0,r=e.length;l<r;l++)-1===t.indexOf(e[l])&&t.push(e[l]);return t}function t(e,t){return JSON.stringify(e)===JSON.stringify(t)}Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var l={},r={$is:function(e,t){return e===t},$match:function(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.some(e=>Array.isArray(e))?e.some(e=>(null==e?void 0:e.length)===t.length&&(null==e?void 0:e.every((e,l)=>e===t[l]))):JSON.stringify(e)===JSON.stringify(t)},$eq:function(e,l){return Array.isArray(e)&&Array.isArray(l)?t(e,l):Array.isArray(e)?e.includes(l):e==l},$ne:function(e,t){return e!=t},"!==":function(e,t){return e!==t},$gt:function(e,t){return Array.isArray(e)?e.some(e=>e>t):e>t},$gte:function(e,t){return e>=t},$lt:function(e,t,l){return Array.isArray(e)?e.some(e=>e<t):void 0===l?e<t:e<t&&t<l},$lte:function(e,t,l){return void 0===l?e<=t:e<=t&&t<=l},$exists:function(e){return l.truthy(e)},$notEmpty:function(e){return!r.$empty(e)},$empty:function(e){return Array.isArray(e)||"string"==typeof e?0===e.length:null==e},$notExists:function(e){return!l.truthy(e)},"%":function(e,t){return e%t},log:function(e){return e},$in:function(e,t){return!!t&&void 0!==t.indexOf&&(Array.isArray(e)&&Array.isArray(t)?t.some(t=>e.includes(t)):-1!==t.indexOf(e))},$notIn:function(e,t){return!!t&&void 0!==t.indexOf&&-1===t.indexOf(e)},$includes:function(e,t){return!!e&&void 0!==e.indexOf&&(Array.isArray(e)?e.some(e=>null==e?void 0:e.includes(t)):-1!==e.indexOf(t))},$notIncludes:function(e,t){return Array.isArray(e)?!e.some(e=>(e||"").includes(t)):!(e=e||"").includes(t)},$anyOf:function(e,t){return null!=e&&0!==e.length&&(Array.isArray(e)&&Array.isArray(t)&&e.some(e=>Array.isArray(e))?e.some(e=>e.some(e=>t.includes(e))):e.some(e=>t.includes(e)))},$noneOf:function(e,t){return!e||0===e.length||!t||0===t.length||(Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]),!t.some(t=>e.includes(t)))},$notMatch:function(e,t){if((null==e?void 0:e.length)!==(null==t?void 0:t.length))return!0;for(let l=0;l<((null==e?void 0:e.length)||0);l++)if((null==e?void 0:e[l])!==(null==t?void 0:t[l]))return!0;return!1},$dateOn:function(e,t){if(!e||!t)return!1;if(t.type&&(t=(0,ea.getDayRangeByParams)(t)),Array.isArray(t))return r.$dateBetween(e,t);let l=i8(e),n=i8(t);return!!l&&!!n&&l.getTime()===n.getTime()},$dateBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ea.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=i8(e),r=i8(t);return!!l&&!!r&&l.getTime()<r.getTime()},$dateNotBefore:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ea.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[0]);let l=i8(e),r=i8(t);if(!l||!r)throw Error("Invalid date format");return l.getTime()>=r.getTime()},$dateAfter:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ea.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=i8(e),r=i8(t);return l.getTime()>r.getTime()},$dateNotAfter:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ea.getDayRangeByParams)(t)),Array.isArray(t)&&(t=t[1]);let l=i8(e),r=i8(t);if(!l||!r)throw Error("Invalid date format");return l.getTime()<=r.getTime()},$dateBetween:function(e,t){if(!e||!t)return!1;t.type&&(t=(0,ea.getDayRangeByParams)(t));let l=i8(e),r=i4(t[0]),n=i4(t[1]);if(!l||!r||!n)throw Error("Invalid date format");return l.getTime()>=r.getTime()&&l.getTime()<=n.getTime()},$dateNotOn:function(e,t){if(!e||!t)return!1;if(t.type&&(t=(0,ea.getDayRangeByParams)(t)),Array.isArray(t))return!r.$dateBetween(e,t);let l=i8(e),n=i8(t);return l.getTime()!==n.getTime()},$isTruly:function(e){return Array.isArray(e)?e.some(e=>!0===e||1===e):!0===e||1===e},$isFalsy:function(e){return Array.isArray(e)?e.some(e=>!l.truthy(e)):!l.truthy(e)},cat:function(){return Array.prototype.join.call(arguments,"")},substr:function(e,t,l){if(l<0){var r=String(e).substr(t);return r.substr(0,r.length+l)}return String(e).substr(t,l)},"+":function(){return Array.prototype.reduce.call(arguments,function(e,t){return parseFloat(e,10)+parseFloat(t,10)},0)},"*":function(){return Array.prototype.reduce.call(arguments,function(e,t){return parseFloat(e,10)*parseFloat(t,10)})},"-":function(e,t){return void 0===t?-e:e-t},"/":function(e,t){return e/t},min:function(){return Math.min.apply(this,arguments)},max:function(){return Math.max.apply(this,arguments)},merge:function(){return Array.prototype.reduce.call(arguments,function(e,t){return e.concat(t)},[])},var:function(e,t){var l=void 0===t?null:t,r=this;if(void 0===e||""===e||null===e)return r;for(var n=String(e).split("."),i=0;i<n.length;i++)if(null==r||void 0===(r=r[n[i]]))return l;return r},missing:function(){for(var e=[],t=Array.isArray(arguments[0])?arguments[0]:arguments,r=0;r<t.length;r++){var n=t[r],i=l.apply({var:n},this);(null===i||""===i)&&e.push(n)}return e},missing_some:function(e,t){var r=l.apply({missing:t},this);return t.length-r.length>=e?[]:r}};return l.is_logic=function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&1===Object.keys(e).length&&!e.type},l.truthy=function(e){return(!Array.isArray(e)||0!==e.length)&&!!e},l.getOperator=function(e){return Object.keys(e)[0]},l.getValues=function(e){return e[l.getOperator(e)]},l.apply=function(e,t){if(Array.isArray(e))return e.map(function(e){return l.apply(e,t)});if(!l.is_logic(e))return e;var n,i,o,a,s,d=l.getOperator(e),u=e[d];if(Array.isArray(u)||(u=[u]),"if"===d||"?:"==d){for(n=0;n<u.length-1;n+=2)if(l.truthy(l.apply(u[n],t)))return l.apply(u[n+1],t);return u.length===n+1?l.apply(u[n],t):null}if("$and"===d){for(n=0;n<u.length&&(i=l.apply(u[n],t),l.truthy(i));n+=1);return i}if("or"===d){for(n=0;n<u.length&&(i=l.apply(u[n],t),!l.truthy(i));n+=1);return i}if("filter"===d)return(a=l.apply(u[0],t),o=u[1],Array.isArray(a))?a.filter(function(e){return l.truthy(l.apply(o,e))}):[];if("map"===d)return(a=l.apply(u[0],t),o=u[1],Array.isArray(a))?a.map(function(e){return l.apply(o,e)}):[];else if("reduce"===d)return(a=l.apply(u[0],t),o=u[1],s=void 0!==u[2]?u[2]:null,Array.isArray(a))?a.reduce(function(e,t){return l.apply(o,{current:t,accumulator:e})},s):s;else if("all"===d){if(a=l.apply(u[0],t),o=u[1],!Array.isArray(a)||!a.length)return!1;for(n=0;n<a.length;n+=1)if(!l.truthy(l.apply(o,a[n])))return!1;return!0}else if("none"===d){if(a=l.apply(u[0],t),o=u[1],!Array.isArray(a)||!a.length)return!0;for(n=0;n<a.length;n+=1)if(l.truthy(l.apply(o,a[n])))return!1;return!0}else if("some"===d){if(a=l.apply(u[0],t),o=u[1],!Array.isArray(a)||!a.length)return!1;for(n=0;n<a.length;n+=1)if(l.truthy(l.apply(o,a[n])))return!0;return!1}if(u=u.map(function(e){return l.apply(e,t)}),Object.prototype.hasOwnProperty.call(r,d)&&"function"==typeof r[d])return r[d].apply(t,u);if(d.indexOf(".")>0){var c=String(d).split("."),p=r;for(n=0;n<c.length;n++){if(!Object.prototype.hasOwnProperty.call(p,c[n]))throw Error("Unrecognized operation "+d+" (failed at "+c.slice(0,n+1).join(".")+")");p=p[c[n]]}return p.apply(t,u)}throw Error("Unrecognized operation "+d)},l.uses_data=function(t){var r=[];if(l.is_logic(t)){var n=l.getOperator(t),i=t[n];Array.isArray(i)||(i=[i]),"var"===n?r.push(i[0]):i.forEach(function(e){r.push.apply(r,l.uses_data(e))})}return e(r)},l.addOperation=function(e,t){r[e]=t},l.rmOperation=function(e){delete r[e]},l.rule_like=function(e,t){if(t===e||"@"===t)return!0;if("number"===t)return"number"==typeof e;if("string"===t)return"string"==typeof e;if("array"===t)return Array.isArray(e)&&!l.is_logic(e);if(l.is_logic(t)){if(l.is_logic(e)){var r=l.getOperator(t),n=l.getOperator(e);if("@"===r||r===n)return l.rule_like(l.get_values(e,!1),l.get_values(t,!1))}return!1}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(var i=0;i<t.length;i+=1)if(!l.rule_like(e[i],t[i]))return!1;return!0}return!1},l}function i4(e){return new Date(e.includes("T")&&e.endsWith("Z")?e:e.includes(" ")?e.replace(" ","T"):`${e}T00:00:00`)}function i6(e){let[t,l]=e.split("-").map(Number);return new Date(t,l-1)}function i3(e){return new Date(parseInt(e.slice(0,4)),(parseInt(e.slice(5,6))-1)*3)}function i5(e){return new Date(parseInt(e),0)}function i8(e){let t=Array.isArray(e)?e[1]??e[0]:e;if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(t))return new Date(t);if(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(t))return new Date(t.replace(" ","T"));if(/^\d{4}-\d{2}-\d{2}$/.test(t))return i4(t);if(/^\d{4}-\d{2}$/.test(t))return i6(t);if(/^\d{4}Q[1-4]$/.test(t))return i3(t);else if(/^\d{4}$/.test(t))return i5(t);return null}l(38263);var i9=l(42524),i7=l(89286),oe=l(36194),ot=l(52582),ol=l(20419),or=l(78880),on=l(27253);l(86171),l(59056),l(19875);var oi=l(43886),oo=l(5900),oa=l(2543);function os(e,t){let l=t.split("."),r=e;for(let e=0;e<l.length&&null!=r;e++){let t=l[e],n=t.match(/^\d+$/);!Array.isArray(r)||n||r[t]||(r[t]=r.map(e=>e[t]).flat()),r=null==r?void 0:r[t]}}function od(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=(0,oa.cloneDeep)(l),n={},i={},o=0;return this(t.trim().replace(/{{\s*([\w$.-]+)\s*}}/g,(t,l)=>{if(l.startsWith("this."))return`{{${l}}}`;os(r,l);let a=(0,oa.get)(r,l)??null;"function"==typeof a&&(a=a());let s=i[l];return s||(s=`$$${o++}`,i[l]=s,n[s]=a),e.replaceValue?`${null==a||"number"==typeof a&&(Number.isNaN(a)||!Number.isFinite(a))?"":a}`:s}),n)}let ou={label:"Math.js",tooltip:"{{t('Math.js comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types.')}}",link:"MATHJS_DOC_URL",evaluate:od.bind(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=oi._3(e,t);return"number"==typeof l?Number.isNaN(l)||!Number.isFinite(l)?null:oo.LIG(l,9):l instanceof oo.uqu?l.toArray():l},{replaceKey:!0})};var oc=l(8558);l(67980);let op=Object.keys(oc).filter(e=>"default"!==e);function oh(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=Object.create(null);for(let e of op)l[e]=oc[e];if(e&&"object"==typeof e)for(let[t,r]of Object.entries(e))l[t]=r;for(let e of t)l[e]=void 0;return l}function of(e,t,l){return new Compartment(oh(t,l.blockedIdentifiers)).evaluate(e)}function om(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={blockedIdentifiers:e.blockedIdentifiers};return od.bind(function(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=of(e,l,t);return"number"==typeof r?Number.isNaN(r)||!Number.isFinite(r)?null:(0,oo.LIG)(r,9):r},{})}om();let og={label:"Formula.js",tooltip:'{{t("Formula.js supports most Microsoft Excel formula functions.")}}',link:"FORMULAJS_DOC_URL",evaluate:om({blockedIdentifiers:[...ea.BASE_BLOCKED_IDENTIFIERS,"window","document","parent","top","frames","navigator","location","localStorage","sessionStorage"]})},ov={label:"{{t('String template')}}",tooltip:"{{t('Simple string replacement, can be used to interpolate variables in a string.')}}",evaluate:od.bind(function(e){return arguments.length>1&&void 0!==arguments[1]&&arguments[1],e},{replaceValue:!0})},oy=new ea.Registry;function ob(){return Array.from(oy.getEntities()).reduce((e,t)=>{let[l,r]=t;return e.concat({value:l,...r})},[])}oy.register("formula.js",og),oy.register("math.js",ou),oy.register("string",ov);let ox=oy;var ow=l(67377),oS=l(74172),oA=l(4213),oM=l(88909),oF=l(72635),ok=l(68984),oC=l(43627);function oP(e,t,l){e.define(t,()=>l),window.__nocobase_app_dev__&&(window.__nocobase_app_dev_deps__=window.__nocobase_app_dev_deps__||{},window.__nocobase_app_dev_deps__[t]=l)}function oj(e){oP(e,"react",A),oP(e,"react-dom",lz),oP(e,"react/jsx-runtime",D),oP(e,"react-router",K),oP(e,"react-router-dom",z),oP(e,"antd",oS),oP(e,"@ant-design/icons",i7),oP(e,"@ant-design/cssinjs",i9),oP(e,"antd-style",oe),oP(e,"i18next",oF),oP(e,"react-i18next",ok),oP(e,"@formily/antd-v5",ol),oP(e,"@formily/core",or),oP(e,"@formily/react",rd),oP(e,"@formily/reactive",N),oP(e,"@formily/shared",on),oP(e,"@nocobase/utils",ea),oP(e,"@nocobase/utils/client",ea),oP(e,"@nocobase/client-v2",x),oP(e,"@nocobase/client-v2/client-v2",x),oP(e,"@nocobase/flow-engine",O),oP(e,"@nocobase/evaluators",m),oP(e,"@nocobase/evaluators/client",m),oP(e,"@dnd-kit/core",lB),oP(e,"@dnd-kit/sortable",oC),oP(e,"@ctrl/tinycolor",ot),oP(e,"ahooks",ow),oP(e,"axios",oM.A),oP(e,"dayjs",ea.dayjs),oP(e,"lodash",B()),oP(e,"@emotion/css",er),oP(e,"file-saver",oA)}var oE=l(40407);let oR=/^\/+/,oT=/\/+$/,oI=e=>{let t=oR.exec(e);return t?e.slice(t[0].length):e},o_=e=>{let t=oT.exec(e);return t?e.slice(0,-t[0].length):e},oD=e=>`${o_(e)}/`,oN=e=>(0,U.isValidElementType)(e);class oO{get pm(){return this.pluginManager}get disableAcl(){return this.options.disableAcl}get isWsAuthorized(){return this.wsAuthorized}setDocumentLanguage(e){"u">typeof document&&(e?document.documentElement.lang=e:document.documentElement.removeAttribute("lang"))}defineObservableState(){(0,N.define)(this,{maintained:N.observable.ref,maintaining:N.observable.ref,error:N.observable.ref,apps:N.observable})}initializeExtendedState(){this.systemSettings=new eh.o(this.apiClient)}afterManagersInitialized(){this.aiManager=new ed(this),this.jsonLogic=i2()}configureContext(){}configureRuntimeAdapters(){}addCustomProviders(){}initListeners(){this.eventBus.addEventListener("auth:tokenChanged",e=>{let t=e.detail;(null==t?void 0:t.token)&&this.setTokenInWebSocket(t)}),this.eventBus.addEventListener("maintaining:end",()=>{this.apiClient.auth.token&&this.setTokenInWebSocket({token:this.apiClient.auth.token,authenticator:this.apiClient.auth.getAuthenticator()})})}setTokenInWebSocket(e){let{token:t,authenticator:l}=e;this.maintaining||this.ws.send(JSON.stringify({type:"auth:token",payload:{token:t,authenticator:l}}))}initRequireJs(){if(void 0===globalThis.window)return;let e=globalThis.window;if(e.requirejs){this.requirejs=e.requirejs;return}e.requirejs=this.requirejs=(0,oE.b)(),oj(this.requirejs),e.define=this.requirejs.define}configureBaseContext(){this.flowEngine.context.defineProperty("app",{value:this}),this.flowEngine.context.defineProperty("api",{value:this.apiClient}),this.flowEngine.context.defineProperty("i18n",{value:this.i18n}),this.flowEngine.context.defineProperty("router",{get:()=>this.router.router,cache:!1}),this.flowEngine.context.defineProperty("documentTitle",{get:()=>document.title}),this.flowEngine.context.defineProperty("route",{get:()=>{},observable:!0}),this.flowEngine.context.defineProperty("location",{get:()=>location,observable:!0}),this.flowEngine.context.defineProperty("routeRepository",{value:new i0(this.flowEngine.context)}),this.flowEngine.context.defineProperty("appInfo",{get:async()=>{var e;return(null==(e=(await this.apiClient.request({url:"app:getInfo"})).data)?void 0:e.data)||{}}}),this.flowEngine.context.defineProperty("pageInfo",{value:(0,N.observable)({version:void 0})}),this.flowEngine.context.defineProperty("systemSettings",{get:()=>this.systemSettings})}addBaseProviders(){this.use(q.x,{i18n:this.i18n}),this.use(O.FlowEngineProvider,{engine:this.flowEngine}),this.use(eo),this.use(J)}addFinalProviders(){this.use(O.FlowEngineGlobalsContextProvider)}addReactRouterComponents(){this.addComponents({Link:z.Link,Navigate:K.Navigate,NavLink:z.NavLink})}addRoutes(){this.router.add("not-found",{path:"*",Component:()=>null})}updateFavicon(e){let t=document.querySelector('link[rel="shortcut icon"]');arguments.length>0&&(this.favicon=e||"");let l=this.favicon||this.getCdnUrl()+"favicon/favicon.ico";t?t.href=l:((t=document.createElement("link")).rel="shortcut icon",t.href=l,document.head.appendChild(t))}setWsAuthorized(e){this.wsAuthorized=e}setMaintaining(e){this.maintaining!==e&&(this.maintaining=e,e||this.eventBus.dispatchEvent(new Event("maintaining:end")))}getOptions(){return this.options}getName(){return(0,S.xW)(this.getPublicPath())||null}getCdnUrl(){return oD(window.__webpack_public_path__||tt(this.getPublicPath()))}getPublicPath(){return oD(this.options.publicPath||"/")}getApiUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.apiClient.axios.defaults.baseURL??"";if(!t.startsWith("http://")&&!t.startsWith("https://")){let{protocol:e,host:l}=globalThis.window.location;t=`${e}//${l}${t}`}return`${o_(t)}/${oI(e)}`}getRouteUrl(e){return this.getPublicPath()+oI(e)}getHref(e){let t=this.name;return t&&"main"!==t?`${this.getPublicPath()}apps/${t}/${oI(e)}`:this.getPublicPath()+oI(e)}getComposeProviders(){let e=rA(...this.providers)(ec.ct);return e.displayName="Providers",e}use(e,t){return this.addProvider(e,t)}addProvider(e,t){return this.providers.push([e,t])}addProviders(e){e.forEach(e=>{Array.isArray(e)?this.addProvider(e[0],e[1]):this.addProvider(e)})}getComponent(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],l=e=>t&&console.error(e);if(!e)return void l(`getComponent called with ${e}`);if("string"==typeof e){let t=(0,$.get)(this.components,e);return t||void l(`Component ${e} not found`)}if(oN(e))return e;l(`Component ${e} should be a string or a React component`)}renderComponent(e,t,l){let r=this.getComponent(e);return r?A.createElement(r,t,l):null}addComponent(e,t){let l=e,r=t||l.displayName||l.name;r?(0,$.set)(this.components,r,e):console.error("Component must have a displayName or pass name as second argument")}addComponents(e){Object.keys(e).forEach(t=>{this.addComponent(e[t],t)})}setAppsComponent(e){let{Component:t}=e;this.apps.Component=t}setAppsProvider(e){let{loadAppList:t}=e;this.apps.loadAppList=t}getRootFallback(){return this.renderComponent("AppSpin")}getRootComponent(){let e=this.model,t=this.flowEngine,l=()=>this.getRootFallback();return r=>{let{children:n}=r;return(0,A.useLayoutEffect)(()=>{e.setProps({children:n})},[n]),(0,D.jsx)(O.FlowEngineProvider,{engine:t,children:(0,D.jsx)(O.FlowModelRenderer,{fallback:l(),model:e})})}}mount(e){let t=rS(e);if(t){let e=this.getRootComponent(),l=(0,L.createRoot)(t);return l.render((0,D.jsx)(e,{})),l}}createLayoutManager(e){return new iZ(this)}createWebSocketClient(e){return new i1(e.ws??!1)}getDefaultComponents(){return{AppNotFound:ec.bM,AppError:ec.uV,AppSpin:ec.gv,AppMaintaining:ec.be,AppMaintainingDialog:ec.tp}}constructor(e={}){(0,w._)(this,"options",void 0),(0,w._)(this,"eventBus",void 0),(0,w._)(this,"providers",void 0),(0,w._)(this,"router",void 0),(0,w._)(this,"scopes",void 0),(0,w._)(this,"i18n",void 0),(0,w._)(this,"ws",void 0),(0,w._)(this,"apiClient",void 0),(0,w._)(this,"components",void 0),(0,w._)(this,"pluginManager",void 0),(0,w._)(this,"pluginSettingsManager",void 0),(0,w._)(this,"layoutManager",void 0),(0,w._)(this,"entryActionManager",void 0),(0,w._)(this,"aiManager",void 0),(0,w._)(this,"devDynamicImport",void 0),(0,w._)(this,"requirejs",void 0),(0,w._)(this,"name",void 0),(0,w._)(this,"favicon",void 0),(0,w._)(this,"flowEngine",void 0),(0,w._)(this,"dataSourceManager",void 0),(0,w._)(this,"jsonLogic",void 0),(0,w._)(this,"context",void 0),(0,w._)(this,"systemSettings",void 0),(0,w._)(this,"maintained",void 0),(0,w._)(this,"maintaining",void 0),(0,w._)(this,"error",void 0),(0,w._)(this,"model",void 0),(0,w._)(this,"wsAuthorized",void 0),(0,w._)(this,"apps",void 0),this.options=e,this.eventBus=new EventTarget,this.providers=[],this.scopes={},this.components={},this.entryActionManager=new ep,this.maintained=!1,this.maintaining=!1,this.error=null,this.wsAuthorized=!1,this.apps={Component:null,loadAppList:null},this.initRequireJs(),this.defineObservableState(),this.devDynamicImport=e.devDynamicImport,this.scopes=(0,$.merge)(this.scopes,e.scopes),this.components=(0,$.merge)(this.getDefaultComponents(),e.components),this.name=this.options.name||(0,S.xW)(e.publicPath)||"main",this.apiClient=this.createApiClient(e),this.initializeExtendedState(),this.i18n=this.createI18n(e),this.router=this.createRouterManager(e),this.layoutManager=this.createLayoutManager(e),this.pluginManager=this.createPluginManager(e),this.flowEngine=new O.FlowEngine,this.flowEngine.registerModels({ApplicationModel:oL}),this.model=this.flowEngine.createModel({use:"ApplicationModel",uid:"__app_model__"}),this.context=this.flowEngine.context,this.configureRuntimeAdapters(),this.context.defineProperty("pluginManager",{get:()=>this.pluginManager}),this.configureBaseContext(),this.configureContext(),this.addBaseProviders(),this.addCustomProviders(),this.addFinalProviders(),this.addReactRouterComponents(),this.addProviders(e.providers||[]),this.ws=this.createWebSocketClient(e),this.ws.app=this,this.pluginSettingsManager=this.createPluginSettingsManager(e),this.addRoutes(),this.i18n.on("languageChanged",e=>{this.apiClient.auth.locale=e,this.setDocumentLanguage(e)}),this.initListeners(),this.afterManagersInitialized()}}var o$=new WeakMap,oB=new WeakMap;class oL extends O.FlowModel{get app(){return this.context.app}getProviders(){return(0,_._)(this,o$,(0,T._)(this,o$)||this.app.getComposeProviders()),(0,T._)(this,o$)}getRouter(){return(0,_._)(this,oB,(0,T._)(this,oB)||this.app.router.getRouterComponent()),(0,T._)(this,oB)}render(){return this.app.maintaining&&!this.app.maintained?(0,D.jsx)(D.Fragment,{children:this.renderMaintaining()}):this.app.error&&!this.app.maintaining?(0,D.jsx)(D.Fragment,{children:this.renderError()}):(0,D.jsxs)(D.Fragment,{children:[this.renderContent(),this.app.maintaining&&this.app.maintained?this.renderMaintainingDialog():null]})}renderMaintaining(){return this.app.renderComponent("AppMaintaining",{app:this.app,error:this.app.error})}renderMaintainingDialog(){return this.app.renderComponent("AppMaintainingDialog",{app:this.app,error:this.app.error})}renderError(){return this.app.renderComponent("AppError",{app:this.app,error:this.app.error})}renderContent(){let e=this.app.getComponent("AppError",!1),t=this.getRouter(),l=this.getProviders(),r=(0,D.jsx)(t,{BaseLayout:l});if(!e)return r;let n=(e,t)=>{var l;console.error(e);let r=null==(l=t.componentStack)?void 0:l.trim();if(!r)return;let n=Error("React component stack");n.stack=r,console.error(n)};return(0,D.jsx)(V.tH,{FallbackComponent:t=>(0,D.jsx)(e,{app:this.app,...t}),onError:n,children:r})}constructor(...e){super(...e),(0,I._)(this,o$,{writable:!0,value:void 0}),(0,I._)(this,oB,{writable:!0,value:void 0})}}oL.registerFlow({key:"appFlow",steps:{init:{async handler(e){try{await e.app.load()}catch(t){e.model.app.error=t,console.error(t)}}}}});var oq=l(16350);l(39398);let oV=[{label:'{{t("contains")}}',value:"$includes",selected:!0},{label:'{{t("does not contain")}}',value:"$notIncludes"},{label:'{{t("is")}}',value:"$eq"},{label:'{{t("is not")}}',value:"$ne"},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],oz=[{label:'{{t("is")}}',value:"$match",selected:!0,schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is not")}}',value:"$notMatch",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is any of")}}',value:"$anyOf",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$noneOf",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],oK=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$ne"}],oU=[{label:"{{ t('is') }}",value:"$dateOn",selected:!0,schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is not') }}",value:"$dateNotOn",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is before') }}",value:"$dateBefore",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is after') }}",value:"$dateAfter",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is on or after') }}",value:"$dateNotBefore",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is on or before') }}",value:"$dateNotAfter",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!1}},onlyFilterAction:!0},{label:"{{ t('is between') }}",value:"$dateBetween",schema:{"x-component":"DateFilterDynamicComponent","x-component-props":{isRange:!0}}},{label:"{{ t('is empty') }}",value:"$empty",noValue:!0},{label:"{{ t('is not empty') }}",value:"$notEmpty",noValue:!0}],oW=[{label:'{{t("=")}}',value:"$eq",selected:!0},{label:'{{t("≠")}}',value:"$ne"},{label:'{{t(">")}}',value:"$gt"},{label:'{{t("≥")}}',value:"$gte"},{label:'{{t("<")}}',value:"$lt"},{label:'{{t("≤")}}',value:"$lte"},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],oH=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$ne"},{label:'{{t("exists")}}',value:"$exists",noValue:!0},{label:'{{t("not exists")}}',value:"$notExists",noValue:!0}],oY=[{label:'{{t("is")}}',value:"$eq",selected:!0,schema:{"x-component":"Select","x-component-props":{mode:null}}},{label:'{{t("is not")}}',value:"$ne",schema:{"x-component":"Select","x-component-props":{mode:null}}},{label:'{{t("is any of")}}',value:"$in",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$notIn",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],oG=[{label:'{{t("is")}}',value:"$eq",selected:!0},{label:'{{t("is not")}}',value:"$neq"},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],oJ=[{label:'{{t("Yes")}}',value:"$isTruly",selected:!0,noValue:!0,schema:{"x-component":"Select","x-component-props":{multiple:!1,options:[{label:'{{t("Yes")}}',value:!0},{label:'{{t("No")}}',value:!1}]}}},{label:'{{t("No")}}',value:"$isFalsy",noValue:!0,schema:{"x-component":"Select","x-component-props":{multiple:!1,options:[{label:'{{t("Yes")}}',value:!0},{label:'{{t("No")}}',value:!1}]}}},{label:"{{ t('is empty') }}",value:"$empty",noValue:!0},{label:"{{ t('is not empty') }}",value:"$notEmpty",noValue:!0}],oX=[{label:'{{t("is any of")}}',value:"$childIn",schema:{"x-component":"CollectionSelect","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$childNotIn",schema:{"x-component":"CollectionSelect","x-component-props":{mode:"tags"}}}],oQ=[{label:'{{t("is")}}',value:"$eq",selected:!0,schema:{"x-component":"DataSourceCollectionCascader"}},{label:'{{t("is not")}}',value:"$ne",schema:{"x-component":"DataSourceCollectionCascader"}},{label:'{{t("is any of")}}',value:"$in",schema:{"x-component":"DataSourceCollectionCascader","x-component-props":{mode:"tags"}}},{label:'{{t("is none of")}}',value:"$notIn",schema:{"x-component":"DataSourceCollectionCascader","x-component-props":{mode:"tags"}}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0}],oZ=[{label:'{{t("contains")}}',value:"$includes",selected:!0,schema:{type:"string","x-component":"Input"}},{label:'{{t("does not contain")}}',value:"$notIncludes",schema:{type:"string","x-component":"Input"}},{label:'{{t("is")}}',value:"$eq",schema:{type:"string","x-component":"Input"}},{label:'{{t("is not")}}',value:"$ne",schema:{type:"string","x-component":"Input"}},{label:'{{t("is empty")}}',value:"$empty",noValue:!0,schema:{type:"string","x-component":"Input"}},{label:'{{t("is not empty")}}',value:"$notEmpty",noValue:!0,schema:{type:"string","x-component":"Input"}}];class o0{register(e){return this.operators[e.value]=e,this}registerMany(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.forEach(e=>{this.register(e)}),this}registerGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=this.resolveOperatorReferences(t);return this.registerMany(l),this.groups[e]=l,this}addToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=this.resolveOperatorReferences(t);return this.registerMany(l),this.groups[e]||(this.groups[e]=[]),l.forEach(t=>{this.groups[e].some(e=>e.value===t.value)||this.groups[e].push(t)}),this}get(e){return this.operators[e]}getGroup(e){return this.groups[e]||[]}getGroups(){return this.groups}resolveOperators(e){return e?"string"==typeof e?this.getGroup(e):e:[]}resolveOperatorReferences(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(e=>"string"==typeof e?this.get(e):e).filter(e=>!!e)}constructor(e={}){(0,w._)(this,"operators",{}),(0,w._)(this,"groups",{}),Object.entries(e).forEach(e=>{let[t,l]=e;this.registerGroup(t,l)})}}let o1=new o0(g),o2=o1.getGroups(),o4=o2;function o6(e){return o1.resolveOperators(e)}function o3(e){if(!e)return e;let t=Array.isArray(e.operatorOverrides)?e.operatorOverrides:[];e.operatorGroup&&(e.operators=o5(o6(e.operatorGroup),t));let l=e.operators;return"string"==typeof l?(e.operatorGroup=l,e.operators=o5(o6(l),t)):Array.isArray(l)?e.operators=o5(l,t):t.length>0&&(e.operators=[...t]),Array.isArray(e.children)&&e.children.forEach(e=>{e&&"object"==typeof e&&o3(e)}),e}function o5(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(0===t.length)return e;let l=[...e];return t.forEach(e=>{let t=l.findIndex(t=>t.value===e.value);-1===t?l.push(e):l[t]=e}),l}function o8(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...t,operatorGroup:e,operators:o6(e)}}function o9(e,t){return{operators:e.flatMap(e=>{let{types:l,operators:r}=e;return o6(r).map(e=>({...e,visible:r=>{let n=l.includes(t(r));return"function"==typeof e.visible?e.visible(r)&&n:n}}))})}}let o7="CollectionSelect",ae=new Set(["name","uiSchema.title"]),at=new Set(["Grid","Grid.Row","Grid.Col","div"]);function al(e){return{...e.context,...e.values}}function ar(e,t){if("boolean"==typeof e)return e;if("string"!=typeof e)return!1;let l=e.replace(/^\s*\{\{\s*/,"").replace(/\s*\}\}\s*$/,""),r=al(t),n=e=>{let t=e.trim().replace(/^\$/,"");if(!t)return!1;if(t.startsWith("!"))return!n(t.slice(1).trim());if("true"===t)return!0;if("false"===t)return!1;let l=t.match(/^([A-Za-z_$][\w$]*)\((.*)\)$/);if(l){let[,e,t]=l,n=(0,$.get)(r,e);return"function"==typeof n&&!!n(...t.split(",").map(e=>e.trim()).filter(Boolean).map(e=>e.replace(/^['"]|['"]$/g,"")))}return!!(0,$.get)(r,t)};return l.split("||").some(e=>e.split("&&").every(e=>n(e)))}function an(e){return"string"==typeof e?t=>ar(e,t):e}function ai(e){return(null==e?void 0:e["x-hidden"])!==void 0?an(e["x-hidden"]):(null==e?void 0:e["x-visible"])!==void 0?t=>!ar(e["x-visible"],t):void 0}function ao(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",l=arguments.length>2?arguments[2]:void 0;return Object.entries(e||{}).flatMap(e=>{let[r,n]=e,i=t?`${t}.${r}`:r,o=null==n?void 0:n.properties,a=null==n?void 0:n["x-component"];if(o&&"Grid.Row"===a){let e=Object.entries(o).filter(e=>{let[,t]=e;return(null==t?void 0:t["x-component"])==="Grid.Col"}),l=e.length>0?Math.floor(24/e.length):24;return e.flatMap((e,r)=>{let[n,o]=e;return ao((null==o?void 0:o.properties)||{},t,{row:i,column:n,columnIndex:r,span:l})})}return o&&(!a||at.has(a))?ao(o,t,l):[{name:i,schema:n,layout:l}]})}function aa(e,t){return!ae.has(e)&&(!!(null==t?void 0:t["x-component"])||(null==t?void 0:t.default)!==void 0||(null==t?void 0:t["x-hidden"])!==void 0)}function as(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ao(e).filter(e=>{let{name:t,schema:l}=e;return aa(t,l)}).map(e=>{var l;let{name:r,schema:n,layout:i}=e,o=null==n?void 0:n["x-component"];return{name:r,title:(null==n?void 0:n.title)||(null==n?void 0:n["x-content"]),component:o,Component:o?null==(l=t.components)?void 0:l[o]:void 0,componentProps:null==n?void 0:n["x-component-props"],defaultValue:null==n?void 0:n.default,description:null==n?void 0:n.description,hidden:ai(n),disabled:an(null==n?void 0:n["x-disabled"]),options:Array.isArray(null==n?void 0:n.enum)?n.enum:void 0,required:null==n?void 0:n.required,schema:n,layout:i}})}let ad=[{label:"MMMM Do YYYY",value:"MMMM Do YYYY"},{label:"YYYY-MM-DD",value:"YYYY-MM-DD"},{label:"MM/DD/YY",value:"MM/DD/YY"},{label:"YYYY/MM/DD",value:"YYYY/MM/DD"},{label:"DD/MM/YYYY",value:"DD/MM/YYYY"},{label:'{{t("Custom")}}',value:"custom"}],au=[{label:'{{t("12 hour")}}',value:"hh:mm:ss a"},{label:'{{t("24 hour")}}',value:"HH:mm:ss"}];function ac(e){return(0,$.get)(e,"uiSchema.x-component-props.picker")||"date"}function ap(e){return(0,$.get)(e,"uiSchema.x-component-props.showTime")}function ah(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("unique"===e||"primaryKey"===e)return{disabled:!l.createMainOnly||!!l.primaryKeyOnly};if("autoIncrement"===e)return{disabled:!l.createMainOnly};if(e.startsWith("reverseField."))return{disabled:"reverseField.type"===e||!l.showReverseFieldConfig,hidden:!l.showReverseFieldConfig};if("autoCreateReverseField"===e&&(0,$.get)(t,"reverseField.key"))return{disabled:!0};if("uiSchema.x-component-props.dateFormat"===e)return{componentProps:{picker:ac(t)}};if("uiSchema.x-component-props.showTime"===e)return{hidden:"date"!==ac(t)};if("uiSchema.x-component-props.timeFormat"===e)return{hidden:"date"!==ac(t)||!1===ap(t)};if("defaultValue"===e){let e=!!(0,$.get)(t,"primaryKey")||!!(0,$.get)(t,"unique")||!!(0,$.get)(t,"autoIncrement")||!!(0,$.get)(t,"defaultToCurrentTime");return{hidden:e,...e?{value:null,hasValue:!0}:null,componentProps:{gmt:(0,$.get)(t,"uiSchema.x-component-props.gmt"),showTime:(0,$.get)(t,"uiSchema.x-component-props.showTime"),dateFormat:(0,$.get)(t,"uiSchema.x-component-props.dateFormat"),timeFormat:(0,$.get)(t,"uiSchema.x-component-props.timeFormat"),picker:(0,$.get)(t,"uiSchema.x-component-props.picker"),format:(0,$.get)(t,"uiSchema.x-component-props.format")},dataSource:(0,$.get)(t,"uiSchema.enum")}}return("precision"===e||"scale"===e)&&"decimal"!==(0,$.get)(t,"type")?{hidden:!0}:{}}function af(e){let{context:t,getValue:l,setValue:r,values:n}=e,i=!!l("primaryKey"),o=!!l("unique");if(t.createMainOnly&&i&&(!e.changedName||"primaryKey"===e.changedName)&&(!1!==l("unique")&&r("unique",!1),(0,$.has)(n,"autoIncrement")&&!0!==l("autoIncrement")&&r("autoIncrement",!0)),t.createMainOnly&&o&&i&&"unique"===e.changedName&&r("primaryKey",!1),(0,$.get)(n,"reverseField.key")&&!0!==l("autoCreateReverseField")&&r("autoCreateReverseField",!0),("uiSchema.x-component-props.picker"===e.changedName||["primaryKey","unique","autoIncrement","defaultToCurrentTime"].includes(e.changedName||""))&&null!=l("defaultValue")&&(l("primaryKey")||l("unique")||l("autoIncrement")||l("defaultToCurrentTime")||"uiSchema.x-component-props.picker"===e.changedName)&&r("defaultValue",null),!((0,$.has)(n,"uiSchema.x-component-props.picker")||(0,$.has)(n,"uiSchema.x-component-props.dateFormat")||(0,$.has)(n,"uiSchema.x-component-props.showTime")||(0,$.has)(n,"uiSchema.x-component-props.timeFormat")))return;let a=ac(n);"uiSchema.x-component-props.picker"===e.changedName&&(0,$.has)(n,"uiSchema.x-component-props.dateFormat")&&(0,$.get)(n,"uiSchema.x-component-props.dateFormat")!==(0,ea.getPickerFormat)(a)&&r("uiSchema.x-component-props.dateFormat",(0,ea.getPickerFormat)(a)),(0,$.has)(n,"uiSchema.x-component-props.showTime")&&"date"!==a&&!1!==ap(n)&&r("uiSchema.x-component-props.showTime",!1),(0,$.has)(n,"uiSchema.x-component-props.timeFormat")&&ap(n)&&!(0,$.get)(n,"uiSchema.x-component-props.timeFormat")&&r("uiSchema.x-component-props.timeFormat","HH:mm:ss")}function am(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[{name:"primaryKey",title:'{{t("Primary")}}',component:"Checkbox"},{name:"unique",title:'{{t("Unique")}}',component:"Checkbox"}];return e.autoIncrement&&t.push({name:"autoIncrement",title:'{{t("Auto increment")}}',component:"Checkbox"}),t}function ag(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[];return!1!==e.includePicker&&t.push({name:"uiSchema.x-component-props.picker",title:'{{t("Picker")}}',component:"Radio.Group",defaultValue:"date",options:[{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}],hidden:e.hidden}),t.push({name:"uiSchema.x-component-props.dateFormat",title:'{{t("Date format")}}',component:"ExpiresRadio",defaultValue:"YYYY-MM-DD",options:ad,componentProps:{defaultValue:"dddd",formats:["MMMM Do YYYY","YYYY-MM-DD","MM/DD/YY","YYYY/MM/DD","DD/MM/YYYY"]},hidden:e.hidden},{name:"uiSchema.x-component-props.showTime",title:'{{t("Show time")}}',component:"Checkbox",defaultValue:e.showTimeDefault,hidden:e.hidden},{name:"uiSchema.x-component-props.timeFormat",title:'{{t("Time format")}}',component:"Radio.Group",defaultValue:"HH:mm:ss",options:au,hidden:t=>!!("function"==typeof e.hidden&&e.hidden(t))||("boolean"==typeof e.hidden?e.hidden:!1===ap(t.values))}),t}function av(){return[{name:"autoCreateReverseField",title:'{{t("Create inverse field in the target collection")}}',component:"Checkbox",defaultValue:!1},{name:"reverseField.type",title:'{{t("Inverse relationship type")}}',component:"Select",required:!0,options:[{label:"{{t('HasOne')}}",value:"hasOne"},{label:"{{t('HasMany')}}",value:"hasMany"},{label:"{{t('BelongsTo')}}",value:"belongsTo"},{label:"{{t('BelongsToMany')}}",value:"belongsToMany"}],hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,$.get)(l,"autoCreateReverseField")},disabled:!0},{name:"reverseField.uiSchema.title",title:'{{t("Inverse field display name")}}',component:"Input",required:!0,hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,$.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}},{name:"reverseField.name",title:'{{t("Inverse field name")}}',component:"Input",required:!0,description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.')}}",hidden:e=>{let{context:t,values:l}=e;return!t.showReverseFieldConfig&&!(0,$.get)(l,"autoCreateReverseField")},disabled:e=>{let{context:t}=e;return!t.showReverseFieldConfig}}]}let ay=av;function ab(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{name:e.name||"uiSchema.enum",title:e.title||'{{t("Options")}}',component:"ArrayTable"}}let ax={key:"required",label:"Required",hasValue:!1,params:[]};function aw(e){let t="date"===e?"datePicker":"inputNumber",l="date"===e?"date":"limit";return[{key:"greater",label:"Greater than",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]},{key:"less",label:"Less than",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]},{key:"max",label:"Max value",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]},{key:"min",label:"Min value",hasValue:!0,params:[{key:l,label:"date"===e?"Date":"Limit",componentType:t,required:!0}]}]}class aS{register(e){this.items.set(e.key,(0,$.cloneDeep)(e))}registerMany(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.forEach(e=>this.register(e))}registerGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.groups.set(e,t)}addToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.groups.set(e,[...this.groups.get(e)||[],...t])}get(e){return(0,$.cloneDeep)(this.items.get(e))}getGroup(e){return(this.groups.get(e)||[]).map(e=>"string"==typeof e?this.get(e):(0,$.cloneDeep)(e)).filter(Boolean)}constructor(){(0,w._)(this,"items",new Map),(0,w._)(this,"groups",new Map)}}let aA=new aS;function aM(e){aA.register(e)}function aF(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aA.registerGroup(e,t)}function ak(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aA.addToGroup(e,t)}aA.registerMany([ax,{key:"pattern",label:"Pattern",hasValue:!0,params:[{key:"regex",label:"Regular Expression",componentType:"text",required:!0}]},{key:"email",label:"Email",hasValue:!1,params:[],paramsType:"object"},{key:"uuid",label:"UUID",hasValue:!1,params:[],paramsType:"object"},{key:"length",label:"Length",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"uri",label:"URI",hasValue:!1,params:[],paramsType:"object"},{key:"multiple",label:"Multiple of",hasValue:!0,params:[{key:"base",label:"Base",componentType:"inputNumber",required:!0}]},{key:"integer",label:"Integer",hasValue:!1,params:[]},{key:"precision",label:"Precision",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"unsafe",label:"Unsafe integer",hasValue:!1,params:[]},{key:"timestamp",label:"Timestamp",hasValue:!0,params:[{key:"type",label:"Type",componentType:"singleSelect",options:[{label:"JavaScript",value:"javascript"},{label:"Unix",value:"unix"}],defaultValue:"javascript"}]}]),aA.registerGroup("string",["required",{key:"max",label:"Max length",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},{key:"min",label:"Min length",hasValue:!0,params:[{key:"limit",label:"Limit",componentType:"inputNumber",required:!0}]},"pattern","email","uuid","length","uri"]),aA.registerGroup("number",["required",...aw("number"),"multiple","integer","precision","unsafe"]),aA.registerGroup("date",["required",...aw("date"),"timestamp"]),aA.registerGroup("object",["required"]);class aC{addFieldInterfaces(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.reduce((e,t)=>{if("function"!=typeof t)return e;let l=new t(this);return(null==l?void 0:l.name)&&(o3(l.filterable),e[l.name]=l,Array.isArray(this.actionList[l.name])&&(this.actionList[l.name].forEach(e=>{var t,r;if("addComponentOption"===e.type){null==(r=l.addComponentOption)||r.call(l,e.data);return}if("registerConfigure"===e.type){l.configure=this.mergeFieldInterfaceConfigure(l.configure,e.data);return}null==(t=l.addOperator)||t.call(l,e.data)}),delete this.actionList[l.name])),e},{});Object.assign(this.collectionFieldInterfaceInstances,t)}addFieldInterfaceComponentOption(e,t){var l;let r=this.getFieldInterface(e);r?null==(l=r.addComponentOption)||l.call(r,t):this.enqueueAction(e,{type:"addComponentOption",data:t})}addFieldInterfaceOperator(e,t){var l;let r=this.getFieldInterface(e);r?null==(l=r.addOperator)||l.call(r,t):this.enqueueAction(e,{type:"addOperator",data:t})}registerFieldFilterOperator(e){o1.register(e)}registerFieldFilterOperatorGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];o1.registerGroup(e,t),this.normalizeFieldInterfaceFilterables()}addFieldFilterOperatorsToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];o1.addToGroup(e,t),this.normalizeFieldInterfaceFilterables()}registerFieldValidationConfigure(e){aM(e)}registerFieldValidationConfigureGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aF(e,t)}addFieldValidationConfiguresToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];ak(e,t)}getFieldValidationConfigureGroup(e){return aA.getGroup(e)}registerFieldInterfaceConfigure(e){let t=this.getFieldInterface(e.name);t?t.configure=this.mergeFieldInterfaceConfigure(t.configure,e):this.enqueueAction(e.name,{type:"registerConfigure",data:e})}getFieldInterface(e){return this.collectionFieldInterfaceInstances[e]}getFieldInterfaces(e){return Object.values(this.collectionFieldInterfaceInstances).filter(t=>!e||!t.supportDataSourceType&&!t.notSupportDataSourceType||(t.supportDataSourceType?t.supportDataSourceType.includes(e):!t.notSupportDataSourceType||!t.notSupportDataSourceType.includes(e)))}getFieldInterfaceConfigureProperties(e,t){var l;let r=this.getFieldInterfaceConfigure(e,t);return(null==r||null==(l=r.getConfigureFormProperties)?void 0:l.call(r,t))||(null==r?void 0:r.properties)||{}}getFieldInterfaceConfigure(e,t){var l,r,n;let i=this.getFieldInterface(e);if(!i)return;let o=(null==(l=i.getConfigureFormProperties)?void 0:l.call(i,t))||i.properties||{},a={name:i.name,title:i.title,group:i.group,order:i.order,default:i.default,titleUsable:i.titleUsable,isAssociation:i.isAssociation,supportDataSourceType:i.supportDataSourceType,notSupportDataSourceType:i.notSupportDataSourceType,properties:o,items:as(o,{components:null==(r=i.configure)?void 0:r.components}),getConfigureFormProperties:null==(n=i.getConfigureFormProperties)?void 0:n.bind(i)};return this.mergeFieldInterfaceConfigure(a,i.configure)}addFieldInterfaceGroups(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this.collectionFieldGroups,e)}getFieldInterfaceGroups(){return this.collectionFieldGroups}getFieldInterfaceGroup(e){return this.collectionFieldGroups[e]}enqueueAction(e,t){this.actionList[e]||(this.actionList[e]=[]),this.actionList[e].push(t)}normalizeFieldInterfaceFilterables(){Object.values(this.collectionFieldInterfaceInstances).forEach(e=>{o3(e.filterable)})}mergeFieldInterfaceConfigure(e,t){return e?t?{...e,...t,default:t.default||e.default,properties:{...e.properties||{},...t.properties||{}},items:this.mergeFieldConfigureItems(e.items,t.items),components:{...e.components||{},...t.components||{}}}:e:t}mergeFieldConfigureItems(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=new Map;return e.forEach(e=>l.set(e.name,e)),t.forEach(e=>l.set(e.name,e)),Array.from(l.values())}constructor(e){(0,w._)(this,"dataSourceManager",void 0),(0,w._)(this,"collectionFieldInterfaceInstances",void 0),(0,w._)(this,"collectionFieldGroups",void 0),(0,w._)(this,"actionList",void 0),this.dataSourceManager=e,this.collectionFieldInterfaceInstances={},this.collectionFieldGroups={},this.actionList={}}}function aP(e){return`${e}/client-v2`}function aj(e){return("default"in e?e.default:void 0)||e}function aE(e,t){window.__nocobase_app_dev_plugins__=window.__nocobase_app_dev_plugins__||{},window.__nocobase_app_dev_plugins__[e]=t}function aR(e){Object.entries(e).forEach(e=>{let[t,l]=e,r=aP(t);window.define(r,()=>l),aE(r,l)})}function aT(e){Object.entries(e).forEach(e=>{let[t,l]=e,r=aP(t);window.define(r,()=>l),aE(r,l)})}function aI(e,t){e.requirejs.config({waitSeconds:120,paths:t.reduce((e,t)=>(e[aP(t.packageName)]=t.url,e),{})})}function a_(e,t){return function(){for(var l=arguments.length,r=Array(l),n=0;n<l;n++)r[n]=arguments[n];r.forEach((t,l)=>{t&&aE(aP(e[l].packageName),t)}),t(r.map((t,l)=>[e[l].name,(null==t?void 0:t.default)||t]).filter(e=>e[1]));let i=r.map((e,t)=>e?null:t).filter(e=>null!==e).map(t=>e[t].packageName);i.length>0&&console.error("[nocobase load plugin error]: These plugins do not have an `export.default` exported content or there is an error in the plugins. error plugins: \r\n%s",i.join(", \r\n"))}}function aD(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];aI(e,t);let l=t.map(e=>aP(e.packageName));return new Promise((r,n)=>{e.requirejs(l,a_(t,r),n)})}async function aN(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];for(let l of aO(e)){let e=await import(l.url),r=aj(e);r&&(t.push([l.name,r]),aT({[l.packageName]:e}))}return t}function aO(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Map(e.map(e=>[e.packageName,e])),l=[],r=new Set,n=new Set,i=e=>{if(!n.has(e.packageName)&&!r.has(e.packageName)){for(let l of(r.add(e.packageName),e.appDevDependencies||[])){let e=t.get(l);e&&i(e)}r.delete(e.packageName),n.add(e.packageName),l.push(e)}};return e.forEach(i),l}async function a$(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=[],r=[],n=async()=>{if(0===r.length)return;let t=await aD(e,r);l.push(...t),r=[]};for(let e of aO(t)){if("esm"===e.devMode){await n();let t=await aN([e]);l.push(...t);continue}r.push(e)}return await n(),l}async function aB(e){let{requirejs:t,pluginData:l,devDynamicImport:r}=e;if(0===l.length)return[];let n=[],i={},o={};if(r){for await(let e of l){let t=await r(e.packageName);if(t){let l=aj(t);n.push([e.name,l]),i[e.packageName]=l,o[e.packageName]=t}}aR(o)}let a=l.filter(e=>!i[e.packageName]),s=a.filter(e=>"esm"===e.devMode),d=a.filter(e=>"esm"!==e.devMode);if(0===s.length){if(0===d.length)return n;let e=await aD(t,d);return n.push(...e),n}let u=await a$(t,a);return n.push(...u),n}class aL{async init(e){await this.initStaticPlugins(e),this.loadRemotePlugins&&await this.initRemotePlugins()}getRemotePluginsRequestUrl(){return"pm:listEnabledV2"}async initStaticPlugins(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for await(let t of e){let e=Array.isArray(t)?t[0]:t,l=Array.isArray(t)?t[1]:void 0;await this.add(e,l)}}async initRemotePlugins(){var e;let t=await this.app.apiClient.request({url:this.getRemotePluginsRequestUrl()}),l=(null==t||null==(e=t.data)?void 0:e.data)||[];for await(let[e,t]of(await aB({requirejs:this.app.requirejs,pluginData:l,devDynamicImport:this.app.devDynamicImport}))){let r=l.find(t=>t.name===e);await this.add(t,r)}}async add(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=this.getInstance(e,t);this.pluginInstances.set(e,l),t.name&&(this.pluginsAliases[t.name]=l),t.packageName&&(this.pluginsAliases[t.packageName]=l),await l.afterAdd()}get(e){return"string"==typeof e?this.pluginsAliases[e]:this.pluginInstances.get(e.default||e)}getInstance(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new e(t,this.app)}async load(){for(let e of(await this.initPlugins,this.pluginInstances.values()))await e.beforeLoad();for(let e of this.pluginInstances.values())await e.load(),this.app.eventBus.dispatchEvent(new CustomEvent(`plugin:${e.options.name}:loaded`,{detail:e}))}constructor(e,t,l){(0,w._)(this,"_plugins",void 0),(0,w._)(this,"loadRemotePlugins",void 0),(0,w._)(this,"app",void 0),(0,w._)(this,"pluginInstances",void 0),(0,w._)(this,"pluginsAliases",void 0),(0,w._)(this,"initPlugins",void 0),this._plugins=e,this.loadRemotePlugins=t,this.app=l,this.pluginInstances=new Map,this.pluginsAliases={},this.app=l,this.initPlugins=this.init(e||[]),this.loadRemotePlugins=t}}var aq=l(96204),aV=l(24978);let az=e=>{let{children:t}=e,{token:l}=X.A.useToken(),r=l.colorFillTertiary,n=new aV.q(l.colorFill).onBackground(l.colorFillSecondary).toHexShortString(),i=new aV.q(l.colorFill).onBackground(l.colorFill).toHexShortString(),o=new aV.q(l.colorFill).onBackground(l.colorFill).onBackground(l.colorFill).toHexShortString();return(0,A.useEffect)(()=>{document.body.style.setProperty("--nb-spacing",`${l.marginLG}px`),document.body.style.setProperty("--nb-designer-offset",`${l.marginXS}px`),document.body.style.setProperty("--nb-header-height",`${l.sizeXXL-2}px`),document.body.style.setProperty("--nb-box-bg",l.colorBgLayout),document.body.style.setProperty("--colorBgLayout",l.colorBgLayout),document.body.style.setProperty("--colorBgContainer",l.colorBgContainer),document.body.style.setProperty("--controlHeightLG",`${l.controlHeightLG}px`),document.body.style.setProperty("--paddingContentVerticalSM",`${l.paddingContentVerticalSM}px`),document.body.style.setProperty("--marginSM",`${l.marginSM}px`),document.body.style.setProperty("--colorInfoBg",l.colorInfoBg),document.body.style.setProperty("--colorInfoBorder",l.colorInfoBorder),document.body.style.setProperty("--colorWarningBg",l.colorWarningBg),document.body.style.setProperty("--colorWarningBorder",l.colorWarningBorder),document.body.style.setProperty("--colorText",l.colorText),document.body.style.setProperty("--colorTextDescription",l.colorTextDescription),document.body.style.setProperty("--colorBgTextHover",l.colorBgTextHover),document.body.style.setProperty("--colorSplit",l.colorSplit),document.body.style.setProperty("--borderRadiusOuter",`${l.borderRadiusOuter}px`),document.body.style.setProperty("--colorTextHeaderMenu",l.colorTextHeaderMenu),document.body.style.setProperty("--colorPrimaryText",l.colorPrimaryText),document.body.style.setProperty("--colorPrimaryTextActive",l.colorPrimaryTextActive),document.body.style.setProperty("--colorPrimaryTextHover",l.colorPrimaryTextHover),document.body.style.setProperty("--colorBgSider",l.colorBgSider),document.body.style.setProperty("--colorBgSiderMenuHover",l.colorBgSiderMenuHover),document.body.style.setProperty("--colorBgSiderMenuActive",l.colorBgSiderMenuActive),document.body.style.setProperty("--colorTextSiderMenu",l.colorTextSiderMenu),document.body.style.setProperty("--colorTextSiderMenuHover",l.colorTextSiderMenuHover),document.body.style.setProperty("--colorTextSiderMenuActive",l.colorTextSiderMenuActive),document.body.style.setProperty("--colorBgScrollTrack",r),document.body.style.setProperty("--colorBgScrollBar",n),document.body.style.setProperty("--colorBgScrollBarHover",i),document.body.style.setProperty("--colorBgScrollBarActive",o),document.body.style.setProperty("--colorSettings",l.colorSettings||Z.token.colorSettings),document.body.style.setProperty("--colorBgSettingsHover",l.colorBgSettingsHover),document.body.style.setProperty("--colorTemplateBgSettingsHover",l.colorTemplateBgSettingsHover),document.body.style.setProperty("--colorBorderSettingsHover",l.colorBorderSettingsHover),document.body.style.setProperty("--colorBgMenuItemSelected",l.colorBgHeaderMenuActive),document.body.style.setProperty("background-color",l.colorBgContainer)},[n,o,i,r,l.colorBgContainer,l.colorBgLayout,l.colorBgSettingsHover,l.colorTemplateBgSettingsHover,l.colorBorderSettingsHover,l.colorInfoBg,l.colorInfoBorder,l.colorPrimaryText,l.colorPrimaryTextActive,l.colorPrimaryTextHover,l.colorSettings,l.colorBgTextHover,l.colorSplit,l.colorText,l.colorTextDescription,l.colorWarningBg,l.colorWarningBorder,l.borderRadiusOuter,l.controlHeightLG,l.marginLG,l.marginSM,l.marginXS,l.paddingContentVerticalSM,l.sizeXXL,l.colorTextHeaderMenu,l.colorBgSider,l.colorBgSiderMenuHover,l.colorBgSiderMenuActive,l.colorTextSiderMenu,l.colorTextSiderMenuHover,l.colorTextSiderMenuActive,l.colorBgHeaderMenuActive]),t};az.displayName="CSSVariableProvider";let aK=az;class aU extends oO{createApiClient(e){let t=new R({withCredentials:!0,...e.apiClient,appName:e.name||(0,S.xW)(e.publicPath)});return t.app=this,t}configureRuntimeAdapters(){this.dataSourceManager=this.flowEngine.context.dataSourceManager,this.dataSourceManager.setRequester(this.apiClient.request.bind(this.apiClient)),this.dataSourceManager.collectionFieldInterfaceManager||this.dataSourceManager.setCollectionFieldInterfaceManager(new aC(this.dataSourceManager))}createI18n(e){if(e.i18n)return e.i18n;let t=(0,oF.createInstance)();return t.use(oq.r9).init({lng:"en-US",defaultNS:"client",resources:{},keySeparator:!1,nsSeparator:!1}),t}createRouterManager(e){var t;let l=new rJ(e.router,this);if((null==(t=e.router)?void 0:t.basename)===void 0){let e=this.getPublicPath(),t="/"===e?void 0:e.replace(/\/$/,"");t&&l.setBasename(t)}return l}createPluginManager(e){return new aL(e.plugins||[],!!e.loadRemotePlugins,this)}createPluginSettingsManager(e){return new aq.mz(this)}async load(){try{this.hasLoadError=!1,await this.loadWebSocket(),await this.pm.load(),await this.flowEngine.flowSettings.load()}catch(i){var e,t,l,r,n;this.hasLoadError=!0,(null==i||null==(r=i.response)||null==(l=r.data)||null==(t=l.errors)||null==(e=t[0])?void 0:e.code)==="BLOCKED_IP"&&(this.hasLoadError=!1),this.ws.enabled&&await new Promise(e=>{setTimeout(()=>e(null),1e3)}),this.error={code:"LOAD_ERROR",...null==(n=this.apiClient.toErrMessages(i))?void 0:n[0]},console.error(i,this.error)}this.updateFavicon()}async loadWebSocket(){this.eventBus.addEventListener("ws:message:authorized",()=>{this.setWsAuthorized(!0)}),this.ws.on("message",e=>{var t,l,r,n;if(!e.data)return;let i=JSON.parse(e.data);if(null==i||null==(t=i.payload)?void 0:t.refresh)return void globalThis.window.location.reload();if("notification"===i.type){let e=this.context.notification;null==(r=e[(null==(n=i.payload)?void 0:n.type)||"info"])||r.call(e,{message:null==(l=i.payload)?void 0:l.message});return}if("maintaining"===i.type&&"APP_RUNNING"!==i.payload.code)this.setMaintaining(!0),this.error=i.payload;else{this.hasLoadError&&globalThis.window.location.reload(),this.setMaintaining(!1),this.maintained=!0,this.error=null;let e=i.type;if(!e)return;let t=`ws:message:${e}`;this.eventBus.dispatchEvent(new CustomEvent(t,{detail:i.payload}))}}),this.ws.on("serverDown",()=>{this.maintaining=!0,this.maintained=!1}),this.ws.on("open",()=>{let e=this.apiClient.auth.token;e&&this.setTokenInWebSocket({token:e,authenticator:this.apiClient.auth.getAuthenticator()})}),this.ws.connect()}addCustomProviders(){this.use(aK)}addFieldInterfaces(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.dataSourceManager.addFieldInterfaces(e)}addFieldInterfaceGroups(e){return this.dataSourceManager.addFieldInterfaceGroups(e)}addFieldInterfaceComponentOption(e,t){return this.dataSourceManager.addFieldInterfaceComponentOption(e,t)}addFieldInterfaceOperator(e,t){return this.dataSourceManager.addFieldInterfaceOperator(e,t)}registerFieldFilterOperator(e){return this.dataSourceManager.registerFieldFilterOperator(e)}registerFieldFilterOperatorGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.dataSourceManager.registerFieldFilterOperatorGroup(e,t)}addFieldFilterOperatorsToGroup(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.dataSourceManager.addFieldFilterOperatorsToGroup(e,t)}registerFieldValidationConfigure(e){var t,l;return null==(l=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=l.registerFieldValidationConfigure)?void 0:t.call(l,e)}registerFieldValidationConfigureGroup(e){var t,l;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return null==(l=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=l.registerFieldValidationConfigureGroup)?void 0:t.call(l,e,r)}addFieldValidationConfiguresToGroup(e){var t,l;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return null==(l=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=l.addFieldValidationConfiguresToGroup)?void 0:t.call(l,e,r)}constructor(...e){super(...e),(0,w._)(this,"hasLoadError",!1)}}let aW=(0,A.createContext)(null);aW.displayName="ApplicationContext";var aH=l(36093),aY=l.n(aH);class aG extends aU{constructor(e={}){super({router:{type:"memory",initialEntries:["/"]},...e}),(0,w._)(this,"apiMock",void 0),this.apiMock=new(aY())(this.apiClient.axios),this.ws=new aJ(e.ws||{})}}class aJ extends i1{connect(){}close(){}send(){}on(e,t,l){this.eventBus.addEventListener(e,e=>t({data:JSON.stringify(e.detail)}),l)}emit(e,t){this.eventBus.dispatchEvent(new CustomEvent(e,{detail:t}))}off(e,t,l){this.eventBus.removeEventListener(e,t,l)}removeAllListeners(){}constructor(e){super(e),(0,w._)(this,"eventBus",new EventTarget)}}function aX(e){return new aG(e)}class aQ{get pluginManager(){return this.app.pluginManager}get context(){return this.app.context}get flowEngine(){return this.app.flowEngine}get engine(){return this.app.flowEngine}get pm(){return this.app.pm}get router(){return this.app.router}get pluginSettingsManager(){return this.app.pluginSettingsManager}get schemaInitializerManager(){return this.app.schemaInitializerManager}get schemaSettingsManager(){return this.app.schemaSettingsManager}get dataSourceManager(){return this.app.dataSourceManager}get ai(){return this.app.aiManager}async afterAdd(){}async beforeLoad(){}async load(){}t(e){var t;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.app.i18n.t(e,{ns:null==(t=this.options)?void 0:t.packageName,...l})}constructor(e,t){(0,w._)(this,"options",void 0),(0,w._)(this,"app",void 0),this.options=e,this.app=t,this.options=e,this.app=t}}var aZ=l(84256),a0=l(47785);function a1(e){return"steps"in e&&e.steps||{}}function a2(e){let t=a1(e);for(let e of["saveResource","submit","request","apply","save"]){var l;if(Object.prototype.hasOwnProperty.call(t,e)&&(null==(l=t[e])?void 0:l.result)!=null)return t[e].result}let r=Object.entries(t).filter(e=>{let[t,l]=e;return"afterSuccess"!==t&&(null==l?void 0:l.result)!=null}).map(e=>{let[,t]=e;return t.result});return r[r.length-1]}function a4(e){if(!a6(e))return;let t=a3(e);if(t())return(0,O.createRecordMetaFactory)(t,e.t("Response record"),()=>{let l=t(),r=a2(e);if(l&&r)try{let e=l.getFilterByTK(r);if(null==e)return;return{collection:l.name,dataSourceKey:l.dataSourceKey||"main",filterByTk:e}}catch(e){return}})}function a6(e){var t;if(Object.prototype.hasOwnProperty.call(a1(e),"saveResource"))return!0;let{model:l,flowKey:r}=e;return!!l&&"function"==typeof l.getFlow&&!!r&&Object.prototype.hasOwnProperty.call((null==(t=l.getFlow(r))?void 0:t.steps)||{},"saveResource")}function a3(e){return()=>{var t,l;return(null==(t=e.blockModel)?void 0:t.collection)||e.collection||(null==(l=e.model)?void 0:l.collection)||null}}function a5(e){let t=a4(e);if(!t){var l;return(null==(l=e.getPropertyMetaTree)?void 0:l.call(e))||[]}let r=new O.FlowContext;return r.addDelegate(e),r.defineProperty("responseRecord",{get:()=>a2(e),cache:!1,resolveOnServer:(0,O.createRecordResolveOnServerWithLocal)(a3(e),()=>a2(e)),meta:t}),r.getPropertyMetaTree()}function a8(e){let t=(0,O.useFlowSettingsContext)(),l=(0,A.useMemo)(()=>()=>a5(t),[t]);return(0,D.jsx)(a0.n,{...e,metaTree:l})}let a9=(0,O.defineAction)({name:"afterSuccess",title:(0,O.tExpr)("After successful submission"),defineProperties(e){let t=a4(e);return{responseRecord:{get:()=>a2(e),cache:!1,resolveOnServer:(0,O.createRecordResolveOnServerWithLocal)(a3(e),()=>a2(e)),...t?{meta:t}:{}}}},uiSchema:{successMessage:{type:"string",title:(0,O.tExpr)("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea"},manualClose:{type:"boolean",title:(0,O.tExpr)("Message popup close method"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,O.tExpr)("Automatic close"),value:!1},{label:(0,O.tExpr)("Manually close"),value:!0}]},actionAfterSuccess:{type:"string",title:(0,O.tExpr)("Action after successful submission"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,O.tExpr)("Stay on the current popup or page"),value:"stay"},{label:(0,O.tExpr)("Return to the previous popup or page"),value:"previous"},{label:(0,O.tExpr)("Close popup and redirect to"),value:"redirect"}]},redirectTo:{type:"string",title:(0,O.tExpr)("Link"),"x-decorator":"FormItem","x-component":a8,"x-reactions":{dependencies:["actionAfterSuccess"],fulfill:{state:{visible:"{{$deps[0]==='redirect'}}"}}}}},defaultParams:{successMessage:(0,O.tExpr)("Saved successfully"),manualClose:!1,actionAfterSuccess:"previous"},async handler(e,t){let{successMessage:l,manualClose:r=!1,actionAfterSuccess:n="previous",redirectTo:i}=t;"previous"===n&&e.view&&e.view.close();let o=t=>{if(e.engine){let t=e.engine;for(;t.nextEngine;)t=t.nextEngine;let l=[],r=t;for(;r;)l.push(r),r=r.previousEngine;for(let e of l)e.destroyView()}e.router.navigate(t)},a=e=>{if((0,ea.isURL)(e)){window.location.href=e;return}o(e)};if(l){let t=e.t(l);if(r)return void await e.modal.success({title:t,onOk:async()=>{"redirect"===n&&i&&a(i)}});e.message.success(t)}"redirect"===n&&i&&a(i)}}),a7=(0,O.defineAction)({name:"confirm",title:(0,O.tExpr)("Confirmation"),uiSchema:{enable:{type:"boolean",title:(0,O.tExpr)("Enable secondary confirmation"),"x-decorator":"FormItem","x-component":"Switch"},title:{type:"string",title:(0,O.tExpr)("Title"),"x-decorator":"FormItem","x-component":a0.n,"x-component-props":{rows:2}},content:{type:"string",title:(0,O.tExpr)("Content"),"x-decorator":"FormItem","x-component":a0.n,"x-component-props":{rows:3}}},defaultParams:{enable:!1,title:(0,O.tExpr)("Please Confirm"),content:(0,O.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 se=l(58528),st=l(81486);let sl={__nocobaseDataScopeNull__:!0},sr="{{$nRole}}",sn=/^\s*\{\{\s*ctx\.role\s*\}\}\s*$/;function si(e){return"string"==typeof e&&sn.test(e)}function so(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!0===e.__nocobaseDataScopeNull__&&1===Object.keys(e).length}function sa(e){return so(e)?null:Array.isArray(e)?e.map(e=>sa(e)):e&&"object"==typeof e?Object.keys(e).reduce((t,l)=>(t[l]=sa(e[l]),t),{}):e}function ss(e){var t;return!!(0,O.isVariableExpression)(e)&&(null==(t=(0,O.extractPropertyPath)(e))?void 0:t[0])==="urlSearchParams"}function sd(e,t){if(e&&t&&"object"==typeof e&&"object"==typeof t){if("path"in e&&"operator"in e){if(si(e.value)){t.value=sr;return}(0,O.isVariableExpression)(e.value)&&!ss(e.value)&&(void 0===t.value||null===t.value||""===t.value)&&(t.value=sl);return}Array.isArray(e.items)&&Array.isArray(t.items)&&e.items.forEach((e,l)=>{sd(e,t.items[l])})}}function su(e,t){let l=B().cloneDeep(t);return sd(e,l),sa((0,O.pruneFilter)((0,ea.transformFilter)(l)))}var sc=l(12197),sp=l(47632);function sh(e,t){return e.length===t.length&&e.every((e,l)=>e===t[l])}function sf(e,t){return!(e.length>t.length)&&e.every((e,l)=>e===t[l])}function sm(e){let t=new Map;for(let l of e)(null==l?void 0:l.length)&&t.set((0,sc.Qc)(l),l);return Array.from(t.values())}function sg(e){let t=sm(e);return t.filter((e,l)=>!t.some((t,r)=>r!==l&&sf(e,t)))}function sv(e){let t=Array.isArray(e)?e:[],l=[];for(let e of t){if("string"!=typeof e)continue;let[t,r]=e.split(":"),n=Number(r);!t||Number.isNaN(n)||l.push({name:t,index:n})}return l}function sy(e){var t;let l=null==e?void 0:e.model;return sv((null==l||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex))}function sb(e,t){let l=e.length-1-t;if(l<0)return null;let r=[];for(let t=0;t<=l;t++)r.push(e[t].name,e[t].index);return r}function sx(e,t){let l=sb(e,t);return(null==l?void 0:l.length)?l.slice(0,-1):null}function sw(e){return(0,sc.EA)(e).filter(e=>"object"!=typeof e)}function sS(e){return(0,sc.c1)(e)}function sA(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=e,r=Array.isArray(null==l?void 0:l.changedPaths)?l.changedPaths:[],n=[];for(let e of r){if(Array.isArray(e)){if(1===e.length&&"string"==typeof e[0]){let t=(0,sc.c1)(e[0]);t.length&&n.push(t);continue}let t=e.filter(e=>"string"==typeof e||"number"==typeof e);t.length&&n.push(t);continue}"string"==typeof e&&e&&n.push((0,sc.c1)(e))}if(n.length)return n;let i=null==l?void 0:l.changedValues;if(i&&"object"==typeof i&&(t.includeArrayChangedValues||!Array.isArray(i)))for(let e of Object.keys(i)){let t=(0,sc.c1)(e);t.length&&n.push(t)}return n}function sM(e){var t,l;let r=e;return!!r&&"object"==typeof r&&!!r.emitter&&"function"==typeof r.emitter.on&&"function"==typeof r.emitter.off&&(!!r.formValueRuntime||!!(null==(t=r.context)?void 0:t.form)||"function"==typeof(null==(l=r.context)?void 0:l.setFormValues))}function sF(e){var t;let l=[],r=e=>{e&&!l.includes(e)&&l.push(e)},n=e.model;r(null==n||null==(t=n.context)?void 0:t.blockModel),r(e.model);let i=null==n?void 0:n.parent;for(;i;)r(i),i=null==i?void 0:i.parent;return l.find(sM)||null}var sk=l(26866);function sC(e){if(Array.isArray(e)){let t=e.filter(e=>"string"==typeof e&&!!e);return t.length?t:"id"}return"string"==typeof e&&e?e:"id"}function sP(e){var t,l;return sC((null==e||null==(t=e.targetCollection)?void 0:t.filterTargetKey)??(null==e||null==(l=e.targetCollection)?void 0:l.filterByTk)??(null==e?void 0:e.targetKey))}function sj(e){var t,l,r,n,i,o,a,s,d,u;let c=e.model;return(null==c||null==(r=c.context)||null==(l=r.blockModel)||null==(t=l.context)?void 0:t.collection)??(null==c||null==(o=c.context)||null==(i=o.formBlock)||null==(n=i.context)?void 0:n.collection)??(null==c||null==(a=c.context)?void 0:a.rootCollection)??(null==e?void 0:e.rootCollection)??(null==e?void 0:e.collection)??(null==c||null==(d=c.context)||null==(s=d.collectionField)?void 0:s.collection)??(null==c||null==(u=c.context)?void 0:u.collection)}function sE(e){var t,l,r,n,i,o,a,s,d,u,c,p;let h=e.model;return sC((null==h||null==(l=h.context)||null==(t=l.collection)?void 0:t.filterTargetKey)??(null==h||null==(n=h.context)||null==(r=n.collection)?void 0:r.filterByTk)??(null==h||null==(a=h.context)||null==(o=a.collectionField)||null==(i=o.targetCollection)?void 0:i.filterTargetKey)??(null==h||null==(u=h.context)||null==(d=u.collectionField)||null==(s=d.targetCollection)?void 0:s.filterByTk)??(null==h||null==(p=h.context)||null==(c=p.collectionField)?void 0:c.targetKey))}function sR(e,t){let l=sj(e),r=sE(e);return t.map(e=>{let t=r;if(null==l?void 0:l.getField){var n;let r=l.getField(e.name);((null==r||null==(n=r.isAssociationField)?void 0:n.call(r))||(null==r?void 0:r.targetCollection)||(null==r?void 0:r.targetKey))&&(t=sP(r),l=null==r?void 0:r.targetCollection)}return{...e,filterTargetKey:t}})}function sT(e,t,l){let r=e.length-1-t;if(r<0)return;let n=e[r],i=null==n?void 0:n.filterTargetKey,o=Array.isArray(i)?i.map(e=>[e]):"string"==typeof i&&i?[[i]]:[];return{entries:e.slice(0,r+1).map(e=>({...e})),tailPath:l,identityTailPaths:o}}function sI(e,t){return null!=e&&(Array.isArray(e)&&"number"==typeof t?t>=0&&t<e.length:"object"==typeof e&&Object.prototype.hasOwnProperty.call(e,t))}function s_(e,t){let l=e;for(let e of t){if(!sI(l,e))return{found:!1};l=l[e]}return{found:!0,value:l}}function sD(e){let t=e;return(null==t?void 0:t.allValuesSnapshot)??(null==t?void 0:t.allValues)}function sN(e,t){return e&&"object"==typeof e?(0,sk.r5)(e,t):null}function sO(e){let t=[];for(let l of e.entries)t.push(l.name,l.index);return t}function s$(e,t,l,r){if(null==l?void 0:l.rowDetached)return!1;let n=sO(t);if(!n.length||!t.identityTailPaths.length)return!1;let i=t.identityTailPaths.map(e=>[...n,...e]);return(r??sA(e)).some(e=>i.some(t=>sf(t,e)))}function sB(e,t,l){return Array.isArray(e)&&t?e.findIndex(e=>sN(e,l)===t):-1}function sL(e,t,l,r){let n=[],i=-1,o=[];for(let a=0;a<t.entries.length;a++){let s=t.entries[a],d=[...n,s.name],u=s_(e,d);if(!u.found||!Array.isArray(u.value))return{found:!1};let c=null==l?void 0:l[a],p=sB(u.value,c,s.filterTargetKey),h=p>=0?p:s.index;if(h<0||h>=u.value.length)return c?{found:!1,rowMissing:!0}:{found:!1};let f=u.value[h];if(c&&p<0&&!r)return{found:!1,rowMissing:!0};o.push(sN(f,s.filterTargetKey)),i=h,n=[...d,h]}return{found:!0,path:[...n,...t.tailPath],rowIndex:i,rowIdentities:o}}function sq(e,t,l){var r,n;let i=s_(sD(t),l);if(i.found)return i;let o=null==e||null==(r=e.context)?void 0:r.form;return"function"==typeof(null==o?void 0:o.getFieldValue)?{found:!0,value:o.getFieldValue(l)}:s_(null==e||null==(n=e.context)?void 0:n.formValues,l)}function sV(e,t,l,r,n){var i,o;let a=l.rowScope;if(!a)return sq(e,t,l.path);if(null==r?void 0:r.rowDetached)return{found:!1,rowMissing:!0};let s=s$(t,a,r,n);for(let l of[sD(t),null==e||null==(i=e.context)?void 0:i.formValues]){let e=sL(l,a,null==r?void 0:r.rowIdentities,s);if(e.rowMissing)return{found:!1,rowMissing:!0};if(!e.found||!e.path)continue;let t=s_(l,e.path);if(t.found)return{found:!0,value:t.value,rowIdentities:e.rowIdentities}}let d=null==e||null==(o=e.context)?void 0:o.form;return"function"==typeof(null==d?void 0:d.getFieldValue)?{found:!0,value:d.getFieldValue(l.path),rowIdentities:null==r?void 0:r.rowIdentities}:{found:!1}}function sz(e){return Array.isArray(e)?e.length:e}function sK(e,t,l){var r,n;if(!Array.isArray(e))return{found:!0,value:e};let i=null==l||null==(r=l.rowIdentities)?void 0:r[l.rowIdentities.length-1],o=null==(n=t.rowScope)?void 0:n.entries[t.rowScope.entries.length-1],a=sB(e,i,null==o?void 0:o.filterTargetKey);return a>=0?{found:!0,value:a,rowIdentities:null==l?void 0:l.rowIdentities}:i?{found:!1,rowMissing:!0}:!o||o.index<0||o.index>=e.length?{found:!1}:{found:!0,value:o.index,rowIdentities:[sN(e[o.index],o.filterTargetKey)]}}function sU(e,t,l,r,n){var i,o;if("length"===l.kind){if(null==r?void 0:r.rowDetached)return{found:!1,rowMissing:!0};let o=null==r?void 0:r.rowIdentities,a=l.rowScope;if(a){let l=s$(t,a,r,n);for(let n of[sD(t),null==e||null==(i=e.context)?void 0:i.formValues]){let e=sL(n,a,null==r?void 0:r.rowIdentities,l);if(e.rowMissing)return{found:!1,rowMissing:!0};if(e.found){o=e.rowIdentities;break}}}let s=sq(e,t,l.path);return s.found?{found:!0,value:sz(s.value),rowIdentities:o}:s}if(null==r?void 0:r.rowDetached)return{found:!1,rowMissing:!0};let a=l.rowScope;if(a){let l=s$(t,a,r,n);for(let n of[sD(t),null==e||null==(o=e.context)?void 0:o.formValues]){let e=sL(n,a,null==r?void 0:r.rowIdentities,l);if(e.rowMissing)return{found:!1,rowMissing:!0};if(e.found&&"number"==typeof e.rowIndex)return{found:!0,value:e.rowIndex,rowIdentities:e.rowIdentities}}}let s=sq(e,t,l.path);return s.found?sK(s.value,l,r):s}function sW(e,t,l){if(e.wildcard)return null;let r={complete:!0,rowDetached:!1,rowMissing:!1,values:new Map,structures:new Map};for(let n of e.valuePaths){let e=(0,sc.Qc)(n.path),i=sV(t,l,n);if(i.rowMissing){r.rowMissing=!0,r.complete=!1;continue}if(!i.found){r.complete=!1;continue}r.values.set(e,{value:(0,$.cloneDeep)(i.value),rowIdentities:i.rowIdentities,rowDetached:!1})}for(let n of e.structuralPaths){let e=sU(t,l,n);if(e.rowMissing){r.rowMissing=!0,r.complete=!1;continue}if(!e.found){r.complete=!1;continue}r.structures.set(`${n.kind}:${(0,sc.Qc)(n.path)}`,{value:(0,$.cloneDeep)(e.value),rowIdentities:e.rowIdentities,rowDetached:!1})}return r}function sH(e,t,l,r,n){if(e.wildcard)return null;let i={complete:!0,rowDetached:!1,rowMissing:!1,values:new Map,structures:new Map};for(let o of e.valuePaths){let e=(0,sc.Qc)(o.path),a=r.values.get(e),s=sV(t,l,o,a,n);if(s.rowMissing){i.rowMissing=!0,i.rowDetached=!0,a?i.values.set(e,{...a,rowDetached:!0}):i.complete=!1;continue}if(!s.found){i.complete=!1;continue}i.values.set(e,{value:(0,$.cloneDeep)(s.value),rowIdentities:s.rowIdentities??(null==a?void 0:a.rowIdentities),rowDetached:!1})}for(let o of e.structuralPaths){let e=`${o.kind}:${(0,sc.Qc)(o.path)}`,a=r.structures.get(e),s=sU(t,l,o,a,n);if(s.rowMissing){i.rowMissing=!0,i.rowDetached=!0,a?i.structures.set(e,{...a,rowDetached:!0}):i.complete=!1;continue}if(!s.found){i.complete=!1;continue}i.structures.set(e,{value:(0,$.cloneDeep)(s.value),rowIdentities:s.rowIdentities??(null==a?void 0:a.rowIdentities),rowDetached:!1})}return i}function sY(e,t){if(e.size!==t.size)return!1;for(let[r,n]of e.entries()){var l;if(!t.has(r)||!(0,$.isEqual)(n.value,null==(l=t.get(r))?void 0:l.value))return!1}return!0}function sG(e,t,l,r){if(e.wildcard||!(null==r?void 0:r.complete))return{status:"unknown",snapshot:sW(e,t,l)};let n=sH(e,t,l,r,sA(l));return(null==n?void 0:n.rowMissing)?{status:"unchanged",snapshot:{...n,rowMissing:!1}}:(null==n?void 0:n.complete)?{status:sY(r.values,n.values)&&sY(r.structures,n.structures)?"unchanged":"changed",snapshot:n}:{status:"unknown",snapshot:n}}let sJ="formValuesChange",sX="__formValueDrivenDataScopeClearBindings";function sQ(e){let t=new Map;for(let r of e){var l;(null==r||null==(l=r.path)?void 0:l.length)&&t.set((0,sc.Qc)(r.path),r)}return Array.from(t.values())}function sZ(e){let t=sQ(e);return t.filter((e,l)=>!t.some((t,r)=>r!==l&&sf(e.path,t.path)))}function s0(e){let t=new Map;for(let r of e){var l;(null==r||null==(l=r.path)?void 0:l.length)&&t.set(`${r.kind}:${(0,sc.Qc)(r.path)}`,r)}return Array.from(t.values())}function s1(e){let t=new Map;for(let r of e){var l;(null==r||null==(l=r.path)?void 0:l.length)&&t.set(`${r.includeChildren?"children":"exact"}:${(0,sc.Qc)(r.path)}`,r)}return Array.from(t.values())}function s2(){return{wildcard:!1,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function s4(){return{wildcard:!0,valuePaths:[],structuralPaths:[],triggerPaths:[]}}function s6(e){let t=e[0];if("value"===t){let t=e.slice(1);return t.length?{wildcard:!1,valuePaths:[{path:t}],structuralPaths:[],triggerPaths:[]}:s4()}return"__is_new__"===t||"__is_stored__"===t?{wildcard:!1,valuePaths:[{path:[t]}],structuralPaths:[],triggerPaths:[]}:s2()}function s3(e,t){var l,r;let n=sR(e,sv((null==(r=e.model)||null==(l=r.context)?void 0:l.fieldIndex)??(null==e?void 0:e.fieldIndex))),i=0,o=[...t];for(;"parentItem"===o[0];)i+=1,o=o.slice(1);let a=o[0];if(!a)return s4();if(!n.length)return 0===i?s6(o):s2();if(i===n.length)return s6(o);if(i>n.length)return s4();if("value"===a){let e=sb(n,i);if(!e)return s4();let t=sx(n,i),l=o.slice(1);return{wildcard:!1,valuePaths:[{path:[...e,...l],rowScope:sT(n,i,l)}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0},...t?[{path:t,includeChildren:!1}]:[]]}}if("index"===a||"length"===a){let e=sx(n,i);return e?{wildcard:!1,valuePaths:[],structuralPaths:[{path:e,kind:a,rowScope:sT(n,i,[])}],triggerPaths:[{path:e,includeChildren:!1}]}:s4()}if("__is_new__"===a||"__is_stored__"===a){let e=sb(n,i);return e?{wildcard:!1,valuePaths:[{path:[...e,a],rowScope:sT(n,i,[a])}],structuralPaths:[],triggerPaths:[{path:e,includeChildren:!0}]}:s4()}return s4()}function s5(e,t){let l={deps:new Set,wildcard:!1};(0,sp.G)(t,l);let r=[],n=[],i=[],o=l.wildcard;for(let t of l.deps){if("fv:*"===t){o=!0;continue}if(!t.startsWith("fv:")){if("ctx:item"===t||t.startsWith("ctx:item:")){let l="ctx:item"===t?"":t.slice(9),a=s3(e,l?sS(l):[]);o||(o=a.wildcard),r.push(...a.valuePaths),n.push(...a.structuralPaths),i.push(...a.triggerPaths)}continue}let l=t.slice(3);if(!l){o=!0;continue}r.push({path:sS(l)})}return{wildcard:o,valuePaths:sZ(r),structuralPaths:s0(n),triggerPaths:s1(i)}}function s8(e){return e.wildcard||e.valuePaths.length>0||e.structuralPaths.length>0||e.triggerPaths.length>0}function s9(e){var t;let l=null==e||null==(t=e.props)?void 0:t.value;return null!=l&&(!Array.isArray(l)||l.length>0)}function s7(e,t){if(!s8(e))return!1;if(e.wildcard)return!0;let l=sA(t);if(!l.length)return!0;for(let t of l){for(let l of e.valuePaths)if(sf(l.path,t)||sf(t,l.path))return!0;for(let l of e.structuralPaths)if(sh(l.path,t)||sf(t,l.path))return!0;for(let l of e.triggerPaths)if(l.includeChildren&&(sf(l.path,t)||sf(t,l.path))||!l.includeChildren&&sh(l.path,t))return!0}return!1}function de(e,t){let l=e=>e.map(e=>(0,sc.Qc)(e.path)).sort(),r=e=>e.map(e=>`${e.kind}:${(0,sc.Qc)(e.path)}`).sort();return JSON.stringify({formBlockUid:null==t?void 0:t.uid,wildcard:e.wildcard,valuePaths:l(e.valuePaths),structuralPaths:r(e.structuralPaths),triggerPaths:e.triggerPaths.map(e=>`${e.includeChildren?"children":"exact"}:${(0,sc.Qc)(e.path)}`).sort()})}function dt(e){var t,l;return(t=e)[l=sX]||(t[l]=new Map)}function dl(e){return sF(e)}function dr(e){var t,l;if(!s9(e))return;let r=Array.isArray(null==e||null==(t=e.props)?void 0:t.value)?[]:null;"function"==typeof e.change?e.change(r):"function"==typeof(null==e||null==(l=e.props)?void 0:l.onChange)&&e.props.onChange(r)}function dn(e){var t;return!!e&&"object"==typeof e&&"function"==typeof(null==e||null==(t=e.props)?void 0:t.onChange)}function di(e,t){let l=dt(e).get(t);l&&l.dispose()}function da(e,t){var l,r,n,i,o,a;let s=e.model,d=null==e?void 0:e.flowKey;if(!dn(s)||!d)return;let u="dataScope",c=`${d}:${u}`,p=s5(e,t);if(!s8(p))return void di(s,c);let h=dl(e);if(!h)return void di(s,c);let f=de(p,h),m=dt(s),g=m.get(c);if((null==g?void 0:g.signature)===f)return;g&&g.dispose();let v=(null==s||null==(l=s.flowEngine)?void 0:l.emitter)||(null==e||null==(r=e.engine)?void 0:r.emitter)||(null==s||null==(i=s.context)||null==(n=i.engine)?void 0:n.emitter),y={signature:f,snapshot:sW(p,h),dispose:()=>{}},b=()=>{var e,t,l,r;null==(t=h.emitter)||null==(e=t.off)||e.call(t,sJ,x),null==v||null==(l=v.off)||l.call(v,"model:unmounted",w),null==v||null==(r=v.off)||r.call(v,"model:destroyed",S),m.get(c)===y&&m.delete(c)},x=e=>{var t;if(s.disposed||h.disposed)return void b();if(!s7(p,e))return;let l=sG(p,h,e,y.snapshot);(null==(t=l.snapshot)?void 0:t.complete)&&(y.snapshot=l.snapshot),"unchanged"===l.status||s9(s)&&dr(s)},w=e=>{let{model:t}=e;(t===h||t===s&&s.disposed)&&b()},S=e=>{let{model:t}=e;(t===s||t===h)&&b()};y.dispose=b,m.set(c,y),h.emitter.on(sJ,x),null==v||null==(o=v.on)||o.call(v,"model:unmounted",w),null==v||null==(a=v.on)||a.call(v,"model:destroyed",S)}let ds=(0,O.defineAction)({name:"dataScope",title:(0,O.tExpr)("Data scope"),uiMode:{type:"dialog",props:{width:800}},uiSchema:{filter:{type:"object","x-decorator":"FormItem","x-component":function(e){let t=(0,O.useFlowSettingsContext)();return(0,D.jsx)(se.I8,{value:e.value,FilterItem:e=>(0,D.jsx)(se.Et,{...e,model:t.model,rightAsVariable:!0,maxAssociationFieldDepth:t.model instanceof st.o?void 0:2})})}}},defaultParams:e=>({filter:{logic:"$and",items:[]}}),useRawParams:!0,async handler(e,t){var l;let r=null==(l=e.model)?void 0:l.resource;if(!r)return;let n=await e.resolveJsonTemplate(t.filter),i=su(t.filter,n);da(e,t.filter),(0,ea.isEmptyFilter)(i)?r.removeFilterGroup(e.model.uid):r.addFilterGroup(e.model.uid,i)}});var dd=l(52717),du=l(94130);class dc extends O.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,r]of t.currentModels)e.set(l,r);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 r=t.collection||(null==(l=t.blockModel)?void 0:l.collection),n=(0,du.GX)(e);return(0,du.F3)(r,n)}static async defineChildren(e){let t=this.baseClass?await (0,O.buildSubModelItems)(this.baseClass)(e):[],l=[],r=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)||r.find(e=>e.useModel===n.name))continue;let t=await (0,O.buildSubModelItem)(n,e);t&&l.push(t)}return B().sortBy([...r,...l],"sort")}}(0,w._)(dc,"baseClass",void 0),(0,w._)(dc,"scene",void 0),(0,w._)(dc,"_models",void 0);class dp extends dc{}(0,w._)(dp,"baseClass",dd.S0),(0,w._)(dp,"scene",dd.s5.collection);class dh extends dc{}(0,w._)(dh,"baseClass",dd.S0),(0,w._)(dh,"scene",dd.s5.record);var df=l(14252);class dm extends O.FlowModel{static defineChildren(e){let t=this.itemModelName,l=this.maxAssociationFieldDepth??2,r=function(n){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return o>=l?[]:n.getToOneAssociationFields().map(n=>{let a=i?`${i}.${n.name}`:n.name,s=o+1;return n.targetCollection?{key:`${a}-assocationField`,label:n.title,children:()=>[{key:`${a}-children-collectionField`,label:e.t("Display fields"),type:"group",children:n.targetCollection.getFields().map(r=>{var n;if(s>=l&&((null==(n=r.isAssociationField)?void 0:n.call(r))||r.target||r.targetCollection))return;let i=`${a}.${r.name}`,o=O.DisplayItemModel.getDefaultBindingByField(e,r,{fallbackToTargetTitleField:!0});if(!o)return;let d=o.modelName;return{key:`c-${a}.${r.name}`,label:r.title,useModel:t,toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===i},createModelOptions:{stepParams:{fieldSettings:{init:{dataSourceKey:e.collection.dataSourceKey,collectionName:e.prefixFieldPath?e.blockModel.context.collection.name:e.collection.name,fieldPath:i,associationPathName:a}}},subModels:{field:{use:d}}}}}).filter(Boolean)},{key:`${a}-children-associationField`,label:"Display association fields",type:"group",children:(r(n.targetCollection,a,s)||[]).filter(Boolean)}].filter(e=>{var t;return e.key!==`${a}-children-associationField`||(null==(t=e.children)?void 0:t.length)>0})}:void console.error(`AssociationFieldGroupModel: target collection ${n.target} not found for field ${n.name}`)}).filter(Boolean)};return r(e.collection,e.prefixFieldPath)}}function dg(e){return["multipleSelect","checkboxGroup"].includes(null==e?void 0:e.interface)||["array","json","jsonb"].includes(null==e?void 0:e.type)}function dv(e){return e.context}function dy(e,t){var l;let r=e[t]||(null==(l=dv(e))?void 0:l[t]);return r&&"object"==typeof r?r:void 0}function db(e){var t,l,r;let n=null==(t=dv(e))?void 0:t.dataSourceManager;return n||(null==(r=e.flowEngine)||null==(l=r.context)?void 0:l.dataSourceManager)}function dx(e){return{operatorGroup:e.operatorGroup,operators:Array.isArray(e.operators)?[...e.operators]:e.operators,operatorOverrides:Array.isArray(e.operatorOverrides)?[...e.operatorOverrides]:e.operatorOverrides}}function dw(e){if(!1===e)return[];if(!e||"object"!=typeof e)return;let t=o3(dx(e));return Array.isArray(null==t?void 0:t.operators)&&t.operators.length>0?t.operators:Array.isArray(null==t?void 0:t.operatorOverrides)&&t.operatorOverrides.length>0?t.operatorOverrides:void 0}function dS(e,t){var l;let r="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;if(!r)return;let n=db(e),i=null==n?void 0:n.collectionFieldInterfaceManager,o=null==i||null==(l=i.getFieldInterface)?void 0:l.call(i,r);return null==o?void 0:o.filterable}function dA(e){let t=[null==e?void 0:e.interface,null==e?void 0:e.type].filter(e=>"string"==typeof e),l=eE.II;for(let e of t){let t=l[e];if(null==t?void 0:t.length)return t}return[]}function dM(e){let t=dy(e,"collectionField"),l=dy(e,"filterField"),r=t||l;if((null==r?void 0:r.filterable)===!1)return[];let n=dw(null==r?void 0:r.filterable);if(null==n?void 0:n.length)return n;let i=dS(e,r);if(!1===i)return[];let o=dw(i);return(null==o?void 0:o.length)?o:dA(r)}function dF(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:dk(e);if(!t)return null;let l=dy(e,"collectionField")||dy(e,"filterField");return dM(e).find(e=>e.value===t&&(!e.visible||e.visible(l)))||null}function dk(e){var t,l,r,n,i,o;let a=dM(e);return e.operator||(null==(l=e.getStepParams)||null==(t=l.call(e,"filterFormItemSettings","defaultOperator"))?void 0:t.value)||(null==(n=e.subModels)||null==(r=n.field)?void 0:r.operator)||(null==(i=a.find(e=>e.selected))?void 0:i.value)||(null==(o=a[0])?void 0:o.value)||"$includes"}function dC(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 dP(e){return e.filterSubModels("items",e=>{var t;return!!(null==(t=e.resource)?void 0:t.supportsFilter)})}(0,w._)(dm,"itemModelName","DetailsItemModel"),(0,w._)(dm,"maxAssociationFieldDepth",2),dm.define({label:'{{t("Display fields")}}'});let dj={$match:"$in",$anyOf:"$in",$notMatch:"$notIn",$noneOf:"$notIn"};function dE(e,t){var l,r,n;let i=null==e||null==(l=e.context)?void 0:l.dataSourceManager,o=null==e?void 0:e.collection;if(!i||!(null==o?void 0:o.dataSourceKey)||!(null==o?void 0:o.name)||!t)return;let a=o.name,s=t.split(".").filter(Boolean);for(let e=0;e<s.length;e+=1){let t=null==(r=i.getCollectionField)?void 0:r.call(i,`${o.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 dR(e,t,l){let r=dj[e];if(!r)return e;let n=dE(t,l);return!n||dg(n)?e:r}async function dT(e){(null==e?void 0:e.loading)&&await new Promise(t=>{let l=()=>{e.loading?setTimeout(l,16):t()};l()})}function dI(e){if(e instanceof Error)return e.message;try{return String(e)}catch{return"Unknown error"}}class d_{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 r;let e=this.gridModel.flowEngine.getModel(t.filterId),n=null==e||null==(r=e.context)?void 0:r.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}": ${dI(t)}`)}})),l}async saveConnectFieldsConfig(e,t){let l=t.targets.map(t=>({filterId:e,targetId:t.targetId,filterPaths:t.filterPaths})),r=this.filterConfigs.filter(t=>t.filterId!==e);this.filterConfigs=[],this.filterConfigs.push(...r,...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:r=!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&&r&&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 r=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(dC(n)){try{t.resource.removeFilterGroup(e.filterId),r.setFilterActive(e.filterId,!1)}catch(e){console.error(`[NocoBase]: Failed to remove filter configuration from target model: ${e.message}`)}return}r.setFilterActive(e.filterId,!0);let i=e.filterPaths.map(r=>({path:r,operator:dR(e.operator||dk(l),t,r),value:n}));try{if(1===i.length)t.resource.addFilterGroup(e.filterId,new O.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 O.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 r=t;l.forEach(e=>{try{t.resource.removeFilterGroup(e.filterId),"function"==typeof(null==r?void 0:r.removeFilterSource)&&r.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 r=this.filterConfigs.filter(e=>l.includes(e.filterId));if(0===r.length)return;let n=(null==t?void 0:t.excludeTargetIds)?new Set(t.excludeTargetIds):void 0,i=[...new Set(r.map(e=>e.targetId))].filter(e=>!(null==n?void 0:n.has(e))).map(async e=>{try{var t,l;this.bindToTarget(e);let r=this.gridModel.flowEngine.getModel(e);if(!r)return void console.error(`Target model with uid "${e}" not found`);if(!r.resource||"function"!=typeof r.resource.refresh)return void console.error(`Target model with uid "${e}" does not have a valid resource with refresh method`);let n=r,i=r.resource,o=r,a=n.getDataLoadingMode();if("manual"===a&&!n.hasActiveFilters()){i.setData([]),i.setMeta({count:0,hasNext:!1}),"function"==typeof i.setPage&&i.setPage(1),i.loading=!1,null==(l=o.resetAfterFilterChange)||l.call(o);return}await dT(i),"function"==typeof i.setPage&&i.setPage(1),await i.refresh(),null==(t=o.resetAfterFilterChange)||t.call(o)}catch(t){console.error(`Failed to refresh target model "${e}": ${t.message}`);return}});await Promise.all(i)}constructor(e,t){(0,w._)(this,"filterConfigs",void 0),(0,w._)(this,"gridModel",void 0),this.gridModel=e,this.filterConfigs=t||[]}}var dD=l(84626),dN=l(47152),dO=l(16370);function d$(e){let{rows:t={},sizes:l={},layout:r,renderItem:n,rowGap:i=16,colGap:o=16,dragOverlayRect:a}=e,s=r||(0,O.normalizeGridLayout)({rows:t,sizes:l});return s.rows.length?(0,D.jsxs)("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:i},"data-grid-root":!0,children:[a&&(0,D.jsx)(dq,{rect:a}),(0,D.jsx)(dB,{rows:s.rows,renderItem:n,rowGap:i,colGap:o,parentPath:[]})]}):(0,D.jsx)("div",{style:{position:"relative"},"data-grid-root":!0,"data-grid-empty-container":!0,children:a&&(0,D.jsx)(dq,{rect:a})})}function dB(e){let{rows:t,renderItem:l,rowGap:r,colGap:n,parentPath:i}=e;return(0,D.jsx)(D.Fragment,{children:t.map(e=>{let t=e.cells.length,o=e.sizes||[],a=o.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=o.reduce((e,t)=>e+(t||0),0),r=t-o.filter(Boolean).length,n=r>0?(24-e)/r:0;return o[l]??n}});return(0,D.jsx)(dN.A,{gutter:n,"data-grid-row-id":e.id,"data-grid-path":JSON.stringify(s),children:e.cells.map((t,i)=>(0,D.jsx)(dL,{rowKey:e.id,columnIndex:i,span:d[i],rowGap:r,colGap:n,cell:t,path:[...s.slice(0,-1),{rowId:e.id,cellId:t.id}],renderItem:l},t.id))},e.id)})})}let dL=A.memo(function(e){var t;let{rowKey:l,columnIndex:r,span:n,rowGap:i,colGap:o,cell:a,path:s,renderItem:d}=e,u=a.items||[];return(0,D.jsx)(dO.A,{span:n,"data-grid-column-row-id":l,"data-grid-column-index":r,"data-grid-path":JSON.stringify(s),children:(0,D.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:i},children:[u.map((e,t)=>e===O.EMPTY_COLUMN_UID?null:(0,D.jsx)("div",{"data-grid-item-row-id":l,"data-grid-column-index":r,"data-grid-item-index":t,"data-grid-item-uid":e,"data-grid-path":JSON.stringify(s),children:d(e)},e)),(null==(t=a.rows)?void 0:t.length)?(0,D.jsx)(dB,{rows:a.rows,renderItem:d,rowGap:i,colGap:o,parentPath:s}):null]})})});function dq(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},r={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,D.jsx)("div",{style:{...l,...r[t.type]}})}dL.displayName="GridColumn";var dV=l(95725),dz=l(40919);let dK=e=>{let{value:t,onChange:l,rows:r=10,...n}=e,[i,o]=(0,A.useState)(()=>t?JSON.stringify(t,null,2):""),[a,s]=(0,A.useState)(null);(0,A.useEffect)(()=>{o(t?JSON.stringify(t,null,2):"")},[t]);let d=e=>{let t=e.target.value;o(t);try{let e=t.trim()?JSON.parse(t):void 0;s(null),null==l||l(e)}catch(e){s(e.message)}};return(0,D.jsxs)("div",{children:[(0,D.jsx)(dV.A.TextArea,{value:i,autoSize:{minRows:r,maxRows:r+10},onChange:d,...n}),a&&(0,D.jsx)(dz.A,{type:"error",message:a,showIcon:!0,style:{marginTop:8}})]})},dU=(0,rd.connect)(dK),dW="gridSettings",dH="grid",dY=new Set(["column-edge","item-edge","empty-column"]),dG=e=>e.filter(e=>!dY.has(e.type)),dJ=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 dX extends O.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},r={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,r),t.removeEventListener("mousemove",this.updateDragPointerPosition,r),t.removeEventListener("touchmove",this.updateDragPointerPosition,r),t.removeEventListener("scroll",this.handleDragScroll,r),null==n||n.removeEventListener("scroll",this.handleDragScroll,r)}}deriveRowOrder(e,t){let l=[],r=new Set;return(t||Object.keys(e)).forEach(t=>{e[t]&&!r.has(t)&&(l.push(t),r.add(t))}),Object.keys(e).forEach(e=>{r.has(e)||(l.push(e),r.add(e))}),l}normalizeRowsWithOrder(e,t){let l=this.deriveRowOrder(e,t),r={};return l.forEach(t=>{e[t]&&(r[t]=e[t])}),Object.keys(e).forEach(t=>{r[t]||(r[t]=e[t])}),{rows:r,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(dW,dH)||{};return(0,O.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=B().omit(e.props,["dragOverlayRect"]),e}syncLayoutProps(e){let t=(0,O.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(dW,{[dH]:{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 r=t[e],n=l.find(e=>e.id===r.rowId);if(!n)break;if(e===t.length-1)return n;let i=n.cells.find(e=>e.id===r.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,r)=>{let n=e.cells.findIndex((e,r)=>!l.has(r)&&B().isEqual(this.collectCellItemsForResize(e),t));if(-1!==n){l.add(n);let r=e.cells[n];return r.rows&&!r.items?B().cloneDeep(r):{id:r.id,items:[...t]}}return{id:`${e.id}:cell:${r}:${(0,on.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,r;let n=this.getResizeRowPath(e),i=(null==(t=this.gridContainerRef.current)?void 0:t.clientWidth)||0;if(!n.length)return i;let o=Array.from((null==(l=this.gridContainerRef.current)?void 0:l.querySelectorAll("[data-grid-row-id]"))||[]).find(e=>{try{return B().isEqual(JSON.parse(e.dataset.gridPath||"[]"),n)}catch{return!1}});return(null==o||null==(r=o.parentElement)?void 0:r.clientWidth)||i}prunePlaceholderOnlyRows(e){let t=e=>e.map(e=>{let l=e.cells.map((l,r)=>{var n,i;let o=(null==(n=e.sizes)?void 0:n[r])??1;if(null==(i=l.rows)?void 0:i.length){let e=t(l.rows);return e.length?{cell:{...l,rows:e},size:o,hasRealItem:!0}:null}let a=l.items||[],s=a.some(e=>e!==O.EMPTY_COLUMN_UID),d=a.includes(O.EMPTY_COLUMN_UID);return s||d?{cell:l,size:o,hasRealItem:s}:null}).filter(Boolean);return l.some(e=>e.hasRealItem)?{...e,cells:l.map(e=>e.cell),sizes:l.map(e=>e.size)}:null}).filter(Boolean);return(0,O.normalizeGridLayout)({layout:{...e,rows:t(e.rows||[])},itemUids:this.getItemUids(),gridUid:this.uid,logger:console})}resizeGridLayout(e){var t;let{direction:l,resizeDistance:r,model:n}=e,i=this.getGridLayout(),o=(0,O.findModelUidLayoutPosition)(i,n.uid);if(!o)return null;let a=this.findLayoutRowByPath(i,o.path);if(!a)return null;let s=this.getResizeContainerWidth(o.path),d=a.cells.map(e=>this.collectCellItemsForResize(e)),{newRows:u,newSizes:c,moveDistance:p}=dZ({position:{rowId:a.id,columnIndex:o.cellIndex,itemIndex:o.itemIndex},direction:l,resizeDistance:r,prevMoveDistance:this.prevMoveDistance,oldRows:{[a.id]:d},oldSizes:{[a.id]:a.sizes||[]},gutter:(null==(t=this.context.themeToken)?void 0:t.marginBlock)??16,gridContainerWidth:s}),h=B().cloneDeep(i),f=this.findLayoutRowByPath(h,o.path);return f?(f.cells=this.buildResizedCells(a,u[a.id]||[]),f.sizes=c[a.id]||[],{layout:(0,O.normalizeGridLayout)({layout:h,itemUids:this.getItemUids(),gridUid:this.uid,logger:console}),moveDistance:p}):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 r=e.uid;this.resetRows(!0);let n=this.prunePlaceholderOnlyRows(this.props.layout);this.setGridStepLayout(n),this.syncLayoutProps(n),null==(t=this.context.filterManager)||t.removeFilterConfig({targetId:r}),null==(l=this.context.filterManager)||l.removeFilterConfig({filterId:r}),this.saveStepParams()}),this.emitter.on("onSubModelMoved",()=>{this.resetRows(!0)}),this.emitter.on("onResizeLeft",e=>{let{resizeDistance:t,model:l}=e,r=this.resizeGridLayout({direction:"left",resizeDistance:t,model:l});r&&(this.prevMoveDistance=r.moveDistance,this.syncLayoutProps(r.layout))}),this.emitter.on("onResizeRight",e=>{let{resizeDistance:t,model:l}=e,r=this.resizeGridLayout({direction:"right",resizeDistance:t,model:l});r&&(this.prevMoveDistance=r.moveDistance,this.syncLayoutProps(r.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,O.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(O.EMPTY_COLUMN_UID);let r=new Set,n={};for(let[t,i]of Object.entries(e)){let e=i.map(e=>B().castArray(e).filter(e=>l.has(e))).filter(e=>e.length>0);e.length>0&&(n[t]=e,e.forEach(e=>e.forEach(e=>r.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,on.uid)()]=[[e.uid]]);return n}resetRows(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getStepParams(dW,dH)||{},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 r=dJ(e.activatorEvent);if(r)return this.dragState.pointerOrigin=r,{x:r.x+e.delta.x,y:r.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,O.buildLayoutSnapshot)({container:this.getDragContainer()});this.dragState.slots=this.context.isMobileLayout?dG(e.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,r,n;let i=this.dragOverlayConfig,o=e.rect;switch(e.type){case"column":{let l=null==i||null==(t=i.columnInsert)?void 0:t[e.position],r=(null==l?void 0:l.height)??o.height,n=(null==l?void 0:l.offsetTop)??0;return{top:o.top+n,left:o.left,width:o.width,height:r}}case"column-edge":{let t=null==i||null==(l=i.columnEdge)?void 0:l[e.direction],r=(null==t?void 0:t.width)??o.width,n=(null==t?void 0:t.offsetLeft)??0;return{top:o.top,left:o.left+n,width:r,height:o.height}}case"item-edge":{let t=null==i||null==(r=i.columnEdge)?void 0:r[e.direction],l=(null==t?void 0:t.width)??o.width,n=(null==t?void 0:t.offsetLeft)??0;return{top:o.top,left:o.left+n,width:l,height:o.height}}case"row-gap":{let t=null==i||null==(n=i.rowGap)?void 0:n[e.position],l=(null==t?void 0:t.height)??o.height,r=(null==t?void 0:t.offsetTop)??0;return{top:o.top+r,left:o.left,width:o.width,height:l}}default:return{top:o.top,left:o.left,width:o.width,height:o.height}}}getHitTestSlot(e){return{...e,rect:this.computeOverlayRect(e)}}resolveDragSlot(e){var t;return(null==(t=this.dragState)?void 0:t.slots.length)?(0,O.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,O.getSlotKey)(e);if(this.dragState.activeSlotKey===t&&this.dragState.previewLayout)return;let l=(0,O.simulateLayoutForSlot)({slot:e,sourceUid:this.dragState.sourceUid,layout:this.dragState.snapshot,generateRowId:on.uid,generatedIds:this.dragState.generatedIds,generateId:()=>(0,on.uid)()});if(l.layout&&this.dragState.snapshot.layout&&(0,O.isSameGridLayout)(l.layout,this.dragState.snapshot.layout))return void this.applyPreview(null);this.dragState.previewLayout={rows:B().cloneDeep(l.rows),sizes:B().cloneDeep(l.sizes),rowOrder:B().cloneDeep(l.rowOrder),layout:B().cloneDeep(l.layout)};let r=this.computeOverlayRect(e),n={top:r.top-this.dragState.containerRect.top,left:r.left-this.dragState.containerRect.left,width:r.width,height:r.height,type:e.type};this.setProps("dragOverlayRect",n),this.dragState.activeSlotKey=t}handleDragStart(e){let t=e.active.id,l=this.normalizeLayoutFromSource(),r=(0,O.projectLayoutToLegacyRows)(l);this.dragState={sourceUid:t,snapshot:{rows:B().cloneDeep(r.rows),sizes:B().cloneDeep(r.sizes),rowOrder:B().cloneDeep(r.rowOrder),layout:B().cloneDeep(l)},slots:[],containerEl:this.gridContainerRef.current,containerRect:{top:0,left:0,width:0,height:0},pointerOrigin:dJ(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(B().cloneDeep(l.layout)):(this.setProps("rows",B().cloneDeep(l.rows)),this.setProps("sizes",B().cloneDeep(l.sizes)),l.rowOrder&&this.setProps("rowOrder",B().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,O.normalizeGridLayout)({rows:dQ((0,O.projectLayoutToLegacyRows)(t).rows)}):t,r=(0,O.projectLayoutToLegacyRows)(l),{rows:n,rowOrder:i}=this.normalizeRowsWithOrder(r.rows,r.rowOrder),o=this.orderSizesByRowOrder(r.sizes,i);if(this.context.flowSettingsEnabled)return{layout:l,rows:n,sizes:o};let a=new Map(((null==(e=this.subModels)?void 0:e.items)||[]).map(e=>[e.uid,e])),s=e=>e.map(e=>{let t=e.cells.map((t,l)=>{var r;let n=null==(r=e.sizes)?void 0:r[l],i=Number.isFinite(n)&&n>0?n:1;if(t.rows){let e=s(t.rows);return e.length?{cell:{...t,rows:e},size:i,hasVisibleContent:!0}:null}let o=(t.items||[]).filter(e=>{var t;return e===O.EMPTY_COLUMN_UID||(null==(t=a.get(e))?void 0:t.hidden)!==!0}),d=o.some(e=>{if(e===O.EMPTY_COLUMN_UID)return!1;let t=a.get(e);return!t||!t.hidden}),u=o.includes(O.EMPTY_COLUMN_UID);return d||u?{cell:{...t,items:o},size:i,hasVisibleContent:d}:null}).filter(Boolean);return t.some(e=>e.hasVisibleContent)?{...e,cells:t.map(e=>e.cell),sizes:t.map(e=>e.size)}:null}).filter(Boolean),d=(0,O.normalizeGridLayout)({layout:{version:2,rows:s(l.rows)}}),u=(0,O.projectLayoutToLegacyRows)(d);return{layout:d,rows:u.rows,sizes:u.sizes}}render(){let{layout:e,rows:t,sizes:l}=this.getVisibleLayout(),r=Object.keys(t||{}).length>0;return(0,D.jsxs)(D.Fragment,{children:[r&&(0,D.jsx)(dD.A,{ref:this.gridContainerRef,direction:"vertical",style:{width:"100%",marginBottom:this.props.rowGap,display:"flex"},size:this.props.rowGap,children:(0,D.jsx)(O.DndProvider,{onDragStart:this.handleDragStart.bind(this),onDragMove:this.handleDragMove.bind(this),onDragEnd:this.handleDragEnd.bind(this),onDragCancel:this.handleDragCancel.bind(this),children:(0,D.jsx)(d$,{rowGap:this.props.rowGap,colGap:this.props.colGap,layout:e,rows:t,sizes:l,dragOverlayRect:this.props.dragOverlayRect,renderItem:e=>{var t,l,r,n,i;let o=this.flowEngine.getModel(e);if(!o)return this.itemFallback;let a=this.context.fieldKey,s=this.context.fieldIndex,d=this.context.getPropertyOptions("item"),u=null==(t=(l=this.context).getPropertyOptions)?void 0:t.call(l,"record"),c=null==(r=(n=this.context).getPropertyOptions)?void 0:r.call(n,"currentObject"),p=null==s?o:(()=>{let t=o.createFork({},`${a}:${e}`);t.context.defineProperty("fieldIndex",{get:()=>s}),t.context.defineProperty("fieldKey",{get:()=>a}),t.context.defineProperty("record",{get:()=>this.context.record,cache:!1,meta:null==u?void 0:u.meta,resolveOnServer:null==u?void 0:u.resolveOnServer,serverOnlyWhenContextParams:null==u?void 0:u.serverOnlyWhenContextParams}),t.context.defineProperty("currentObject",{get:()=>this.context.currentObject,cache:!1,resolveOnServer:null==c?void 0:c.resolveOnServer,serverOnlyWhenContextParams:null==c?void 0:c.serverOnlyWhenContextParams});let{value:l,...r}=d||{};return t.context.defineProperty("item",{...r,get:()=>this.context.item,cache:!1}),t})();return(0,D.jsx)(O.Droppable,{model:p,children:(0,D.jsx)(O.MemoFlowModelRenderer,{model:p,fallback:o.skeleton||this.itemFallback,showFlowSettings:!!this.context.flowSettingsEnabled&&this.getItemFlowSettings(),showErrorFallback:!0,settingsMenuLevel:(null==p?void 0:p.settingsMenuLevel)??this.itemSettingsMenuLevel,showTitle:!0,extraToolbarItems:this.itemExtraToolbarItems},`${p.uid}:${a}:${(null==p?void 0:p.use)||(null==p||null==(i=p.constructor)?void 0:i.name)||"m"}`)})}})})}),this.context.flowSettingsEnabled&&(0,D.jsx)("div",{style:{marginBottom:16},children:this.renderAddSubModelButton()})]})}constructor(...e){super(...e),(0,w._)(this,"subModelBaseClass","BlockModel"),(0,w._)(this,"gridContainerRef",A.createRef()),(0,w._)(this,"prevMoveDistance",0),(0,w._)(this,"itemSettingsMenuLevel",1),(0,w._)(this,"itemFlowSettings",{}),(0,w._)(this,"dragOverlayConfig",void 0),(0,w._)(this,"itemFallback",(0,D.jsx)(i$,{})),(0,w._)(this,"itemExtraToolbarItems",[{key:"drag-handler",component:O.DragHandler,sort:1}]),(0,w._)(this,"dragState",void 0),(0,w._)(this,"_memoItemFlowSettings",void 0),(0,w._)(this,"updateDragPointerPosition",e=>{if(!this.dragState)return;let t=dJ(e);t&&(this.dragState.pointerPosition=t)}),(0,w._)(this,"handleDragScroll",()=>{this.dragState&&this.scheduleSnapshotRefresh()})}}function dQ(e,t){let l=(null==t?void 0:t.emptyColumnUid)??O.EMPTY_COLUMN_UID,r={},n=e=>{if(!r[e])return e;let t=1,l=`${e}:duplicate:${t}`;for(;r[l];)t+=1,l=`${e}:duplicate:${t}`;return l};return Object.keys(e).forEach(t=>{let i=e[t].map((e,t)=>({columnIndex:t,items:e.filter(e=>e!==l)})).filter(e=>e.items.length>0);if(1===i.length&&0===i[0].columnIndex){r[n(t)]=[i[0].items];return}i.forEach(e=>{r[n(`mobile:${encodeURIComponent(t)}:${e.columnIndex}`)]=[e.items]})}),r}function dZ(e){var t,l;let{position:r,direction:n,resizeDistance:i,prevMoveDistance:o,oldSizes:a,oldRows:s,gridContainerWidth:d,gutter:u=16,columnCount:c=24}=e,p=B().cloneDeep(s),h=B().cloneDeep(a),f=Math.floor(i/(d-u*((h[r.rowId]||[]).length-1))*c);if(f===o)return{newRows:p,newSizes:h,moveDistance:f};(t=h)[l=r.rowId]??(t[l]=[c]);let m=h[r.rowId],g=f-o,v="left"===n&&r.columnIndex>0,y="right"===n&&r.columnIndex<m.length-1;if(!v&&!y&&g>0){let e=c-m.reduce((e,t)=>e+t,0);if(e<=0)return{newRows:p,newSizes:h,moveDistance:o};g>e&&(f=o+e,g=e)}if(h[r.rowId][r.columnIndex]+=g,"left"===n&&r.columnIndex>0&&(h[r.rowId][r.columnIndex-1]-=g,0===h[r.rowId][r.columnIndex-1]&&d1({rows:p,sizes:h,position:r,direction:"left"})),"left"===n&&0===r.columnIndex){let e=h[r.rowId].slice(1).reduce((e,t)=>e+t,0);h[r.rowId][0]<c-e&&d0({rows:p,sizes:h,position:r,direction:"left"})}if("right"===n&&r.columnIndex<h[r.rowId].length-1&&(h[r.rowId][r.columnIndex+1]-=g,0===h[r.rowId][r.columnIndex+1]&&d1({rows:p,sizes:h,position:r,direction:"right"})),"right"===n&&r.columnIndex===h[r.rowId].length-1){let e=h[r.rowId].slice(0,-1).reduce((e,t)=>e+t,0);h[r.rowId][r.columnIndex]<c-e&&d0({rows:p,sizes:h,position:r,direction:"right"})}return{newRows:p,newSizes:h,moveDistance:f}}function d0(e){let{rows:t,sizes:l,position:r,direction:n}=e,i=t[r.rowId]||[],o=l[r.rowId]||[];if("left"===n){let e=i[r.columnIndex-1];if(null==e?void 0:e.includes(O.EMPTY_COLUMN_UID))return;i.splice(r.columnIndex,0,[O.EMPTY_COLUMN_UID]),o.splice(r.columnIndex,0,1)}if("right"===n){let e=i[r.columnIndex+1];if(null==e?void 0:e.includes(O.EMPTY_COLUMN_UID))return;i.splice(r.columnIndex+1,0,[O.EMPTY_COLUMN_UID]),o.splice(r.columnIndex+1,0,1)}}function d1(e){let{rows:t,sizes:l,position:r,direction:n}=e,i=t[r.rowId]||[],o=l[r.rowId]||[];if("left"===n){let e=i[r.columnIndex-1];if(!(null==e?void 0:e.includes(O.EMPTY_COLUMN_UID)))return;i.splice(r.columnIndex-1,1),o.splice(r.columnIndex-1,1)}if("right"===n){let e=i[r.columnIndex+1];if(!(null==e?void 0:e.includes(O.EMPTY_COLUMN_UID)))return;i.splice(r.columnIndex+1,1),o.splice(r.columnIndex+1,1)}}dX.registerFlow({key:dW,steps:{resetRows:{handler(e){e.model.resetRows()}},grid:{uiSchema:{layout:{title:(0,O.tExpr)("Layout"),"x-decorator":"FormItem","x-component":dU,"x-component-props":{autoSize:{minRows:10,maxRows:20},description:(0,O.tExpr)("Configure the nested layout of the grid.")}}},async handler(e,t){let l=e.model,r=(0,O.normalizeGridLayout)({layout:t.layout,rows:t.rows,sizes:t.sizes,rowOrder:t.rowOrder,itemUids:l.getItemUids(),gridUid:l.uid,logger:console});l.setGridStepLayout(r),l.syncLayoutProps(r)}}}});let d2=["JSBlockModel","IframeBlockModel","MarkdownBlockModel"];class d4 extends dX{onInit(e){super.onInit(e),this.context.defineProperty("blockGridModel",{value:this}),this.context.defineProperty("filterManager",{once:!0,get:()=>new d_(this,e.filterManager)})}onMount(){var e,t;super.onMount(),(null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)!=="select"||this.viewActivatedListener||(this.viewActivatedListener=()=>{this.mapSubModels("items",e=>{var t;null==(t=e.onActive)||t.call(e)})},this.flowEngine.emitter.on(O.VIEW_ACTIVATED_EVENT,this.viewActivatedListener))}onUnmount(){this.viewActivatedListener&&(this.flowEngine.emitter.off(O.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),super.onUnmount()}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,O.buildSubModelGroups)(["DataBlockModel","FilterBlockModel"])(e),l=d2.filter(t=>!!e.engine.getModelClass(t)),r=(await Promise.all(l.map(t=>(0,O.buildSubModelItems)(t)(e)))).flat().sort((e,t)=>(e.sort??1e3)-(t.sort??1e3));return r.length>0&&t.push({key:"select-scene-other-blocks",type:"group",label:e.t("Other blocks"),sort:1e3,children:r}),t}}serialize(){let e=super.serialize();return e.filterManager=this.filterManager.getFilterConfigs(),e}renderAddSubModelButton(){let e=this.addBlockItems;return(0,D.jsx)(O.AddSubModelButton,{model:this,subModelKey:"items",items:e,subModelBaseClasses:e?void 0:this.subModelBaseClasses,children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(tD.A,{}),"data-flow-add-block":!0,children:this.context.t("Add block")})})}render(){return(0,D.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),(0,w._)(this,"viewActivatedListener",void 0),(0,w._)(this,"dragOverlayConfig",{columnInsert:{before:{offsetTop:-12},after:{offsetTop:12}},columnEdge:{left:{offsetLeft:-5},right:{offsetLeft:6}}})}}d4.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 d6=l(77471),d3=l(72380),d5=l(52175);class d8 extends O.FlowModel{}var d9=l(5679);class d7 extends d6.z{}d7.define({hide:!0,label:"Filter blocks"});var ue=l(44279),ut=l(21637),ul=l(2117);async function ur(e){var t,l,r,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==(r=n.prevent)||r.call(n),e.exitAll()))}let un="__no_active_page_tab__";function ui(e){var t;let{hiddenTabKeys:l,hiddenActiveTabLabel:r,items:n,tabBarProps:i}=e,o=n.filter(e=>!l.has(String(e.key))).map(e=>{let{children:t,className:l,destroyInactiveTabPane:r,forceRender:n,style:i,...o}=e;return{...o,children:null}}),a=o.some(e=>e.key===i.activeKey)?i.activeKey:un,s=null==(t=o.find(e=>!e.disabled))?void 0:t.key,d=l.has(String(i.activeKey))?String(i.activeKey):void 0,u=d&&i.id?`${i.id}-tab-${d}`:void 0,c=e=>{let t=String(e.key);if(a!==un||t!==String(s))return e;let l=!1,r=A.Children.map(e.props.children,e=>l||!A.isValidElement(e)||"tab"!==e.props.role?e:(l=!0,A.cloneElement(e,{tabIndex:0})));return A.cloneElement(e,void 0,r)};return(0,D.jsxs)(D.Fragment,{children:[u?(0,D.jsx)("span",{id:u,hidden:!0,children:r||d}):null,(0,D.jsx)(ut.A,{activeKey:un,animated:{inkBar:i.animated.inkBar,tabPane:!1},destroyInactiveTabPane:!0,id:i.id,items:o,more:i.more,onTabClick:(e,t)=>i.onTabClick(e,t),onTabScroll:i.onTabScroll,renderTabBar:(e,t)=>(0,D.jsx)(t,{...e,activeKey:a,children:c}),tabBarExtraContent:i.extra,tabBarGutter:i.tabBarGutter,tabBarStyle:i.style,tabPosition:i.tabPosition})]})}function uo(e){let{dependencyKey:t,onSync:l}=e,r=A.useRef(),n=A.useRef(!1),i=A.useRef();return A.useEffect(()=>{let e=l({previousEffectiveActiveKey:r.current,previousAllHidden:n.current,lastCorrectionSignature:i.current});r.current=e.effectiveActiveKey,n.current=e.previousAllHidden,i.current=e.lastCorrectionSignature},[t,l]),null}class ua extends O.FlowModel{getEnableTabs(){let e=this.context.currentRoute,t=this.props.routeId;return null!=t&&(null==e?void 0:e.id)!=null&&String(e.id)===String(t)&&"boolean"==typeof e.enableTabs?e.enableTabs:!!this.props.enableTabs}getAllTabs(){var e;return(null==(e=this.subModels)?void 0:e.tabs)||[]}getUnhiddenTabs(){return this.getAllTabs().filter(e=>!e.hidden)}getRequestedTabKey(){var e,t;let l=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;if(l){let e="string"==typeof l.tabUid&&l.tabUid?l.tabUid:void 0;if(e)return this.implicitActiveKey=void 0,{key:e,source:"url"};let t="string"==typeof this.props.tabActiveKey&&this.props.tabActiveKey?this.props.tabActiveKey:void 0;return t&&t===this.implicitActiveKey?{key:t,source:"implicit"}:{source:"none"}}let r="string"==typeof this.props.tabActiveKey&&this.props.tabActiveKey?this.props.tabActiveKey:void 0;return r?{key:r,source:r===this.implicitActiveKey?"implicit":"props"}:{source:"none"}}resolveTabActiveState(){var e,t;let l=this.getAllTabs(),r=this.getUnhiddenTabs(),n=this.getRequestedTabKey();if(!n.key)return{...n,status:"unspecified",effectiveKey:null==(e=r[0])?void 0:e.uid,allTabs:l,unhiddenTabs:r};let i=l.find(e=>e.uid===n.key);return"implicit"===n.source&&(!i||i.hidden)?{...n,status:"unspecified",effectiveKey:null==(t=r[0])?void 0:t.uid,allTabs:l,unhiddenTabs:r}:i?r.some(e=>e.uid===n.key)?{...n,status:"visible",effectiveKey:n.key,allTabs:l,unhiddenTabs:r}:{...n,status:"hidden",effectiveKey:n.key,allTabs:l,unhiddenTabs:r}:{...n,status:"unknown",effectiveKey:n.key,allTabs:l,unhiddenTabs:r}}getActiveTabKey(){if(!this.getEnableTabs()){var e;let t=null==(e=this.getFirstTab())?void 0:e.uid;if(t)return t}return this.resolveTabActiveState().effectiveKey}getTabActiveKeySyncDependency(){var e,t;let l=this.getAllTabs(),r=this.getUnhiddenTabs(),n=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;return JSON.stringify([!!this.context.flowSettingsEnabled,n&&n.tabUid||null,this.props.tabActiveKey||null,l.map(e=>e.uid),r.map(e=>e.uid),this.implicitActiveKey||null])}requestDocumentTitleUpdate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.updateDocumentTitle(e,t).catch(e=>{console.warn("[PageModel] Failed to update document title",e)})}rememberImplicitActiveKey(e){this.implicitActiveKey=e,this.props.tabActiveKey!==e&&this.setProps("tabActiveKey",e)}commitTabActiveKey(e,t){let{previousActiveKey:l,navigate:r,preserveImplicitKey:n=!1,rememberLocalTransition:i=!1}=t;if(i&&e&&(this.locallyCommittedTabTransition={activeKey:e,previousActiveKey:l}),this.implicitActiveKey=e&&n?e:void 0,r){var o,a,s;null==(s=this.context.view)||null==(a=s.navigation)||null==(o=a.changeTo)||o.call(a,{tabUid:e})}e&&e!==l&&this.invokeTabModelLifecycleMethod(e,"onActive"),l&&l!==e&&this.invokeTabModelLifecycleMethod(l,"onInactive"),this.setProps("tabActiveKey",e),e||this.requestDocumentTitleUpdate()}consumeLocallyCommittedTabTransition(e,t){let l=this.locallyCommittedTabTransition;return!!l&&!!t&&(l.activeKey===t&&l.previousActiveKey===e?(this.locallyCommittedTabTransition=void 0,!0):(t!==l.previousActiveKey&&(this.locallyCommittedTabTransition=void 0),!1))}scheduleActiveLifecycleRefresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirtyRefreshScheduled||(this.dirtyRefreshScheduled=!0,Promise.resolve().then(()=>{this.dirtyRefreshScheduled=!1,this.unmounted||!1!==(0,O.getPageActive)(this.context)&&this.activateCurrentTab(e)}).catch(()=>{}))}activateCurrentTab(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive",e)}deactivateCurrentTab(){let e=this.getActiveTabKey();e&&this.invokeTabModelLifecycleMethod(e,"onInactive")}onMount(){var e,t,l,r,n,i,o,a,s;super.onMount(),this.unmounted=!1,this.implicitActiveKey=void 0,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.requestDocumentTitleUpdate(),this.viewActivatedListener||(this.viewActivatedListener=e=>{this.activateCurrentTab()},null==(i=this.flowEngine)||null==(n=i.emitter)||null==(r=n.on)||r.call(n,O.VIEW_ACTIVATED_EVENT,this.viewActivatedListener));let d=(0,O.getEmitterViewActivatedVersion)(null==(l=this.flowEngine)?void 0:l.emitter),u=d>0&&d!==this.lastSeenEmitterViewActivatedVersion;this.lastSeenEmitterViewActivatedVersion=d,u&&!1!==(0,O.getPageActive)(this.context)&&this.activateCurrentTab(),this.dataSourceDirtyListener||(this.dataSourceDirtyListener=e=>{this.scheduleActiveLifecycleRefresh()},null==(s=this.flowEngine)||null==(a=s.emitter)||null==(o=a.on)||o.call(a,O.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener))}onUnmount(){var e,t,l,r,n,i;this.unmounted=!0,this.viewActivatedListener&&(null==(l=this.flowEngine)||null==(t=l.emitter)||null==(e=t.off)||e.call(t,O.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),this.dataSourceDirtyListener&&(null==(i=this.flowEngine)||null==(n=i.emitter)||null==(r=n.off)||r.call(n,O.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener),this.dataSourceDirtyListener=void 0),super.onUnmount()}invokeTabModelLifecycleMethod(e,t){var l,r;let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!e)return;"onActive"===t&&(null==(l=this.context)?void 0:l.pageInfo)&&(this.context.pageInfo.version="v2");let i=this.findSubModel("tabs",t=>t.uid===e)||this.flowEngine.getModel(e);if(i){if(i.context.tabActive){let e=!1!==(0,O.getPageActive)(i.context);i.context.tabActive.value=e&&"onActive"===t}null==(r=i.subModels.grid)||r.mapSubModels("items",e=>{var l;null==(l=e[t])||l.call(e,n)})}"onActive"===t&&this.requestDocumentTitleUpdate(e)}async updateDocumentTitle(e){var t,l,r,n,i,o,a,s,d,u,c,p,h,f,m,g,v,y,b,x;let w=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.unmounted||!1===(0,O.getPageActive)(this.context))return;let S=!!(null==(l=this.context)||null==(t=l.view)?void 0:t.navigation),A=null==(i=this.context)||null==(n=i.view)||null==(r=n.inputArgs)?void 0:r.viewUid,M=null==(s=this.flowEngine)||null==(a=s.context)||null==(o=a.route)?void 0:o.pathname;if(S&&A&&"string"==typeof M){let e=null==(u=this.context)||null==(d=u.layout)?void 0:d.routePath,t=null==(c=(0,O.parsePathnameToViewParams)(M,{basePath:(null==(h=this.context)||null==(p=h.layoutRoute)?void 0:p.basePathname)||((null==e?void 0:e.startsWith("/"))?e:"")}).at(-1))?void 0:c.viewUid;if(t&&t!==A)return}let F=++this.documentTitleUpdateVersion,k=async e=>{if(!e||"string"!=typeof e)return"";try{var t,l;let r=await (null==(t=(l=this.context).resolveJsonTemplate)?void 0:t.call(l,e));return null==r?"":String(r)}catch(t){return e}},C=this.getUnhiddenTabs(),P=e||this.getActiveTabKey(),j=!this.getEnableTabs()||!P&&0===C.length,E="";if(j)E=await k(null==(x=this.stepParams)||null==(b=x.pageSettings)||null==(y=b.general)?void 0:y.documentTitle)||this.props.title||"";else{let e=P?this.findSubModel("tabs",e=>e.uid===P)||this.flowEngine.getModel(P):this.getFirstTab();if(!e&&w<5)return void window.setTimeout(()=>{this.unmounted||F===this.documentTitleUpdateVersion&&this.requestDocumentTitleUpdate(P,w+1)},0);E=await k(null==e||null==(g=e.stepParams)||null==(m=g.pageTabSettings)||null==(f=m.tab)?void 0:f.documentTitle)||(null==e||null==(v=e.getTabTitle)?void 0:v.call(e))||""}F===this.documentTitleUpdateVersion&&"string"==typeof E&&""!==E&&(document.title=E)}mapTabs(){return this.mapSubModels("tabs",e=>({key:e.uid,label:(0,D.jsx)(O.Droppable,{model:e,children:(0,D.jsx)(O.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!0,showBorder:!1,toolbarPosition:"above",style:{transform:"translateY(8px)"}},extraToolbarItems:[{key:"drag-handler",component:O.DragHandler,sort:1}]})}),children:e.renderChildren()}))}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;let r=this.resolveTabActiveState(),n=this.mapTabs(),i=new Set(this.context.flowSettingsEnabled?[]:r.allTabs.filter(e=>e.hidden).map(e=>e.uid)),o="hidden"===r.status?null==(t=r.allTabs.find(e=>e.uid===r.effectiveKey))||null==(e=t.getTabTitle)?void 0:e.call(t):void 0,a=r.effectiveKey||(r.allTabs.length>0?un:void 0),s=(null==(l=this.context.themeToken)?void 0:l.paddingLG)??16,d=void 0!==this.tabBarExtraContent.left?this.tabBarExtraContent.left:(0,D.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:s,height:1}}),u=void 0!==this.tabBarExtraContent.right?this.tabBarExtraContent.right:(0,D.jsx)("span",{style:{display:"inline-flex",marginInlineEnd:s},children:(0,D.jsx)(O.AddSubModelButton,{model:this,subModelKey:"tabs",items:[{key:"blank",label:this.context.t("Blank tab"),createModelOptions:this.createPageTabModelOptions}],children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(tD.A,{}),children:this.context.t("Add tab")})})});return(0,D.jsxs)(O.DndProvider,{onDragEnd:this.handleDragEnd.bind(this),children:[(0,D.jsx)(uo,{dependencyKey:this.getTabActiveKeySyncDependency(),onSync:this.synchronizeTabActiveKey}),(0,D.jsx)(ut.A,{activeKey:a,tabBarStyle:this.props.tabBarStyle,items:n,renderTabBar:i.size>0?e=>(0,D.jsx)(ui,{hiddenTabKeys:i,hiddenActiveTabLabel:o,items:n,tabBarProps:e}):void 0,onChange:e=>{var t;let l=this.getActiveTabKey();this.implicitActiveKey=void 0,this.commitTabActiveKey(e,{previousActiveKey:l,navigate:!!(null==(t=this.context.view)?void 0:t.navigation),rememberLocalTransition:!0})},tabBarExtraContent:{left:d,right:u}})]})}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,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&(0,D.jsx)(ue.z,{title:this.props.title,style:t}),l?this.renderTabs():this.renderFirstTab()]})}constructor(...e){super(...e),(0,w._)(this,"tabBarExtraContent",{}),(0,w._)(this,"viewActivatedListener",void 0),(0,w._)(this,"dataSourceDirtyListener",void 0),(0,w._)(this,"lastSeenEmitterViewActivatedVersion",0),(0,w._)(this,"dirtyRefreshScheduled",!1),(0,w._)(this,"unmounted",!1),(0,w._)(this,"documentTitleUpdateVersion",0),(0,w._)(this,"implicitActiveKey",void 0),(0,w._)(this,"locallyCommittedTabTransition",void 0),(0,w._)(this,"synchronizeTabActiveKey",e=>{let t=this.resolveTabActiveState(),l=t.allTabs.length>0&&0===t.unhiddenTabs.length,r=(e,t)=>({previousEffectiveActiveKey:e,effectiveActiveKey:e,previousAllHidden:l,lastCorrectionSignature:t});if("unknown"===t.status)return r(t.effectiveKey);if("visible"===t.status){let l=t.effectiveKey;if(this.consumeLocallyCommittedTabTransition(e.previousEffectiveActiveKey,l))return r(l);let n=e.previousAllHidden&&"url"!==t.source,i=!!e.previousEffectiveActiveKey&&e.previousEffectiveActiveKey!==l;if((n||i)&&l){let n=`visible:${t.source}:${e.previousEffectiveActiveKey||""}->${l}`;return n!==e.lastCorrectionSignature&&this.commitTabActiveKey(l,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1,preserveImplicitKey:"implicit"===t.source}),r(l,n)}return r(l)}if("hidden"===t.status){let l=t.effectiveKey;if(this.consumeLocallyCommittedTabTransition(e.previousEffectiveActiveKey,l))return r(l);if(l&&e.previousEffectiveActiveKey!==l){let n=`hidden:${t.source}:${e.previousEffectiveActiveKey||""}->${l}`;return n!==e.lastCorrectionSignature&&this.commitTabActiveKey(l,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}),r(l,n)}return r(l)}let n=t.effectiveKey;if(!n){if(!l){if("implicit"!==t.source||!t.key)return r(void 0);let l=`implicit-missing:${e.previousEffectiveActiveKey||""}`;return l!==e.lastCorrectionSignature&&this.commitTabActiveKey(void 0,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}),r(void 0,l)}let n=`all-hidden:${e.previousEffectiveActiveKey||""}`;return e.previousAllHidden||n===e.lastCorrectionSignature||(this.implicitActiveKey=void 0,this.props.tabActiveKey||e.previousEffectiveActiveKey?this.commitTabActiveKey(void 0,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1}):this.requestDocumentTitleUpdate()),r(void 0,n)}let i=e.previousAllHidden||!!e.previousEffectiveActiveKey&&e.previousEffectiveActiveKey!==n,o=`implicit:${e.previousEffectiveActiveKey||""}->${n}`;return i&&o!==e.lastCorrectionSignature?this.commitTabActiveKey(n,{previousActiveKey:e.previousEffectiveActiveKey,navigate:!1,preserveImplicitKey:!0}):this.rememberImplicitActiveKey(n),r(n,i?o:void 0)}),(0,w._)(this,"createPageTabModelOptions",()=>{let e=(0,on.uid)();return{uid:e,use:"RootPageTabModel",props:{route:{parentId:this.props.routeId,type:"tabs",schemaUid:e,tabSchemaName:(0,on.uid)(),params:[],hideInMenu:!1,enableTabs:!1}}}})}}ua.registerEvents({close:{title:(0,O.tExpr)("Close"),name:"close",hideInSettings(e){var t;return!!(null==(t=e.view)?void 0:t.preventClose)},uiSchema:{condition:{type:"object",title:(0,O.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":ul.H}},handler:ul.b}}),ua.registerFlow({key:"closeGuard",title:(0,O.tExpr)("Close guard"),on:"close",steps:{confirmUnsavedChanges:{title:(0,O.tExpr)("Unsaved changes confirmation"),handler:ur}}}),ua.registerFlow({key:"pageSettings",title:(0,O.tExpr)("Page settings"),steps:{general:{title:(0,O.tExpr)("Edit page"),uiSchema:{title:{type:"string",title:(0,O.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},documentTitle:{type:"string",title:(0,O.tExpr)("Document title"),description:(0,O.tExpr)("Used as the browser tab title when tabs are disabled. Supports variables. Leave empty to use Page title."),"x-decorator":"FormItem","x-component":a0.n,"x-component-props":{rows:1,maxRows:6}},displayTitle:{type:"boolean",title:(0,O.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"},enableTabs:{type:"boolean",title:(0,O.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,r;let n=null==(r=e.model.context)||null==(l=r.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})),await e.model.updateDocumentTitle()}}}});var us=l(68904);class ud extends ua{renderBackButtonWhenTabsDisabled(){var e,t,l;if((null==(t=this.context)||null==(e=t.view)?void 0:e.type)!=="embed")return null;let r=null==(l=this.context)?void 0:l.themeToken,n={...this.props.tabBarStyle,paddingBlock:(null==r?void 0:r.paddingXS)??8};return(0,D.jsx)("div",{style:n,children:(0,D.jsx)(uu,{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");e.active.id!==e.over.id&&await this.flowEngine.moveModel(e.active.id,e.over.id)}render(){return(0,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&this.props.title&&(0,D.jsx)(ue.z,{title:this.props.title,style:this.props.headerStyle}),this.props.enableTabs?this.renderTabs():(0,D.jsxs)(D.Fragment,{children:[this.renderBackButtonWhenTabsDisabled(),this.renderFirstTab()]})]})}constructor(...e){super(...e),(0,w._)(this,"tabBarExtraContent",{left:(0,D.jsx)(uu,{})}),(0,w._)(this,"createPageTabModelOptions",()=>({use:"ChildPageTabModel"}))}}let uu=e=>{let{renderSpacerWhenNoBack:t=!0}=e,l=(0,O.useFlowContext)(),r=l.themeToken,n=32,i=(null==r?void 0:r.paddingLG)??16,o=(0,A.useMemo)(()=>({width:"auto",height:"auto",lineHeight:1,padding:r.paddingXS,marginLeft:r.paddingLG,marginRight:n-r.paddingXS}),[r.paddingLG,r.paddingXS]);return"embed"!==l.view.type?t?(0,D.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:i,height:1}}):null:(0,D.jsx)(eY.Ay,{"aria-label":"back-button",type:"text",icon:(0,D.jsx)(us.A,{}),style:o,onClick:l.view.close})};class uc extends O.FlowModel{}uc.registerFlow({key:"pageSettings",title:(0,O.tExpr)("Page settings"),steps:{general:{title:(0,O.tExpr)("General"),uiSchema:{title:{type:"string",title:(0,O.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},displayTitle:{type:"boolean",title:(0,O.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,r;let n=null==(r=e.model.context)||null==(l=r.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 up extends uc{renderFirstTab(){var e;return(0,D.jsx)(O.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&(0,D.jsx)(ue.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}function uh(e){let{ctx:t,options:l}=e,{data:r,loading:n}=(0,iN.A)(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==r?void 0:r.uid)?(0,D.jsx)(O.FlowModelRenderer,{model:r,fallback:(0,D.jsx)(i$,{style:{margin:i}})}):(0,D.jsx)(i$,{style:{margin:i}})}function uf(e){return Array.isArray(e)?e.find(e=>!!e&&"object"==typeof e):e&&"object"==typeof e?e:void 0}function um(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function ug(e){return um(e)}let uv=new WeakMap;async function uy(e){let t=(uv.get(e)||Promise.resolve()).catch(()=>void 0).then(()=>e.refreshAccessible());uv.set(e,t);try{await t}finally{uv.get(e)===t&&uv.delete(e)}}class ub extends O.FlowModel{onInit(e){super.onInit(e),this.context.defineProperty("tabActive",{value:O.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",r=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"})||r}getTabIcon(){var e,t;return null==(t=this.stepParams.pageTabSettings)||null==(e=t.tab)?void 0:e.icon}renderChildren(){return null}renderHiddenInConfig(){return(0,D.jsxs)("span",{style:{display:"inline-block",opacity:.5},children:[(0,D.jsx)(eE.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}render(){return(0,D.jsxs)("span",{style:{display:"inline-block"},children:[(0,D.jsx)(eE.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}}ub.registerFlow({key:"pageTabSettings",title:(0,O.tExpr)("Tab settings"),steps:{tab:{title:(0,O.tExpr)("Edit tab"),preset:!0,uiSchema:{title:{title:(0,O.tExpr)("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},documentTitle:{type:"string",title:(0,O.tExpr)("Document title"),description:(0,O.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":a0.n,"x-component-props":{rows:1,maxRows:6}},icon:{title:(0,O.tExpr)("Icon"),"x-decorator":"FormItem","x-component":"IconPicker"}},async handler(e,t){var l;let r="function"==typeof(null==e?void 0:e.t)?e.t.bind(e):e=>e;e.model.setProps("title",r(t.title,{ns:"lm-desktop-routes"})),e.model.setProps("icon",t.icon);let n=e.engine.getModel(e.model.parentId);await (null==n||null==(l=n.updateDocumentTitle)?void 0:l.call(n))}},linkageRules:{use:"tabLinkageRules"}}});class ux extends ub{onInit(e){super.onInit(e),this.shouldHydratePersistedLinkageRules()&&this.hydratePersistedLinkageRules().catch(e=>{console.warn("[RootPageTabModel] Failed to hydrate tab linkage rules",e)})}hasExplicitLinkageRulesStep(){var e;let t=null==(e=this.stepParams)?void 0:e.pageTabSettings;return um(t)&&Object.prototype.hasOwnProperty.call(t,"linkageRules")}shouldHydratePersistedLinkageRules(){var e,t;return!!this.context.flowSettingsEnabled||(null==(t=this.props.route)||null==(e=t.options)?void 0:e.hasPersistedPageTabFlowModel)===!0}async fetchPersistedAnchor(){var e;let t=await this.context.api.request({url:"flowModels:findOne",params:{uid:this.uid}}),l=null==t||null==(e=t.data)?void 0:e.data;return um(l)?l:void 0}async performPersistedLinkageRulesHydrate(){if(this.hasExplicitLinkageRulesStep())return;let e=await this.fetchPersistedAnchor();if(this.hasExplicitLinkageRulesStep())return;let t=um(null==e?void 0:e.stepParams)?e.stepParams:void 0,l=um(null==t?void 0:t.pageTabSettings)?t.pageTabSettings:void 0,r=null==l?void 0:l.linkageRules;ug(r)&&(this.setStepParams("pageTabSettings","linkageRules",B().cloneDeep(r)),this.invalidateFlowCache("beforeRender",!0),await this.rerender())}hydratePersistedLinkageRules(){if(this.persistedLinkageRulesHydrated)return Promise.resolve();if(this.persistedLinkageRulesHydrating)return this.persistedLinkageRulesHydrating;let e=this.performPersistedLinkageRulesHydrate();return this.persistedLinkageRulesHydrating=e,e.then(()=>{this.persistedLinkageRulesHydrating===e&&(this.persistedLinkageRulesHydrated=!0,this.persistedLinkageRulesHydrating=void 0)}).catch(()=>{this.persistedLinkageRulesHydrating===e&&(this.persistedLinkageRulesHydrating=void 0)}),e}async openFlowSettings(e){return(null==e?void 0:e.flowKey)==="pageTabSettings"&&(null==e?void 0:e.stepKey)==="linkageRules"&&await this.hydratePersistedLinkageRules(),super.openFlowSettings(e)}renderChildren(){return(0,D.jsx)(uh,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}async saveStepParams(){let e=this.hasExplicitLinkageRulesStep(),t=e?B().cloneDeep(this.stepParams.pageTabSettings.linkageRules):void 0;await this.save(),e&&t&&await this.persistLinkageRulesToAnchor(t)}async save(){var e,t,l,r,n,i,o,a,s,d,u,c;let p=this.serialize(),h=null==(l=this.stepParams)||null==(t=l.pageTabSettings)||null==(e=t.tab)?void 0:e.documentTitle,f=this.props.route||{},m=null!=f.id,g=m&&f.schemaUid?null==(n=this.context.routeRepository)||null==(r=n.getRouteBySchemaUid)?void 0:r.call(n,f.schemaUid):void 0,v={...m?{schemaUid:f.schemaUid}:f,title:this.getTabTitle(""),icon:this.getTabIcon(),options:{...g?g.options:f.options,flowRegistry:p.flowRegistry,documentTitle:h}},y=await this.context.api.request(m?{method:"post",url:`desktopRoutes:update?filter[id]=${f.id}`,data:v}:{method:"post",url:"desktopRoutes:updateOrCreate",params:{filterKeys:["schemaUid"]},data:v}),b=uf(null==y||null==(i=y.data)?void 0:i.data);b&&this.setProps("route",{...this.props.route,...b,options:{...null==(o=this.props.route)?void 0:o.options,...b.options}});try{(null==(a=this.context.routeRepository)?void 0:a.refreshAccessible)?await uy(this.context.routeRepository):await (null==(s=(d=this.context).refreshDesktopRoutes)?void 0:s.call(d))}catch(e){null==(c=this.context.logger)||null==(u=c.warn)||u.call(c,{err:e},"[client-v2] Failed to refresh desktop routes after saving a page tab")}}buildAnchorPayload(e,t){let l="string"==typeof(null==e?void 0:e.uid)&&e.uid.length>0?B().cloneDeep(e):{uid:this.uid,use:"RouteModel"};delete l.subModels;let r=um(l.stepParams)?l.stepParams:{},n=um(r.pageTabSettings)?r.pageTabSettings:{};return{...l,stepParams:{...r,pageTabSettings:{...n,linkageRules:B().cloneDeep(t)}}}}async persistLinkageRulesToAnchor(e){let t=await this.fetchPersistedAnchor(),l=this.buildAnchorPayload(t,e);await this.context.api.request({method:"post",url:"flowModels:save",data:l});let r=Array.isArray(e.value)&&e.value.length>0;await this.syncPersistedPageTabFlowModelMarker(r),this.persistedLinkageRulesHydrated=!0}async syncPersistedPageTabFlowModelMarker(e){var t,l,r;let n=this.props.route;if((null==n?void 0:n.id)==null)throw Error("Cannot persist page tab FlowModel marker before the desktop route is saved.");if("function"!=typeof(null==(t=this.context.routeRepository)?void 0:t.updateRoute))throw Error("Route repository is unavailable while persisting the page tab FlowModel marker.");let i=n.schemaUid?null==(l=(r=this.context.routeRepository).getRouteBySchemaUid)?void 0:l.call(r,n.schemaUid):void 0,o={...(null==i?void 0:i.options)||n.options||{}};e?o.hasPersistedPageTabFlowModel=!0:delete o.hasPersistedPageTabFlowModel;let a=Object.keys(o).length>0?o:void 0;await this.context.routeRepository.updateRoute(n.id,{options:a},{refreshAfterMutation:!1}),this.setProps("route",{...n,options:a})}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}constructor(...e){super(...e),(0,w._)(this,"persistedLinkageRulesHydrated",!1),(0,w._)(this,"persistedLinkageRulesHydrating",void 0)}}class uw extends ub{renderChildren(){return(0,D.jsx)(uh,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class uS extends O.FlowModel{render(){return(0,D.jsx)(uh,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class uA extends ua{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,r=this.props.routeId;l&&(null==r||null==l.id||String(l.id)===String(r))&&(l.enableTabs=e),this.setProps("enableTabs",e)}async ensurePersistedRouteId(e){var t,l,r,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==(r=n.route)?void 0:r.id)}onMount(){super.onMount(),(0,O.reaction)(()=>this.context.pageActive.value,()=>{var e,t;if(null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.activationControlledByLayout){this.mounted=!0;return}this.context.pageActive.value&&this.mounted&&this.activateCurrentTab(!0),!1===this.context.pageActive.value&&this.deactivateCurrentTab(),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 r=this.flowEngine.getModel(null==(t=e.active)?void 0:t.id),n=this.flowEngine.getModel(null==(l=e.over)?void 0:l.id);if(!r||!n||r.uid===n.uid)return;let[i,o]=await Promise.all([this.ensurePersistedRouteId(r),this.ensurePersistedRouteId(n)]);null!=i&&null!=o&&(await this.context.api.request({url:"desktopRoutes:move",method:"post",params:{sourceId:i,targetId:o,sortField:"sort"}}),this.flowEngine.moveModel(r.uid,n.uid,{persist:!1}))}constructor(...e){super(...e),(0,w._)(this,"mounted",!1)}}uA.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),B().castArray(null==l?void 0:l.children).filter(Boolean).sort((e,t)=>(e.sort||0)-(t.sort||0)))){var r,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==(r=t.options)?void 0:r.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 uM extends uc{renderFirstTab(){var e;return(0,D.jsx)(O.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,D.jsxs)(D.Fragment,{children:[this.props.displayTitle&&(0,D.jsx)(ue.z,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}class uF extends df.S0{constructor(...e){super(...e),(0,w._)(this,"defaultProps",{title:(0,O.tExpr)("Popup"),icon:"ExportOutlined"})}}uF.define({label:(0,O.tExpr)("Popup")}),uF.registerFlow(ev);var uk=l(33297);class uC extends uF{getAclActionName(){return"create"}constructor(...e){super(...e),(0,w._)(this,"defaultPopupTitle",(0,O.tExpr)("Add new")),(0,w._)(this,"defaultProps",{type:"primary",title:(0,O.tExpr)("Add new"),icon:"PlusOutlined"})}}(0,w._)(uC,"scene",df.s5.collection),uC.define({label:(0,O.tExpr)("Add new"),sort:10});let uP=e=>{var t,l,r,n,i,o;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==(r=a.getResourceSettingsInitParams)?void 0:r.call(a))||(null==a||null==(n=a.getStepParams)?void 0:n.call(a,"resourceSettings","init"))||(null==e||null==(o=e.model)||null==(i=o.getStepParams)?void 0:i.call(o,"resourceSettings","init"))},uj=e=>{var t;return!!(null==(t=uP(e))?void 0:t.associationName)},uE=e=>{var t,l,r,n;let i=uP(e),o=(null==e||null==(t=e.blockModel)?void 0:t.association)||(null==e||null==(n=e.model)||null==(r=n.context)||null==(l=r.blockModel)?void 0:l.association),a=null==o?void 0:o.targetCollection;return{dataSourceKey:(null==a?void 0:a.dataSourceKey)||(null==i?void 0:i.dataSourceKey),collectionName:(null==a?void 0:a.name)||(null==o?void 0:o.target)||(null==i?void 0:i.collectionName)}},uR=e=>{var t,l,r,n,i,o;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=uP(e);return{collectionField:s,sourceId:(null==a||null==(n=a.resource)||null==(r=n.getSourceId)?void 0:r.call(n))??(null==d?void 0:d.sourceId),associatedRecords:(null==a||null==(o=a.resource)||null==(i=o.getData)?void 0:i.call(o))||[]}},uT=async(e,t,l)=>{var r;return"function"==typeof(null==e?void 0:e[t])?await e[t]({values:l}):await (null==e||null==(r=e.runAction)?void 0:r.call(e,t,{data:l}))},uI=async e=>{var t,l,r,n,i,o,a,s,d,u,c,p;let h=(null==e||null==(t=e.blockModel)?void 0:t.resource)||(null==e?void 0:e.resource),f=(null==e||null==(l=e.blockModel)?void 0:l.collection)||(null==e?void 0:e.collection);if(!uj(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){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 m=null==f||null==(r=f.getFilterByTK)?void 0:r.call(f,e.record);await uT(h,"remove",[m]),await (null==(n=h.refresh)?void 0:n.call(h)),null==(o=e.message)||null==(i=o.success)||i.call(o,e.t("Record disassociated successfully"))},u_=async(e,t)=>{var l,r,n,i,o,a,s,d,u,c,p;let h=(null==e||null==(l=e.blockModel)?void 0:l.resource)||(null==e?void 0:e.resource),f=(null==e||null==(r=e.blockModel)?void 0:r.collection)||(null==e?void 0:e.collection);if(!uj(e)){null==(s=e.message)||null==(a=s.error)||a.call(s,e.t("No association block selected"));return}if(!h){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 m=t.map(e=>{var t;return(null==f||null==(t=f.getFilterByTK)?void 0:t.call(f,e))??e}).filter(e=>null!=e);await uT(h,"add",m),await (null==(n=h.refresh)?void 0:n.call(h)),null==(o=e.message)||null==(i=o.success)||i.call(o,e.t("Record associated successfully"))};function uD(e){let{options:t}=e,l=(0,O.useFlowViewContext)(),{data:r,loading:n}=(0,iN.A)(async()=>await l.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:l,skipSave:!l.flowSettingsEnabled}),{refreshDeps:[l,t]});return!n&&(null==r?void 0:r.uid)?(0,D.jsx)(O.FlowModelRenderer,{model:r,fallback:(0,D.jsx)(i$,{style:{margin:16}})}):(0,D.jsx)(i$,{style:{margin:16}})}function uN(e){let{model:t}=e,l=(0,O.useFlowViewContext)(),{Header:r,Footer:n,type:i}=l.view;return(0,D.jsxs)("div",{children:[(0,D.jsx)(r,{title:"dialog"===i?(0,D.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,D.jsx)(uD,{options:{parentId:l.view.inputArgs.parentId,subKey:"associate-selector-grid",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"}}),(0,D.jsx)(n,{children:"dialog"===i?(0,D.jsx)("div",{style:{padding:`0 ${l.themeToken.paddingLG}px ${l.themeToken.paddingLG}px`},children:(0,D.jsx)(eY.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})}):(0,D.jsx)(eY.Ay,{type:"primary",onClick:async()=>{await t.associateSelectedRows(),l.view.close()},children:l.t("Submit")})})]})}class uO extends df.S0{getAclActionName(){return"update"}async associateSelectedRows(){await u_(this.context,this.selectedRows),this.selectedRows=[]}constructor(...e){super(...e),(0,w._)(this,"defaultPopupTitle",(0,O.tExpr)("Select record")),(0,w._)(this,"selectedRows",[]),(0,w._)(this,"defaultProps",{title:(0,O.tExpr)("Associate"),icon:"LinkOutlined"})}}(0,w._)(uO,"scene",df.s5.collection),(0,w._)(uO,"capabilityActionName","update"),uO.define({label:(0,O.tExpr)("Associate"),sort:15,hide:e=>!uj(e)}),uO.registerFlow({key:"associateSettings",title:(0,O.tExpr)("Associate settings"),on:"click",steps:{openSelector:{async handler(e,t){var l,r,n;let i=uE(e),o=(null==(l=e.inputArgs)?void 0:l.isMobileLayout)?"embed":(null==(r=e.inputArgs)?void 0:r.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:o,width:s[o][a],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:i.dataSourceKey,collectionName:i.collectionName,...uR(e),rowSelectionProps:{type:"checkbox",renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{e.model.selectedRows=l||[]}}},content:()=>(0,D.jsx)(uN,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===o?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}});class u$ extends df.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{title:(0,O.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,w._)(u$,"scene",df.s5.collection),(0,w._)(u$,"capabilityActionName","destroyMany"),u$.define({label:(0,O.tExpr)("Delete")}),u$.registerFlow({key:"deleteSettings",title:(0,O.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,O.tExpr)("Delete record"),content:(0,O.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 r=e.blockModel.resource;0===r.getSelectedRows().length?e.message.warning(e.t("Please select at least one record to delete")):(await r.destroy(e.blockModel.collection.getFilterByTK(r.getSelectedRows())),e.message.success(e.t("Selected records deleted successfully")))}}}});class uB extends df.S0{getAclActionName(){return"destroy"}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"link",title:(0,O.tExpr)("Delete"),icon:"DeleteOutlined"})}}(0,w._)(uB,"scene",df.s5.record),uB.define({label:(0,O.tExpr)("Delete"),sort:60}),uB.registerFlow({key:"deleteSettings",title:(0,O.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,O.tExpr)("Delete record"),content:(0,O.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 uL extends df.S0{getAclActionName(){return"update"}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"link",title:(0,O.tExpr)("Disassociate"),icon:"DisconnectOutlined"})}}(0,w._)(uL,"scene",df.s5.record),(0,w._)(uL,"capabilityActionName","update"),uL.define({label:(0,O.tExpr)("Disassociate"),sort:65,hide:e=>!uj(e)}),uL.registerFlow({key:"disassociateSettings",title:(0,O.tExpr)("Disassociate settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,O.tExpr)("Disassociate record"),content:(0,O.tExpr)("Are you sure you want to disassociate it?")}},disassociate:{async handler(e){await uI(e)}}}});class uq extends uF{getAclActionName(){return"update"}constructor(...e){super(...e),(0,w._)(this,"defaultPopupTitle",(0,O.tExpr)("Edit")),(0,w._)(this,"defaultProps",{title:(0,O.tExpr)("Edit"),icon:"EditOutlined"})}}(0,w._)(uq,"scene",df.s5.record),uq.define({label:(0,O.tExpr)("Edit"),sort:20});var uV=l(94384),uz=l(68669);class uK extends df.S0{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=uW(this.props.filterableFieldNames||[],t.map(e=>e.name));return this.map.set(this.props.filterableFieldNames,l),l}render(){return this.context.isMobileLayout?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(O.MobilePopup,{title:this.context.t("Filter"),visible:this.props.open,onClose:()=>{this.setProps("open",!1)},children:(0,D.jsxs)("div",{style:{padding:this.context.themeToken.paddingMD,backgroundColor:this.context.themeToken.colorBgContainer},children:[(0,D.jsx)(uz.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,D.jsx)(se.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames(),maxAssociationFieldDepth:2})}),(0,D.jsx)("div",{style:{height:150}})]})}),super.render()]}):(0,D.jsx)(lq.A,{open:this.props.open,content:(0,D.jsx)(uz.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,D.jsx)(se.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames(),maxAssociationFieldDepth:2})}),trigger:"click",placement:"bottomLeft",onOpenChange:e=>{!1===e&&this.setProps("open",void 0)},children:super.render()})}constructor(...e){super(...e),(0,w._)(this,"map",new WeakMap),(0,w._)(this,"defaultProps",{type:"default",title:(0,O.tExpr)("Filter"),icon:"FilterOutlined",filterValue:{logic:"$and",items:[]}})}}function uU(e){for(var t,l=arguments.length,r=Array(l>1?l-1:0),n=1;n<l;n++)r[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,eE.w6)(e.interface,...r);return!!(null==t?void 0:t.filterable)})}function uW(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}(0,w._)(uK,"scene","collection"),uK.define({label:(0,O.tExpr)("Filter"),toggleable:!0,sort:5}),uK.registerFlow({key:"filterSettings",title:(0,O.tExpr)("Filter settings"),steps:{position:{handler(e,t){e.model.setProps("position",t.position||"left")}},filterableFieldNames:{title:(0,O.tExpr)("Filterable fields"),uiSchema:{filterableFieldNames:{type:"array","x-decorator":"FormItem","x-component":e=>{var t;let{model:l}=(0,O.useFlowSettingsContext)(),r=uU(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,D.jsx)(uV.A,{...e,dataSource:r,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,r,n,i;return{filterableFieldNames:uU(e.blockModel.collection,null==(l=e.model)||null==(t=l.context)?void 0:t.dataSourceManager,null==(i=e.model)||null==(n=i.context)||null==(r=n.app)?void 0:r.dataSourceManager).map(e=>e.name)||[]}},handler(e,t){e.model.setProps("filterableFieldNames",t.filterableFieldNames)}},defaultFilter:{title:(0,O.tExpr)("Default filter conditions"),uiSchema:{defaultFilter:{type:"object","x-decorator":"FormItem","x-component":e=>{let{model:t}=(0,O.useFlowSettingsContext)();return(0,D.jsx)(se.I8,{value:e.value||{},FilterItem:e=>(0,D.jsx)(se.Et,{...e,model:t,maxAssociationFieldDepth:2})})}}},defaultParams:e=>({defaultFilter:e.model.defaultProps.filterValue}),handler(e,t){e.model.setProps("defaultFilterValue",B().cloneDeep(t.defaultFilter)),e.model.setProps("filterValue",B().cloneDeep(t.defaultFilter))}}}}),uK.registerFlow({key:"submitSettings",on:"submit",steps:{submit:{handler(e,t){let l=e.blockModel,r=null==l?void 0:l.resource;if(!l||!r)return;let n=(0,ea.transformFilter)(e.model.props.filterValue),i=!(0,ea.isEmptyFilter)(n);l.setFilterActive(e.model.uid,i),i?(r.addFilterGroup(e.model.uid,n),r.setPage(1)):r.removeFilterGroup(e.model.uid),"manual"!==l.getDataLoadingMode()||i||l.hasActiveFilters()?r.refresh():(r.setData([]),r.setMeta({count:0,hasNext:!1}),"function"==typeof r.setPage&&r.setPage(1),r.loading=!1),e.model.setProps("open",!1)}}}}),uK.registerFlow({key:"resetSettings",title:(0,O.tExpr)("Reset"),on:"reset",steps:{reset:{handler(e,t){let l=e.blockModel,r=null==l?void 0:l.resource;if(!l||!r)return;r.removeFilterGroup(e.model.uid),l.setFilterActive(e.model.uid,!1);let n=l.getDataLoadingMode(),i=e.model.props.defaultFilterValue,o=!(0,ea.isEmptyFilter)((0,ea.transformFilter)(i));"manual"!==n||o||l.hasActiveFilters()?(o&&(r.addFilterGroup(e.model.uid,(0,ea.transformFilter)(i)),l.setFilterActive(e.model.uid,!0),r.setPage(1)),r.refresh()):(r.setData([]),r.setMeta({count:0,hasNext:!1}),"function"==typeof r.setPage&&r.setPage(1),r.loading=!1),e.model.setProps("open",!1),e.model.setProps("filterValue",B().cloneDeep(i))}}}}),uK.registerFlow({key:"openSettings",on:"click",steps:{open:{handler(e,t){e.model.setProps("open",!e.model.props.open)}}}});var uH=l(89378);function uY(e,t){var l;let r=(null==(l=e.inputArgs)?void 0:l.preview)||{},n=(null==r?void 0:r.version)??(null==t?void 0:t.version)??"v1";return{code:("string"==typeof(null==r?void 0:r.code)?r.code:void 0)??(null==t?void 0:t.code)??"",version:n}}class uG extends df.S0{constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"default",title:(0,O.tExpr)("JS action"),icon:"JavaScriptOutlined"})}}uG.define({label:(0,O.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSActionModel"}}),uG.registerFlow({key:"clickSettings",on:"click",title:(0,O.tExpr)("Click settings"),steps:{runJs:{title:(0,O.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":uH.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:`
|
|
444
444
|
ctx.message.info('Hello JS action.');
|
|
445
445
|
`}),async handler(e,t){let{code:l,version:r}=uY(e,t);await e.runjs(l,void 0,{version:r})}}}});class uJ extends df.S0{constructor(...e){super(...e),(0,w._)(this,"defaultProps",{title:(0,O.tExpr)("JS action"),icon:"JavaScriptOutlined"})}}(0,w._)(uJ,"scene",df.s5.collection),uJ.define({label:(0,O.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSCollectionActionModel"}}),uJ.registerFlow({key:"clickSettings",on:"click",title:(0,O.tExpr)("Click settings"),steps:{runJs:{title:(0,O.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":uH.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:`
|
|
446
446
|
const rows = ctx.resource?.getSelectedRows?.() || [];
|
|
@@ -482,7 +482,7 @@ if (!ctx.record) {
|
|
|
482
482
|
flex-shrink: 0;
|
|
483
483
|
flex: 1;
|
|
484
484
|
}
|
|
485
|
-
`},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":a0.n,"x-component-props":{rows:1}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}},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","x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}}}}},handler(e,t){e.model.setProps({url:t.url,searchParams:t.searchParams,openInNewWindow:t.openInNewWindow})}}}});class cf extends df.S0{setTitle(e){this.setProps({title:e})}setExpandFlag(e){this.expandFlag=e}getTitle(){return this.expandFlag?this.context.t("Collapse all"):this.context.t("Expand all")}getIcon(){return this.expandFlag?"NodeCollapseOutlined":"NodeExpandOutlined"}constructor(...e){super(...e),(0,w._)(this,"expandFlag",void 0),(0,w._)(this,"defaultProps",{type:"default",icon:"DownOutlined"})}}function cm(e){let{idKey:t="id",childrenKey:l="children"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=[];function n(e){if(Array.isArray(e))for(let i of e){let e=i[l];r.push(i[t]),Array.isArray(e)&&e.length>0&&n(e)}}return n(e),r}(0,w._)(cf,"scene",df.s5.collection);let cg=e=>cm(e);cf.registerFlow({key:"expandCollapseSettingsInit",sort:200,steps:{init:{handler(e,t){e.blockModel.props.defaultExpandAllRows?e.model.setExpandFlag(!0):e.model.setExpandFlag(!1)}}}}),cf.registerFlow({key:"expandCollapseSettings",on:"click",steps:{expandCollapse:{async handler(e,t){var l;if(!(null==(l=e.blockModel)?void 0:l.resource))return;let r=e.blockModel.resource,{treeTable:n}=e.blockModel.props;if(n)if(e.model.expandFlag)e.blockModel.setProps({expandedRowKeys:[]}),e.model.setExpandFlag(!1);else{let t=cg(r.getData());e.blockModel.setProps({expandedRowKeys:t}),e.model.setExpandFlag(!0)}}}}}),cf.define({label:(0,O.escapeT)("Expand/Collapse"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.model.props.treeTable}});class cv extends uF{getAclActionName(){return"create"}onInit(e){super.onInit(e),this.context.defineProperty("association",{get:()=>this.context.blockModel.dataSource.getAssociation(`${this.context.blockModel.collection.name}.children`)})}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"link",title:(0,O.tExpr)("Add child"),icon:"PlusOutlined"})}}(0,w._)(cv,"capabilityActionName",null),cv.registerFlow({key:"addChildSettingsInit",steps:{addChildInit:{async handler(e,t){e.model.onClick=t=>{e.model.dispatchEvent("click",{event:t,...e.inputArgs,sourceId:e.record.id,filterByTk:null},{debounce:!0})}}}}}),cv.define({label:(0,O.tExpr)("Add child"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.blockModel.props.treeTable}}),dh.registerActionModels({AddChildActionModel:cv});var cy=l(89013),cb=l(96491);class cx extends cb.F4{useHooksBeforeRender(){let[e]=cy.A.useForm();this.context.defineProperty("form",{get:()=>e})}onInit(e){super.onInit(e);let t=(0,O.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>{var e,t;return null==(e=(t=this).getCurrentRecord)?void 0:e.call(t)},cache:!1,resolveOnServer:(0,O.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>{var e,t;return null==(e=(t=this).getCurrentRecord)?void 0:e.call(t)}),meta:t}),this.context.defineProperty("filterManager",{once:!0,get:()=>new d_(this,null==e?void 0:e.filterManager)}),this.isManualRefresh=!0}createResource(e,t){let l=this.context.createResource(O.SingleRecordResource);return l.isNewRecord=!0,l}renderComponent(){var e;let{colon:t,labelAlign:l,labelWidth:r,labelWrap:n,layout:i}=this.props;return(0,D.jsx)(cb.s2,{model:this,layoutProps:{colon:t,labelAlign:l,labelWidth:r,labelWrap:n,layout:i},children:(0,D.jsx)(O.FlowModelRenderer,{model:null==(e=this.subModels)?void 0:e.grid,showFlowSettings:!1})})}setInitialAssignedValues(e){var t;let l=null==(t=this.subModels)?void 0:t.grid;Object.entries(e||{}).forEach(e=>{let[t,r]=e;l.addOrEnsureItem(t,r)})}getAssignedValues(){return this.subModels.grid.getAssignedValues()||{}}}cx.define({label:(0,O.tExpr)("Field assignments"),hide:!0,createModelOptions:{use:"AssignFormModel",subModels:{grid:{use:"AssignFormGridModel"}}}});class cw extends dX{serialize(){return{...super.serialize(),variableContractType:{type:"formGrid",use:this.use}}}renderAddSubModelButton(){return(0,D.jsx)(O.AddSubModelButton,{subModelKey:"items",subModelBaseClasses:[this.context.getModelClassName("FormItemModel"),this.context.getModelClassName("FormAssociationFieldGroupModel"),this.context.getModelClassName("FormCustomItemModel"),this.context.getModelClassName("FormJSFieldItemModel")].filter(Boolean),model:this,keepDropdownOpen:!0,children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(rI.A,{}),children:this.translate("Fields")})})}render(){var e,t;let l=null==(e=this.props)?void 0:e.height,r=null==(t=this.props)?void 0:t.heightModel,n=this.context.themeToken,i=super.render();return"defaultHeight"===r?i:(0,D.jsx)("div",{style:{height:l,overflowY:"auto",marginLeft:`-${n.marginLG}px`,marginRight:`-${n.marginLG}px`,paddingLeft:`${n.marginLG}px`,paddingRight:`${n.marginLG}px`,paddingTop:5},children:i})}constructor(...e){super(...e),(0,w._)(this,"itemFallback",(0,D.jsx)(iO.A.Input,{block:!0,size:"small",style:{marginBottom:"0.5rem"}})),(0,w._)(this,"itemSettingsMenuLevel",2),(0,w._)(this,"itemFlowSettings",{showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}}),(0,w._)(this,"dragOverlayConfig",{columnInsert:{before:{offsetTop:-6,height:24},after:{offsetTop:3,height:24}},columnEdge:{left:{offsetLeft:-5,width:24},right:{offsetLeft:8,width:24}},rowGap:{above:{offsetTop:-2,height:24},below:{offsetTop:-12,height:24}}})}}cw.registerFlow({key:"formFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});let cS=2;class cA extends cw{renderAddSubModelButton(){var e,t;let l=null==(e=this.context)?void 0:e.collection,r=(null==l||null==(t=l.getFields)?void 0:t.call(l))||[],n=this.context.prefixFieldPath?this.context.prefixFieldPath.split(".").filter(Boolean).length:0,i="function"==typeof(null==l?void 0:l.getPrimaryKey)?l.getPrimaryKey():void 0,o=null==l?void 0:l.filterTargetKey,a=e=>!!e&&!!(i&&e===i||"string"==typeof o&&e===o||Array.isArray(o)&&o.includes(e)),s=r.filter(e=>!a(null==e?void 0:e.name)).filter(e=>{var t;return n<cS||!((null==e||null==(t=e.isAssociationField)?void 0:t.call(e))||(null==e?void 0:e.target)||(null==e?void 0:e.targetCollection))}).map(e=>{let t=e.name,r=e.title||e.name,n=O.EditableItemModel.getDefaultBindingByField(this.context,e);if(!n)return;let i=n.modelName;return{key:t,label:r,toggleable:e=>{let l=e.getStepParams("fieldSettings","init")||{};return(null==l?void 0:l.fieldPath)===t},useModel:"AssignFormItemModel",createModelOptions:()=>({use:"AssignFormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:null==l?void 0:l.dataSourceKey,collectionName:null==l?void 0:l.name,fieldPath:t}}},subModels:{field:{use:i,stepParams:{fieldSettings:{init:{dataSourceKey:null==l?void 0:l.dataSourceKey,collectionName:null==l?void 0:l.name,fieldPath:t}}}}}})}}).filter(Boolean);return(0,D.jsx)(O.AddSubModelButton,{subModelKey:"items",model:this,items:s,keepDropdownOpen:!0,children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(rI.A,{}),children:this.translate("Fields")})})}addOrEnsureItem(e,t){var l,r,n;let i=null==(l=this.context)?void 0:l.collection,o=((null==(r=this.subModels)?void 0:r.items)||[]).find(t=>{try{let l="function"==typeof(null==t?void 0:t.getStepParams)?t.getStepParams("fieldSettings","init"):null;return(null==l?void 0:l.fieldPath)===e}catch(e){return!1}});if(o){"function"==typeof(null==o?void 0:o.setStepParams)&&o.setStepParams("fieldSettings","assignValue",{value:t}),o.assignValue=t;return}let a=((null==i||null==(n=i.getFields)?void 0:n.call(i))||[]).find(t=>t.name===e),s=O.EditableItemModel.getDefaultBindingByField(this.context,a);if(!s)return;let d=s.modelName;this.addSubModel("items",{use:"AssignFormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:null==i?void 0:i.dataSourceKey,collectionName:null==i?void 0:i.name,fieldPath:e},assignValue:{value:t}}},subModels:{field:{use:d,stepParams:{fieldSettings:{init:{dataSourceKey:null==i?void 0:i.dataSourceKey,collectionName:null==i?void 0:i.name,fieldPath:e}}}}}}).assignValue=t}getAssignedValues(){var e;let t=(null==(e=this.subModels)?void 0:e.items)||[],l={};for(let e of t){let t="function"==typeof e.getAssignedEntry?e.getAssignedEntry():null;t&&Array.isArray(t)&&(l[t[0]]=t[1])}return l}}cA.define({label:(0,O.tExpr)("Assign grid")});var cM=l(44329);function cF(e){return"string"==typeof e?e:"function"==typeof e&&e.name?e.name:void 0}function ck(e){var t,l;let r=null==e||null==(l=e.stepParams)||null==(t=l.fieldBinding)?void 0:t.use;return"string"==typeof r?r:void 0}async function cC(e){var t,l,r;let{parentModel:n,targetUse:i,defaultProps:o,pattern:a,fieldSettingsInit:s}=e,d=n.subModels.field,u=null==d?void 0:d.uid,c=null==d||null==(l=d.serialize)||null==(t=l.call(d))?void 0:t.subModels;for(let e in c)!1===c[e].delegateToParent&&delete c[e];let p=cF(ck(d)||(null==d?void 0:d.use))===i&&(null==d?void 0:d.stepParams)||{},h=s??(null==(r=n.getFieldSettingsInitParams)?void 0:r.call(n)),{fieldBinding:f,...m}=p,g={...m,fieldSettings:{...m.fieldSettings||{},init:h}},v=n.flowEngine;u&&(null==d||d.invalidateFlowCache("beforeRender",!0),v.removeModelWithSubModels(u));let y=n.setSubModel("field",{uid:u,use:i,props:{...o||{},...a?{pattern:a}:{}},stepParams:g,subModels:c});await y.dispatchEvent("beforeRender",void 0,{useCache:!1}),await n.save()}var cP=l(13940);function cj(e,t,l){let r=(0,$.castArray)(l).filter(e=>"string"==typeof e),n=t.split(".");if(null==r?void 0:r.length){let t=[],l=0,i=0;for(;l<n.length;){let e=n[l];if(t.push(e),i<r.length){let[l,n]=r[i].split(":");l===e&&(t.push(Number(n)),i++)}l++}return(0,$.get)(e,t)}return(0,$.get)(e,n)}function cE(e){let{record:t,currentObject:l,fieldPath:r,prefixFieldPath:n,idx:i}=e,o=cj(t,r,i);if(void 0!==o||null==l)return o;if(n&&r===n)return l;let a=n&&r.startsWith(`${n}.`)?r.slice(n.length+1):r;return a?(0,$.get)(l,a):l}function cR(e,t){return!(0,cP.E4)(e)||Array.isArray(t)?t:t&&"object"==typeof t&&Array.isArray(t.rows)?t.rows:null==t?[]:[t]}class cT extends O.DisplayItemModel{static defineChildren(e){let t=e.collection;return t.getFields().map(l=>{let r=this.getDefaultBindingByField(e,l,{fallbackToTargetTitleField:!0});if(!r)return null;let n=r.modelName,i=e.prefixFieldPath?`${e.prefixFieldPath}.${l.name}`:l.name;return{key:i,label:l.title,refreshTargets:["DetailsCustomItemModel/DetailsJSFieldItemModel"],toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===i},useModel:"DetailsItemModel",createModelOptions:()=>({use:"DetailsItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:t.dataSourceKey,collectionName:e.model.context.blockModel.collection.name,fieldPath:i}}},subModels:{field:{use:n,props:"function"==typeof r.defaultProps?r.defaultProps(e,l):r.defaultProps}}})}}).filter(Boolean)}onInit(e){super.onInit(e),this.context.defineProperty("actionName",{get:()=>"view",cache:!1})}renderItem(){let e=this.subModels.field,t=this.context.fieldIndex,l=this.context.record,r=this.context.currentObject,n=this.context.item,i=this.context.getPropertyOptions("item"),o=this.context.prefixFieldPath,a=null!=t?(()=>{let o=e.createFork({},`${t}`);o.context.defineProperty("fieldIndex",{get:()=>t}),o.context.defineProperty("record",{get:()=>l,cache:!1}),o.context.defineProperty("currentObject",{get:()=>r,cache:!1});let{value:a,...s}=i||{};return o.context.defineProperty("item",{...s,get:()=>n,cache:!1}),this.context.pattern&&o.context.defineProperty("pattern",{get:()=>this.context.pattern}),o})():e,s=this.context.pattern?{...this.context.blockModel.props,...this.props,pattern:this.context.pattern,disabled:"readPretty"===this.context.pattern}:{...this.context.blockModel.props,...this.props},d=cR(this.collectionField,cE({record:l,currentObject:r,fieldPath:this.fieldPath,prefixFieldPath:o,idx:t}));return(0,D.jsx)(O.FormItem,{...s,value:d,children:(0,D.jsx)(O.FieldModelRenderer,{model:a})})}}cT.define({label:(0,O.tExpr)("Display fields"),searchable:!0,searchPlaceholder:(0,O.tExpr)("Search fields"),sort:100}),cT.registerFlow({key:"detailItemSettings",sort:300,title:(0,O.tExpr)("Detail item settings"),steps:{showLabel:{title:(0,O.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,O.tExpr)("Label"),uiSchema:e=>({title:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let r=e.model,n=null==(l=r.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:r.context.t("Original field title: ")+n}}}}),defaultParams:e=>{var t;return{title:null==(t=e.collectionField)?void 0:t.title}},handler(e,t){var l;let r={ns:"lm-flow-engine",compareWith:null==(l=e.collectionField)?void 0:l.title};e.model.setProps({label:e.t(t.title,r)})}},aclCheck:{use:"aclCheck"},init:{async handler(e){let{collectionField:t}=e.model;t&&e.model.setProps(t.getComponentProps())}},tooltip:{title:(0,O.tExpr)("Tooltip"),uiSchema:{tooltip:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({tooltip:e.t(t.tooltip,{ns:"lm-flow-engine"})})}},description:{title:(0,O.tExpr)("Description"),uiSchema:{description:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({extra:e.t(t.description,{ns:"lm-flow-engine"})})}},model:{title:(0,O.tExpr)("Field component"),use:"displayFieldComponent"},fieldNames:{use:"titleField",title:(0,O.tExpr)("Title field"),beforeParamsSave:async(e,t,l)=>{if(!e.collectionField||!e.collectionField.isAssociationField())return null;if(t.label!==l.label){var r,n;e.model.setProps({titleField:t.label,...null==(n=e.collectionField.targetCollection)||null==(r=n.getField(t.label))?void 0:r.getComponentProps()});let l=e.collectionField.targetCollection.getField(t.label),i=O.DisplayItemModel.getDefaultBindingByField(e,l),o=i.modelName;await cC({parentModel:e.model,targetUse:o,defaultProps:"function"==typeof(null==i?void 0:i.defaultProps)?i.defaultProps(e,e.collectionField):null==i?void 0:i.defaultProps,pattern:e.model.getProps().pattern})}},async handler(e,t){var l,r;if(!e.collectionField||e.model.subModels.field.disableTitleField)return;e.model.setProps({titleField:t.label,...null==(r=e.collectionField.targetCollection)||null==(l=r.getField(t.label))?void 0:l.getComponentProps()});let n=e.collectionField.targetCollection;if(n){let l=n.getField(t.label),r=O.DisplayItemModel.getDefaultBindingByField(e,l).modelName;r!==e.model.subModels.field.use&&e.model.setStepParams(e.flowKey,"model",{use:r})}},hideInSettings:async e=>!e.collectionField||!e.collectionField.isAssociationField()||e.model.subModels.field.disableTitleField}}}),cT.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh",defaultParams:{strategy:"formItem"}}}});var cI=l(71616);function c_(e){if(!e)return!1;let t=null==e?void 0:e.type;return"belongsToMany"===t||"hasMany"===t||"belongsToArray"===t}function cD(e,t){var l;let r=!!(null==e||null==(l=e.isAssociationField)?void 0:l.call(e)),n=c_(e);return r&&!n&&Array.isArray(t)?t.length?t[0]:void 0:t}function cN(e,t){if(!(null==t?void 0:t.length))return e;let[l,r]=String(t[t.length-1]).split(":"),n=Number(r);if(!l||!Number.isFinite(n))return e;let i=0;for(let e of t){let[t]=String(e).split(":");t===l&&(i+=1)}let o=-1,a=0;for(let t=0;t<e.length;t++)if(String(e[t])===l&&(a+=1)===i){o=t;break}if(-1===o){for(let t=e.length-1;t>=0;t--)if(String(e[t])===l){o=t;break}}return -1===o?e:[n,...e.slice(o+1)]}let cO=["o2o","oho","obo","o2m","attachment","expression","point","lineString","circle","polygon","sequence","formula"],c$=2;class cB extends O.EditableItemModel{static defineChildren(e){let t=e.collection,l=e.prefixFieldPath?e.prefixFieldPath.split(".").filter(Boolean).length:0;return t.getFields().map(r=>{var n;if(l>=c$&&((null==(n=r.isAssociationField)?void 0:n.call(r))||r.target||r.targetCollection))return;let i=this.getDefaultBindingByField(e,r);if(!i)return;let o=i.modelName,a=e.prefixFieldPath?`${e.prefixFieldPath}.${r.name}`:r.name;return{key:a,label:r.title,refreshTargets:["FormJSFieldItemModel","FormItemModel/FormJSFieldItemModel"],toggleable:e=>(0,cP.pX)(e).some(e=>e===a),useModel:"FormItemModel",createModelOptions:()=>({use:"FormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:t.dataSourceKey,collectionName:e.model.context.blockModel.collection.name,fieldPath:a}}},subModels:{field:{use:o,props:"function"==typeof i.defaultProps?i.defaultProps(e,r):i.defaultProps}}})}}).filter(Boolean)}onInit(e){super.onInit(e),this.emitter.on("onSubModelAdded",e=>{if(this.collectionField){let t=this.collectionField.getComponentProps();e.setProps(t),this.setProps({...B().pick(t,"rules")||{}})}})}renderItem(){var e,t;let l=this.subModels.field,r=this.context.fieldIndex,n=this.context.fieldKey,i=(null==(e=this.parent)?void 0:e.context.fieldPathArray)||[],o=!!this.context.flowSettingsEnabled&&!!this.props.hidden&&!this.hidden&&!this.forbidden,a=null!=r||o?(()=>{let e=o?`${this.uid}:config-visible`:`${n}`,t=l.createFork({},e);if(null!=r){t.context.defineProperty("fieldIndex",{get:()=>r}),t.context.defineProperty("fieldKey",{get:()=>n}),this.context.currentObject&&t.context.defineProperty("currentObject",{get:()=>this.context.currentObject});let e=this.context.getPropertyOptions("item");if(this.context.item){let{value:l,...r}=e||{};t.context.defineProperty("item",{...r,get:()=>this.context.item,cache:!1})}this.context.pattern&&t.context.defineProperty("pattern",{get:()=>this.context.pattern})}return t.context.defineProperty("fieldPathArray",{get:()=>this.context.fieldPathArray,cache:!1}),o&&t.setProps({hidden:!1}),t})():l,{initialValue:s,hidden:d,...u}=this.context.pattern?{...this.props,pattern:this.context.pattern}:this.props,c=o?u:{hidden:d,...u},p=cN(this.props.name,r);this.context.defineProperty("fieldPathArray",{get:()=>[...i,...B().castArray(p)],cache:!1});let h=(null==(t=this.context.item)?void 0:t.value)||this.context.record,f=(0,D.jsx)(O.FormItem,{...c,name:p,validateFirst:!0,disabled:this.props.disabled||!B().isEmpty(h)&&!h.__is_new__&&this.props.aclDisabled||!B().isEmpty(h)&&h.__is_new__&&this.props.aclCreateDisabled,children:(0,D.jsx)(O.FieldModelRenderer,{model:a,name:p})});return o?(0,D.jsx)(tz.A,{title:this.context.t("The field is hidden and only visible when the UI Editor is active"),children:(0,D.jsx)("div",{style:{opacity:.3},children:f})}):f}}cB.define({label:(0,O.tExpr)("Display fields"),searchable:!0,searchPlaceholder:(0,O.tExpr)("Search fields"),sort:100}),cB.registerFlow({key:"editItemSettings",sort:300,title:(0,O.tExpr)("Form item settings"),steps:{showLabel:{title:(0,O.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,O.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let r=e.model,n=null==(l=r.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:r.context.t("Original field title: ")+n}}}}),defaultParams:e=>{var t;return{label:null==(t=e.collectionField)?void 0:t.title}},handler(e,t){var l;let r={ns:"lm-flow-engine",compareWith:null==(l=e.collectionField)?void 0:l.title};e.model.setProps({label:e.t(t.label,r)})}},aclCheck:{use:"aclCheck",async handler(e,t){var l,r,n,i,o,a,s,d,u,c,p,h,f;if(!e.collectionField||!e.blockModel)return;let m=e.blockModel.context.actionName,g=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:null==(r=e.collectionField)?void 0:r.collectionName,fields:[null==(n=e.collectionField)?void 0:n.name],actionName:m});if("update"===m){let t=await e.aclCheck({dataSourceKey:null==(i=e.dataSource)?void 0:i.key,resourceName:null==(o=e.collectionField)?void 0:o.collectionName,fields:[e.collectionField.name],actionName:"view"});e.prefixFieldPath&&e.item&&(await e.aclCheck({dataSourceKey:null==(s=e.dataSource)?void 0:s.key,resourceName:null==(d=e.collectionField)?void 0:d.collectionName,fields:[e.collectionField.name],actionName:"create"})||e.model.setProps({aclCreateDisabled:!0}));let l=(null==(a=e.item)?void 0:a.__is_new__)??!1;t||l||(e.model.hidden=!0,e.model.forbidden={actionName:"view"},e.exitAll()),g||e.model.setProps({aclDisabled:!0})}else if("create"===m){let t=await e.aclCheck({dataSourceKey:null==(u=e.dataSource)?void 0:u.key,resourceName:null==(c=e.collectionField)?void 0:c.collectionName,actionName:"update"}),l=await e.aclCheck({dataSourceKey:null==(p=e.dataSource)?void 0:p.key,resourceName:null==(h=e.collectionField)?void 0:h.collectionName,fields:[e.collectionField.name],actionName:"update"}),r=(null==(f=e.item)?void 0:f.__is_stored__)??!1;g||r||(e.model.hidden=!0,e.model.forbidden={actionName:m},e.exitAll()),t&&l||e.model.setProps({aclDisabled:!0})}}},init:{async handler(e){let t=e.model.fieldPath,l=t.includes(".")?t.split("."):t;e.model.setProps({name:l})}},tooltip:{title:(0,O.tExpr)("Tooltip"),uiSchema:{tooltip:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({tooltip:e.t(t.tooltip,{ns:"lm-flow-engine"})})}},description:{title:(0,O.tExpr)("Description"),uiSchema:{description:{"x-component":"Input.TextArea","x-decorator":"FormItem","x-component-props":{autoSize:!0}}},handler(e,t){e.model.setProps({extra:e.t(t.description,{ns:"lm-flow-engine"})})}},initialValue:{title:(0,O.tExpr)("Default value"),disabledInSettings:!0,disabledReasonInSettings:e=>`${e.t("This setting has been moved to")}: ${e.t("Form block settings")} > ${e.t("Field values")}`,uiSchema:e=>{var t,l,r,n;if(e.model.parent.parent instanceof cI.EditFormModel||(null==(l=e.model.subModels)||null==(t=l.field)?void 0:t.updateAssociation))return;let i=null==(r=e.model.collectionField)?void 0:r.interface;if(null==cO||null==(n=cO.includes)||!n.call(cO,i))return{defaultValue:{"x-component":"DefaultValue","x-decorator":"FormItem"}}},defaultParams:e=>{let t=e.model.collectionField;if("nanoid"===t.interface&&!1!==t.options.autoFill){let{size:e,customAlphabet:l}=t.options||{size:21};return{defaultValue:(0,cM.d_)(l,e)()}}return{defaultValue:t.defaultValue}},handler(e,t){var l,r;let n=null==(l=e.model.collectionField)?void 0:l.interface;if(null==cO||null==(r=cO.includes)?void 0:r.call(cO,n))return;let i=cD(e.model.collectionField,t.defaultValue);e.model.setProps({initialValue:i})}},validation:{title:(0,O.tExpr)("Validation"),use:"validation"},required:{title:(0,O.tExpr)("Required"),use:"required"},model:{use:"fieldComponent",title:(0,O.tExpr)("Field component")},pattern:{use:"pattern"},titleField:{use:"titleField",hideInSettings:e=>!(e.collectionField&&e.collectionField.isAssociationField()&&e.collectionField.isAssociationField()&&"readPretty"===e.model.getProps().pattern),defaultParams:e=>{var t,l,r;return{titleField:e.model.props.titleField||(null==(r=e.model)||null==(l=r.context)||null==(t=l.collectionField)?void 0:t.targetCollectionTitleFieldName)}},beforeParamsSave:async(e,t,l)=>{if(!(e.collectionField.isAssociationField()&&"readPretty"===e.model.getProps().pattern))return null;let r=t.titleField||t.label;if(r!==l.titleField){let t=e.collectionField.targetCollection,l=t.getField(r),n=cT.getDefaultBindingByField(e,l);if(n.modelName!==e.model.subModels.field.use){let l=e.model.subModels.field.uid;await e.engine.destroyModel(l);let i=e.model.setSubModel("field",{use:n.modelName,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:t.name,fieldPath:r}}}});await i.save()}e.model.setProps(e.collectionField.targetCollection.getField(r).getComponentProps())}},async handler(e,t){"readPretty"===e.model.props.pattern?e.model.setProps({titleField:null==t?void 0:t.label}):e.model.setProps({titleField:t.titleField})}}}}),cB.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh",defaultParams:{strategy:"formItem"}}}});var cL=l(85352),cq=l(90199),cV=l(97510);function cz(e,t){var l,r,n;let i=null==e||null==(l=e.props)?void 0:l.fieldNames,o=null==e||null==(r=e.props)?void 0:r.titleField,a=null==e||null==(n=e.getStepParams)?void 0:n.call(e,"selectSettings","fieldNames");return{stepParams:{fieldSettings:{init:t},...a?{selectSettings:{fieldNames:a}}:{}},props:{...void 0!==i?{fieldNames:i}:{},...void 0!==o?{titleField:o}:{}}}}function cK(e){try{return JSON.stringify(e)??""}catch{return String(e)}}function cU(e){var t,l,r;let n=null==e||null==(t=e.props)?void 0:t.fieldNames,i=null==e||null==(l=e.props)?void 0:l.titleField,o=null==e||null==(r=e.getStepParams)?void 0:r.call(e,"selectSettings","fieldNames");return[(null==e?void 0:e.uid)||"",cK(n),cK(i),cK(o)].join("|")}function cW(e){if(!e||"object"!=typeof e||!("target"in e))return e;let t=e.target;return t&&"value"in t?t.value:e}class cH extends cB{onInit(e){var t,l,r,n,i,o,a;let s=null==(t=this.getStepParams("fieldSettings","assignValue"))?void 0:t.value;void 0!==s&&(this.assignValue=s),this.context.defineProperty("collectionField",{get:()=>{var e,t;let l=this.getStepParams("fieldSettings","init")||{},r=`${null==l?void 0:l.dataSourceKey}.${null==l?void 0:l.collectionName}.${null==l?void 0:l.fieldPath}`,n=null==(e=this.context)?void 0:e.dataSourceManager;return null==n||null==(t=n.getCollectionField)?void 0:t.call(n,r)}});let d=this.context,u=null==d?void 0:d.collection,c=this.fieldInit;if(!(null==(l=this.subModels)?void 0:l.field)&&(null==u?void 0:u.getFields)){let e=(u.getFields()||[]).find(e=>(null==e?void 0:e.name)===(null==c?void 0:c.fieldPath));null==u||null==(n=u.getField)||n.call(u,null==c?void 0:c.fieldPath);let t=O.EditableItemModel.getDefaultBindingByField(d,e);if(!t)return;let l=t.modelName;null==d||null==(o=d.engine)||null==(i=o.createModel)||i.call(o,{use:l,stepParams:{fieldSettings:{init:c}},parentId:this.uid,subKey:"field"})}let p=null==(r=this.context)?void 0:r.collection,h=this.fieldPath;if(h){let e=null==p||null==(a=p.getField)?void 0:a.call(p,h),t=(null==e?void 0:e.title)||h,l=h.includes(".")?h.split("."):[h];this.setProps({label:t,name:l})}}get fieldInit(){return this.getStepParams("fieldSettings","init")||{}}get fieldPath(){var e;return null==(e=this.fieldInit)?void 0:e.fieldPath}getAssignedEntry(){let e=this.fieldPath;return e?[e,this.assignValue]:null}render(){var e,t;let l=this.context,r=l.collection,n=this.fieldInit,i=(null==(e=this.props)?void 0:e.name)||(this.fieldPath?[this.fieldPath]:void 0),o=this.fieldPath,a=null==(t=this.subModels)?void 0:t.field,s=cU(a),d=()=>{var e,t,s,d,u;let[c,p]=A.useState(null);A.useEffect(()=>{var e,t,i,s,d,u,c,h,f,m,g,v,y,b,x,w,S,A,M,F,k;if(!o)return;let C=((null==r||null==(e=r.getFields)?void 0:e.call(r))||[]).find(e=>(null==e?void 0:e.name)===o);r.getField(o);let P=O.EditableItemModel.getDefaultBindingByField(l,C);if(!P)return;let j=P.modelName,E=cz(a,n),R=null==l||null==(i=l.engine)||null==(t=i.createModel)?void 0:t.call(i,{use:"VariableFieldFormModel",subModels:{fields:[{use:j,...E}]}});if(!R)return;null==(d=R.context)||null==(s=d.defineProperty)||s.call(d,"collection",{value:r});let T=null==l?void 0:l.dataSource;T&&(null==(c=R.context)||null==(u=c.defineProperty)||u.call(c,"dataSource",{value:T}));let I=null==r||null==(h=r.getField)?void 0:h.call(r,null==n?void 0:n.fieldPath);I&&(null==(m=R.context)||null==(f=m.defineProperty)||f.call(m,"collectionField",{value:I}));let _=null==l?void 0:l.blockModel;_&&(null==(v=R.context)||null==(g=v.defineProperty)||g.call(v,"blockModel",{value:_}));let D=l.form;D&&(null==(F=R.context)||null==(M=F.defineProperty)||M.call(F,"form",{value:D})),R.context&&Object.defineProperty(R.context,"resource",{configurable:!0,enumerable:!0,get:()=>null==_?void 0:_.resource});let N=null==R||null==(b=R.subModels)||null==(y=b.fields)?void 0:y[0],$=null==r||null==(x=r.getField)?void 0:x.call(r,null==n?void 0:n.fieldPath),B=null==$?void 0:$.type,L=null==$?void 0:$.interface,q="belongsToMany"===B||"hasMany"===B||"belongsToArray"===B||"m2m"===L||"o2m"===L||"mbm"===L;if(null==N||null==(w=N.setProps)||w.call(N,{disabled:!1,readPretty:!1,updateAssociation:!1,multiple:q}),null==N||null==(S=N.dispatchEvent)||S.call(N,"beforeRender",void 0,{sequential:!0,useCache:!0}),(0,cL.NI)(N,$),!(null==N||null==(A=N.props)?void 0:A.fieldNames)&&(null==$?void 0:$.targetCollection)){let e=$.targetCollection,t=(null==$?void 0:$.targetKey)||(null==e?void 0:e.filterTargetKey)||"id";null==N||null==(k=N.setProps)||k.call(N,{fieldNames:{label:null==e?void 0:e.titleField,value:t}})}return p(R),()=>{var e,t,l,r;null==R||null==(l=R.subModels)||null==(t=l.fields)||null==(e=t.forEach)||e.call(t,e=>{var t;return null==e||null==(t=e.remove)?void 0:t.call(e)}),null==R||null==(r=R.remove)||r.call(R)}},[]);let h=e=>(A.useEffect(()=>{var t,l,r;if(!c)return;null==(t=c.setProps)||t.call(c,{...e});let n=null==c||null==(r=c.subModels)||null==(l=r.fields)?void 0:l[0];if(n){var i,o=this;null==(i=n.setProps)||i.call(n,{value:null==e?void 0:e.value,onChange:function(){for(var t,l,r=arguments.length,i=Array(r),a=0;a<r;a++)i[a]=arguments[a];let s=cW(i&&i.length?i[0]:void 0);null==(t=n.setProps)||t.call(n,{value:s}),o.assignValue=s,null==e||null==(l=e.onChange)||l.call(e,s)}})}},[e]),c?(0,D.jsx)("div",{style:{width:"100%"},children:(0,D.jsx)(O.FlowModelRenderer,{model:c,showFlowSettings:!1})}):null),f=()=>{var e,t;return(0,D.jsx)(dV.A,{placeholder:`<${(null==(e=(t=this.context).t)?void 0:e.call(t,"Null"))??"Null"}>`,readOnly:!0,style:{width:"100%"}})},m=e=>(0,D.jsx)(cq.h,{t:this.context.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange,containerStyle:{width:"100%"}}),g=async()=>{var e;let t=null==(e=this.context)?void 0:e.getPropertyMetaTree;return"function"==typeof t?await t():[]},v=null==r||null==(e=r.getField)?void 0:e.call(r,this.fieldPath),y=(0,cV.kB)(v),b=(0,cV.Ot)(v,null==(t=this.fieldPath)?void 0:t.split(".").slice(-1)[0]),x=b?(0,cV.cd)(v,y):cV.tS,w=(null==(s=this.props)?void 0:s.label)??this.fieldPath??"",S=null==r||null==(d=r.getField)?void 0:d.call(r,this.fieldPath);return w=(null==(u=this.props)?void 0:u.label)??(null==S?void 0:S.title)??w,(0,D.jsx)(O.FormItem,{...this.props,label:w,name:i,initialValue:this.assignValue,valuePropName:"__assign_value__",trigger:"__assign_trigger__",validateTrigger:"__assign_trigger__",children:A.createElement(e=>{let t=null==e?void 0:e.__assign_value__,l=void 0===t?this.assignValue:t;return(0,D.jsx)(cV.Wm,{value:l,onChange:t=>{var l;this.assignValue=t,null==e||null==(l=e.__assign_trigger__)||l.call(e,t)},baseMetaTree:g,constantComponent:h,nullComponent:f,runJSComponent:m,isDateLikeField:b,dateComponentProps:x,clearValue:""})})})};return(0,D.jsx)(d,{},s)}constructor(e){super(e),(0,w._)(this,"assignValue",void 0),(0,N.define)(this,{assignValue:N.observable})}}cH.define({label:(0,O.tExpr)("Assign field")}),cH.registerFlow({key:"editItemSettings",sort:300,title:(0,O.tExpr)("Form item settings"),steps:{showLabel:{title:(0,O.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,O.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let r=e.model,n=null==(l=r.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:r.context.t("Original field title: ")+n}}}}),defaultParams:e=>({label:e.model.collectionField.title}),handler(e,t){var l;t.label&&t.label===(null==(l=e.model.collectionField)?void 0:l.title)?e.model.setProps({label:t.label}):e.model.setProps({label:e.t(t.label,{ns:"lm-flow-engine"})})}},init:{async handler(e){let t=e.model.collectionField;t&&e.model.setProps(t.getComponentProps());let l=e.model.fieldPath,r=l.includes(".")?l.split("."):l;e.model.setProps({name:r})}},tooltip:{title:(0,O.tExpr)("Tooltip"),uiSchema:{tooltip:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({tooltip:e.t(t.tooltip,{ns:"lm-flow-engine"})})}},description:{title:(0,O.tExpr)("Description"),uiSchema:{description:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({extra:e.t(t.description,{ns:"lm-flow-engine"})})}},validation:{title:(0,O.tExpr)("Validation"),use:"validation"},required:{title:(0,O.tExpr)("Required"),use:"required"}}});class cY extends dm{}(0,w._)(cY,"itemModelName","DetailsItemModel"),cY.define({label:'{{t("Display association fields")}}'});var cG=l(58929);let cJ=e=>{if(!e)return 0;let t=e.getBoundingClientRect(),l=window.getComputedStyle(e),r=parseFloat(l.marginTop)||0,n=parseFloat(l.marginBottom)||0;return t.height+r+n},cX=e=>{let{heightMode:t,containerRef:l,actionsRef:r,paginationRef:n,deps:i=[]}=e,[o,a]=(0,A.useState)(),s=(0,A.useCallback)(()=>{if("specifyValue"!==t&&"fullHeight"!==t)return void a(e=>void 0===e?e:void 0);let e=l.current;if(!e)return;let i=e.getBoundingClientRect().height;if(!i)return;let o=Math.max(0,Math.floor(i-cJ(r.current)-cJ(n.current)));a(e=>e===o?e:o)},[t,l,r,n]);return(0,A.useLayoutEffect)(()=>{s()},[s,...i]),(0,A.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=r.current,i=n.current,o=new ResizeObserver(()=>s());return o.observe(e),t&&o.observe(t),i&&o.observe(i),()=>o.disconnect()},[s,l,r,n,...i]),o};class cQ extends d5.t{createResource(e,t){var l,r;if((null==(l=this.association)?void 0:l.type)==="hasOne"||(null==(r=this.association)?void 0:r.type)==="belongsTo"||Object.keys(t).includes("filterByTk")){let e=this.context.createResource(O.SingleRecordResource);return e.isNewRecord=!1,e}let n=this.context.createResource(O.MultiRecordResource);return n.setPageSize(1),n}onInit(e){var t,l;super.onInit(e),this.hadSingleRecordData=(null==(l=this.resource)||null==(t=l.hasData)?void 0:t.call(l))??!1,this.hasMultiRefreshDispatched=!1;let r=(0,O.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>this.getCurrentRecord(),cache:!1,resolveOnServer:(0,O.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>this.getCurrentRecord()),meta:r}),this.resource.on("refresh",()=>{var e,t;if(this.isMultiRecordResource()){this.hasMultiRefreshDispatched=!0,(0,ce.Xi)(this,"paginationChange");return}let l=this.hadSingleRecordData;this.hadSingleRecordData=(null==(t=this.resource)||null==(e=t.hasData)?void 0:e.call(t))??!1,l&&(0,ce.Xi)(this,"paginationChange")})}isMultiRecordResource(){return this.resource instanceof O.MultiRecordResource}hasDispatchedMultiRefresh(){return this.hasMultiRefreshDispatched}getCurrentRecord(){let e=this.resource.getData();return Array.isArray(e)?e[0]:e}hasAvailableData(){return this.resource.hasData()}async refresh(){await this.resource.refresh()}renderPagination(){if(!this.resource.loading&&!this.hasAvailableData()){var e,t;return(0,D.jsx)("div",{style:{textAlign:"center",color:null==(t=this.context)||null==(e=t.themeToken)?void 0:e.colorTextDescription},children:this.translate("No available data currently")})}let l=this.resource;return!this.isMultiRecordResource()||!l.getPage()||1>=this.resource.getMeta("count")?null:(0,D.jsx)("div",{style:{textAlign:"center"},children:(0,D.jsx)(cG.A,{simple:!0,pageSize:1,showSizeChanger:!1,current:l.getPage(),total:l.getCount(),onChange:this.handlePageChange,style:{display:"inline-block"}})})}renderConfigureActions(){return(0,D.jsx)(O.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("RecordActionGroupModel"),afterSubModelInit:async e=>{e.setStepParams("buttonSettings","general",{type:"default"})},children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(rI.A,{}),children:this.translate("Actions")})},"details-actions-add")}renderComponent(){let{colon:e,labelAlign:t,labelWidth:l,labelWrap:r,layout:n}=this.props,i=!!this.context.flowSettingsEnabled,o=!i&&!this.hasAvailableData(),{heightMode:a,height:s}=this.decoratorProps;return(0,D.jsx)(c0,{model:this,gridModel:this.subModels.grid,isConfigMode:i,heightMode:a,height:s,layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:r,layout:n},actions:(0,D.jsx)(O.DndProvider,{children:(0,D.jsx)("div",{style:o?{pointerEvents:"none",opacity:.45}:void 0,children:(0,D.jsxs)(dD.A,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||i)return(0,D.jsx)(O.Droppable,{model:e,children:(0,D.jsx)(O.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!1,showBorder:!1,toolbarPosition:"above"},extraToolbarItems:[{key:"drag-handler",component:O.DragHandler,sort:1}]})},e.uid)}),this.renderConfigureActions()]})})})})}constructor(...e){super(...e),(0,w._)(this,"hadSingleRecordData",!1),(0,w._)(this,"hasMultiRefreshDispatched",!1),(0,w._)(this,"_defaultCustomModelClasses",{RecordActionGroupModel:"RecordActionGroupModel",DetailsItemModel:"DetailsItemModel",DetailsAssociationFieldGroupModel:"DetailsAssociationFieldGroupModel",DetailsCustomItemModel:"DetailsCustomItemModel"}),(0,w._)(this,"customModelClasses",{}),(0,w._)(this,"handlePageChange",async e=>{if(this.resource instanceof O.MultiRecordResource){let t=this.resource;t.setPage(e),t.loading=!0,await this.refresh()}})}}(0,w._)(cQ,"scene",d6.P.oam);let cZ=(0,O.observer)(e=>{let{model:t}=e;return t.renderPagination()}),c0=e=>{let{model:t,gridModel:l,isConfigMode:r,heightMode:n,height:i,layoutProps:o,actions:a}=e,s=(0,A.useRef)(null),d=(0,A.useRef)(null),u=(0,A.useRef)(null),c="specifyValue"===n||"fullHeight"===n,p=cX({heightMode:n,containerRef:s,actionsRef:d,paginationRef:u,deps:[i]});(0,A.useEffect)(()=>{var e,t;if(!l)return;let r=c?p:void 0;((null==(e=l.props)?void 0:e.height)!==r||(null==(t=l.props)?void 0:t.heightMode)!==n)&&l.setProps({height:r,heightMode:n})},[l,p,c,n]);let h=c?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,f=c?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,D.jsx)(cb.s2,{model:t,layoutProps:o,style:h,children:(0,D.jsxs)("div",{ref:s,style:f,children:[(0,D.jsx)("div",{ref:d,style:{textAlign:"right",lineHeight:"0px",paddingBottom:r&&t.context.themeToken.padding},children:a}),(0,D.jsx)(O.FlowModelRenderer,{model:l,showFlowSettings:!1},`${(null==l?void 0:l.uid)||"details-grid"}:${r?"design":"runtime"}`),(0,D.jsx)("div",{ref:u,children:(0,D.jsx)(cZ,{model:t})})]})})};cQ.registerFlow({key:"detailsSettings",title:(0,O.tExpr)("Details settings"),sort:150,steps:{refresh:{async handler(e){if(!e.resource)throw Error("Resource is not initialized");await e.model.applySubModelsBeforeRenderFlows("grid")}},layout:{use:"layout",title:(0,O.tExpr)("Layout")},dataScope:{use:"dataScope"},defaultSorting:{use:"sortingRule",title:(0,O.tExpr)("Default sorting")},linkageRules:{use:"detailsFieldLinkageRules"}}}),cQ.registerFlow({key:"paginationChange",on:"paginationChange",steps:{blockLinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"blockLinkageRules",flowKey:"cardSettings",stepKey:"linkageRules"}},fieldslinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"detailsFieldLinkageRules",flowKey:"detailsSettings",stepKey:"linkageRules"}}}}),cQ.registerFlow({key:"initialPaginationChangeRefresh",sort:10001,steps:{refreshPaginationRelatedStates:{async handler(e){if(e.model.hidden||!e.model.isMultiRecordResource()||e.model.hasDispatchedMultiRefresh())return;let t=e.model.resource;if(!t)return;let l="manual"===(t.dataLoadingMode??t.loadingMode),r="function"==typeof t.hasActiveFilters&&t.hasActiveFilters();l&&!r&&await (0,ce.Xi)(e.model,"paginationChange")}}}}),cQ.define({label:(0,O.tExpr)("Details"),searchable:!0,searchPlaceholder:(0,O.tExpr)("Search"),createModelOptions:{use:"DetailsBlockModel",subModels:{grid:{use:"DetailsGridModel"}}},sort:350});class c1 extends O.FlowModel{static defineChildren(e){let t=e.engine.filterModelClassByParent("CommonItemModel"),l=e.engine.filterModelClassByParent("DetailsCustomItemModel"),r=t=>Array.from(t.entries()).map(t=>{var l,r,n,i,o;let[a,s]=t,d="function"==typeof s.defineChildren||!!(null==(l=s.meta)?void 0:l.children),u={key:a,label:e.t(s.meta.label),sort:s.meta.sort??999,searchable:!!(null==(r=s.meta)?void 0:r.searchable),searchPlaceholder:null==(n=s.meta)?void 0:n.searchPlaceholder,hide:null==(i=s.meta)?void 0:i.hide};return d?u.children=e=>{var t;return"function"==typeof s.defineChildren?s.defineChildren(e):(null==(t=s.meta)?void 0:t.children)||[]}:u.createModelOptions=(null==(o=s.meta)?void 0:o.createModelOptions)||{use:a},u});return B().sortBy([...r(t),...r(l)],"sort")}}(0,w._)(c1,"renderMode",O.ModelRenderMode.RenderFunction),c1.define({hide:!0,label:(0,O.tExpr)("Others")});class c2 extends dX{renderAddSubModelButton(){return this.context.flowSettingsEnabled?(0,D.jsx)(O.AddSubModelButton,{model:this,subModelKey:"items",subModelBaseClasses:[this.context.getModelClassName("DetailsItemModel"),this.context.getModelClassName("DetailsAssociationFieldGroupModel"),this.context.getModelClassName("DetailsCustomItemModel")].filter(Boolean),keepDropdownOpen:!0,children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(rI.A,{}),children:this.translate("Fields")})}):null}render(){var e,t;let l=null==(e=this.props)?void 0:e.height,r=null==(t=this.props)?void 0:t.heightMode,n=this.context.themeToken,i=super.render();return"defaultHeight"===r?i:(0,D.jsx)("div",{style:{height:l,overflowY:"auto",marginLeft:`-${n.marginLG}px`,marginRight:`-${n.marginLG}px`,paddingLeft:`${n.marginLG}px`,paddingRight:`${n.marginLG}px`},children:i})}constructor(...e){super(...e),(0,w._)(this,"itemFallback",(0,D.jsx)(iO.A.Input,{block:!0,size:"small",style:{marginBottom:"0.5rem"}})),(0,w._)(this,"itemSettingsMenuLevel",2),(0,w._)(this,"itemFlowSettings",{showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}}),(0,w._)(this,"dragOverlayConfig",{columnInsert:{before:{offsetTop:-6,height:24},after:{offsetTop:3,height:24}},columnEdge:{left:{offsetLeft:-5,width:24},right:{offsetLeft:8,width:24}},rowGap:{above:{offsetTop:-2,height:24},below:{offsetTop:-12,height:24}}})}}function c4(e,t){let{fieldUseModel:l,refreshTargets:r}=t,n=e=>Array.isArray(e)?e.map(e=>{let t={...e};if(t.children)if("function"==typeof t.children){let e=t.children;t.children=async t=>n(await e(t))}else Array.isArray(t.children)&&(t.children=n(t.children));if(t.createModelOptions){let e=t.createModelOptions;t.createModelOptions=async(t,r)=>{let n=await ("function"==typeof e?e(t,r):e);return n.subModels=n.subModels||{},n.subModels.field={...n.subModels.field||{},use:l},n},t.refreshTargets=t.refreshTargets||r}return t}):[];return n(e)}function c6(e,t,l){let{fieldUseModel:r,refreshTargets:n}=l,i=l.key??"js-association-fields",o=l.label??(0,O.tExpr)("Display association fields");return{key:i,type:"group",label:o,searchable:l.searchable??!0,searchPlaceholder:l.searchPlaceholder??(0,O.tExpr)("Search fields"),children:async e=>c4(await t(e),{fieldUseModel:r,refreshTargets:n})}}c2.registerFlow({key:"detailFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});class c3 extends dm{}async function c5(e,t){var l;let{useModel:r,fieldUseModel:n,refreshTargets:i,associationPathName:o,associationProvider:a}=t,s=(0,O.buildWrapperFieldChildren)(e,{useModel:r,fieldUseModel:n,associationPathName:o,refreshTargets:i}),d=[],u=null==s||null==(l=s[0])?void 0:l.children;if(Array.isArray(u)&&(d=u),!a)return d;let c=await a(e);return Array.isArray(c)&&0!==c.length?[...d,c6(e,a,{fieldUseModel:n,refreshTargets:i})]:d}(0,w._)(c3,"itemModelName","FormItemModel");class c8 extends c1{static defineChildren(e){return c5(e,{useModel:"DetailsItemModel",fieldUseModel:"JSFieldModel",refreshTargets:["DetailsItemModel"],associationProvider:e=>cY.defineChildren(e)})}}c8.define({label:(0,O.tExpr)("JS field"),searchable:!0,searchPlaceholder:(0,O.tExpr)("Search fields"),sort:110});class c9 extends st.o{}var c7=l(85196);class pe extends st.o{constructor(...e){super(...e),(0,w._)(this,"operator","$eq"),(0,w._)(this,"updateAssociation",!1)}}pe.registerFlow({key:"AssociationFieldInit",sort:800,steps:{init:{async handler(e,t){if(e.model.updateAssociation){var l,r;let t=e.model.context.blockModel,n=null==t||null==(l=t.context)?void 0:l.resource,i=null==(r=e.model.parent)?void 0:r.fieldPath;n&&i&&n.addUpdateAssociationValues(i)}}},allowCreateCheck:{async handler(e){var t;let l=await e.aclCheck({dataSourceKey:e.collectionField.dataSourceKey,resourceName:null==(t=e.collectionField)?void 0:t.target,actionName:"create"});e.model.setProps({allowCreate:!!l})}}}});let pt=(e,t)=>e===t,pl=e=>{if(e&&"object"==typeof e){let t=e.data;return t&&"object"==typeof t?t:e}};function pr(e){return"string"==typeof e&&e?e:Array.isArray(e)&&1===e.length&&"string"==typeof e[0]?e[0]:void 0}function pn(e,t){var l;let r="string"==typeof(null==t||null==(l=t.titleCollectionField)?void 0:l.name)?t.titleCollectionField.name:void 0,n=pr(null==t?void 0:t.filterTargetKey)||"id",i="string"==typeof(null==e?void 0:e.value)&&e.value&&!pt(e.value,"value")?e.value:void 0,o="string"==typeof(null==e?void 0:e.label)&&e.label&&!pt(e.label,"label")?e.label:void 0,a=i||n;return{label:o||r||a,value:a}}function pi(e){var t,l,r,n,i,o;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=!!a.navigation,d=e=>{if(Array.isArray(e))return e.filter(e=>"string"==typeof e&&!!e)},u=d(null==(l=e.view)||null==(t=l.inputArgs)?void 0:t.openerUids),c=d(a.openerUids),p=u||c||[];if(s)return(c||p).filter(Boolean);let h=null==(n=e.view)||null==(r=n.inputArgs)?void 0:r.viewUid,f=null==(o=e.model.context)||null==(i=o.inputArgs)?void 0:i.viewUid;return[...p,"string"==typeof h&&h?h:"string"==typeof f&&f?f:e.model.uid].filter(Boolean)}function po(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function pa(e){let{value:t,isMultiple:l,valueKey:r,labelKey:n,statusMap:i}=e,o=l?Array.isArray(t)?t:[]:null!=t?[t]:[],a=new Set;for(let e of o){if(!po(e))continue;let t=e[r];if(null==t)continue;let l="object"==typeof t?JSON.stringify(t):String(t);l&&a.add(l)}for(let e of Array.from(i.keys()))a.has(e)||i.delete(e);let s=[];for(let e of o){if(!po(e))continue;let t=e[r];if(null==t||null!=e[n])continue;let l="object"==typeof t?JSON.stringify(t):String(t);!l||i.has(l)||(i.set(l,"pending"),s.push({item:e,tk:t,tkKey:l}))}return s}function ps(e){return po(e)&&"function"==typeof e.setFormValue}function pd(e){var t;let l=po(e.context)?e.context:void 0;return(null==l?void 0:l.fieldPathArray)??(null==l?void 0:l.fieldPath)??(null==(t=e.props)?void 0:t.name)}function pu(e){if(ps(e.context))return e.context;let t=po(e.context)?e.context:void 0,l=po(null==t?void 0:t.blockModel)?t.blockModel:void 0;return ps(null==l?void 0:l.context)?l.context:void 0}function pc(e){let{model:t,value:l,isMultiple:r,fieldNames:n,onChange:i}=e,o=A.useRef(new Map);A.useEffect(()=>{let e=t.resource;if("function"!=typeof(null==e?void 0:e.get)||!n.value||!n.label)return;let a=l,s=pa({value:a,isMultiple:r,valueKey:n.value,labelKey:n.label,statusMap:o.current});if(!s.length)return;let d=pd(t),u=pu(t),c=async t=>{let{item:l,tk:s,tkKey:c}=t;try{var p;let t=await (null==(p=e.get)?void 0:p.call(e,s));if(!po(t))return;let o={...l,...t};if(null==o[n.label])return;let c=r?(Array.isArray(a)?a:[]).map(e=>po(e)&&e[n.value]===s?o:e):o;if("function"==typeof(null==u?void 0:u.setFormValue)&&null!=d)return void await u.setFormValue(d,c,{source:"default",markExplicit:!1,triggerEvent:!1});i(c)}catch{}finally{o.current.set(c,"done")}};s.forEach(e=>{c(e)})},[n.label,n.value,r,t,i,l])}function pp(e){if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return e;if(Array.isArray(e)){let t=e.map(e=>{if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return e;if(e&&"object"==typeof e){let t=e.label??e.name;if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)return t}}).filter(e=>void 0!==e);return t.length?t.map(String).join(", "):void 0}if(e&&"object"==typeof e){let t=e.label??e.name;if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)return t}}function ph(e){var t,l,r;let{option:n,fieldNames:i}=e,o=(0,O.useFlowModel)(),a=pl(n),s=pn(i,null==(t=o.context.collectionField)?void 0:t.targetCollection),d=o.subModels.field,u=pp(null==a?void 0:a[s.label])??pp(null==a?void 0:a.label)??pp(null==a?void 0:a[s.value]);if(!d)return(0,D.jsx)("span",{children:u??"N/A"});let c=String((null==a?void 0:a[s.value])??u??"association-option"),p=d.createFork({},c);p.context.defineProperty("record",{get:()=>a,cache:!1,meta:(0,O.createCurrentRecordMetaFactory)(p.context,()=>p.context.collection)});let h=null==(r=o.context.collectionField.targetCollection)||null==(l=r.getField)?void 0:l.call(r,s.label),f=h&&"function"==typeof h.getComponentProps?h.getComponentProps():{};p.setProps({value:u,clickToOpen:!1,...f});let m=null!=u&&""!==u?p.render():"N/A";return(0,D.jsx)("span",{style:{pointerEvents:"none"},children:m})}function pf(e,t){let l=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"record",n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];if(!e)return l?[]:void 0;let{value:i}=t||{},o=e=>"object"==typeof e&&null!==e,a=e=>{if(o(e))return{label:(0,D.jsx)(ph,{option:e,fieldNames:t}),value:e[i]}};if("value"===r){let t=e=>{if("object"==typeof e&&null!==e)return a(e);let t=n.find(t=>(null==t?void 0:t[i])===e);return t?a(t):{label:String(e),value:e}};return l?Array.isArray(e)?e.map(e=>t(e)).filter(Boolean):[]:Array.isArray(e)?t(e[0]):t(e)}if(l)return Array.isArray(e)?e.filter(o).map(a).filter(Boolean):[];if(Array.isArray(e)){let t=e[0];return o(t)?a(t):void 0}return o(e)?a(e):void 0}function pm(e,t,l){return(null==e?void 0:e.length)?e.map(e=>(0,$.omit)(e,"disabled","options","style")):l?Array.isArray(t)?t.filter(e=>"object"==typeof e&&null!==e):[]:t&&"object"==typeof t?[t]:[]}var pg=l(77577);let pv="calc(12px + env(safe-area-inset-bottom, 0px))",py={paddingBottom:pv};function pb(e){return{maxHeight:"60vh",overflowY:"auto",paddingBottom:e?void 0:pv}}let px=(0,er.css)`
|
|
485
|
+
`},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":a0.n,"x-component-props":{rows:1}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}},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","x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}}}}},handler(e,t){e.model.setProps({url:t.url,searchParams:t.searchParams,openInNewWindow:t.openInNewWindow})}}}});class cf extends df.S0{setTitle(e){this.setProps({title:e})}setExpandFlag(e){this.expandFlag=e}getTitle(){return this.expandFlag?this.context.t("Collapse all"):this.context.t("Expand all")}getIcon(){return this.expandFlag?"NodeCollapseOutlined":"NodeExpandOutlined"}constructor(...e){super(...e),(0,w._)(this,"expandFlag",void 0),(0,w._)(this,"defaultProps",{type:"default",icon:"DownOutlined"})}}function cm(e){let{idKey:t="id",childrenKey:l="children"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=[];function n(e){if(Array.isArray(e))for(let i of e){let e=i[l];r.push(i[t]),Array.isArray(e)&&e.length>0&&n(e)}}return n(e),r}(0,w._)(cf,"scene",df.s5.collection);let cg=e=>cm(e);cf.registerFlow({key:"expandCollapseSettingsInit",sort:200,steps:{init:{handler(e,t){e.blockModel.props.defaultExpandAllRows?e.model.setExpandFlag(!0):e.model.setExpandFlag(!1)}}}}),cf.registerFlow({key:"expandCollapseSettings",on:"click",steps:{expandCollapse:{async handler(e,t){var l;if(!(null==(l=e.blockModel)?void 0:l.resource))return;let r=e.blockModel.resource,{treeTable:n}=e.blockModel.props;if(n)if(e.model.expandFlag)e.blockModel.setProps({expandedRowKeys:[]}),e.model.setExpandFlag(!1);else{let t=cg(r.getData());e.blockModel.setProps({expandedRowKeys:t}),e.model.setExpandFlag(!0)}}}}}),cf.define({label:(0,O.escapeT)("Expand/Collapse"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.model.props.treeTable}});class cv extends uF{getAclActionName(){return"create"}onInit(e){super.onInit(e),this.context.defineProperty("association",{get:()=>this.context.blockModel.dataSource.getAssociation(`${this.context.blockModel.collection.name}.children`)})}constructor(...e){super(...e),(0,w._)(this,"defaultProps",{type:"link",title:(0,O.tExpr)("Add child"),icon:"PlusOutlined"})}}(0,w._)(cv,"capabilityActionName",null),cv.registerFlow({key:"addChildSettingsInit",steps:{addChildInit:{async handler(e,t){e.model.onClick=t=>{e.model.dispatchEvent("click",{event:t,...e.inputArgs,sourceId:e.record.id,filterByTk:null},{debounce:!0})}}}}}),cv.define({label:(0,O.tExpr)("Add child"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.blockModel.props.treeTable}}),dh.registerActionModels({AddChildActionModel:cv});var cy=l(89013),cb=l(96491);class cx extends cb.F4{useHooksBeforeRender(){let[e]=cy.A.useForm();this.context.defineProperty("form",{get:()=>e})}onInit(e){super.onInit(e);let t=(0,O.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>{var e,t;return null==(e=(t=this).getCurrentRecord)?void 0:e.call(t)},cache:!1,resolveOnServer:(0,O.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>{var e,t;return null==(e=(t=this).getCurrentRecord)?void 0:e.call(t)}),meta:t}),this.context.defineProperty("filterManager",{once:!0,get:()=>new d_(this,null==e?void 0:e.filterManager)}),this.isManualRefresh=!0}createResource(e,t){let l=this.context.createResource(O.SingleRecordResource);return l.isNewRecord=!0,l}renderComponent(){var e;let{colon:t,labelAlign:l,labelWidth:r,labelWrap:n,layout:i}=this.props;return(0,D.jsx)(cb.s2,{model:this,layoutProps:{colon:t,labelAlign:l,labelWidth:r,labelWrap:n,layout:i},children:(0,D.jsx)(O.FlowModelRenderer,{model:null==(e=this.subModels)?void 0:e.grid,showFlowSettings:!1})})}setInitialAssignedValues(e){var t;let l=null==(t=this.subModels)?void 0:t.grid;Object.entries(e||{}).forEach(e=>{let[t,r]=e;l.addOrEnsureItem(t,r)})}getAssignedValues(){return this.subModels.grid.getAssignedValues()||{}}}cx.define({label:(0,O.tExpr)("Field assignments"),hide:!0,createModelOptions:{use:"AssignFormModel",subModels:{grid:{use:"AssignFormGridModel"}}}});class cw extends dX{serialize(){return{...super.serialize(),variableContractType:{type:"formGrid",use:this.use}}}renderAddSubModelButton(){return(0,D.jsx)(O.AddSubModelButton,{subModelKey:"items",subModelBaseClasses:[this.context.getModelClassName("FormItemModel"),this.context.getModelClassName("FormAssociationFieldGroupModel"),this.context.getModelClassName("FormCustomItemModel"),this.context.getModelClassName("FormJSFieldItemModel")].filter(Boolean),model:this,keepDropdownOpen:!0,children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(rI.A,{}),children:this.translate("Fields")})})}render(){var e,t;let l=null==(e=this.props)?void 0:e.height,r=null==(t=this.props)?void 0:t.heightModel,n=this.context.themeToken,i=super.render();return"defaultHeight"===r?i:(0,D.jsx)("div",{style:{height:l,overflowY:"auto",marginLeft:`-${n.marginLG}px`,marginRight:`-${n.marginLG}px`,paddingLeft:`${n.marginLG}px`,paddingRight:`${n.marginLG}px`,paddingTop:5},children:i})}constructor(...e){super(...e),(0,w._)(this,"itemFallback",(0,D.jsx)(iO.A.Input,{block:!0,size:"small",style:{marginBottom:"0.5rem"}})),(0,w._)(this,"itemSettingsMenuLevel",2),(0,w._)(this,"itemFlowSettings",{showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}}),(0,w._)(this,"dragOverlayConfig",{columnInsert:{before:{offsetTop:-6,height:24},after:{offsetTop:3,height:24}},columnEdge:{left:{offsetLeft:-5,width:24},right:{offsetLeft:8,width:24}},rowGap:{above:{offsetTop:-2,height:24},below:{offsetTop:-12,height:24}}})}}cw.registerFlow({key:"formFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});let cS=2;class cA extends cw{renderAddSubModelButton(){var e,t;let l=null==(e=this.context)?void 0:e.collection,r=(null==l||null==(t=l.getFields)?void 0:t.call(l))||[],n=this.context.prefixFieldPath?this.context.prefixFieldPath.split(".").filter(Boolean).length:0,i="function"==typeof(null==l?void 0:l.getPrimaryKey)?l.getPrimaryKey():void 0,o=null==l?void 0:l.filterTargetKey,a=e=>!!e&&!!(i&&e===i||"string"==typeof o&&e===o||Array.isArray(o)&&o.includes(e)),s=r.filter(e=>!a(null==e?void 0:e.name)).filter(e=>{var t;return n<cS||!((null==e||null==(t=e.isAssociationField)?void 0:t.call(e))||(null==e?void 0:e.target)||(null==e?void 0:e.targetCollection))}).map(e=>{let t=e.name,r=e.title||e.name,n=O.EditableItemModel.getDefaultBindingByField(this.context,e);if(!n)return;let i=n.modelName;return{key:t,label:r,toggleable:e=>{let l=e.getStepParams("fieldSettings","init")||{};return(null==l?void 0:l.fieldPath)===t},useModel:"AssignFormItemModel",createModelOptions:()=>({use:"AssignFormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:null==l?void 0:l.dataSourceKey,collectionName:null==l?void 0:l.name,fieldPath:t}}},subModels:{field:{use:i,stepParams:{fieldSettings:{init:{dataSourceKey:null==l?void 0:l.dataSourceKey,collectionName:null==l?void 0:l.name,fieldPath:t}}}}}})}}).filter(Boolean);return(0,D.jsx)(O.AddSubModelButton,{subModelKey:"items",model:this,items:s,keepDropdownOpen:!0,children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(rI.A,{}),children:this.translate("Fields")})})}addOrEnsureItem(e,t){var l,r,n;let i=null==(l=this.context)?void 0:l.collection,o=((null==(r=this.subModels)?void 0:r.items)||[]).find(t=>{try{let l="function"==typeof(null==t?void 0:t.getStepParams)?t.getStepParams("fieldSettings","init"):null;return(null==l?void 0:l.fieldPath)===e}catch(e){return!1}});if(o){"function"==typeof(null==o?void 0:o.setStepParams)&&o.setStepParams("fieldSettings","assignValue",{value:t}),o.assignValue=t;return}if(!i)return;let a=((null==(n=i.getFields)?void 0:n.call(i))||[]).find(t=>t.name===e);if(!a){this.addSubModel("items",{use:"AssignFormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:null==i?void 0:i.dataSourceKey,collectionName:null==i?void 0:i.name,fieldPath:e},assignValue:{value:t}}}}).assignValue=t;return}let s=O.EditableItemModel.getDefaultBindingByField(this.context,a);if(!s)return;let d=s.modelName;this.addSubModel("items",{use:"AssignFormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:null==i?void 0:i.dataSourceKey,collectionName:null==i?void 0:i.name,fieldPath:e},assignValue:{value:t}}},subModels:{field:{use:d,stepParams:{fieldSettings:{init:{dataSourceKey:null==i?void 0:i.dataSourceKey,collectionName:null==i?void 0:i.name,fieldPath:e}}}}}}).assignValue=t}getAssignedValues(){var e;let t=(null==(e=this.subModels)?void 0:e.items)||[],l={};for(let e of t){let t="function"==typeof e.getAssignedEntry?e.getAssignedEntry():null;t&&Array.isArray(t)&&(l[t[0]]=t[1])}return l}}cA.define({label:(0,O.tExpr)("Assign grid")});var cM=l(44329);function cF(e){return"string"==typeof e?e:"function"==typeof e&&e.name?e.name:void 0}function ck(e){var t,l;let r=null==e||null==(l=e.stepParams)||null==(t=l.fieldBinding)?void 0:t.use;return"string"==typeof r?r:void 0}async function cC(e){var t,l,r;let{parentModel:n,targetUse:i,defaultProps:o,pattern:a,fieldSettingsInit:s}=e,d=n.subModels.field,u=null==d?void 0:d.uid,c=null==d||null==(l=d.serialize)||null==(t=l.call(d))?void 0:t.subModels;for(let e in c)!1===c[e].delegateToParent&&delete c[e];let p=cF(ck(d)||(null==d?void 0:d.use))===i&&(null==d?void 0:d.stepParams)||{},h=s??(null==(r=n.getFieldSettingsInitParams)?void 0:r.call(n)),{fieldBinding:f,...m}=p,g={...m,fieldSettings:{...m.fieldSettings||{},init:h}},v=n.flowEngine;u&&(null==d||d.invalidateFlowCache("beforeRender",!0),v.removeModelWithSubModels(u));let y=n.setSubModel("field",{uid:u,use:i,props:{...o||{},...a?{pattern:a}:{}},stepParams:g,subModels:c});await y.dispatchEvent("beforeRender",void 0,{useCache:!1}),await n.save()}var cP=l(13940);function cj(e,t,l){let r=(0,$.castArray)(l).filter(e=>"string"==typeof e),n=t.split(".");if(null==r?void 0:r.length){let t=[],l=0,i=0;for(;l<n.length;){let e=n[l];if(t.push(e),i<r.length){let[l,n]=r[i].split(":");l===e&&(t.push(Number(n)),i++)}l++}return(0,$.get)(e,t)}return(0,$.get)(e,n)}function cE(e){let{record:t,currentObject:l,fieldPath:r,prefixFieldPath:n,idx:i}=e,o=cj(t,r,i);if(void 0!==o||null==l)return o;if(n&&r===n)return l;let a=n&&r.startsWith(`${n}.`)?r.slice(n.length+1):r;return a?(0,$.get)(l,a):l}function cR(e,t){return!(0,cP.E4)(e)||Array.isArray(t)?t:t&&"object"==typeof t&&Array.isArray(t.rows)?t.rows:null==t?[]:[t]}class cT extends O.DisplayItemModel{static defineChildren(e){let t=e.collection;return t.getFields().map(l=>{let r=this.getDefaultBindingByField(e,l,{fallbackToTargetTitleField:!0});if(!r)return null;let n=r.modelName,i=e.prefixFieldPath?`${e.prefixFieldPath}.${l.name}`:l.name;return{key:i,label:l.title,refreshTargets:["DetailsCustomItemModel/DetailsJSFieldItemModel"],toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===i},useModel:"DetailsItemModel",createModelOptions:()=>({use:"DetailsItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:t.dataSourceKey,collectionName:e.model.context.blockModel.collection.name,fieldPath:i}}},subModels:{field:{use:n,props:"function"==typeof r.defaultProps?r.defaultProps(e,l):r.defaultProps}}})}}).filter(Boolean)}onInit(e){super.onInit(e),this.context.defineProperty("actionName",{get:()=>"view",cache:!1})}renderItem(){let e=this.subModels.field,t=this.context.fieldIndex,l=this.context.record,r=this.context.currentObject,n=this.context.item,i=this.context.getPropertyOptions("item"),o=this.context.prefixFieldPath,a=null!=t?(()=>{let o=e.createFork({},`${t}`);o.context.defineProperty("fieldIndex",{get:()=>t}),o.context.defineProperty("record",{get:()=>l,cache:!1}),o.context.defineProperty("currentObject",{get:()=>r,cache:!1});let{value:a,...s}=i||{};return o.context.defineProperty("item",{...s,get:()=>n,cache:!1}),this.context.pattern&&o.context.defineProperty("pattern",{get:()=>this.context.pattern}),o})():e,s=this.context.pattern?{...this.context.blockModel.props,...this.props,pattern:this.context.pattern,disabled:"readPretty"===this.context.pattern}:{...this.context.blockModel.props,...this.props},d=cR(this.collectionField,cE({record:l,currentObject:r,fieldPath:this.fieldPath,prefixFieldPath:o,idx:t}));return(0,D.jsx)(O.FormItem,{...s,value:d,children:(0,D.jsx)(O.FieldModelRenderer,{model:a})})}}cT.define({label:(0,O.tExpr)("Display fields"),searchable:!0,searchPlaceholder:(0,O.tExpr)("Search fields"),sort:100}),cT.registerFlow({key:"detailItemSettings",sort:300,title:(0,O.tExpr)("Detail item settings"),steps:{showLabel:{title:(0,O.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,O.tExpr)("Label"),uiSchema:e=>({title:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let r=e.model,n=null==(l=r.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:r.context.t("Original field title: ")+n}}}}),defaultParams:e=>{var t;return{title:null==(t=e.collectionField)?void 0:t.title}},handler(e,t){var l;let r={ns:"lm-flow-engine",compareWith:null==(l=e.collectionField)?void 0:l.title};e.model.setProps({label:e.t(t.title,r)})}},aclCheck:{use:"aclCheck"},init:{async handler(e){let{collectionField:t}=e.model;t&&e.model.setProps(t.getComponentProps())}},tooltip:{title:(0,O.tExpr)("Tooltip"),uiSchema:{tooltip:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({tooltip:e.t(t.tooltip,{ns:"lm-flow-engine"})})}},description:{title:(0,O.tExpr)("Description"),uiSchema:{description:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({extra:e.t(t.description,{ns:"lm-flow-engine"})})}},model:{title:(0,O.tExpr)("Field component"),use:"displayFieldComponent"},fieldNames:{use:"titleField",title:(0,O.tExpr)("Title field"),beforeParamsSave:async(e,t,l)=>{if(!e.collectionField||!e.collectionField.isAssociationField())return null;if(t.label!==l.label){var r,n;e.model.setProps({titleField:t.label,...null==(n=e.collectionField.targetCollection)||null==(r=n.getField(t.label))?void 0:r.getComponentProps()});let l=e.collectionField.targetCollection.getField(t.label),i=O.DisplayItemModel.getDefaultBindingByField(e,l),o=i.modelName;await cC({parentModel:e.model,targetUse:o,defaultProps:"function"==typeof(null==i?void 0:i.defaultProps)?i.defaultProps(e,e.collectionField):null==i?void 0:i.defaultProps,pattern:e.model.getProps().pattern})}},async handler(e,t){var l,r;if(!e.collectionField||e.model.subModels.field.disableTitleField)return;e.model.setProps({titleField:t.label,...null==(r=e.collectionField.targetCollection)||null==(l=r.getField(t.label))?void 0:l.getComponentProps()});let n=e.collectionField.targetCollection;if(n){let l=n.getField(t.label),r=O.DisplayItemModel.getDefaultBindingByField(e,l).modelName;r!==e.model.subModels.field.use&&e.model.setStepParams(e.flowKey,"model",{use:r})}},hideInSettings:async e=>!e.collectionField||!e.collectionField.isAssociationField()||e.model.subModels.field.disableTitleField}}}),cT.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh",defaultParams:{strategy:"formItem"}}}});var cI=l(71616);function c_(e){if(!e)return!1;let t=null==e?void 0:e.type;return"belongsToMany"===t||"hasMany"===t||"belongsToArray"===t}function cD(e,t){var l;let r=!!(null==e||null==(l=e.isAssociationField)?void 0:l.call(e)),n=c_(e);return r&&!n&&Array.isArray(t)?t.length?t[0]:void 0:t}function cN(e,t){if(!(null==t?void 0:t.length))return e;let[l,r]=String(t[t.length-1]).split(":"),n=Number(r);if(!l||!Number.isFinite(n))return e;let i=0;for(let e of t){let[t]=String(e).split(":");t===l&&(i+=1)}let o=-1,a=0;for(let t=0;t<e.length;t++)if(String(e[t])===l&&(a+=1)===i){o=t;break}if(-1===o){for(let t=e.length-1;t>=0;t--)if(String(e[t])===l){o=t;break}}return -1===o?e:[n,...e.slice(o+1)]}let cO=["o2o","oho","obo","o2m","attachment","expression","point","lineString","circle","polygon","sequence","formula"],c$=2;class cB extends O.EditableItemModel{static defineChildren(e){let t=e.collection,l=e.prefixFieldPath?e.prefixFieldPath.split(".").filter(Boolean).length:0;return t.getFields().map(r=>{var n;if(l>=c$&&((null==(n=r.isAssociationField)?void 0:n.call(r))||r.target||r.targetCollection))return;let i=this.getDefaultBindingByField(e,r);if(!i)return;let o=i.modelName,a=e.prefixFieldPath?`${e.prefixFieldPath}.${r.name}`:r.name;return{key:a,label:r.title,refreshTargets:["FormJSFieldItemModel","FormItemModel/FormJSFieldItemModel"],toggleable:e=>(0,cP.pX)(e).some(e=>e===a),useModel:"FormItemModel",createModelOptions:()=>({use:"FormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:t.dataSourceKey,collectionName:e.model.context.blockModel.collection.name,fieldPath:a}}},subModels:{field:{use:o,props:"function"==typeof i.defaultProps?i.defaultProps(e,r):i.defaultProps}}})}}).filter(Boolean)}onInit(e){super.onInit(e),this.emitter.on("onSubModelAdded",e=>{if(this.collectionField){let t=this.collectionField.getComponentProps();e.setProps(t),this.setProps({...B().pick(t,"rules")||{}})}})}renderItem(){var e,t;let l=this.subModels.field,r=this.context.fieldIndex,n=this.context.fieldKey,i=(null==(e=this.parent)?void 0:e.context.fieldPathArray)||[],o=!!this.context.flowSettingsEnabled&&!!this.props.hidden&&!this.hidden&&!this.forbidden,a=null!=r||o?(()=>{let e=o?`${this.uid}:config-visible`:`${n}`,t=l.createFork({},e);if(null!=r){t.context.defineProperty("fieldIndex",{get:()=>r}),t.context.defineProperty("fieldKey",{get:()=>n}),this.context.currentObject&&t.context.defineProperty("currentObject",{get:()=>this.context.currentObject});let e=this.context.getPropertyOptions("item");if(this.context.item){let{value:l,...r}=e||{};t.context.defineProperty("item",{...r,get:()=>this.context.item,cache:!1})}this.context.pattern&&t.context.defineProperty("pattern",{get:()=>this.context.pattern})}return t.context.defineProperty("fieldPathArray",{get:()=>this.context.fieldPathArray,cache:!1}),o&&t.setProps({hidden:!1}),t})():l,{initialValue:s,hidden:d,...u}=this.context.pattern?{...this.props,pattern:this.context.pattern}:this.props,c=o?u:{hidden:d,...u},p=cN(this.props.name,r);this.context.defineProperty("fieldPathArray",{get:()=>[...i,...B().castArray(p)],cache:!1});let h=(null==(t=this.context.item)?void 0:t.value)||this.context.record,f=(0,D.jsx)(O.FormItem,{...c,name:p,validateFirst:!0,disabled:this.props.disabled||!B().isEmpty(h)&&!h.__is_new__&&this.props.aclDisabled||!B().isEmpty(h)&&h.__is_new__&&this.props.aclCreateDisabled,children:(0,D.jsx)(O.FieldModelRenderer,{model:a,name:p})});return o?(0,D.jsx)(tz.A,{title:this.context.t("The field is hidden and only visible when the UI Editor is active"),children:(0,D.jsx)("div",{style:{opacity:.3},children:f})}):f}}cB.define({label:(0,O.tExpr)("Display fields"),searchable:!0,searchPlaceholder:(0,O.tExpr)("Search fields"),sort:100}),cB.registerFlow({key:"editItemSettings",sort:300,title:(0,O.tExpr)("Form item settings"),steps:{showLabel:{title:(0,O.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,O.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let r=e.model,n=null==(l=r.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:r.context.t("Original field title: ")+n}}}}),defaultParams:e=>{var t;return{label:null==(t=e.collectionField)?void 0:t.title}},handler(e,t){var l;let r={ns:"lm-flow-engine",compareWith:null==(l=e.collectionField)?void 0:l.title};e.model.setProps({label:e.t(t.label,r)})}},aclCheck:{use:"aclCheck",async handler(e,t){var l,r,n,i,o,a,s,d,u,c,p,h,f;if(!e.collectionField||!e.blockModel)return;let m=e.blockModel.context.actionName,g=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:null==(r=e.collectionField)?void 0:r.collectionName,fields:[null==(n=e.collectionField)?void 0:n.name],actionName:m});if("update"===m){let t=await e.aclCheck({dataSourceKey:null==(i=e.dataSource)?void 0:i.key,resourceName:null==(o=e.collectionField)?void 0:o.collectionName,fields:[e.collectionField.name],actionName:"view"});e.prefixFieldPath&&e.item&&(await e.aclCheck({dataSourceKey:null==(s=e.dataSource)?void 0:s.key,resourceName:null==(d=e.collectionField)?void 0:d.collectionName,fields:[e.collectionField.name],actionName:"create"})||e.model.setProps({aclCreateDisabled:!0}));let l=(null==(a=e.item)?void 0:a.__is_new__)??!1;t||l||(e.model.hidden=!0,e.model.forbidden={actionName:"view"},e.exitAll()),g||e.model.setProps({aclDisabled:!0})}else if("create"===m){let t=await e.aclCheck({dataSourceKey:null==(u=e.dataSource)?void 0:u.key,resourceName:null==(c=e.collectionField)?void 0:c.collectionName,actionName:"update"}),l=await e.aclCheck({dataSourceKey:null==(p=e.dataSource)?void 0:p.key,resourceName:null==(h=e.collectionField)?void 0:h.collectionName,fields:[e.collectionField.name],actionName:"update"}),r=(null==(f=e.item)?void 0:f.__is_stored__)??!1;g||r||(e.model.hidden=!0,e.model.forbidden={actionName:m},e.exitAll()),t&&l||e.model.setProps({aclDisabled:!0})}}},init:{async handler(e){let t=e.model.fieldPath,l=t.includes(".")?t.split("."):t;e.model.setProps({name:l})}},tooltip:{title:(0,O.tExpr)("Tooltip"),uiSchema:{tooltip:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({tooltip:e.t(t.tooltip,{ns:"lm-flow-engine"})})}},description:{title:(0,O.tExpr)("Description"),uiSchema:{description:{"x-component":"Input.TextArea","x-decorator":"FormItem","x-component-props":{autoSize:!0}}},handler(e,t){e.model.setProps({extra:e.t(t.description,{ns:"lm-flow-engine"})})}},initialValue:{title:(0,O.tExpr)("Default value"),disabledInSettings:!0,disabledReasonInSettings:e=>`${e.t("This setting has been moved to")}: ${e.t("Form block settings")} > ${e.t("Field values")}`,uiSchema:e=>{var t,l,r,n;if(e.model.parent.parent instanceof cI.EditFormModel||(null==(l=e.model.subModels)||null==(t=l.field)?void 0:t.updateAssociation))return;let i=null==(r=e.model.collectionField)?void 0:r.interface;if(null==cO||null==(n=cO.includes)||!n.call(cO,i))return{defaultValue:{"x-component":"DefaultValue","x-decorator":"FormItem"}}},defaultParams:e=>{let t=e.model.collectionField;if("nanoid"===t.interface&&!1!==t.options.autoFill){let{size:e,customAlphabet:l}=t.options||{size:21};return{defaultValue:(0,cM.d_)(l,e)()}}return{defaultValue:t.defaultValue}},handler(e,t){var l,r;let n=null==(l=e.model.collectionField)?void 0:l.interface;if(null==cO||null==(r=cO.includes)?void 0:r.call(cO,n))return;let i=cD(e.model.collectionField,t.defaultValue);e.model.setProps({initialValue:i})}},validation:{title:(0,O.tExpr)("Validation"),use:"validation"},required:{title:(0,O.tExpr)("Required"),use:"required"},model:{use:"fieldComponent",title:(0,O.tExpr)("Field component")},pattern:{use:"pattern"},titleField:{use:"titleField",hideInSettings:e=>!(e.collectionField&&e.collectionField.isAssociationField()&&e.collectionField.isAssociationField()&&"readPretty"===e.model.getProps().pattern),defaultParams:e=>{var t,l,r;return{titleField:e.model.props.titleField||(null==(r=e.model)||null==(l=r.context)||null==(t=l.collectionField)?void 0:t.targetCollectionTitleFieldName)}},beforeParamsSave:async(e,t,l)=>{if(!(e.collectionField.isAssociationField()&&"readPretty"===e.model.getProps().pattern))return null;let r=t.titleField||t.label;if(r!==l.titleField){let t=e.collectionField.targetCollection,l=t.getField(r),n=cT.getDefaultBindingByField(e,l);if(n.modelName!==e.model.subModels.field.use){let l=e.model.subModels.field.uid;await e.engine.destroyModel(l);let i=e.model.setSubModel("field",{use:n.modelName,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:t.name,fieldPath:r}}}});await i.save()}e.model.setProps(e.collectionField.targetCollection.getField(r).getComponentProps())}},async handler(e,t){"readPretty"===e.model.props.pattern?e.model.setProps({titleField:null==t?void 0:t.label}):e.model.setProps({titleField:t.titleField})}}}}),cB.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh",defaultParams:{strategy:"formItem"}}}});var cL=l(85352),cq=l(90199),cV=l(97510);function cz(e,t){var l,r,n;let i=null==e||null==(l=e.props)?void 0:l.fieldNames,o=null==e||null==(r=e.props)?void 0:r.titleField,a=null==e||null==(n=e.getStepParams)?void 0:n.call(e,"selectSettings","fieldNames");return{stepParams:{fieldSettings:{init:t},...a?{selectSettings:{fieldNames:a}}:{}},props:{...void 0!==i?{fieldNames:i}:{},...void 0!==o?{titleField:o}:{}}}}function cK(e){try{return JSON.stringify(e)??""}catch{return String(e)}}function cU(e){var t,l,r;let n=null==e||null==(t=e.props)?void 0:t.fieldNames,i=null==e||null==(l=e.props)?void 0:l.titleField,o=null==e||null==(r=e.getStepParams)?void 0:r.call(e,"selectSettings","fieldNames");return[(null==e?void 0:e.uid)||"",cK(n),cK(i),cK(o)].join("|")}function cW(e){if(!e||"object"!=typeof e||!("target"in e))return e;let t=e.target;return t&&"value"in t?t.value:e}class cH extends cB{onInit(e){var t,l,r,n,i,o,a;let s=null==(t=this.getStepParams("fieldSettings","assignValue"))?void 0:t.value;void 0!==s&&(this.assignValue=s),this.context.defineProperty("collectionField",{get:()=>{var e,t;let l=this.getStepParams("fieldSettings","init")||{},r=`${null==l?void 0:l.dataSourceKey}.${null==l?void 0:l.collectionName}.${null==l?void 0:l.fieldPath}`,n=null==(e=this.context)?void 0:e.dataSourceManager;return null==n||null==(t=n.getCollectionField)?void 0:t.call(n,r)}});let d=this.context,u=null==d?void 0:d.collection,c=this.fieldInit;if(!(null==(l=this.subModels)?void 0:l.field)&&(null==u?void 0:u.getFields)){let e=(u.getFields()||[]).find(e=>(null==e?void 0:e.name)===(null==c?void 0:c.fieldPath));null==u||null==(n=u.getField)||n.call(u,null==c?void 0:c.fieldPath);let t=O.EditableItemModel.getDefaultBindingByField(d,e);if(!t)return;let l=t.modelName;null==d||null==(o=d.engine)||null==(i=o.createModel)||i.call(o,{use:l,stepParams:{fieldSettings:{init:c}},parentId:this.uid,subKey:"field"})}let p=null==(r=this.context)?void 0:r.collection,h=this.fieldPath;if(h){let e=null==p||null==(a=p.getField)?void 0:a.call(p,h),t=(null==e?void 0:e.title)||h,l=h.includes(".")?h.split("."):[h];this.setProps({label:t,name:l})}}get fieldInit(){return this.getStepParams("fieldSettings","init")||{}}get fieldPath(){var e;return null==(e=this.fieldInit)?void 0:e.fieldPath}getAssignedEntry(){let e=this.fieldPath;return e&&this.collectionField?[e,this.assignValue]:null}render(){var e,t;if(!this.collectionField)return(0,D.jsx)(O.FieldDeletePlaceholder,{});let l=this.context,r=l.collection,n=this.fieldInit,i=(null==(e=this.props)?void 0:e.name)||(this.fieldPath?[this.fieldPath]:void 0),o=this.fieldPath,a=null==(t=this.subModels)?void 0:t.field,s=cU(a),d=()=>{var e,t,s,d,u;let[c,p]=A.useState(null);A.useEffect(()=>{var e,t,i,s,d,u,c,h,f,m,g,v,y,b,x,w,S,A,M,F,k;if(!o)return;let C=((null==r||null==(e=r.getFields)?void 0:e.call(r))||[]).find(e=>(null==e?void 0:e.name)===o);r.getField(o);let P=O.EditableItemModel.getDefaultBindingByField(l,C);if(!P)return;let j=P.modelName,E=cz(a,n),R=null==l||null==(i=l.engine)||null==(t=i.createModel)?void 0:t.call(i,{use:"VariableFieldFormModel",subModels:{fields:[{use:j,...E}]}});if(!R)return;null==(d=R.context)||null==(s=d.defineProperty)||s.call(d,"collection",{value:r});let T=null==l?void 0:l.dataSource;T&&(null==(c=R.context)||null==(u=c.defineProperty)||u.call(c,"dataSource",{value:T}));let I=null==r||null==(h=r.getField)?void 0:h.call(r,null==n?void 0:n.fieldPath);I&&(null==(m=R.context)||null==(f=m.defineProperty)||f.call(m,"collectionField",{value:I}));let _=null==l?void 0:l.blockModel;_&&(null==(v=R.context)||null==(g=v.defineProperty)||g.call(v,"blockModel",{value:_}));let D=l.form;D&&(null==(F=R.context)||null==(M=F.defineProperty)||M.call(F,"form",{value:D})),R.context&&Object.defineProperty(R.context,"resource",{configurable:!0,enumerable:!0,get:()=>null==_?void 0:_.resource});let N=null==R||null==(b=R.subModels)||null==(y=b.fields)?void 0:y[0],$=null==r||null==(x=r.getField)?void 0:x.call(r,null==n?void 0:n.fieldPath),B=null==$?void 0:$.type,L=null==$?void 0:$.interface,q="belongsToMany"===B||"hasMany"===B||"belongsToArray"===B||"m2m"===L||"o2m"===L||"mbm"===L;if(null==N||null==(w=N.setProps)||w.call(N,{disabled:!1,readPretty:!1,updateAssociation:!1,multiple:q}),null==N||null==(S=N.dispatchEvent)||S.call(N,"beforeRender",void 0,{sequential:!0,useCache:!0}),(0,cL.NI)(N,$),!(null==N||null==(A=N.props)?void 0:A.fieldNames)&&(null==$?void 0:$.targetCollection)){let e=$.targetCollection,t=(null==$?void 0:$.targetKey)||(null==e?void 0:e.filterTargetKey)||"id";null==N||null==(k=N.setProps)||k.call(N,{fieldNames:{label:null==e?void 0:e.titleField,value:t}})}return p(R),()=>{var e,t,l,r;null==R||null==(l=R.subModels)||null==(t=l.fields)||null==(e=t.forEach)||e.call(t,e=>{var t;return null==e||null==(t=e.remove)?void 0:t.call(e)}),null==R||null==(r=R.remove)||r.call(R)}},[]);let h=e=>(A.useEffect(()=>{var t,l,r;if(!c)return;null==(t=c.setProps)||t.call(c,{...e});let n=null==c||null==(r=c.subModels)||null==(l=r.fields)?void 0:l[0];if(n){var i,o=this;null==(i=n.setProps)||i.call(n,{value:null==e?void 0:e.value,onChange:function(){for(var t,l,r=arguments.length,i=Array(r),a=0;a<r;a++)i[a]=arguments[a];let s=cW(i&&i.length?i[0]:void 0);null==(t=n.setProps)||t.call(n,{value:s}),o.assignValue=s,null==e||null==(l=e.onChange)||l.call(e,s)}})}},[e]),c?(0,D.jsx)("div",{style:{width:"100%"},children:(0,D.jsx)(O.FlowModelRenderer,{model:c,showFlowSettings:!1})}):null),f=()=>{var e,t;return(0,D.jsx)(dV.A,{placeholder:`<${(null==(e=(t=this.context).t)?void 0:e.call(t,"Null"))??"Null"}>`,readOnly:!0,style:{width:"100%"}})},m=e=>(0,D.jsx)(cq.h,{t:this.context.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange,containerStyle:{width:"100%"}}),g=async()=>{var e;let t=null==(e=this.context)?void 0:e.getPropertyMetaTree;return"function"==typeof t?await t():[]},v=null==r||null==(e=r.getField)?void 0:e.call(r,this.fieldPath),y=(0,cV.kB)(v),b=(0,cV.Ot)(v,null==(t=this.fieldPath)?void 0:t.split(".").slice(-1)[0]),x=b?(0,cV.cd)(v,y):cV.tS,w=(null==(s=this.props)?void 0:s.label)??this.fieldPath??"",S=null==r||null==(d=r.getField)?void 0:d.call(r,this.fieldPath);return w=(null==(u=this.props)?void 0:u.label)??(null==S?void 0:S.title)??w,(0,D.jsx)(O.FormItem,{...this.props,label:w,name:i,initialValue:this.assignValue,valuePropName:"__assign_value__",trigger:"__assign_trigger__",validateTrigger:"__assign_trigger__",children:A.createElement(e=>{let t=null==e?void 0:e.__assign_value__,l=void 0===t?this.assignValue:t;return(0,D.jsx)(cV.Wm,{value:l,onChange:t=>{var l;this.assignValue=t,null==e||null==(l=e.__assign_trigger__)||l.call(e,t)},baseMetaTree:g,constantComponent:h,nullComponent:f,runJSComponent:m,isDateLikeField:b,dateComponentProps:x,clearValue:""})})})};return(0,D.jsx)(d,{},s)}constructor(e){super(e),(0,w._)(this,"assignValue",void 0),(0,N.define)(this,{assignValue:N.observable})}}cH.define({label:(0,O.tExpr)("Assign field")}),cH.registerFlow({key:"editItemSettings",sort:300,title:(0,O.tExpr)("Form item settings"),steps:{showLabel:{title:(0,O.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,O.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let r=e.model,n=null==(l=r.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:r.context.t("Original field title: ")+n}}}}),defaultParams:e=>{var t;return{label:(null==(t=e.model.collectionField)?void 0:t.title)||e.model.fieldPath}},handler(e,t){var l;t.label&&t.label===(null==(l=e.model.collectionField)?void 0:l.title)?e.model.setProps({label:t.label}):e.model.setProps({label:e.t(t.label,{ns:"lm-flow-engine"})})}},init:{async handler(e){let t=e.model.collectionField;t&&e.model.setProps(t.getComponentProps());let l=e.model.fieldPath,r=l.includes(".")?l.split("."):l;e.model.setProps({name:r})}},tooltip:{title:(0,O.tExpr)("Tooltip"),uiSchema:{tooltip:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({tooltip:e.t(t.tooltip,{ns:"lm-flow-engine"})})}},description:{title:(0,O.tExpr)("Description"),uiSchema:{description:{"x-component":"Input.TextArea","x-decorator":"FormItem"}},handler(e,t){e.model.setProps({extra:e.t(t.description,{ns:"lm-flow-engine"})})}},validation:{title:(0,O.tExpr)("Validation"),use:"validation"},required:{title:(0,O.tExpr)("Required"),use:"required"}}});class cY extends dm{}(0,w._)(cY,"itemModelName","DetailsItemModel"),cY.define({label:'{{t("Display association fields")}}'});var cG=l(58929);let cJ=e=>{if(!e)return 0;let t=e.getBoundingClientRect(),l=window.getComputedStyle(e),r=parseFloat(l.marginTop)||0,n=parseFloat(l.marginBottom)||0;return t.height+r+n},cX=e=>{let{heightMode:t,containerRef:l,actionsRef:r,paginationRef:n,deps:i=[]}=e,[o,a]=(0,A.useState)(),s=(0,A.useCallback)(()=>{if("specifyValue"!==t&&"fullHeight"!==t)return void a(e=>void 0===e?e:void 0);let e=l.current;if(!e)return;let i=e.getBoundingClientRect().height;if(!i)return;let o=Math.max(0,Math.floor(i-cJ(r.current)-cJ(n.current)));a(e=>e===o?e:o)},[t,l,r,n]);return(0,A.useLayoutEffect)(()=>{s()},[s,...i]),(0,A.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=r.current,i=n.current,o=new ResizeObserver(()=>s());return o.observe(e),t&&o.observe(t),i&&o.observe(i),()=>o.disconnect()},[s,l,r,n,...i]),o};class cQ extends d5.t{createResource(e,t){var l,r;if((null==(l=this.association)?void 0:l.type)==="hasOne"||(null==(r=this.association)?void 0:r.type)==="belongsTo"||Object.keys(t).includes("filterByTk")){let e=this.context.createResource(O.SingleRecordResource);return e.isNewRecord=!1,e}let n=this.context.createResource(O.MultiRecordResource);return n.setPageSize(1),n}onInit(e){var t,l;super.onInit(e),this.hadSingleRecordData=(null==(l=this.resource)||null==(t=l.hasData)?void 0:t.call(l))??!1,this.hasMultiRefreshDispatched=!1;let r=(0,O.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>this.getCurrentRecord(),cache:!1,resolveOnServer:(0,O.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>this.getCurrentRecord()),meta:r}),this.resource.on("refresh",()=>{var e,t;if(this.isMultiRecordResource()){this.hasMultiRefreshDispatched=!0,(0,ce.Xi)(this,"paginationChange");return}let l=this.hadSingleRecordData;this.hadSingleRecordData=(null==(t=this.resource)||null==(e=t.hasData)?void 0:e.call(t))??!1,l&&(0,ce.Xi)(this,"paginationChange")})}isMultiRecordResource(){return this.resource instanceof O.MultiRecordResource}hasDispatchedMultiRefresh(){return this.hasMultiRefreshDispatched}getCurrentRecord(){let e=this.resource.getData();return Array.isArray(e)?e[0]:e}hasAvailableData(){return this.resource.hasData()}async refresh(){await this.resource.refresh()}renderPagination(){if(!this.resource.loading&&!this.hasAvailableData()){var e,t;return(0,D.jsx)("div",{style:{textAlign:"center",color:null==(t=this.context)||null==(e=t.themeToken)?void 0:e.colorTextDescription},children:this.translate("No available data currently")})}let l=this.resource;return!this.isMultiRecordResource()||!l.getPage()||1>=this.resource.getMeta("count")?null:(0,D.jsx)("div",{style:{textAlign:"center"},children:(0,D.jsx)(cG.A,{simple:!0,pageSize:1,showSizeChanger:!1,current:l.getPage(),total:l.getCount(),onChange:this.handlePageChange,style:{display:"inline-block"}})})}renderConfigureActions(){return(0,D.jsx)(O.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("RecordActionGroupModel"),afterSubModelInit:async e=>{e.setStepParams("buttonSettings","general",{type:"default"})},children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(rI.A,{}),children:this.translate("Actions")})},"details-actions-add")}renderComponent(){let{colon:e,labelAlign:t,labelWidth:l,labelWrap:r,layout:n}=this.props,i=!!this.context.flowSettingsEnabled,o=!i&&!this.hasAvailableData(),{heightMode:a,height:s}=this.decoratorProps;return(0,D.jsx)(c0,{model:this,gridModel:this.subModels.grid,isConfigMode:i,heightMode:a,height:s,layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:r,layout:n},actions:(0,D.jsx)(O.DndProvider,{children:(0,D.jsx)("div",{style:o?{pointerEvents:"none",opacity:.45}:void 0,children:(0,D.jsxs)(dD.A,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||i)return(0,D.jsx)(O.Droppable,{model:e,children:(0,D.jsx)(O.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!1,showBorder:!1,toolbarPosition:"above"},extraToolbarItems:[{key:"drag-handler",component:O.DragHandler,sort:1}]})},e.uid)}),this.renderConfigureActions()]})})})})}constructor(...e){super(...e),(0,w._)(this,"hadSingleRecordData",!1),(0,w._)(this,"hasMultiRefreshDispatched",!1),(0,w._)(this,"_defaultCustomModelClasses",{RecordActionGroupModel:"RecordActionGroupModel",DetailsItemModel:"DetailsItemModel",DetailsAssociationFieldGroupModel:"DetailsAssociationFieldGroupModel",DetailsCustomItemModel:"DetailsCustomItemModel"}),(0,w._)(this,"customModelClasses",{}),(0,w._)(this,"handlePageChange",async e=>{if(this.resource instanceof O.MultiRecordResource){let t=this.resource;t.setPage(e),t.loading=!0,await this.refresh()}})}}(0,w._)(cQ,"scene",d6.P.oam);let cZ=(0,O.observer)(e=>{let{model:t}=e;return t.renderPagination()}),c0=e=>{let{model:t,gridModel:l,isConfigMode:r,heightMode:n,height:i,layoutProps:o,actions:a}=e,s=(0,A.useRef)(null),d=(0,A.useRef)(null),u=(0,A.useRef)(null),c="specifyValue"===n||"fullHeight"===n,p=cX({heightMode:n,containerRef:s,actionsRef:d,paginationRef:u,deps:[i]});(0,A.useEffect)(()=>{var e,t;if(!l)return;let r=c?p:void 0;((null==(e=l.props)?void 0:e.height)!==r||(null==(t=l.props)?void 0:t.heightMode)!==n)&&l.setProps({height:r,heightMode:n})},[l,p,c,n]);let h=c?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,f=c?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,D.jsx)(cb.s2,{model:t,layoutProps:o,style:h,children:(0,D.jsxs)("div",{ref:s,style:f,children:[(0,D.jsx)("div",{ref:d,style:{textAlign:"right",lineHeight:"0px",paddingBottom:r&&t.context.themeToken.padding},children:a}),(0,D.jsx)(O.FlowModelRenderer,{model:l,showFlowSettings:!1},`${(null==l?void 0:l.uid)||"details-grid"}:${r?"design":"runtime"}`),(0,D.jsx)("div",{ref:u,children:(0,D.jsx)(cZ,{model:t})})]})})};cQ.registerFlow({key:"detailsSettings",title:(0,O.tExpr)("Details settings"),sort:150,steps:{refresh:{async handler(e){if(!e.resource)throw Error("Resource is not initialized");await e.model.applySubModelsBeforeRenderFlows("grid")}},layout:{use:"layout",title:(0,O.tExpr)("Layout")},dataScope:{use:"dataScope"},defaultSorting:{use:"sortingRule",title:(0,O.tExpr)("Default sorting")},linkageRules:{use:"detailsFieldLinkageRules"}}}),cQ.registerFlow({key:"paginationChange",on:"paginationChange",steps:{blockLinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"blockLinkageRules",flowKey:"cardSettings",stepKey:"linkageRules"}},fieldslinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"detailsFieldLinkageRules",flowKey:"detailsSettings",stepKey:"linkageRules"}}}}),cQ.registerFlow({key:"initialPaginationChangeRefresh",sort:10001,steps:{refreshPaginationRelatedStates:{async handler(e){if(e.model.hidden||!e.model.isMultiRecordResource()||e.model.hasDispatchedMultiRefresh())return;let t=e.model.resource;if(!t)return;let l="manual"===(t.dataLoadingMode??t.loadingMode),r="function"==typeof t.hasActiveFilters&&t.hasActiveFilters();l&&!r&&await (0,ce.Xi)(e.model,"paginationChange")}}}}),cQ.define({label:(0,O.tExpr)("Details"),searchable:!0,searchPlaceholder:(0,O.tExpr)("Search"),createModelOptions:{use:"DetailsBlockModel",subModels:{grid:{use:"DetailsGridModel"}}},sort:350});class c1 extends O.FlowModel{static defineChildren(e){let t=e.engine.filterModelClassByParent("CommonItemModel"),l=e.engine.filterModelClassByParent("DetailsCustomItemModel"),r=t=>Array.from(t.entries()).map(t=>{var l,r,n,i,o;let[a,s]=t,d="function"==typeof s.defineChildren||!!(null==(l=s.meta)?void 0:l.children),u={key:a,label:e.t(s.meta.label),sort:s.meta.sort??999,searchable:!!(null==(r=s.meta)?void 0:r.searchable),searchPlaceholder:null==(n=s.meta)?void 0:n.searchPlaceholder,hide:null==(i=s.meta)?void 0:i.hide};return d?u.children=e=>{var t;return"function"==typeof s.defineChildren?s.defineChildren(e):(null==(t=s.meta)?void 0:t.children)||[]}:u.createModelOptions=(null==(o=s.meta)?void 0:o.createModelOptions)||{use:a},u});return B().sortBy([...r(t),...r(l)],"sort")}}(0,w._)(c1,"renderMode",O.ModelRenderMode.RenderFunction),c1.define({hide:!0,label:(0,O.tExpr)("Others")});class c2 extends dX{renderAddSubModelButton(){return this.context.flowSettingsEnabled?(0,D.jsx)(O.AddSubModelButton,{model:this,subModelKey:"items",subModelBaseClasses:[this.context.getModelClassName("DetailsItemModel"),this.context.getModelClassName("DetailsAssociationFieldGroupModel"),this.context.getModelClassName("DetailsCustomItemModel")].filter(Boolean),keepDropdownOpen:!0,children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(rI.A,{}),children:this.translate("Fields")})}):null}render(){var e,t;let l=null==(e=this.props)?void 0:e.height,r=null==(t=this.props)?void 0:t.heightMode,n=this.context.themeToken,i=super.render();return"defaultHeight"===r?i:(0,D.jsx)("div",{style:{height:l,overflowY:"auto",marginLeft:`-${n.marginLG}px`,marginRight:`-${n.marginLG}px`,paddingLeft:`${n.marginLG}px`,paddingRight:`${n.marginLG}px`},children:i})}constructor(...e){super(...e),(0,w._)(this,"itemFallback",(0,D.jsx)(iO.A.Input,{block:!0,size:"small",style:{marginBottom:"0.5rem"}})),(0,w._)(this,"itemSettingsMenuLevel",2),(0,w._)(this,"itemFlowSettings",{showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}}),(0,w._)(this,"dragOverlayConfig",{columnInsert:{before:{offsetTop:-6,height:24},after:{offsetTop:3,height:24}},columnEdge:{left:{offsetLeft:-5,width:24},right:{offsetLeft:8,width:24}},rowGap:{above:{offsetTop:-2,height:24},below:{offsetTop:-12,height:24}}})}}function c4(e,t){let{fieldUseModel:l,refreshTargets:r}=t,n=e=>Array.isArray(e)?e.map(e=>{let t={...e};if(t.children)if("function"==typeof t.children){let e=t.children;t.children=async t=>n(await e(t))}else Array.isArray(t.children)&&(t.children=n(t.children));if(t.createModelOptions){let e=t.createModelOptions;t.createModelOptions=async(t,r)=>{let n=await ("function"==typeof e?e(t,r):e);return n.subModels=n.subModels||{},n.subModels.field={...n.subModels.field||{},use:l},n},t.refreshTargets=t.refreshTargets||r}return t}):[];return n(e)}function c6(e,t,l){let{fieldUseModel:r,refreshTargets:n}=l,i=l.key??"js-association-fields",o=l.label??(0,O.tExpr)("Display association fields");return{key:i,type:"group",label:o,searchable:l.searchable??!0,searchPlaceholder:l.searchPlaceholder??(0,O.tExpr)("Search fields"),children:async e=>c4(await t(e),{fieldUseModel:r,refreshTargets:n})}}c2.registerFlow({key:"detailFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});class c3 extends dm{}async function c5(e,t){var l;let{useModel:r,fieldUseModel:n,refreshTargets:i,associationPathName:o,associationProvider:a}=t,s=(0,O.buildWrapperFieldChildren)(e,{useModel:r,fieldUseModel:n,associationPathName:o,refreshTargets:i}),d=[],u=null==s||null==(l=s[0])?void 0:l.children;if(Array.isArray(u)&&(d=u),!a)return d;let c=await a(e);return Array.isArray(c)&&0!==c.length?[...d,c6(e,a,{fieldUseModel:n,refreshTargets:i})]:d}(0,w._)(c3,"itemModelName","FormItemModel");class c8 extends c1{static defineChildren(e){return c5(e,{useModel:"DetailsItemModel",fieldUseModel:"JSFieldModel",refreshTargets:["DetailsItemModel"],associationProvider:e=>cY.defineChildren(e)})}}c8.define({label:(0,O.tExpr)("JS field"),searchable:!0,searchPlaceholder:(0,O.tExpr)("Search fields"),sort:110});class c9 extends st.o{}var c7=l(85196);class pe extends st.o{constructor(...e){super(...e),(0,w._)(this,"operator","$eq"),(0,w._)(this,"updateAssociation",!1)}}pe.registerFlow({key:"AssociationFieldInit",sort:800,steps:{init:{async handler(e,t){if(e.model.updateAssociation){var l,r;let t=e.model.context.blockModel,n=null==t||null==(l=t.context)?void 0:l.resource,i=null==(r=e.model.parent)?void 0:r.fieldPath;n&&i&&n.addUpdateAssociationValues(i)}}},allowCreateCheck:{async handler(e){var t;let l=await e.aclCheck({dataSourceKey:e.collectionField.dataSourceKey,resourceName:null==(t=e.collectionField)?void 0:t.target,actionName:"create"});e.model.setProps({allowCreate:!!l})}}}});let pt=(e,t)=>e===t,pl=e=>{if(e&&"object"==typeof e){let t=e.data;return t&&"object"==typeof t?t:e}};function pr(e){return"string"==typeof e&&e?e:Array.isArray(e)&&1===e.length&&"string"==typeof e[0]?e[0]:void 0}function pn(e,t){var l;let r="string"==typeof(null==t||null==(l=t.titleCollectionField)?void 0:l.name)?t.titleCollectionField.name:void 0,n=pr(null==t?void 0:t.filterTargetKey)||"id",i="string"==typeof(null==e?void 0:e.value)&&e.value&&!pt(e.value,"value")?e.value:void 0,o="string"==typeof(null==e?void 0:e.label)&&e.label&&!pt(e.label,"label")?e.label:void 0,a=i||n;return{label:o||r||a,value:a}}function pi(e){var t,l,r,n,i,o;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=!!a.navigation,d=e=>{if(Array.isArray(e))return e.filter(e=>"string"==typeof e&&!!e)},u=d(null==(l=e.view)||null==(t=l.inputArgs)?void 0:t.openerUids),c=d(a.openerUids),p=u||c||[];if(s)return(c||p).filter(Boolean);let h=null==(n=e.view)||null==(r=n.inputArgs)?void 0:r.viewUid,f=null==(o=e.model.context)||null==(i=o.inputArgs)?void 0:i.viewUid;return[...p,"string"==typeof h&&h?h:"string"==typeof f&&f?f:e.model.uid].filter(Boolean)}function po(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function pa(e){let{value:t,isMultiple:l,valueKey:r,labelKey:n,statusMap:i}=e,o=l?Array.isArray(t)?t:[]:null!=t?[t]:[],a=new Set;for(let e of o){if(!po(e))continue;let t=e[r];if(null==t)continue;let l="object"==typeof t?JSON.stringify(t):String(t);l&&a.add(l)}for(let e of Array.from(i.keys()))a.has(e)||i.delete(e);let s=[];for(let e of o){if(!po(e))continue;let t=e[r];if(null==t||null!=e[n])continue;let l="object"==typeof t?JSON.stringify(t):String(t);!l||i.has(l)||(i.set(l,"pending"),s.push({item:e,tk:t,tkKey:l}))}return s}function ps(e){return po(e)&&"function"==typeof e.setFormValue}function pd(e){var t;let l=po(e.context)?e.context:void 0;return(null==l?void 0:l.fieldPathArray)??(null==l?void 0:l.fieldPath)??(null==(t=e.props)?void 0:t.name)}function pu(e){if(ps(e.context))return e.context;let t=po(e.context)?e.context:void 0,l=po(null==t?void 0:t.blockModel)?t.blockModel:void 0;return ps(null==l?void 0:l.context)?l.context:void 0}function pc(e){let{model:t,value:l,isMultiple:r,fieldNames:n,onChange:i}=e,o=A.useRef(new Map);A.useEffect(()=>{let e=t.resource;if("function"!=typeof(null==e?void 0:e.get)||!n.value||!n.label)return;let a=l,s=pa({value:a,isMultiple:r,valueKey:n.value,labelKey:n.label,statusMap:o.current});if(!s.length)return;let d=pd(t),u=pu(t),c=async t=>{let{item:l,tk:s,tkKey:c}=t;try{var p;let t=await (null==(p=e.get)?void 0:p.call(e,s));if(!po(t))return;let o={...l,...t};if(null==o[n.label])return;let c=r?(Array.isArray(a)?a:[]).map(e=>po(e)&&e[n.value]===s?o:e):o;if("function"==typeof(null==u?void 0:u.setFormValue)&&null!=d)return void await u.setFormValue(d,c,{source:"default",markExplicit:!1,triggerEvent:!1});i(c)}catch{}finally{o.current.set(c,"done")}};s.forEach(e=>{c(e)})},[n.label,n.value,r,t,i,l])}function pp(e){if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return e;if(Array.isArray(e)){let t=e.map(e=>{if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return e;if(e&&"object"==typeof e){let t=e.label??e.name;if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)return t}}).filter(e=>void 0!==e);return t.length?t.map(String).join(", "):void 0}if(e&&"object"==typeof e){let t=e.label??e.name;if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)return t}}function ph(e){var t,l,r;let{option:n,fieldNames:i}=e,o=(0,O.useFlowModel)(),a=pl(n),s=pn(i,null==(t=o.context.collectionField)?void 0:t.targetCollection),d=o.subModels.field,u=pp(null==a?void 0:a[s.label])??pp(null==a?void 0:a.label)??pp(null==a?void 0:a[s.value]);if(!d)return(0,D.jsx)("span",{children:u??"N/A"});let c=String((null==a?void 0:a[s.value])??u??"association-option"),p=d.createFork({},c);p.context.defineProperty("record",{get:()=>a,cache:!1,meta:(0,O.createCurrentRecordMetaFactory)(p.context,()=>p.context.collection)});let h=null==(r=o.context.collectionField.targetCollection)||null==(l=r.getField)?void 0:l.call(r,s.label),f=h&&"function"==typeof h.getComponentProps?h.getComponentProps():{};p.setProps({value:u,clickToOpen:!1,...f});let m=null!=u&&""!==u?p.render():"N/A";return(0,D.jsx)("span",{style:{pointerEvents:"none"},children:m})}function pf(e,t){let l=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"record",n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];if(!e)return l?[]:void 0;let{value:i}=t||{},o=e=>"object"==typeof e&&null!==e,a=e=>{if(o(e))return{label:(0,D.jsx)(ph,{option:e,fieldNames:t}),value:e[i]}};if("value"===r){let t=e=>{if("object"==typeof e&&null!==e)return a(e);let t=n.find(t=>(null==t?void 0:t[i])===e);return t?a(t):{label:String(e),value:e}};return l?Array.isArray(e)?e.map(e=>t(e)).filter(Boolean):[]:Array.isArray(e)?t(e[0]):t(e)}if(l)return Array.isArray(e)?e.filter(o).map(a).filter(Boolean):[];if(Array.isArray(e)){let t=e[0];return o(t)?a(t):void 0}return o(e)?a(e):void 0}function pm(e,t,l){return(null==e?void 0:e.length)?e.map(e=>(0,$.omit)(e,"disabled","options","style")):l?Array.isArray(t)?t.filter(e=>"object"==typeof e&&null!==e):[]:t&&"object"==typeof t?[t]:[]}var pg=l(77577);let pv="calc(12px + env(safe-area-inset-bottom, 0px))",py={paddingBottom:pv};function pb(e){return{maxHeight:"60vh",overflowY:"auto",paddingBottom:e?void 0:pv}}let px=(0,er.css)`
|
|
486
486
|
div {
|
|
487
487
|
white-space: nowrap !important;
|
|
488
488
|
overflow: hidden;
|
|
@@ -526,7 +526,7 @@ if (!ctx.record) {
|
|
|
526
526
|
text-overflow: ellipsis;
|
|
527
527
|
white-space: nowrap !important;
|
|
528
528
|
}
|
|
529
|
-
`,pR=e=>{var t,l;let{fieldNames:r,value:n,multiple:i,allowMultiple:o,keepDropdownOpenOnSelect:a=!1,options:s,quickCreate:d,onChange:u,allowCreate:c=!0,allowEdit:p=!0,className:h,...f}=e,m=(0,O.useFlowModel)(),g=pn(r,null==m||null==(l=m.context)||null==(t=l.collectionField)?void 0:t.targetCollection),v=!!(i&&o),y=!!(a&&v),b=pm(s,n,v),x=(0,A.useRef)();x.current||(x.current=m.__keepOpenOnSelectRuntime||(m.__keepOpenOnSelectRuntime={open:void 0,preventCloseOnSelect:!1}));let w=x.current,[S,M]=(0,A.useState)(w.open),F=e=>{Object.assign(w,e),Object.prototype.hasOwnProperty.call(e,"open")&&M(w.open)},k=!!m.context.flowSettingsEnabled,{t:C}=(0,eG.B)();pc({model:m,value:n,isMultiple:v,fieldNames:g,onChange:u});let P=e=>{let{searchText:t}=e;return(0,D.jsxs)("div",{onClick:()=>f.onDropdownAddClick(t),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,D.jsx)(tD.A,{}),(0,D.jsx)("span",{style:{paddingLeft:5},children:C("Add")+` “${t}” `})]})},j=pP(m,p);return(0,D.jsxs)(dD.A.Compact,{style:{width:"100%"},children:[(0,D.jsx)(rj.A,{style:{width:"100%"},...f,className:[pj,h].filter(Boolean).join(" "),allowClear:!0,showSearch:!0,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,D.jsxs)(tz.A,{title:(0,D.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,D.jsx)(c7.A,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]}),filterOption:!1,labelInValue:!0,onCompositionEnd:e=>f.onCompositionEnd(e,!1),fieldNames:g,options:b,value:pf(n,g,v),mode:v?"multiple":void 0,open:y?S:void 0,onChange:(e,t)=>{u(t)},onSelect:(e,t)=>{var l;y&&F({preventCloseOnSelect:!0,open:!0}),null==(l=f.onSelect)||l.call(f,e,t)},onDropdownVisibleChange:e=>{var t,l;if(y){if(!e&&w.preventCloseOnSelect){F({preventCloseOnSelect:!1,open:!0}),null==(l=f.onDropdownVisibleChange)||l.call(f,!0);return}F({preventCloseOnSelect:!1,open:e})}null==(t=f.onDropdownVisibleChange)||t.call(f,e)},optionRender:e=>{let{data:t}=e;return(0,D.jsx)("div",{onMouseDown:()=>{y&&F({preventCloseOnSelect:!0})},children:(0,D.jsx)(ph,{option:t,fieldNames:g})})},popupMatchSelectWidth:!0,labelRender:e=>(0,D.jsx)("div",{className:pE,children:e.label}),dropdownRender:e=>{let t=b.some(e=>e[g.label]===f.searchText);return(0,D.jsx)(D.Fragment,{children:"quickAdd"===d&&c&&p&&f.searchText?(0,D.jsxs)(D.Fragment,{children:[!(0===b.length&&f.searchText)&&e,b.length>0&&f.searchText&&!t&&(0,D.jsx)(ru.A,{style:{margin:0}}),!t&&(0,D.jsx)(P,{searchText:f.searchText})]}):e})}}),"modalAdd"===d&&(c&&p||k)&&(c&&p?(0,D.jsx)(eY.Ay,{onClick:f.onModalAddClick,children:C("Add new")}):(0,D.jsx)(df._T,{forbidden:{actionName:"create"},collection:m.collectionField.targetCollection,message:j,children:(0,D.jsx)(eY.Ay,{onClick:f.onModalAddClick,disabled:!p,style:{opacity:"0.3"},children:C("Add new")})}))]})};class pT extends pe{get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.targetCollection}}),this.setDataSource([])}set onPopupScroll(e){this.setProps({onPopupScroll:e})}set onDropdownVisibleChange(e){this.setProps({onDropdownVisibleChange:e})}set onSearch(e){this.setProps({onSearch:e})}setDataSource(e){this.setProps({options:e})}getDataSource(){return this.props.options}getFilterValue(){var e,t;let l=pn(this.props.fieldNames,null==(e=this.context.collectionField)?void 0:e.targetCollection);return Array.isArray(this.props.value)?this.props.value.map(e=>e[l.value]):null==(t=this.props.value)?void 0:t[l.value]}onMount(){this.onModalAddClick=e=>{this.dispatchEvent("openView",{event:e,onChange:this.props.onChange})},this.onDropdownAddClick=e=>{this.dispatchEvent("dropdownAdd",{search:e,onChange:this.props.onChange})}}set onModalAddClick(e){this.setProps({onModalAddClick:e})}set onDropdownAddClick(e){this.setProps({onDropdownAddClick:e})}change(e){this.props.onChange(e)}render(){return this.context.isMobileLayout?(0,D.jsx)(pM,{...this.props,loading:this.resource.loading}):(0,D.jsx)(pR,{...this.props})}}let pI={page:1,pageSize:40,loading:!1,hasMore:!0},p_=e=>`__search__${e}`,pD=e=>`__assoc__${e}`;async function pN(e,t){try{var l,r,n,i;let t=e.model.collectionField.targetCollection,o=pn(e.model.props.fieldNames,t).label,a=t.getField(o);if(!a)return;let s=a.getInterfaceOptions(),d=(null==s||null==(n=s.filterable)||null==(r=n.operators)||null==(l=r[0])?void 0:l.value)||"$includes",u=null==(i=e.inputArgs.searchText)?void 0:i.trim(),c=e.model.resource,p=`${o}.${d}`;""===u?c.removeFilterGroup(p_(o)):(c.setPage(1),c.addFilterGroup(p_(o),{[p]:u})),await c.refresh();let h=c.getData();e.model.setDataSource(h),h.length<pI.pageSize?pI.hasMore=!1:(pI.hasMore=!0,pI.page++),e.model.setProps({searchText:u})}catch(t){console.error("AssociationSelectField search flow error:",t),e.model.setDataSource([])}}pT.registerFlow({key:"eventSettings",sort:900,steps:{bindEvent:{handler(e,t){var l;let r=p_(pn(e.model.props.fieldNames,null==(l=e.model.collectionField)?void 0:l.targetCollection).label);e.model.onDropdownVisibleChange=t=>{t?e.model.dispatchEvent("dropdownOpen",{apiClient:e.app.apiClient,form:e.model.context.form}):(e.model.resource.removeFilterGroup(r),pI.page=1)},e.model.onPopupScroll=t=>{e.model.dispatchEvent("popupScroll",{event:t,apiClient:e.app.apiClient})},e.model.onSearch=t=>{e.model.dispatchEvent("search",{searchText:t,apiClient:e.app.apiClient})}}}}}),pT.registerFlow({key:"dropdownOpenSettings",on:"dropdownOpen",steps:{setScope:{async handler(e,t){var l;let r=pn(e.model.props.fieldNames,null==(l=e.model.collectionField)?void 0:l.targetCollection).value,n=e.model.resource,i=e.model.getDataSource();n.setPage(1),await e.model.applyFlow("selectSettings"),await n.refresh();let{count:o}=n.getMeta(),a=n.getData();(!i||o!==i.length||a[0][r]!==i[0][r])&&(e.model.setDataSource(a),e.model.setProps({searchText:null}),a.length<pI.pageSize?pI.hasMore=!1:(pI.hasMore=!0,pI.page++))}}}}),pT.registerFlow({key:"popupScrollSettings",on:"popupScroll",steps:{step1:{async handler(e,t){var l;let{scrollTop:r,scrollHeight:n,clientHeight:i}=(null==(l=e.inputArgs)?void 0:l.event).target;if(!(r+i<n-20)&&!pI.loading&&pI.hasMore){pI.loading=!0;try{let t=e.model.resource;t.setPage(pI.page),await t.refresh();let l=t.getData(),r=e.model.getDataSource()||[];e.model.setDataSource([...r,...l]),l.length<pI.pageSize?(pI.hasMore=!1,pI.page=1):pI.page++}catch(e){console.error("Scroll pagination request failed:",e)}finally{pI.loading=!1}}}}}});let pO=(0,$.debounce)(pN,500);pT.registerFlow({key:"searchSettings",on:"search",steps:{step1:{handler:pO}}}),pT.registerFlow({key:"recordSelectSettings",sort:200,steps:{init:{async handler(e){var t,l,r;let n=e.createResource(O.MultiRecordResource),i=e.model.context.collectionField,{target:o,dataSourceKey:a,foreignKey:s}=i;n.setDataSourceKey(a),n.setResourceName(o),n.setPageSize(pI.pageSize);let d=(null==e||null==(l=e.blockModel)||null==(t=l.constructor)?void 0:t.scene)===d6.P.filter,u=["oho","o2m"].includes(i.interface),c=(null==(r=e.item)?void 0:r.value)||e.record,p=null==c?void 0:c[null==i?void 0:i.sourceKey],h=[];if(!d&&null!=p&&u){let e=`${s}.$eq`;h.push({[e]:p})}if(!d&&u){let e=`${s}.$is`;h.push({[e]:null})}h.length>0&&n.addFilterGroup(pD(s),{$or:h}),e.model.resource=n}},allowEditCheck:{async handler(e){if(e.blockModel instanceof cI.EditFormModel){var t;let l=await e.aclCheck({dataSourceKey:e.collectionField.dataSourceKey,resourceName:null==(t=e.collectionField)?void 0:t.collectionName,actionName:"update",fields:[e.collectionField.name]});e.model.setProps({allowEdit:!!l})}}}}}),pT.registerFlow({key:"selectSettings",title:(0,O.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,O.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},hideInSettings:e=>!e.collectionField||!["belongsToMany","hasMany","belongsToArray"].includes(e.collectionField.type),defaultParams:e=>({allowMultiple:e.collectionField&&["belongsToMany","hasMany","belongsToArray"].includes(e.model.context.collectionField.type)}),handler(e,t){e.model.setProps({allowMultiple:null==t?void 0:t.allowMultiple})}},quickCreate:{title:(0,O.tExpr)("Quick create"),uiMode(e){let t=e.t;return{type:"select",key:"quickCreate",props:{options:[{label:t("None"),value:"none"},{label:t("Dropdown"),value:"quickAdd"},{label:t("Pop-up"),value:"modalAdd"}]}}},hideInSettings(e){var t,l;return!!((null==e||null==(l=e.blockModel)||null==(t=l.constructor)?void 0:t.scene)===d6.P.filter||pF(null==e?void 0:e.model,["SubTableColumnModel","SubTableFieldModel"]))},defaultParams:{quickCreate:"none"},handler(e,t){e.model.setProps({quickCreate:t.quickCreate})}}}}),pT.registerFlow({key:"dropdownAdd",title:(0,O.tExpr)("Create record setting"),sort:900,on:{eventName:"dropdownAdd"},steps:{dropdownAdd:{async handler(e,t){var l,r,n;if("quickAdd"!==e.model.props.quickCreate)return null;let{onChange:i,search:o}=e.inputArgs,a=await e.model.resource.create({[(null==(r=e.model.props)||null==(l=r.fieldNames)?void 0:l.label)||"id"]:o},{refresh:!1});a&&(i(["m2m","o2m"].includes(null==(n=e.collectionField)?void 0:n.interface)&&!1!==e.model.props.allowMultiple?[...e.model.props.value||[],a.data].filter((t,l,r)=>l===r.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey])):a.data),e.message.success(e.t("Saved successfully")),e.model.setProps({searchText:null}))}}}}),pT.registerFlow({key:"popupSettings",title:(0,O.tExpr)("Create record setting"),sort:900,on:{eventName:"openView"},steps:{openView:{title:(0,O.tExpr)("Edit popup"),uiSchema:e=>"modalAdd"!==e.model.props.quickCreate?null:{mode:{type:"string",title:(0,O.tExpr)("Open mode"),enum:[{label:(0,O.tExpr)("Drawer"),value:"drawer"},{label:(0,O.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,O.tExpr)("Popup size"),enum:[{label:(0,O.tExpr)("Small"),value:"small"},{label:(0,O.tExpr)("Medium"),value:"medium"},{label:(0,O.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,r,n,i,o;let{onChange:a}=e.inputArgs,s={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},d=e.inputArgs.mode||t.mode||"drawer",u=["belongsTo","hasOne"].includes(e.collectionField.type),c=e.inputArgs.size||t.size||"medium",p=null==(l=e.collectionField)?void 0:l.collection,h=(null==(r=e.item)?void 0:r.value)??e.record,f=h?null==p||null==(n=p.getFilterByTK)?void 0:n.call(p,h):void 0,m=null==(i=e.collectionField)?void 0:i.resourceName,g=pi(e,e.inputArgs);e.viewer.open({type:d,width:s[d][c],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"create",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(o=e.collectionField)?void 0:o.target,...m&&null!=f?{associationName:m,sourceId:f}:{},collectionField:e.collectionField,openerUids:g,onChange:t=>{if(u||!e.model.props.allowMultiple){a(t);let l=e.model.getDataSource()||[];l.push(t),e.model.setDataSource(l)}else{let l=[...e.model.props.value||[],t].filter((t,l,r)=>l===r.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]));a(l);let r=e.model.getDataSource()||[];e.model.setDataSource(r.concat(l))}}},content:()=>(0,D.jsx)(pC,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===d?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),pT.define({label:(0,O.tExpr)("Dropdown select")}),O.EditableItemModel.bindModelToInterface("RecordSelectFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{isDefault:!0,order:1});class p$ extends pT{onInit(e){var t;super.onInit(e);let l=null==(t=this.getStepParams("selectSettings","allowMultiple"))?void 0:t.allowMultiple,r="boolean"==typeof l?l:"boolean"!=typeof this.props.allowMultiple||this.props.allowMultiple;this.setProps({allowMultiple:r,multiple:r,quickCreate:"none"})}}p$.registerFlow({key:"selectSettings",title:(0,O.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,O.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},defaultParams:{allowMultiple:!0},handler(e,t){var l;let r=null==(l=e.model.getStepParams("selectSettings","allowMultiple"))?void 0:l.allowMultiple,n="boolean"==typeof(null==t?void 0:t.allowMultiple)?t.allowMultiple:"boolean"==typeof r?r:"boolean"!=typeof e.model.props.allowMultiple||e.model.props.allowMultiple;e.model.setProps({allowMultiple:n,multiple:n})}}}}),p$.define({label:(0,O.tExpr)("Dropdown select")}),O.FilterableItemModel.bindModelToInterface("FilterFormRecordSelectFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{isDefault:!0,defaultProps:{allowMultiple:!0,multiple:!0,quickCreate:"none"}});var pB=l(13595);class pL extends c9{render(){return(0,D.jsx)(pB.DateFilterDynamicComponent,{...this.props})}}let pq=e=>{let{value:t,format:l="YYYY-MM-DD",picker:r="date",showTime:n,...i}=e,o={...i,value:t,format:l,picker:r,showTime:n};return(0,D.jsx)(pB.DateFilterDynamicComponent,{...o})};class pV extends pL{setProps(e){super.setProps({...e,showTime:!1,utc:!1})}render(){return(0,D.jsx)(pq,{...this.props})}}O.FilterableItemModel.bindModelToInterface("DateOnlyFilterFieldModel",["date"],{isDefault:!0});let pz=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",showTime:r,picker:n="date",...i}=e,o=r&&"date"===n?"YYYY-MM-DD":l;return(0,D.jsx)(pB.DateFilterDynamicComponent,{...i,value:t,format:o,picker:n,showTime:r})};class pK extends pL{render(){return(0,D.jsx)(pz,{...this.props})}}O.FilterableItemModel.bindModelToInterface("DateTimeNoTzFilterFieldModel",["datetimeNoTz"],{isDefault:!0});let pU=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",picker:r="date",showTime:n,...i}=e,o=n&&"date"===r?"YYYY-MM-DD":l,a={...i,value:t,format:o,picker:r,showTime:n};return(0,D.jsx)(pB.DateFilterDynamicComponent,{...a})};class pW extends pL{setProps(e){super.setProps({...e,utc:!0})}render(){return(0,D.jsx)(pU,{...this.props})}}O.FilterableItemModel.bindModelToInterface("DateTimeTzFilterFieldModel",["createdAt","datetime","updatedAt","unixTimestamp"],{isDefault:!0}),l(34733),l(13045);var pH=l(51643),pY=l(60518),pG=l(31333);let pJ="recordSelectDataSourceKey",pX="recordSelectTargetCollection",pQ="recordSelectTitleField",pZ="recordSelectValueField",p0="allowMultiple",p1="multiple",p2="valueMode",p4=new Set(["belongsTo","belongsToMany","hasOne","hasMany","belongsToArray"]),p6=e=>{var t,l,r,n,i;let{fieldModel:o,source:a=[]}=e,s=(0,rd.useField)(),{t:d}=(0,eG.B)(),u=s.value||{},c=o||(null==u?void 0:u.fieldModel),p=(0,O.useFlowEngine)(),h=(0,O.useFlowContext)(),f=(null==h?void 0:h.dataSourceManager)||(null==p?void 0:p.dataSourceManager)||(null==h||null==(t=h.app)?void 0:t.dataSourceManager),m=(0,eE.Sx)(f),g=(0,A.useCallback)(e=>(0,eE.w6)(e,f),[f]),v=()=>s.value||{},y=(e,t)=>{s.setValue({...v(),[e]:t})},b=e=>{var t;(null==s||null==(t=s.form)?void 0:t.setValuesIn)&&(null==s?void 0:s.path)?s.form.setValuesIn(s.path,e):s.setValue(e)},x=e=>{var t,l,r,n;let i=`${s.path.toString()}.${e}`,o=null==(n=s.form)||null==(r=n.query)||null==(l=r.call(n,i))||null==(t=l.take)?void 0:t.call(l);return(Array.isArray(null==o?void 0:o.errors)?o.errors:[]).flatMap(e=>e?Array.isArray(e.messages)?e.messages:e.messages?[e.messages]:[]:[]).filter(Boolean)},w=e=>{let t=x(e);return t.length?{feedbackStatus:"error",feedbackText:t.join(", ")}:{}};(0,A.useEffect)(()=>{var e,t,l,r,n,i,o;let d=a.length?a:(null==u?void 0:u.source)||[];if(!d.length)return;let f=!!(null==p||null==(t=p.dataSourceManager)||null==(e=t.getDataSource)?void 0:e.call(t,d[0])),m=(null==p||null==(r=p.dataSourceManager)||null==(l=r.getDataSources)?void 0:l.call(r))??[],g=(f?d[0]:void 0)||(null==u?void 0:u[pJ])||(null==(n=m[0])?void 0:n.key)||"main",y=(f?d.slice(1):d).join("."),x=p.dataSourceManager.getCollectionField(`${g}.${y}`),w=O.FilterableItemModel.getDefaultBindingByField(h.model.context,x);if(!x&&"FilterFormCustomRecordSelectFieldModel"!==c||!w&&"FilterFormCustomRecordSelectFieldModel"!==c)return;let S=(null==x||null==(i=x.getComponentProps)?void 0:i.call(x))||{},A={...(w&&"function"==typeof w.defaultProps?w.defaultProps(h.model.context,s):null==w?void 0:w.defaultProps)||{},...S,...v()};if(("FilterFormCustomRecordSelectFieldModel"===c||!c&&(null==x?void 0:x.target))&&(null==x?void 0:x.target)){let e=x.targetCollection||p.dataSourceManager.getCollection(x.dataSourceKey,x.target);A[pJ]=x.dataSourceKey||g,A[pX]=x.target,A[pQ]=x.targetCollectionTitleFieldName||(null==e||null==(o=e.titleCollectionField)?void 0:o.name)||A[pQ],A[pZ]=A[pZ]||(null==e?void 0:e.filterTargetKey)||"id",void 0===A[p0]&&void 0===A[p1]&&(A[p0]=!0,A[p1]=!0),A[p2]||(A[p2]="value")}b(A)},[o,c,a.join("."),null==u?void 0:u.source,p]);let S=(0,A.useMemo)(()=>{var e,t;return(null==p||null==(t=p.dataSourceManager)||null==(e=t.getDataSources)?void 0:e.call(t))??[]},[p]),M=(0,A.useMemo)(()=>S.map(e=>({label:e.displayName??e.key,value:e.key})),[S]),F=(null==u?void 0:u[pJ])||(null==(l=S[0])?void 0:l.key)||"main",k=F?null==p||null==(n=p.dataSourceManager)||null==(r=n.getDataSource)?void 0:r.call(n,F):void 0,C=null==u?void 0:u[pX],P=C?null==k||null==(i=k.getCollection)?void 0:i.call(k,C):void 0,j=(0,A.useCallback)(e=>e?(null==h?void 0:h.t)?h.t(e):d(e):e,[h,d]),E=(0,A.useMemo)(()=>(null==k?void 0:k.getCollections)?k.getCollections().filter(e=>{var t;return!(null==(t=e.options)?void 0:t.hidden)}).map(e=>({label:j(e.title)||e.name,value:e.name})):[],[k,j]),R=(0,A.useMemo)(()=>{if(!(null==P?void 0:P.getFields))return[];let e=e=>{if(!m)return!0;let t=(null==e?void 0:e.options)||e;return(0,eE.w)(g(null==t?void 0:t.interface))};return(P.getFields()||[]).filter(t=>e(t)).map(e=>{var t,l;return{label:j(null==(l=e.options)||null==(t=l.uiSchema)?void 0:t.title)||j(e.title)||e.name,value:e.name}})},[P,g,m,j]),T=(0,A.useMemo)(()=>{if(!(null==P?void 0:P.getFields))return[];let e=e=>{let t=(null==e?void 0:e.options)||{},l=t.interface||(null==e?void 0:e.interface);if(!1===t.filterable||!l)return!1;if(m){let e=g(l);if(!(null==e?void 0:e.filterable))return!1}let r=t.type||(null==e?void 0:e.type);return!p4.has(r)};return(P.getFields()||[]).filter(t=>e(t)).map(e=>{var t,l;return{label:j(null==(l=e.options)||null==(t=l.uiSchema)?void 0:t.title)||j(e.title)||e.name,value:e.name}})},[P,g,m,j]);if((0,A.useEffect)(()=>{var e;if("FilterFormCustomRecordSelectFieldModel"!==c||!C||(null==u?void 0:u[pQ]))return;let t=null==P||null==(e=P.titleCollectionField)?void 0:e.name;t&&s.setValue({...v(),[pQ]:t})},[o,c,C,P,u]),(0,A.useEffect)(()=>{if("FilterFormCustomRecordSelectFieldModel"!==c||!C)return;let e=null==u?void 0:u[pZ],t=T.map(e=>e.value);if(e&&t.includes(e))return;let l=null==P?void 0:P.filterTargetKey,r=l&&t.includes(l)&&l||t[0];r&&s.setValue({...v(),[pZ]:r})},[o,c,C,P,u,T]),(0,A.useEffect)(()=>{"FilterFormCustomRecordSelectFieldModel"!==c||(null==u?void 0:u[p0])===void 0&&(null==u?void 0:u[p1])===void 0&&s.setValue({...v(),[p0]:!0,[p1]:!0})},[o,c,u]),"DateTimeFilterFieldModel"===o)return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(ol.FormItem,{label:d("Date format"),children:(0,D.jsxs)(pH.Ay.Group,{value:u.format||"YYYY-MM-DD",onChange:e=>y("format",e.target.value),children:[(0,D.jsx)(pH.Ay,{value:"YYYY/MM/DD",children:d("Year/Month/Day")}),(0,D.jsx)(pH.Ay,{value:"YYYY-MM-DD",children:d("Year-Month-Day")}),(0,D.jsx)(pH.Ay,{value:"DD/MM/YYYY",children:d("Day/Month/Year")})]})}),(0,D.jsx)(ol.FormItem,{label:d("Time"),children:(0,D.jsx)(pY.A,{checked:u.showTime,onChange:e=>y("showTime",e.target.checked),children:d("Show time")})}),(0,D.jsx)(ol.FormItem,{label:d("Date range"),children:(0,D.jsx)(pY.A,{checked:u.isRange,onChange:e=>y("isRange",e.target.checked),children:d("Show date range")})})]});if("SelectFieldModel"===o){let e=u.options||[];return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(ol.FormItem,{label:d("Mode"),children:(0,D.jsxs)(pH.Ay.Group,{value:u.mode||"",onChange:e=>y("mode",e.target.value),children:[(0,D.jsx)(pH.Ay,{value:"",children:d("Single select")}),(0,D.jsx)(pH.Ay,{value:"multiple",children:d("Multiple select")})]})}),(0,D.jsx)(ol.FormItem,{label:d("Options"),children:(0,D.jsxs)(dD.A,{direction:"vertical",size:8,style:{width:"100%"},children:[e.map((t,l)=>(0,D.jsxs)(dD.A,{style:{width:"100%"},size:8,wrap:!0,align:"start",children:[(0,D.jsx)(dV.A,{style:{flex:1,minWidth:120},placeholder:d("Option label"),value:t.label,onChange:r=>{let n=[...e];n[l]={...t,label:r.target.value},y("options",n)}}),(0,D.jsx)(dV.A,{style:{flex:1,minWidth:120},placeholder:d("Option value"),value:t.value,onChange:r=>{let n=[...e];n[l]={...t,value:r.target.value},y("options",n)}}),(0,D.jsx)(eY.Ay,{type:"text",icon:(0,D.jsx)(pG.A,{}),onClick:()=>{y("options",e.filter((e,t)=>t!==l))}})]},l)),(0,D.jsx)(eY.Ay,{type:"dashed",block:!0,icon:(0,D.jsx)(tD.A,{}),onClick:()=>{y("options",[...e,{label:"",value:""}])},children:d("Add")})]})})]})}if("CheckboxGroupFieldModel"===o||"RadioGroupFieldModel"===o){let e=u.options||[];return(0,D.jsx)(ol.FormItem,{label:d("Options"),children:(0,D.jsxs)(dD.A,{direction:"vertical",size:8,style:{width:"100%"},children:[e.map((t,l)=>(0,D.jsxs)(dD.A,{style:{width:"100%"},size:8,wrap:!0,align:"start",children:[(0,D.jsx)(dV.A,{style:{flex:1,minWidth:120},placeholder:d("Option label"),value:t.label,onChange:r=>{let n=[...e];n[l]={...t,label:r.target.value},y("options",n)}}),(0,D.jsx)(dV.A,{style:{flex:1,minWidth:120},placeholder:d("Option value"),value:t.value,onChange:r=>{let n=[...e];n[l]={...t,value:r.target.value},y("options",n)}}),(0,D.jsx)(eY.Ay,{type:"text",icon:(0,D.jsx)(pG.A,{}),onClick:()=>{y("options",e.filter((e,t)=>t!==l))}})]},`${t.value}-${l}`)),(0,D.jsx)(eY.Ay,{type:"dashed",block:!0,icon:(0,D.jsx)(tD.A,{}),onClick:()=>{y("options",[...e,{label:"",value:""}])},children:d("Add")})]})})}return"FilterFormCustomRecordSelectFieldModel"===c?(0,D.jsxs)(D.Fragment,{children:[M.length>1&&(0,D.jsx)(ol.FormItem,{label:d("Data source"),children:(0,D.jsx)(rj.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Please select"),value:F,options:M,onChange:e=>{s.setValue({...u,[pJ]:e,[pX]:void 0,[pQ]:void 0})}})}),(0,D.jsx)(ol.FormItem,{label:d("Target collection"),asterisk:!0,...w(pX),children:(0,D.jsx)(rj.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Select collection"),value:C,options:E,onChange:e=>{s.setValue({...u,[pX]:e,[pQ]:void 0})}})}),(0,D.jsx)(ol.FormItem,{label:d("Title field"),asterisk:!0,...w(pQ),children:(0,D.jsx)(rj.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Please select"),value:null==u?void 0:u[pQ],options:R,onChange:e=>y(pQ,e)})}),(0,D.jsx)("div",{style:{color:"var(--colorTextDescription)",marginTop:-8,marginBottom:8},children:d("Used for display in the dropdown and selected tags.")}),(0,D.jsx)(ol.FormItem,{label:d("Value field"),asterisk:!0,...w(pZ),children:(0,D.jsx)(rj.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Please select"),value:null==u?void 0:u[pZ],options:T,onChange:e=>y(pZ,e)})}),(0,D.jsx)("div",{style:{color:"var(--colorTextDescription)",marginTop:-8,marginBottom:8},children:d("Stored as the field value for filtering (usually the primary key).")}),(0,D.jsx)(ol.FormItem,{label:d("Multiple"),children:(0,D.jsx)(pY.A,{checked:(null==u?void 0:u[p0])!==!1,onChange:e=>{let t=e.target.checked;s.setValue({...u,[p0]:t,[p1]:t})},children:d("Allow multiple selection")})})]}):null};function p3(e){let{source:t=[],onChange:l}=e,r=(0,O.useFlowEngine)(),n=(0,O.useFlowContext)(),i=e.valueMap||{},o=t.join("."),a=(0,A.useRef)(),s=(0,A.useMemo)(()=>e=>i&&i[e]?i[e]:e,[i]),d=(0,A.useMemo)(()=>{if(!t.length)return;let e=r.dataSourceManager.getCollectionField(o),l=O.FilterableItemModel.getDefaultBindingByField(n.model.context,e);if(l)return s(l.modelName)},[o,s]);return(0,A.useEffect)(()=>{if(!d){a.current=o;return}let t=void 0!==a.current&&a.current!==o;a.current=o;let r=s(e.value);if(e.value&&e.value!==r&&r!==d){null==l||l(r);return}(!e.value||t)&&r!==d&&(null==l||l(d))},[d,l,e.value,o,s]),(0,D.jsx)(ol.Select,{allowClear:!0,...e,value:s(e.value??d)})}let p5={InputFieldModel:eE.II.string,NumberFieldModel:eE.II.number,DateTimeFilterFieldModel:eE.II.datetime,SelectFieldModel:e=>(null==e?void 0:e.mode)==="multiple"?eE.II.array:eE.II.enumType,RadioGroupFieldModel:eE.II.enumType,CheckboxGroupFieldModel:eE.II.array},p8=new Set(["$in","$notIn","$empty","$notEmpty","$includes","$notIncludes"]),p9={label:'{{t("is any of")}}',value:"$in",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},p7={label:'{{t("is none of")}}',value:"$notIn",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},he={input:eE.II.string,email:eE.II.string,phone:eE.II.string,uuid:eE.II.string,url:eE.II.string,nanoid:eE.II.string,textarea:eE.II.string,markdown:eE.II.bigField,vditor:eE.II.bigField,richText:eE.II.bigField,password:eE.II.string,color:eE.II.string,number:eE.II.number,integer:eE.II.number,id:eE.II.id,snowflakeId:eE.II.number,dateOnly:eE.II.datetime,datetime:eE.II.datetime,datetimeNoTz:eE.II.datetime,unixTimestamp:eE.II.datetime,time:eE.II.time,select:eE.II.enumType,multipleSelect:eE.II.array,radioGroup:eE.II.enumType,checkboxGroup:eE.II.array,checkbox:eE.II.boolean};function ht(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=p5[e];return l?"function"==typeof l?l(t)||[]:l||[]:[]}function hl(e){var t,l,r,n;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=arguments.length>2?arguments[2]:void 0;if(!Array.isArray(i)||0===i.length)return;let a=!!(null==e||null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,i[0])),s=a?i[0]:o||"main",d=(a?i.slice(1):i).join(".");if(d)return null==e||null==(n=e.dataSourceManager)||null==(r=n.getCollectionField)?void 0:r.call(n,`${s}.${d}`)}function hr(e){var t,l,r,n;let i;if(!e)return[];let o=null==(t=e.filterable)?void 0:t.operators;if(Array.isArray(o)&&o.length>0)return o;try{i=null==(n=e.getInterfaceOptions)||null==(r=n.call(e))||null==(l=r.filterable)?void 0:l.operators}catch(e){i=void 0}return Array.isArray(i)&&i.length>0?i:e.interface&&he[e.interface]?he[e.interface]:(null===eE.II||void 0===eE.II?void 0:eE.II[e.type])||[]}function hn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return"boolean"==typeof(null==e?void 0:e.multiple)?e.multiple:"boolean"!=typeof(null==e?void 0:e.allowMultiple)||e.allowMultiple}function hi(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Set;return e.filter(e=>!(!(null==e?void 0:e.value)||t.has(e.value))&&(t.add(e.value),!0))}function ho(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.some(e=>(null==e?void 0:e.value)==="$in"),l=e.some(e=>(null==e?void 0:e.value)==="$notIn"),r=e.filter(e=>p8.has(null==e?void 0:e.value)&&(null==e?void 0:e.value)!=="$in"&&(null==e?void 0:e.value)!=="$notIn"||(null==e?void 0:e.noValue)||(null==e?void 0:e.value)==="$exists"||(null==e?void 0:e.value)==="$notExists"),n=e.some(e=>(null==e?void 0:e.value)&&!e.noValue&&"$exists"!==e.value&&"$notExists"!==e.value),i=n||t,o=n||l,a=[];return i&&a.push(p9),o&&a.push(p7),hi([...a,...r])}function ha(e){var t,l,r,n,i;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],s=hl(e,a,null==o?void 0:o.recordSelectDataSourceKey),d=(null==s?void 0:s.dataSourceKey)||(null==a?void 0:a[0])||"main",u=(null==o?void 0:o.recordSelectDataSourceKey)||d,c=(null==o?void 0:o.recordSelectTargetCollection)||(null==s||null==(t=s.targetCollection)?void 0:t.name)||(null==s?void 0:s.target);if(!c)return;let p=null==e||null==(r=e.dataSourceManager)||null==(l=r.getCollection)?void 0:l.call(r,u,c);if(!p)return;let h=(null==o?void 0:o.recordSelectValueField)||(null==p?void 0:p.filterTargetKey)||(null==p||null==(n=p.getPrimaryKey)?void 0:n.call(p));if(h)return null==(i=p.getField)?void 0:i.call(p,h)}function hs(e){let{flowEngine:t,fieldModelProps:l={},source:r=[]}=e,n=ha(t,l,r),i=hr(n);return{operatorList:hn(l)?ho(i):i,meta:n}}function hd(e){let{flowEngine:t,fieldModel:l,fieldModelProps:r={},source:n=[]}=e;if("FilterFormCustomRecordSelectFieldModel"===l)return hs(e);let i=hl(t,n);if("SelectFieldModel"===l&&(null==r?void 0:r.mode)==="multiple"&&i){let e=hr(i);return{operatorList:dg(i)?ht(l,r):ho(e),meta:i}}let o=ht(l,r);return o.length>0?{operatorList:o,meta:{fieldModel:l}}:{operatorList:hr(i),meta:i}}function hu(e){let{operatorList:t,meta:l}=hd(e);return hi((t||[]).filter(e=>!(null==e?void 0:e.visible)||e.visible(l)))}function hc(e){var t,l;let{fieldModel:r,fieldModelProps:n={}}=e,i=hu(e);if("DateTimeFilterFieldModel"===r&&(null==n?void 0:n.isRange)){let e=i.find(e=>"$dateBetween"===e.value);if(e)return e.value}return(null==(t=i.find(e=>e.selected))?void 0:t.value)||(null==(l=i[0])?void 0:l.value)}function hp(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;return e.map(e=>({...e,label:t(e.label),value:e.value}))}let hh=(0,O.observer)(e=>{var t;let{fieldModel:l,source:r=[],fieldModelProps:n={},value:i,onChange:o,...a}=e,s=(0,rd.useField)(),d=(0,O.useFlowEngine)(),u=(0,O.useFlowContext)(),c=(null==s||null==(t=s.form)?void 0:t.values)||{},p=l||(null==c?void 0:c.fieldModel),h=r.length?r:(null==c?void 0:c.source)||[],f=(null==c?void 0:c.fieldModelProps)&&Object.keys(c.fieldModelProps).length>0?c.fieldModelProps:n,m=Array.isArray(h)?h.join("."):"",g=null==f?void 0:f.mode,v=null==f?void 0:f.allowMultiple,y=null==f?void 0:f.multiple,b=null==f?void 0:f.recordSelectDataSourceKey,x=null==f?void 0:f.recordSelectTargetCollection,w=null==f?void 0:f.recordSelectValueField,S=(0,A.useMemo)(()=>hu({flowEngine:d,fieldModel:p,source:h,fieldModelProps:f}),[d,p,m,g,v,y,b,x,w]),M=(0,A.useMemo)(()=>hp(S,e=>u.t(e)),[S,u]);return(0,A.useEffect)(()=>{if(!M.length){void 0!==i&&(null==o||o(void 0));return}if(M.some(e=>e.value===i))return;let e=hc({flowEngine:d,fieldModel:p,source:h,fieldModelProps:f});e!==i&&(null==o||o(e))},[d,p,o,M,m,i,g,v,y,b,x,w]),(0,D.jsx)(ol.Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:u.t("Please select"),...a,options:M,value:i,onChange:o,disabled:0===M.length})});class hf extends O.FlowModel{static defineChildren(e){let t=e.engine.filterModelClassByParent("CommonItemModel"),l=e.engine.filterModelClassByParent("FilterFormCustomItemModel"),r=t=>Array.from(t.entries()).map(t=>{var l,r;let[n,i]=t,o={key:n,label:e.t(i.meta.label),sort:i.meta.sort??999,searchable:!!(null==(l=i.meta)?void 0:l.searchable),searchPlaceholder:null==(r=i.meta)?void 0:r.searchPlaceholder};return o.createModelOptions={use:n},o});return B().sortBy([...r(t),...r(l)],"sort")}}(0,w._)(hf,"renderMode",O.ModelRenderMode.RenderFunction),hf.define({hide:!0,label:(0,O.tExpr)("Others")});var hm=l(60209);function hg(e){let t=(0,O.useFlowEngine)(),l=(0,A.useCallback)(()=>{let e=null==t?void 0:t.dataSourceManager;return e?e.getDataSources().map(e=>({value:e.key,label:e.displayName??e.key,isLeaf:!1,meta:{type:"dataSource",dataSourceKey:e.key}})):[]},[t]),[r,n]=(0,A.useState)(()=>l());(0,A.useEffect)(()=>{n(l())},[l]);let i=(0,A.useCallback)(e=>{var l;let r=e[e.length-1];if(!r||(null==(l=r.children)?void 0:l.length))return;let i=null==t?void 0:t.dataSourceManager;if(!i)return;let o=[];if(1===e.length){let e=r.value,t=i.getDataSource(e);o=((null==t?void 0:t.getCollections())??[]).map(t=>({value:t.name,label:t.title,isLeaf:!1,meta:{type:"collection",dataSourceKey:e,collectionName:t.name,fullPath:t.name}}))}else{let e=r.meta||{},t=e.dataSourceKey,l=i.getDataSource(t),a=null==l?void 0:l.collectionManager;if(!l||!a){r.isLeaf=!0,n(e=>[...e]);return}if("collection"===e.type){let l=a.getCollection(e.collectionName);o=((null==l?void 0:l.getFields())??[]).filter(e=>e.filterable).map(l=>{let r=`${e.fullPath}.${l.name}`,n=!!l.targetCollection;return{value:l.name,label:l.title,isLeaf:!n,meta:{type:"field",dataSourceKey:t,fullPath:r}}}).sort((e,t)=>t.isLeaf?0:-1)}else if("field"===e.type){let r=l.getCollectionField(e.fullPath),n=null==r?void 0:r.targetCollection;o=((null==n?void 0:n.getFields())??[]).filter(e=>e.filterable).map(l=>{let r=`${e.fullPath}.${l.name}`,n=!!l.targetCollection;return{value:l.name,label:l.title,isLeaf:!n,meta:{type:"field",dataSourceKey:t,fullPath:r}}}).sort((e,t)=>t.isLeaf?0:-1)}}o.length?r.children=o:r.isLeaf=!0,n(e=>[...e])},[t]);return(0,D.jsx)(hm.A,{allowClear:!0,...e,options:r,loadData:i})}var hv=l(32644);let hy=(e,t,l)=>{var r,n,i;if((null==l||null==(n=l.form)||null==(r=n.values)?void 0:r.fieldModel)==="FilterFormCustomRecordSelectFieldModel"&&(null==e||""===e))return(null==l||null==(i=l.t)?void 0:i.call(l,"The field value is required"))||"The field value is required"};class hb extends hf{buildRecordSelectCollectionField(e,t){var l,r,n,i,o,a;let s=(null==t?void 0:t.recordSelectDataSourceKey)||"main",d=null==t?void 0:t.recordSelectTargetCollection;if(!d)return;let u=null==(r=e.dataSourceManager)||null==(l=r.getDataSource)?void 0:l.call(r,s),c=null==u||null==(n=u.getCollection)?void 0:n.call(u,d);if(!u||!c)return;let p=(null==t?void 0:t.recordSelectTitleField)||(null==(i=c.titleCollectionField)?void 0:i.name)||(null==(a=c.titleCollectionField)||null==(o=a.options)?void 0:o.name),h=(null==t?void 0:t.recordSelectValueField)||c.filterTargetKey||"id",f=new O.CollectionField({name:(null==t?void 0:t.name)||"recordSelect",interface:"m2o",type:"belongsTo",target:d,dataSourceKey:s,uiSchema:{"x-component":"Select"},fieldNames:{label:p,value:h}});return f.setCollection(c),f}get defaultTargetUid(){return this.getStepParams("filterFormItemSettings","init").defaultTargetUid}onInit(e){super.onInit(e),this.debouncedDoFilter=(0,$.debounce)(this.doFilter.bind(this),300)}onUnmount(){super.onUnmount(),this.debouncedDoFilter.cancel()}doFilter(){this.context.filterManager.refreshTargetsByFilter(this.uid)}doReset(){this.context.filterManager.refreshTargetsByFilter(this.uid)}getFilterValue(){var e,t,l,r;let n=(null==(e=this.customFieldModelInstance)?void 0:e.getFilterValue)?this.customFieldModelInstance.getFilterValue():null==(t=this.context.form)?void 0:t.getFieldValue(this.props.name),i=this.getCurrentOperatorMeta(),o=(0,hv.S)(this.operator,n);return(null==i?void 0:i.noValue)&&!Array.isArray(null==i||null==(r=i.schema)||null==(l=r["x-component-props"])?void 0:l.options)||o}getCurrentOperatorMeta(){let e=this.getStepParams("formItemSettings","fieldSettings")||{},t=e.fieldModel,l=e.source||[],r=this.customFieldProps||e.fieldModelProps||{},n=hu({flowEngine:this.flowEngine,fieldModel:t,source:l,fieldModelProps:r}),i=this.operator||e.operator;return i&&n.find(e=>e.value===i)||null}getValueProps(e){return this.context.blockModel.autoTriggerFilter&&(this.autoTriggerInitialized?(0,$.isEqual)(this.lastAutoTriggerValue,e)||(this.lastAutoTriggerValue=(0,$.cloneDeep)(e),this.debouncedDoFilter()):(this.autoTriggerInitialized=!0,this.lastAutoTriggerValue=(0,$.cloneDeep)(e))),{value:e,onKeyDown:this.handleEnterPress.bind(this)}}render(){return this.customFieldModelInstance?(0,D.jsx)(O.FormItem,{...this.props,getValueProps:this.getValueProps.bind(this),children:(0,D.jsx)(O.FieldModelRenderer,{model:this.customFieldModelInstance})}):null}constructor(...e){super(...e),(0,w._)(this,"customFieldModelInstance",null),(0,w._)(this,"customFieldProps",null),(0,w._)(this,"operator",void 0),(0,w._)(this,"debouncedDoFilter",void 0),(0,w._)(this,"lastAutoTriggerValue",void 0),(0,w._)(this,"autoTriggerInitialized",!1),(0,w._)(this,"handleEnterPress",e=>{"Enter"===e.key&&(e.preventDefault(),this.doFilter())})}}hb.define({label:'{{t("Custom field")}}',sort:1}),hb.registerFlow({key:"formItemSettings",title:(0,O.tExpr)("Form item settings"),steps:{fieldSettings:{preset:!0,title:(0,O.tExpr)("Field settings"),uiSchema:{title:{type:"string",title:(0,O.tExpr)("Field title"),"x-component":"Input","x-decorator":"FormItem",required:!0},name:{type:"string",title:(0,O.tExpr)("Field name"),"x-component":"Input","x-decorator":"FormItem",required:!0,description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.")}}'},source:{type:"array",title:(0,O.tExpr)("Field source"),"x-decorator":"FormItem","x-component":hg,"x-component-props":{placeholder:(0,O.tExpr)("Select a source field to use metadata of the field")},description:(0,O.tExpr)("Select a source field to use metadata of the field")},fieldModel:{type:"string",title:(0,O.tExpr)("Field type"),"x-component":p3,"x-decorator":"FormItem",required:!0,enum:[{label:(0,O.tExpr)("Input"),value:"InputFieldModel"},{label:(0,O.tExpr)("Number"),value:"NumberFieldModel"},{label:(0,O.tExpr)("Date"),value:"DateTimeFilterFieldModel"},{label:(0,O.tExpr)("Select"),value:"SelectFieldModel"},{label:(0,O.tExpr)("Radio group"),value:"RadioGroupFieldModel"},{label:(0,O.tExpr)("Checkbox group"),value:"CheckboxGroupFieldModel"},{label:(0,O.tExpr)("Record select"),value:"FilterFormCustomRecordSelectFieldModel"}],"x-component-props":{placeholder:(0,O.tExpr)("Please select"),valueMap:{RecordSelectFieldModel:"FilterFormCustomRecordSelectFieldModel"}},"x-reactions":[{dependencies:["source"],fulfill:{state:{componentProps:{source:"{{$deps[0]}}",valueMap:{RecordSelectFieldModel:"FilterFormCustomRecordSelectFieldModel"}}}}}]},fieldModelProps:{type:"object",title:(0,O.tExpr)("Component properties"),"x-component":p6,properties:{recordSelectTargetCollection:{type:"string","x-validator":hy},recordSelectTitleField:{type:"string","x-validator":hy},recordSelectValueField:{type:"string","x-validator":hy}},"x-reactions":[{dependencies:["fieldModel","source"],fulfill:{state:{componentProps:{fieldModel:"{{$deps[0]}}",source:"{{$deps[1]}}"}}}}]},operator:{type:"string",title:(0,O.tExpr)("Operator"),"x-component":hh,"x-decorator":"FormItem",required:!0,"x-reactions":[{dependencies:["fieldModel","source","fieldModelProps"],fulfill:{state:{componentProps:{fieldModel:"{{$deps[0]}}",source:"{{$deps[1]}}",fieldModelProps:"{{$deps[2] || {}}}"}}}}]}},defaultParams:e=>({name:`f_${(0,ea.uid)().slice(0,4)}`}),handler(e,t){var l,r;let n,{fieldModel:i,fieldModelProps:o={},title:a,name:s,source:d=[],operator:u}=t;e.model.setProps({label:a,name:s});let c=o;if("FilterFormCustomRecordSelectFieldModel"===i){let t=(null==o?void 0:o.allowMultiple)===void 0||!!(null==o?void 0:o.allowMultiple),r=(null==o?void 0:o.multiple)===void 0?t:!!(null==o?void 0:o.multiple);if(c={...o,allowMultiple:t,multiple:r,valueMode:(null==o?void 0:o.valueMode)||"value"},n=e.model.buildRecordSelectCollectionField(e,{...c,name:s})){let e=(null==o?void 0:o.recordSelectTitleField)||n.targetCollectionTitleFieldName,t=(null==o?void 0:o.recordSelectValueField)||(null==(l=n.targetCollection)?void 0:l.filterTargetKey)||"id";e&&t&&(c={...c,fieldNames:{label:e,value:t}})}}if(e.model.customFieldModelInstance?e.model.customFieldModelInstance.setProps({allowClear:!0,...c}):e.model.customFieldModelInstance=e.model.flowEngine.createModel({use:i,props:{allowClear:!0,...c}}),"FilterFormCustomRecordSelectFieldModel"===i){let t=(null==c?void 0:c.recordSelectTitleField)||(null==c||null==(r=c.fieldNames)?void 0:r.label);t&&e.model.customFieldModelInstance.setStepParams("selectSettings","fieldNames",{label:t})}n&&e.model.customFieldModelInstance.context.defineProperty("collectionField",{value:n});let p=!!hu({flowEngine:e.model.flowEngine,fieldModel:i,source:d,fieldModelProps:c}).find(e=>e.value===u);e.model.operator=(p?u:void 0)||hc({flowEngine:e.model.flowEngine,fieldModel:i,source:d,fieldModelProps:c}),e.model.customFieldProps=c}},connectFields:{use:"connectFields"}}});let hx="__filter_form_value_options__",hw=(e,t)=>null!=e&&""!==e&&("number"==typeof e||"bigint"==typeof e||"string"==typeof e&&(!t||!/(int|big)/i.test(t)||/^-?\d+$/.test(e))),hS=(e,t)=>{if("number"==typeof e||"bigint"==typeof e||"string"==typeof e&&/(int|big)/i.test(t||"")&&/^-?\d+$/.test(e))return e},hA=(e,t,l,r,n,i)=>{let o=new Map;t.forEach(e=>{if(!e||"object"!=typeof e)return;let t=null==e?void 0:e[r],n=null==e?void 0:e[l];null!=t&&null!=n&&o.set(t,n)});let a=e=>{if(null==e)return;if("object"==typeof e){let t=null==e?void 0:e[l];if(null!=t)return t;let n=(null==e?void 0:e[r])??(null==e?void 0:e.value);if(r===l)return n;let a=o.get(n);return null!=a?a:hS(n,i)}if(r===l)return e;let t=o.get(e);return null!=t?t:hS(e,i)};return(n&&Array.isArray(e)?e:[e]).map(e=>a(e)).filter(e=>hw(e,i))},hM=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0,r=new Map;return[...e,...t].forEach(e=>{let t=null==e?void 0:e[l];null!=t&&r.set(t,e)}),Array.from(r.values())},hF=(e,t)=>{var l,r;let n=null==e||null==(l=e.context)?void 0:l.collectionField,i=null==n?void 0:n.collection,o=null==i?void 0:i.dataSource,a=null==e||null==(r=e.context)?void 0:r.t,s=(null==n?void 0:n.name)||e.fieldPath,d=(0,A.useMemo)(()=>{if(!a||!o)return"";let e=`${a(o.displayName||o.key)} > `,t=i?`${a(i.title)||i.name||i.tableName} > `:"";return`${e}${t}${s}`},[a,o,i,s]);return!t&&a&&o?a('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:d,actionName:"Update"}).replaceAll(">",">"):null},hk=e=>{var t;let{fieldNames:l={label:"label",value:"value"},value:r,multiple:n,allowMultiple:i,options:o,quickCreate:a,onChange:s,allowCreate:d=!0,allowEdit:u=!0,valueMode:c="record",...p}=e,h=!!(n&&i),f=pm(o,r,h),m=(0,O.useFlowModel)(),g=!!m.context.flowSettingsEnabled,{t:v}=(0,eG.B)(),y=e=>{let{searchText:t}=e;return(0,D.jsxs)("div",{onClick:()=>p.onDropdownAddClick(t),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,D.jsx)(tD.A,{}),(0,D.jsx)("span",{style:{paddingLeft:5},children:v("Add")+` “${t}” `})]})},b=hF(m,u);return(0,D.jsxs)(dD.A.Compact,{style:{width:"100%"},children:[(0,D.jsx)(rj.A,{style:{width:"100%"},...p,allowClear:!0,showSearch:!0,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,D.jsxs)(tz.A,{title:(0,D.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,D.jsx)(c7.A,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]}),filterOption:!1,labelInValue:!0,onCompositionEnd:e=>p.onCompositionEnd(e,!1),fieldNames:l,options:f,value:pf(r,l,h,c,f),mode:h?"multiple":void 0,onChange:(e,t)=>{"value"===c?Array.isArray(t)?s(t.map(e=>(null==e?void 0:e[l.value])??(null==e?void 0:e.value)).filter(e=>void 0!==e)):s((null==t?void 0:t[l.value])??(null==t?void 0:t.value)):s(t)},optionRender:e=>{let{data:t}=e;return(0,D.jsx)(ph,{option:t,fieldNames:l})},popupMatchSelectWidth:!0,labelRender:e=>(0,D.jsx)("div",{className:(0,er.css)`
|
|
529
|
+
`,pR=e=>{var t,l;let{fieldNames:r,value:n,multiple:i,allowMultiple:o,keepDropdownOpenOnSelect:a=!1,options:s,quickCreate:d,onChange:u,allowCreate:c=!0,allowEdit:p=!0,className:h,...f}=e,m=(0,O.useFlowModel)(),g=pn(r,null==m||null==(l=m.context)||null==(t=l.collectionField)?void 0:t.targetCollection),v=!!(i&&o),y=!!(a&&v),b=pm(s,n,v),x=(0,A.useRef)();x.current||(x.current=m.__keepOpenOnSelectRuntime||(m.__keepOpenOnSelectRuntime={open:void 0,preventCloseOnSelect:!1}));let w=x.current,[S,M]=(0,A.useState)(w.open),F=e=>{Object.assign(w,e),Object.prototype.hasOwnProperty.call(e,"open")&&M(w.open)},k=!!m.context.flowSettingsEnabled,{t:C}=(0,eG.B)();pc({model:m,value:n,isMultiple:v,fieldNames:g,onChange:u});let P=e=>{let{searchText:t}=e;return(0,D.jsxs)("div",{onClick:()=>f.onDropdownAddClick(t),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,D.jsx)(tD.A,{}),(0,D.jsx)("span",{style:{paddingLeft:5},children:C("Add")+` “${t}” `})]})},j=pP(m,p);return(0,D.jsxs)(dD.A.Compact,{style:{width:"100%"},children:[(0,D.jsx)(rj.A,{style:{width:"100%"},...f,className:[pj,h].filter(Boolean).join(" "),allowClear:!0,showSearch:!0,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,D.jsxs)(tz.A,{title:(0,D.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,D.jsx)(c7.A,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]}),filterOption:!1,labelInValue:!0,onCompositionEnd:e=>f.onCompositionEnd(e,!1),fieldNames:g,options:b,value:pf(n,g,v),mode:v?"multiple":void 0,open:y?S:void 0,onChange:(e,t)=>{u(t)},onSelect:(e,t)=>{var l;y&&F({preventCloseOnSelect:!0,open:!0}),null==(l=f.onSelect)||l.call(f,e,t)},onDropdownVisibleChange:e=>{var t,l;if(y){if(!e&&w.preventCloseOnSelect){F({preventCloseOnSelect:!1,open:!0}),null==(l=f.onDropdownVisibleChange)||l.call(f,!0);return}F({preventCloseOnSelect:!1,open:e})}null==(t=f.onDropdownVisibleChange)||t.call(f,e)},optionRender:e=>{let{data:t}=e;return(0,D.jsx)("div",{onMouseDown:()=>{y&&F({preventCloseOnSelect:!0})},children:(0,D.jsx)(ph,{option:t,fieldNames:g})})},popupMatchSelectWidth:!0,labelRender:e=>(0,D.jsx)("div",{className:pE,children:e.label}),dropdownRender:e=>{let t=b.some(e=>e[g.label]===f.searchText);return(0,D.jsx)(D.Fragment,{children:"quickAdd"===d&&c&&p&&f.searchText?(0,D.jsxs)(D.Fragment,{children:[!(0===b.length&&f.searchText)&&e,b.length>0&&f.searchText&&!t&&(0,D.jsx)(ru.A,{style:{margin:0}}),!t&&(0,D.jsx)(P,{searchText:f.searchText})]}):e})}}),"modalAdd"===d&&(c&&p||k)&&(c&&p?(0,D.jsx)(eY.Ay,{onClick:f.onModalAddClick,children:C("Add new")}):(0,D.jsx)(df._T,{forbidden:{actionName:"create"},collection:m.collectionField.targetCollection,message:j,children:(0,D.jsx)(eY.Ay,{onClick:f.onModalAddClick,disabled:!p,style:{opacity:"0.3"},children:C("Add new")})}))]})};class pT extends pe{get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.targetCollection}}),this.setDataSource([])}set onPopupScroll(e){this.setProps({onPopupScroll:e})}set onDropdownVisibleChange(e){this.setProps({onDropdownVisibleChange:e})}set onSearch(e){this.setProps({onSearch:e})}setDataSource(e){this.setProps({options:e})}getDataSource(){return this.props.options}getFilterValue(){var e,t;let l=pn(this.props.fieldNames,null==(e=this.context.collectionField)?void 0:e.targetCollection);return Array.isArray(this.props.value)?this.props.value.map(e=>e[l.value]):null==(t=this.props.value)?void 0:t[l.value]}onMount(){this.onModalAddClick=e=>{this.dispatchEvent("openView",{event:e,onChange:this.props.onChange})},this.onDropdownAddClick=e=>{this.dispatchEvent("dropdownAdd",{search:e,onChange:this.props.onChange})}}set onModalAddClick(e){this.setProps({onModalAddClick:e})}set onDropdownAddClick(e){this.setProps({onDropdownAddClick:e})}change(e){this.props.onChange(e)}render(){return this.context.isMobileLayout?(0,D.jsx)(pM,{...this.props,loading:this.resource.loading}):(0,D.jsx)(pR,{...this.props})}}let pI={page:1,pageSize:40,loading:!1,hasMore:!0},p_=e=>`__search__${e}`,pD=e=>`__assoc__${e}`;async function pN(e,t){try{var l,r,n,i;let t=e.model.collectionField.targetCollection,o=pn(e.model.props.fieldNames,t).label,a=t.getField(o);if(!a)return;let s=a.getInterfaceOptions(),d=(null==s||null==(n=s.filterable)||null==(r=n.operators)||null==(l=r[0])?void 0:l.value)||"$includes",u=null==(i=e.inputArgs.searchText)?void 0:i.trim(),c=e.model.resource,p=`${o}.${d}`;""===u?c.removeFilterGroup(p_(o)):(c.setPage(1),c.addFilterGroup(p_(o),{[p]:u})),await c.refresh();let h=c.getData();e.model.setDataSource(h),h.length<pI.pageSize?pI.hasMore=!1:(pI.hasMore=!0,pI.page++),e.model.setProps({searchText:u})}catch(t){console.error("AssociationSelectField search flow error:",t),e.model.setDataSource([])}}pT.registerFlow({key:"eventSettings",sort:900,steps:{bindEvent:{handler(e,t){var l;let r=p_(pn(e.model.props.fieldNames,null==(l=e.model.collectionField)?void 0:l.targetCollection).label);e.model.onDropdownVisibleChange=t=>{t?e.model.dispatchEvent("dropdownOpen",{apiClient:e.app.apiClient,form:e.model.context.form}):(e.model.resource.removeFilterGroup(r),pI.page=1)},e.model.onPopupScroll=t=>{e.model.dispatchEvent("popupScroll",{event:t,apiClient:e.app.apiClient})},e.model.onSearch=t=>{e.model.dispatchEvent("search",{searchText:t,apiClient:e.app.apiClient})}}}}}),pT.registerFlow({key:"dropdownOpenSettings",on:"dropdownOpen",steps:{setScope:{async handler(e,t){var l;let r=pn(e.model.props.fieldNames,null==(l=e.model.collectionField)?void 0:l.targetCollection).value,n=e.model.resource,i=e.model.getDataSource();n.setPage(1),await e.model.applyFlow("selectSettings"),await n.refresh();let{count:o}=n.getMeta(),a=n.getData();(!i||o!==i.length||a[0][r]!==i[0][r])&&(e.model.setDataSource(a),e.model.setProps({searchText:null}),a.length<pI.pageSize?pI.hasMore=!1:(pI.hasMore=!0,pI.page++))}}}}),pT.registerFlow({key:"popupScrollSettings",on:"popupScroll",steps:{step1:{async handler(e,t){var l;let{scrollTop:r,scrollHeight:n,clientHeight:i}=(null==(l=e.inputArgs)?void 0:l.event).target;if(!(r+i<n-20)&&!pI.loading&&pI.hasMore){pI.loading=!0;try{let t=e.model.resource;t.setPage(pI.page),await t.refresh();let l=t.getData(),r=e.model.getDataSource()||[];e.model.setDataSource([...r,...l]),l.length<pI.pageSize?(pI.hasMore=!1,pI.page=1):pI.page++}catch(e){console.error("Scroll pagination request failed:",e)}finally{pI.loading=!1}}}}}});let pO=(0,$.debounce)(pN,500);pT.registerFlow({key:"searchSettings",on:"search",steps:{step1:{handler:pO}}}),pT.registerFlow({key:"recordSelectSettings",sort:200,steps:{init:{async handler(e){var t,l,r;let n=e.createResource(O.MultiRecordResource),i=e.model.context.collectionField,{target:o,dataSourceKey:a,foreignKey:s}=i;n.setDataSourceKey(a),n.setResourceName(o),n.setPageSize(pI.pageSize);let d=(null==e||null==(l=e.blockModel)||null==(t=l.constructor)?void 0:t.scene)===d6.P.filter,u=["oho","o2m"].includes(i.interface),c=(null==(r=e.item)?void 0:r.value)||e.record,p=null==c?void 0:c[null==i?void 0:i.sourceKey],h=[];if(!d&&null!=p&&u){let e=`${s}.$eq`;h.push({[e]:p})}if(!d&&u){let e=`${s}.$is`;h.push({[e]:null})}h.length>0&&n.addFilterGroup(pD(s),{$or:h}),e.model.resource=n}},allowEditCheck:{async handler(e){if(e.blockModel instanceof cI.EditFormModel){var t;let l=await e.aclCheck({dataSourceKey:e.collectionField.dataSourceKey,resourceName:null==(t=e.collectionField)?void 0:t.collectionName,actionName:"update",fields:[e.collectionField.name]});e.model.setProps({allowEdit:!!l})}}}}}),pT.registerFlow({key:"selectSettings",title:(0,O.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,O.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},hideInSettings:e=>!e.collectionField||!["belongsToMany","hasMany","belongsToArray"].includes(e.collectionField.type),defaultParams:e=>({allowMultiple:e.collectionField&&["belongsToMany","hasMany","belongsToArray"].includes(e.model.context.collectionField.type)}),handler(e,t){e.model.setProps({allowMultiple:null==t?void 0:t.allowMultiple})}},quickCreate:{title:(0,O.tExpr)("Quick create"),uiMode(e){let t=e.t;return{type:"select",key:"quickCreate",props:{options:[{label:t("None"),value:"none"},{label:t("Dropdown"),value:"quickAdd"},{label:t("Pop-up"),value:"modalAdd"}]}}},hideInSettings(e){var t,l;return!!((null==e||null==(l=e.blockModel)||null==(t=l.constructor)?void 0:t.scene)===d6.P.filter||pF(null==e?void 0:e.model,["SubTableColumnModel","SubTableFieldModel"]))},defaultParams:{quickCreate:"none"},handler(e,t){e.model.setProps({quickCreate:t.quickCreate})}}}}),pT.registerFlow({key:"dropdownAdd",title:(0,O.tExpr)("Create record setting"),sort:900,on:{eventName:"dropdownAdd"},steps:{dropdownAdd:{async handler(e,t){var l,r,n;if("quickAdd"!==e.model.props.quickCreate)return null;let{onChange:i,search:o}=e.inputArgs,a=await e.model.resource.create({[(null==(r=e.model.props)||null==(l=r.fieldNames)?void 0:l.label)||"id"]:o},{refresh:!1});a&&(i(["m2m","o2m"].includes(null==(n=e.collectionField)?void 0:n.interface)&&!1!==e.model.props.allowMultiple?[...e.model.props.value||[],a.data].filter((t,l,r)=>l===r.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey])):a.data),e.message.success(e.t("Saved successfully")),e.model.setProps({searchText:null}))}}}}),pT.registerFlow({key:"popupSettings",title:(0,O.tExpr)("Create record setting"),sort:900,on:{eventName:"openView"},steps:{openView:{title:(0,O.tExpr)("Edit popup"),uiSchema:e=>"modalAdd"!==e.model.props.quickCreate?null:{mode:{type:"string",title:(0,O.tExpr)("Open mode"),enum:[{label:(0,O.tExpr)("Drawer"),value:"drawer"},{label:(0,O.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,O.tExpr)("Popup size"),enum:[{label:(0,O.tExpr)("Small"),value:"small"},{label:(0,O.tExpr)("Medium"),value:"medium"},{label:(0,O.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,r,n,i,o;let{onChange:a}=e.inputArgs,s={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},d=e.inputArgs.mode||t.mode||"drawer",u=["belongsTo","hasOne"].includes(e.collectionField.type),c=e.inputArgs.size||t.size||"medium",p=null==(l=e.collectionField)?void 0:l.collection,h=(null==(r=e.item)?void 0:r.value)??e.record,f=h?null==p||null==(n=p.getFilterByTK)?void 0:n.call(p,h):void 0,m=null==(i=e.collectionField)?void 0:i.resourceName,g=pi(e,e.inputArgs);e.viewer.open({type:d,width:s[d][c],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"create",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(o=e.collectionField)?void 0:o.target,...m&&null!=f?{associationName:m,sourceId:f}:{},collectionField:e.collectionField,openerUids:g,onChange:t=>{if(u||!e.model.props.allowMultiple){a(t);let l=e.model.getDataSource()||[];l.push(t),e.model.setDataSource(l)}else{let l=[...e.model.props.value||[],t].filter((t,l,r)=>l===r.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]));a(l);let r=e.model.getDataSource()||[];e.model.setDataSource(r.concat(l))}}},content:()=>(0,D.jsx)(pC,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===d?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),pT.define({label:(0,O.tExpr)("Dropdown select")}),O.EditableItemModel.bindModelToInterface("RecordSelectFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{isDefault:!0,order:1});class p$ extends pT{onInit(e){var t;super.onInit(e);let l=null==(t=this.getStepParams("selectSettings","allowMultiple"))?void 0:t.allowMultiple,r="boolean"==typeof l?l:"boolean"!=typeof this.props.allowMultiple||this.props.allowMultiple;this.setProps({allowMultiple:r,multiple:r,quickCreate:"none"})}}p$.registerFlow({key:"selectSettings",title:(0,O.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,O.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},defaultParams:{allowMultiple:!0},handler(e,t){var l;let r=null==(l=e.model.getStepParams("selectSettings","allowMultiple"))?void 0:l.allowMultiple,n="boolean"==typeof(null==t?void 0:t.allowMultiple)?t.allowMultiple:"boolean"==typeof r?r:"boolean"!=typeof e.model.props.allowMultiple||e.model.props.allowMultiple;e.model.setProps({allowMultiple:n,multiple:n})}}}}),p$.define({label:(0,O.tExpr)("Dropdown select")}),O.FilterableItemModel.bindModelToInterface("FilterFormRecordSelectFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{isDefault:!0,defaultProps:{allowMultiple:!0,multiple:!0,quickCreate:"none"}});var pB=l(13595);class pL extends c9{render(){return(0,D.jsx)(pB.DateFilterDynamicComponent,{...this.props})}}let pq=e=>{let{value:t,format:l="YYYY-MM-DD",picker:r="date",showTime:n,...i}=e,o={...i,value:t,format:l,picker:r,showTime:n};return(0,D.jsx)(pB.DateFilterDynamicComponent,{...o})};class pV extends pL{setProps(e){super.setProps({...e,showTime:!1,utc:!1})}render(){return(0,D.jsx)(pq,{...this.props})}}O.FilterableItemModel.bindModelToInterface("DateOnlyFilterFieldModel",["date"],{isDefault:!0});let pz=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",showTime:r,picker:n="date",...i}=e,o=r&&"date"===n?"YYYY-MM-DD":l;return(0,D.jsx)(pB.DateFilterDynamicComponent,{...i,value:t,format:o,picker:n,showTime:r})};class pK extends pL{render(){return(0,D.jsx)(pz,{...this.props})}}O.FilterableItemModel.bindModelToInterface("DateTimeNoTzFilterFieldModel",["datetimeNoTz"],{isDefault:!0});let pU=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",picker:r="date",showTime:n,...i}=e,o=n&&"date"===r?"YYYY-MM-DD":l,a={...i,value:t,format:o,picker:r,showTime:n};return(0,D.jsx)(pB.DateFilterDynamicComponent,{...a})};class pW extends pL{setProps(e){super.setProps({...e,utc:!0})}render(){return(0,D.jsx)(pU,{...this.props})}}O.FilterableItemModel.bindModelToInterface("DateTimeTzFilterFieldModel",["createdAt","datetime","updatedAt","unixTimestamp"],{isDefault:!0}),l(34733),l(13045);var pH=l(51643),pY=l(60518),pG=l(31333);let pJ="recordSelectDataSourceKey",pX="recordSelectTargetCollection",pQ="recordSelectTitleField",pZ="recordSelectValueField",p0="allowMultiple",p1="multiple",p2="valueMode",p4=new Set(["belongsTo","belongsToMany","hasOne","hasMany","belongsToArray"]),p6=e=>{var t,l,r,n,i;let{fieldModel:o,source:a=[]}=e,s=(0,rd.useField)(),{t:d}=(0,eG.B)(),u=s.value||{},c=o||(null==u?void 0:u.fieldModel),p=(0,O.useFlowEngine)(),h=(0,O.useFlowContext)(),f=(null==h?void 0:h.dataSourceManager)||(null==p?void 0:p.dataSourceManager)||(null==h||null==(t=h.app)?void 0:t.dataSourceManager),m=(0,eE.Sx)(f),g=(0,A.useCallback)(e=>(0,eE.w6)(e,f),[f]),v=()=>s.value||{},y=(e,t)=>{s.setValue({...v(),[e]:t})},b=e=>{var t;(null==s||null==(t=s.form)?void 0:t.setValuesIn)&&(null==s?void 0:s.path)?s.form.setValuesIn(s.path,e):s.setValue(e)},x=e=>{var t,l,r,n;let i=`${s.path.toString()}.${e}`,o=null==(n=s.form)||null==(r=n.query)||null==(l=r.call(n,i))||null==(t=l.take)?void 0:t.call(l);return(Array.isArray(null==o?void 0:o.errors)?o.errors:[]).flatMap(e=>e?Array.isArray(e.messages)?e.messages:e.messages?[e.messages]:[]:[]).filter(Boolean)},w=e=>{let t=x(e);return t.length?{feedbackStatus:"error",feedbackText:t.join(", ")}:{}};(0,A.useEffect)(()=>{var e,t,l,r,n,i,o;let d=a.length?a:(null==u?void 0:u.source)||[];if(!d.length)return;let f=!!(null==p||null==(t=p.dataSourceManager)||null==(e=t.getDataSource)?void 0:e.call(t,d[0])),m=(null==p||null==(r=p.dataSourceManager)||null==(l=r.getDataSources)?void 0:l.call(r))??[],g=(f?d[0]:void 0)||(null==u?void 0:u[pJ])||(null==(n=m[0])?void 0:n.key)||"main",y=(f?d.slice(1):d).join("."),x=p.dataSourceManager.getCollectionField(`${g}.${y}`),w=O.FilterableItemModel.getDefaultBindingByField(h.model.context,x);if(!x&&"FilterFormCustomRecordSelectFieldModel"!==c||!w&&"FilterFormCustomRecordSelectFieldModel"!==c)return;let S=(null==x||null==(i=x.getComponentProps)?void 0:i.call(x))||{},A={...(w&&"function"==typeof w.defaultProps?w.defaultProps(h.model.context,s):null==w?void 0:w.defaultProps)||{},...S,...v()};if(("FilterFormCustomRecordSelectFieldModel"===c||!c&&(null==x?void 0:x.target))&&(null==x?void 0:x.target)){let e=x.targetCollection||p.dataSourceManager.getCollection(x.dataSourceKey,x.target);A[pJ]=x.dataSourceKey||g,A[pX]=x.target,A[pQ]=x.targetCollectionTitleFieldName||(null==e||null==(o=e.titleCollectionField)?void 0:o.name)||A[pQ],A[pZ]=A[pZ]||(null==e?void 0:e.filterTargetKey)||"id",void 0===A[p0]&&void 0===A[p1]&&(A[p0]=!0,A[p1]=!0),A[p2]||(A[p2]="value")}b(A)},[o,c,a.join("."),null==u?void 0:u.source,p]);let S=(0,A.useMemo)(()=>{var e,t;return(null==p||null==(t=p.dataSourceManager)||null==(e=t.getDataSources)?void 0:e.call(t))??[]},[p]),M=(0,A.useMemo)(()=>S.map(e=>({label:e.displayName??e.key,value:e.key})),[S]),F=(null==u?void 0:u[pJ])||(null==(l=S[0])?void 0:l.key)||"main",k=F?null==p||null==(n=p.dataSourceManager)||null==(r=n.getDataSource)?void 0:r.call(n,F):void 0,C=null==u?void 0:u[pX],P=C?null==k||null==(i=k.getCollection)?void 0:i.call(k,C):void 0,j=(0,A.useCallback)(e=>e?(null==h?void 0:h.t)?h.t(e):d(e):e,[h,d]),E=(0,A.useMemo)(()=>(null==k?void 0:k.getCollections)?k.getCollections().filter(e=>{var t;return!(null==(t=e.options)?void 0:t.hidden)}).map(e=>({label:j(e.title)||e.name,value:e.name})):[],[k,j]),R=(0,A.useMemo)(()=>{if(!(null==P?void 0:P.getFields))return[];let e=e=>{if(!m)return!0;let t=(null==e?void 0:e.options)||e;return(0,eE.w)(g(null==t?void 0:t.interface))};return(P.getFields()||[]).filter(t=>e(t)).map(e=>{var t,l;return{label:j(null==(l=e.options)||null==(t=l.uiSchema)?void 0:t.title)||j(e.title)||e.name,value:e.name}})},[P,g,m,j]),T=(0,A.useMemo)(()=>{if(!(null==P?void 0:P.getFields))return[];let e=e=>{let t=(null==e?void 0:e.options)||{},l=t.interface||(null==e?void 0:e.interface);if(!1===t.filterable||!l)return!1;if(m){let e=g(l);if(!(null==e?void 0:e.filterable))return!1}let r=t.type||(null==e?void 0:e.type);return!p4.has(r)};return(P.getFields()||[]).filter(t=>e(t)).map(e=>{var t,l;return{label:j(null==(l=e.options)||null==(t=l.uiSchema)?void 0:t.title)||j(e.title)||e.name,value:e.name}})},[P,g,m,j]);if((0,A.useEffect)(()=>{var e;if("FilterFormCustomRecordSelectFieldModel"!==c||!C||(null==u?void 0:u[pQ]))return;let t=null==P||null==(e=P.titleCollectionField)?void 0:e.name;t&&s.setValue({...v(),[pQ]:t})},[o,c,C,P,u]),(0,A.useEffect)(()=>{if("FilterFormCustomRecordSelectFieldModel"!==c||!C)return;let e=null==u?void 0:u[pZ],t=T.map(e=>e.value);if(e&&t.includes(e))return;let l=null==P?void 0:P.filterTargetKey,r=l&&t.includes(l)&&l||t[0];r&&s.setValue({...v(),[pZ]:r})},[o,c,C,P,u,T]),(0,A.useEffect)(()=>{"FilterFormCustomRecordSelectFieldModel"!==c||(null==u?void 0:u[p0])===void 0&&(null==u?void 0:u[p1])===void 0&&s.setValue({...v(),[p0]:!0,[p1]:!0})},[o,c,u]),"DateTimeFilterFieldModel"===o)return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(ol.FormItem,{label:d("Date format"),children:(0,D.jsxs)(pH.Ay.Group,{value:u.format||"YYYY-MM-DD",onChange:e=>y("format",e.target.value),children:[(0,D.jsx)(pH.Ay,{value:"YYYY/MM/DD",children:d("Year/Month/Day")}),(0,D.jsx)(pH.Ay,{value:"YYYY-MM-DD",children:d("Year-Month-Day")}),(0,D.jsx)(pH.Ay,{value:"DD/MM/YYYY",children:d("Day/Month/Year")})]})}),(0,D.jsx)(ol.FormItem,{label:d("Time"),children:(0,D.jsx)(pY.A,{checked:u.showTime,onChange:e=>y("showTime",e.target.checked),children:d("Show time")})}),(0,D.jsx)(ol.FormItem,{label:d("Date range"),children:(0,D.jsx)(pY.A,{checked:u.isRange,onChange:e=>y("isRange",e.target.checked),children:d("Show date range")})})]});if("SelectFieldModel"===o){let e=u.options||[];return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(ol.FormItem,{label:d("Mode"),children:(0,D.jsxs)(pH.Ay.Group,{value:u.mode||"",onChange:e=>y("mode",e.target.value),children:[(0,D.jsx)(pH.Ay,{value:"",children:d("Single select")}),(0,D.jsx)(pH.Ay,{value:"multiple",children:d("Multiple select")})]})}),(0,D.jsx)(ol.FormItem,{label:d("Options"),children:(0,D.jsxs)(dD.A,{direction:"vertical",size:8,style:{width:"100%"},children:[e.map((t,l)=>(0,D.jsxs)(dD.A,{style:{width:"100%"},size:8,wrap:!0,align:"start",children:[(0,D.jsx)(dV.A,{style:{flex:1,minWidth:120},placeholder:d("Option label"),value:t.label,onChange:r=>{let n=[...e];n[l]={...t,label:r.target.value},y("options",n)}}),(0,D.jsx)(dV.A,{style:{flex:1,minWidth:120},placeholder:d("Option value"),value:t.value,onChange:r=>{let n=[...e];n[l]={...t,value:r.target.value},y("options",n)}}),(0,D.jsx)(eY.Ay,{type:"text",icon:(0,D.jsx)(pG.A,{}),onClick:()=>{y("options",e.filter((e,t)=>t!==l))}})]},l)),(0,D.jsx)(eY.Ay,{type:"dashed",block:!0,icon:(0,D.jsx)(tD.A,{}),onClick:()=>{y("options",[...e,{label:"",value:""}])},children:d("Add")})]})})]})}if("CheckboxGroupFieldModel"===o||"RadioGroupFieldModel"===o){let e=u.options||[];return(0,D.jsx)(ol.FormItem,{label:d("Options"),children:(0,D.jsxs)(dD.A,{direction:"vertical",size:8,style:{width:"100%"},children:[e.map((t,l)=>(0,D.jsxs)(dD.A,{style:{width:"100%"},size:8,wrap:!0,align:"start",children:[(0,D.jsx)(dV.A,{style:{flex:1,minWidth:120},placeholder:d("Option label"),value:t.label,onChange:r=>{let n=[...e];n[l]={...t,label:r.target.value},y("options",n)}}),(0,D.jsx)(dV.A,{style:{flex:1,minWidth:120},placeholder:d("Option value"),value:t.value,onChange:r=>{let n=[...e];n[l]={...t,value:r.target.value},y("options",n)}}),(0,D.jsx)(eY.Ay,{type:"text",icon:(0,D.jsx)(pG.A,{}),onClick:()=>{y("options",e.filter((e,t)=>t!==l))}})]},l)),(0,D.jsx)(eY.Ay,{type:"dashed",block:!0,icon:(0,D.jsx)(tD.A,{}),onClick:()=>{y("options",[...e,{label:"",value:""}])},children:d("Add")})]})})}return"FilterFormCustomRecordSelectFieldModel"===c?(0,D.jsxs)(D.Fragment,{children:[M.length>1&&(0,D.jsx)(ol.FormItem,{label:d("Data source"),children:(0,D.jsx)(rj.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Please select"),value:F,options:M,onChange:e=>{s.setValue({...u,[pJ]:e,[pX]:void 0,[pQ]:void 0})}})}),(0,D.jsx)(ol.FormItem,{label:d("Target collection"),asterisk:!0,...w(pX),children:(0,D.jsx)(rj.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Select collection"),value:C,options:E,onChange:e=>{s.setValue({...u,[pX]:e,[pQ]:void 0})}})}),(0,D.jsx)(ol.FormItem,{label:d("Title field"),asterisk:!0,...w(pQ),children:(0,D.jsx)(rj.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Please select"),value:null==u?void 0:u[pQ],options:R,onChange:e=>y(pQ,e)})}),(0,D.jsx)("div",{style:{color:"var(--colorTextDescription)",marginTop:-8,marginBottom:8},children:d("Used for display in the dropdown and selected tags.")}),(0,D.jsx)(ol.FormItem,{label:d("Value field"),asterisk:!0,...w(pZ),children:(0,D.jsx)(rj.A,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:d("Please select"),value:null==u?void 0:u[pZ],options:T,onChange:e=>y(pZ,e)})}),(0,D.jsx)("div",{style:{color:"var(--colorTextDescription)",marginTop:-8,marginBottom:8},children:d("Stored as the field value for filtering (usually the primary key).")}),(0,D.jsx)(ol.FormItem,{label:d("Multiple"),children:(0,D.jsx)(pY.A,{checked:(null==u?void 0:u[p0])!==!1,onChange:e=>{let t=e.target.checked;s.setValue({...u,[p0]:t,[p1]:t})},children:d("Allow multiple selection")})})]}):null};function p3(e){let{source:t=[],onChange:l}=e,r=(0,O.useFlowEngine)(),n=(0,O.useFlowContext)(),i=e.valueMap||{},o=t.join("."),a=(0,A.useRef)(),s=(0,A.useMemo)(()=>e=>i&&i[e]?i[e]:e,[i]),d=(0,A.useMemo)(()=>{if(!t.length)return;let e=r.dataSourceManager.getCollectionField(o),l=O.FilterableItemModel.getDefaultBindingByField(n.model.context,e);if(l)return s(l.modelName)},[o,s]);return(0,A.useEffect)(()=>{if(!d){a.current=o;return}let t=void 0!==a.current&&a.current!==o;a.current=o;let r=s(e.value);if(e.value&&e.value!==r&&r!==d){null==l||l(r);return}(!e.value||t)&&r!==d&&(null==l||l(d))},[d,l,e.value,o,s]),(0,D.jsx)(ol.Select,{allowClear:!0,...e,value:s(e.value??d)})}let p5={InputFieldModel:eE.II.string,NumberFieldModel:eE.II.number,DateTimeFilterFieldModel:eE.II.datetime,SelectFieldModel:e=>(null==e?void 0:e.mode)==="multiple"?eE.II.array:eE.II.enumType,RadioGroupFieldModel:eE.II.enumType,CheckboxGroupFieldModel:eE.II.array},p8=new Set(["$in","$notIn","$empty","$notEmpty","$includes","$notIncludes"]),p9={label:'{{t("is any of")}}',value:"$in",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},p7={label:'{{t("is none of")}}',value:"$notIn",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},he={input:eE.II.string,email:eE.II.string,phone:eE.II.string,uuid:eE.II.string,url:eE.II.string,nanoid:eE.II.string,textarea:eE.II.string,markdown:eE.II.bigField,vditor:eE.II.bigField,richText:eE.II.bigField,password:eE.II.string,color:eE.II.string,number:eE.II.number,integer:eE.II.number,id:eE.II.id,snowflakeId:eE.II.number,dateOnly:eE.II.datetime,datetime:eE.II.datetime,datetimeNoTz:eE.II.datetime,unixTimestamp:eE.II.datetime,time:eE.II.time,select:eE.II.enumType,multipleSelect:eE.II.array,radioGroup:eE.II.enumType,checkboxGroup:eE.II.array,checkbox:eE.II.boolean};function ht(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=p5[e];return l?"function"==typeof l?l(t)||[]:l||[]:[]}function hl(e){var t,l,r,n;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=arguments.length>2?arguments[2]:void 0;if(!Array.isArray(i)||0===i.length)return;let a=!!(null==e||null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,i[0])),s=a?i[0]:o||"main",d=(a?i.slice(1):i).join(".");if(d)return null==e||null==(n=e.dataSourceManager)||null==(r=n.getCollectionField)?void 0:r.call(n,`${s}.${d}`)}function hr(e){var t,l,r,n;let i;if(!e)return[];let o=null==(t=e.filterable)?void 0:t.operators;if(Array.isArray(o)&&o.length>0)return o;try{i=null==(n=e.getInterfaceOptions)||null==(r=n.call(e))||null==(l=r.filterable)?void 0:l.operators}catch(e){i=void 0}return Array.isArray(i)&&i.length>0?i:e.interface&&he[e.interface]?he[e.interface]:(null===eE.II||void 0===eE.II?void 0:eE.II[e.type])||[]}function hn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return"boolean"==typeof(null==e?void 0:e.multiple)?e.multiple:"boolean"!=typeof(null==e?void 0:e.allowMultiple)||e.allowMultiple}function hi(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Set;return e.filter(e=>!(!(null==e?void 0:e.value)||t.has(e.value))&&(t.add(e.value),!0))}function ho(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.some(e=>(null==e?void 0:e.value)==="$in"),l=e.some(e=>(null==e?void 0:e.value)==="$notIn"),r=e.filter(e=>p8.has(null==e?void 0:e.value)&&(null==e?void 0:e.value)!=="$in"&&(null==e?void 0:e.value)!=="$notIn"||(null==e?void 0:e.noValue)||(null==e?void 0:e.value)==="$exists"||(null==e?void 0:e.value)==="$notExists"),n=e.some(e=>(null==e?void 0:e.value)&&!e.noValue&&"$exists"!==e.value&&"$notExists"!==e.value),i=n||t,o=n||l,a=[];return i&&a.push(p9),o&&a.push(p7),hi([...a,...r])}function ha(e){var t,l,r,n,i;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],s=hl(e,a,null==o?void 0:o.recordSelectDataSourceKey),d=(null==s?void 0:s.dataSourceKey)||(null==a?void 0:a[0])||"main",u=(null==o?void 0:o.recordSelectDataSourceKey)||d,c=(null==o?void 0:o.recordSelectTargetCollection)||(null==s||null==(t=s.targetCollection)?void 0:t.name)||(null==s?void 0:s.target);if(!c)return;let p=null==e||null==(r=e.dataSourceManager)||null==(l=r.getCollection)?void 0:l.call(r,u,c);if(!p)return;let h=(null==o?void 0:o.recordSelectValueField)||(null==p?void 0:p.filterTargetKey)||(null==p||null==(n=p.getPrimaryKey)?void 0:n.call(p));if(h)return null==(i=p.getField)?void 0:i.call(p,h)}function hs(e){let{flowEngine:t,fieldModelProps:l={},source:r=[]}=e,n=ha(t,l,r),i=hr(n);return{operatorList:hn(l)?ho(i):i,meta:n}}function hd(e){let{flowEngine:t,fieldModel:l,fieldModelProps:r={},source:n=[]}=e;if("FilterFormCustomRecordSelectFieldModel"===l)return hs(e);let i=hl(t,n);if("SelectFieldModel"===l&&(null==r?void 0:r.mode)==="multiple"&&i){let e=hr(i);return{operatorList:dg(i)?ht(l,r):ho(e),meta:i}}let o=ht(l,r);return o.length>0?{operatorList:o,meta:{fieldModel:l}}:{operatorList:hr(i),meta:i}}function hu(e){let{operatorList:t,meta:l}=hd(e);return hi((t||[]).filter(e=>!(null==e?void 0:e.visible)||e.visible(l)))}function hc(e){var t,l;let{fieldModel:r,fieldModelProps:n={}}=e,i=hu(e);if("DateTimeFilterFieldModel"===r&&(null==n?void 0:n.isRange)){let e=i.find(e=>"$dateBetween"===e.value);if(e)return e.value}return(null==(t=i.find(e=>e.selected))?void 0:t.value)||(null==(l=i[0])?void 0:l.value)}function hp(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;return e.map(e=>({...e,label:t(e.label),value:e.value}))}let hh=(0,O.observer)(e=>{var t;let{fieldModel:l,source:r=[],fieldModelProps:n={},value:i,onChange:o,...a}=e,s=(0,rd.useField)(),d=(0,O.useFlowEngine)(),u=(0,O.useFlowContext)(),c=(null==s||null==(t=s.form)?void 0:t.values)||{},p=l||(null==c?void 0:c.fieldModel),h=r.length?r:(null==c?void 0:c.source)||[],f=(null==c?void 0:c.fieldModelProps)&&Object.keys(c.fieldModelProps).length>0?c.fieldModelProps:n,m=Array.isArray(h)?h.join("."):"",g=null==f?void 0:f.mode,v=null==f?void 0:f.allowMultiple,y=null==f?void 0:f.multiple,b=null==f?void 0:f.recordSelectDataSourceKey,x=null==f?void 0:f.recordSelectTargetCollection,w=null==f?void 0:f.recordSelectValueField,S=(0,A.useMemo)(()=>hu({flowEngine:d,fieldModel:p,source:h,fieldModelProps:f}),[d,p,m,g,v,y,b,x,w]),M=(0,A.useMemo)(()=>hp(S,e=>u.t(e)),[S,u]);return(0,A.useEffect)(()=>{if(!M.length){void 0!==i&&(null==o||o(void 0));return}if(M.some(e=>e.value===i))return;let e=hc({flowEngine:d,fieldModel:p,source:h,fieldModelProps:f});e!==i&&(null==o||o(e))},[d,p,o,M,m,i,g,v,y,b,x,w]),(0,D.jsx)(ol.Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:u.t("Please select"),...a,options:M,value:i,onChange:o,disabled:0===M.length})});class hf extends O.FlowModel{static defineChildren(e){let t=e.engine.filterModelClassByParent("CommonItemModel"),l=e.engine.filterModelClassByParent("FilterFormCustomItemModel"),r=t=>Array.from(t.entries()).map(t=>{var l,r;let[n,i]=t,o={key:n,label:e.t(i.meta.label),sort:i.meta.sort??999,searchable:!!(null==(l=i.meta)?void 0:l.searchable),searchPlaceholder:null==(r=i.meta)?void 0:r.searchPlaceholder};return o.createModelOptions={use:n},o});return B().sortBy([...r(t),...r(l)],"sort")}}(0,w._)(hf,"renderMode",O.ModelRenderMode.RenderFunction),hf.define({hide:!0,label:(0,O.tExpr)("Others")});var hm=l(60209);function hg(e){let t=(0,O.useFlowEngine)(),l=(0,A.useCallback)(()=>{let e=null==t?void 0:t.dataSourceManager;return e?e.getDataSources().map(e=>({value:e.key,label:e.displayName??e.key,isLeaf:!1,meta:{type:"dataSource",dataSourceKey:e.key}})):[]},[t]),[r,n]=(0,A.useState)(()=>l());(0,A.useEffect)(()=>{n(l())},[l]);let i=(0,A.useCallback)(e=>{var l;let r=e[e.length-1];if(!r||(null==(l=r.children)?void 0:l.length))return;let i=null==t?void 0:t.dataSourceManager;if(!i)return;let o=[];if(1===e.length){let e=r.value,t=i.getDataSource(e);o=((null==t?void 0:t.getCollections())??[]).map(t=>({value:t.name,label:t.title,isLeaf:!1,meta:{type:"collection",dataSourceKey:e,collectionName:t.name,fullPath:t.name}}))}else{let e=r.meta||{},t=e.dataSourceKey,l=i.getDataSource(t),a=null==l?void 0:l.collectionManager;if(!l||!a){r.isLeaf=!0,n(e=>[...e]);return}if("collection"===e.type){let l=a.getCollection(e.collectionName);o=((null==l?void 0:l.getFields())??[]).filter(e=>e.filterable).map(l=>{let r=`${e.fullPath}.${l.name}`,n=!!l.targetCollection;return{value:l.name,label:l.title,isLeaf:!n,meta:{type:"field",dataSourceKey:t,fullPath:r}}}).sort((e,t)=>t.isLeaf?0:-1)}else if("field"===e.type){let r=l.getCollectionField(e.fullPath),n=null==r?void 0:r.targetCollection;o=((null==n?void 0:n.getFields())??[]).filter(e=>e.filterable).map(l=>{let r=`${e.fullPath}.${l.name}`,n=!!l.targetCollection;return{value:l.name,label:l.title,isLeaf:!n,meta:{type:"field",dataSourceKey:t,fullPath:r}}}).sort((e,t)=>t.isLeaf?0:-1)}}o.length?r.children=o:r.isLeaf=!0,n(e=>[...e])},[t]);return(0,D.jsx)(hm.A,{allowClear:!0,...e,options:r,loadData:i})}var hv=l(32644);let hy=(e,t,l)=>{var r,n,i;if((null==l||null==(n=l.form)||null==(r=n.values)?void 0:r.fieldModel)==="FilterFormCustomRecordSelectFieldModel"&&(null==e||""===e))return(null==l||null==(i=l.t)?void 0:i.call(l,"The field value is required"))||"The field value is required"};class hb extends hf{buildRecordSelectCollectionField(e,t){var l,r,n,i,o,a;let s=(null==t?void 0:t.recordSelectDataSourceKey)||"main",d=null==t?void 0:t.recordSelectTargetCollection;if(!d)return;let u=null==(r=e.dataSourceManager)||null==(l=r.getDataSource)?void 0:l.call(r,s),c=null==u||null==(n=u.getCollection)?void 0:n.call(u,d);if(!u||!c)return;let p=(null==t?void 0:t.recordSelectTitleField)||(null==(i=c.titleCollectionField)?void 0:i.name)||(null==(a=c.titleCollectionField)||null==(o=a.options)?void 0:o.name),h=(null==t?void 0:t.recordSelectValueField)||c.filterTargetKey||"id",f=new O.CollectionField({name:(null==t?void 0:t.name)||"recordSelect",interface:"m2o",type:"belongsTo",target:d,dataSourceKey:s,uiSchema:{"x-component":"Select"},fieldNames:{label:p,value:h}});return f.setCollection(c),f}get defaultTargetUid(){return this.getStepParams("filterFormItemSettings","init").defaultTargetUid}onInit(e){super.onInit(e),this.debouncedDoFilter=(0,$.debounce)(this.doFilter.bind(this),300)}onUnmount(){super.onUnmount(),this.debouncedDoFilter.cancel()}doFilter(){this.context.filterManager.refreshTargetsByFilter(this.uid)}doReset(){this.context.filterManager.refreshTargetsByFilter(this.uid)}getFilterValue(){var e,t,l,r;let n=(null==(e=this.customFieldModelInstance)?void 0:e.getFilterValue)?this.customFieldModelInstance.getFilterValue():null==(t=this.context.form)?void 0:t.getFieldValue(this.props.name),i=this.getCurrentOperatorMeta(),o=(0,hv.S)(this.operator,n);return(null==i?void 0:i.noValue)&&!Array.isArray(null==i||null==(r=i.schema)||null==(l=r["x-component-props"])?void 0:l.options)||o}getCurrentOperatorMeta(){let e=this.getStepParams("formItemSettings","fieldSettings")||{},t=e.fieldModel,l=e.source||[],r=this.customFieldProps||e.fieldModelProps||{},n=hu({flowEngine:this.flowEngine,fieldModel:t,source:l,fieldModelProps:r}),i=this.operator||e.operator;return i&&n.find(e=>e.value===i)||null}getValueProps(e){return this.context.blockModel.autoTriggerFilter&&(this.autoTriggerInitialized?(0,$.isEqual)(this.lastAutoTriggerValue,e)||(this.lastAutoTriggerValue=(0,$.cloneDeep)(e),this.debouncedDoFilter()):(this.autoTriggerInitialized=!0,this.lastAutoTriggerValue=(0,$.cloneDeep)(e))),{value:e,onKeyDown:this.handleEnterPress.bind(this)}}render(){return this.customFieldModelInstance?(0,D.jsx)(O.FormItem,{...this.props,getValueProps:this.getValueProps.bind(this),children:(0,D.jsx)(O.FieldModelRenderer,{model:this.customFieldModelInstance})}):null}constructor(...e){super(...e),(0,w._)(this,"customFieldModelInstance",null),(0,w._)(this,"customFieldProps",null),(0,w._)(this,"operator",void 0),(0,w._)(this,"debouncedDoFilter",void 0),(0,w._)(this,"lastAutoTriggerValue",void 0),(0,w._)(this,"autoTriggerInitialized",!1),(0,w._)(this,"handleEnterPress",e=>{"Enter"===e.key&&(e.preventDefault(),this.doFilter())})}}hb.define({label:'{{t("Custom field")}}',sort:1}),hb.registerFlow({key:"formItemSettings",title:(0,O.tExpr)("Form item settings"),steps:{fieldSettings:{preset:!0,title:(0,O.tExpr)("Field settings"),uiSchema:{title:{type:"string",title:(0,O.tExpr)("Field title"),"x-component":"Input","x-decorator":"FormItem",required:!0},name:{type:"string",title:(0,O.tExpr)("Field name"),"x-component":"Input","x-decorator":"FormItem",required:!0,description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.")}}'},source:{type:"array",title:(0,O.tExpr)("Field source"),"x-decorator":"FormItem","x-component":hg,"x-component-props":{placeholder:(0,O.tExpr)("Select a source field to use metadata of the field")},description:(0,O.tExpr)("Select a source field to use metadata of the field")},fieldModel:{type:"string",title:(0,O.tExpr)("Field type"),"x-component":p3,"x-decorator":"FormItem",required:!0,enum:[{label:(0,O.tExpr)("Input"),value:"InputFieldModel"},{label:(0,O.tExpr)("Number"),value:"NumberFieldModel"},{label:(0,O.tExpr)("Date"),value:"DateTimeFilterFieldModel"},{label:(0,O.tExpr)("Select"),value:"SelectFieldModel"},{label:(0,O.tExpr)("Radio group"),value:"RadioGroupFieldModel"},{label:(0,O.tExpr)("Checkbox group"),value:"CheckboxGroupFieldModel"},{label:(0,O.tExpr)("Record select"),value:"FilterFormCustomRecordSelectFieldModel"}],"x-component-props":{placeholder:(0,O.tExpr)("Please select"),valueMap:{RecordSelectFieldModel:"FilterFormCustomRecordSelectFieldModel"}},"x-reactions":[{dependencies:["source"],fulfill:{state:{componentProps:{source:"{{$deps[0]}}",valueMap:{RecordSelectFieldModel:"FilterFormCustomRecordSelectFieldModel"}}}}}]},fieldModelProps:{type:"object",title:(0,O.tExpr)("Component properties"),"x-component":p6,properties:{recordSelectTargetCollection:{type:"string","x-validator":hy},recordSelectTitleField:{type:"string","x-validator":hy},recordSelectValueField:{type:"string","x-validator":hy}},"x-reactions":[{dependencies:["fieldModel","source"],fulfill:{state:{componentProps:{fieldModel:"{{$deps[0]}}",source:"{{$deps[1]}}"}}}}]},operator:{type:"string",title:(0,O.tExpr)("Operator"),"x-component":hh,"x-decorator":"FormItem",required:!0,"x-reactions":[{dependencies:["fieldModel","source","fieldModelProps"],fulfill:{state:{componentProps:{fieldModel:"{{$deps[0]}}",source:"{{$deps[1]}}",fieldModelProps:"{{$deps[2] || {}}}"}}}}]}},defaultParams:e=>({name:`f_${(0,ea.uid)().slice(0,4)}`}),handler(e,t){var l,r;let n,{fieldModel:i,fieldModelProps:o={},title:a,name:s,source:d=[],operator:u}=t;e.model.setProps({label:a,name:s});let c=o;if("FilterFormCustomRecordSelectFieldModel"===i){let t=(null==o?void 0:o.allowMultiple)===void 0||!!(null==o?void 0:o.allowMultiple),r=(null==o?void 0:o.multiple)===void 0?t:!!(null==o?void 0:o.multiple);if(c={...o,allowMultiple:t,multiple:r,valueMode:(null==o?void 0:o.valueMode)||"value"},n=e.model.buildRecordSelectCollectionField(e,{...c,name:s})){let e=(null==o?void 0:o.recordSelectTitleField)||n.targetCollectionTitleFieldName,t=(null==o?void 0:o.recordSelectValueField)||(null==(l=n.targetCollection)?void 0:l.filterTargetKey)||"id";e&&t&&(c={...c,fieldNames:{label:e,value:t}})}}if(e.model.customFieldModelInstance?e.model.customFieldModelInstance.setProps({allowClear:!0,...c}):e.model.customFieldModelInstance=e.model.flowEngine.createModel({use:i,props:{allowClear:!0,...c}}),"FilterFormCustomRecordSelectFieldModel"===i){let t=(null==c?void 0:c.recordSelectTitleField)||(null==c||null==(r=c.fieldNames)?void 0:r.label);t&&e.model.customFieldModelInstance.setStepParams("selectSettings","fieldNames",{label:t})}n&&e.model.customFieldModelInstance.context.defineProperty("collectionField",{value:n});let p=!!hu({flowEngine:e.model.flowEngine,fieldModel:i,source:d,fieldModelProps:c}).find(e=>e.value===u);e.model.operator=(p?u:void 0)||hc({flowEngine:e.model.flowEngine,fieldModel:i,source:d,fieldModelProps:c}),e.model.customFieldProps=c}},connectFields:{use:"connectFields"}}});let hx="__filter_form_value_options__",hw=(e,t)=>null!=e&&""!==e&&("number"==typeof e||"bigint"==typeof e||"string"==typeof e&&(!t||!/(int|big)/i.test(t)||/^-?\d+$/.test(e))),hS=(e,t)=>{if("number"==typeof e||"bigint"==typeof e||"string"==typeof e&&/(int|big)/i.test(t||"")&&/^-?\d+$/.test(e))return e},hA=(e,t,l,r,n,i)=>{let o=new Map;t.forEach(e=>{if(!e||"object"!=typeof e)return;let t=null==e?void 0:e[r],n=null==e?void 0:e[l];null!=t&&null!=n&&o.set(t,n)});let a=e=>{if(null==e)return;if("object"==typeof e){let t=null==e?void 0:e[l];if(null!=t)return t;let n=(null==e?void 0:e[r])??(null==e?void 0:e.value);if(r===l)return n;let a=o.get(n);return null!=a?a:hS(n,i)}if(r===l)return e;let t=o.get(e);return null!=t?t:hS(e,i)};return(n&&Array.isArray(e)?e:[e]).map(e=>a(e)).filter(e=>hw(e,i))},hM=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0,r=new Map;return[...e,...t].forEach(e=>{let t=null==e?void 0:e[l];null!=t&&r.set(t,e)}),Array.from(r.values())},hF=(e,t)=>{var l,r;let n=null==e||null==(l=e.context)?void 0:l.collectionField,i=null==n?void 0:n.collection,o=null==i?void 0:i.dataSource,a=null==e||null==(r=e.context)?void 0:r.t,s=(null==n?void 0:n.name)||e.fieldPath,d=(0,A.useMemo)(()=>{if(!a||!o)return"";let e=`${a(o.displayName||o.key)} > `,t=i?`${a(i.title)||i.name||i.tableName} > `:"";return`${e}${t}${s}`},[a,o,i,s]);return!t&&a&&o?a('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:d,actionName:"Update"}).replaceAll(">",">"):null},hk=e=>{var t;let{fieldNames:l={label:"label",value:"value"},value:r,multiple:n,allowMultiple:i,options:o,quickCreate:a,onChange:s,allowCreate:d=!0,allowEdit:u=!0,valueMode:c="record",...p}=e,h=!!(n&&i),f=pm(o,r,h),m=(0,O.useFlowModel)(),g=!!m.context.flowSettingsEnabled,{t:v}=(0,eG.B)(),y=e=>{let{searchText:t}=e;return(0,D.jsxs)("div",{onClick:()=>p.onDropdownAddClick(t),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,D.jsx)(tD.A,{}),(0,D.jsx)("span",{style:{paddingLeft:5},children:v("Add")+` “${t}” `})]})},b=hF(m,u);return(0,D.jsxs)(dD.A.Compact,{style:{width:"100%"},children:[(0,D.jsx)(rj.A,{style:{width:"100%"},...p,allowClear:!0,showSearch:!0,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,D.jsxs)(tz.A,{title:(0,D.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,D.jsx)(c7.A,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]}),filterOption:!1,labelInValue:!0,onCompositionEnd:e=>p.onCompositionEnd(e,!1),fieldNames:l,options:f,value:pf(r,l,h,c,f),mode:h?"multiple":void 0,onChange:(e,t)=>{"value"===c?Array.isArray(t)?s(t.map(e=>(null==e?void 0:e[l.value])??(null==e?void 0:e.value)).filter(e=>void 0!==e)):s((null==t?void 0:t[l.value])??(null==t?void 0:t.value)):s(t)},optionRender:e=>{let{data:t}=e;return(0,D.jsx)(ph,{option:t,fieldNames:l})},popupMatchSelectWidth:!0,labelRender:e=>(0,D.jsx)("div",{className:(0,er.css)`
|
|
530
530
|
div {
|
|
531
531
|
white-space: nowrap !important;
|
|
532
532
|
overflow: hidden;
|
|
@@ -931,7 +931,7 @@ ctx.render(<JsItem />);
|
|
|
931
931
|
overflow-y: auto;
|
|
932
932
|
padding: 10px;
|
|
933
933
|
}
|
|
934
|
-
`,color:"#fff"}},style:{...n||{},whiteSpace:"wrap"===l?"normal":"nowrap",width:r||"auto"}};if(!o)return(0,D.jsx)(nD.A.Text,{...a,children:this.renderInDisplayStyle(e)});{let t=(0,$.castArray)(e).flatMap((t,l)=>{let r=this.renderInDisplayStyle(null==t?void 0:t[o],t,Array.isArray(e)),n=A.isValidElement(r)?A.cloneElement(r,{key:`item-${l}`}):r;return 0===l?[n]:[(0,D.jsx)("span",{children:", "},`sep-${l}`),n]});return(0,D.jsx)(nD.A.Text,{...a,children:t})}}}b4.registerFlow({key:"displayFieldSettings",title:(0,O.tExpr)("Display Field settings"),sort:200,steps:{overflowMode:{use:"overflowMode"},clickToOpen:{title:(0,O.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))||b2(e)}},hideInSettings:e=>e.disableFieldClickToOpen,async afterParamsSave(e,t){await vN(e,t)},handler(e,t){v_(e,t)}}}}),b4.registerFlow(ev);let b6=A.memo(e=>{let t=(0,O.useFlowEngine)(),l=e=>{let{active:l,over:r}=e;l.id&&(null==r?void 0:r.id)&&l.id!==r.id&&t.moveModel(l.id,r.id)};return(0,D.jsx)(O.DndProvider,{onDragEnd:l,children:(0,D.jsx)("thead",{...e})})}),b3=(0,O.observer)(e=>{let{className:t,title:l,editable:r,width:n,record:i,recordIndex:o,dataIndex:a,children:s,model:d,...u}=e;return(0,D.jsx)("td",{className:mh()(t),...u,children:(0,D.jsxs)("div",{style:{width:n},children:[" ",s]})})}),b5=e=>{let{model:t}=e;return(0,D.jsx)(O.AddSubModelButton,{model:t,subModelKey:"columns",subModelBaseClasses:["TableColumnModel","TableAssociationFieldGroupModel"],keepDropdownOpen:!0,children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(rI.A,{}),children:t.translate("Fields")})})},b8=e=>{let{pageSize:t,value:l,size:r,collection:n,baseColumns:i,enableIndexColumn:o=!0,model:a}=e,
|
|
934
|
+
`,color:"#fff"}},style:{...n||{},whiteSpace:"wrap"===l?"normal":"nowrap",width:r||"auto"}};if(!o)return(0,D.jsx)(nD.A.Text,{...a,children:this.renderInDisplayStyle(e)});{let t=(0,$.castArray)(e).flatMap((t,l)=>{let r=this.renderInDisplayStyle(null==t?void 0:t[o],t,Array.isArray(e)),n=A.isValidElement(r)?A.cloneElement(r,{key:`item-${l}`}):r;return 0===l?[n]:[(0,D.jsx)("span",{children:", "},`sep-${l}`),n]});return(0,D.jsx)(nD.A.Text,{...a,children:t})}}}b4.registerFlow({key:"displayFieldSettings",title:(0,O.tExpr)("Display Field settings"),sort:200,steps:{overflowMode:{use:"overflowMode"},clickToOpen:{title:(0,O.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))||b2(e)}},hideInSettings:e=>e.disableFieldClickToOpen,async afterParamsSave(e,t){await vN(e,t)},handler(e,t){v_(e,t)}}}}),b4.registerFlow(ev);let b6=A.memo(e=>{let t=(0,O.useFlowEngine)(),l=e=>{let{active:l,over:r}=e;l.id&&(null==r?void 0:r.id)&&l.id!==r.id&&t.moveModel(l.id,r.id)};return(0,D.jsx)(O.DndProvider,{onDragEnd:l,children:(0,D.jsx)("thead",{...e})})}),b3=(0,O.observer)(e=>{let{className:t,title:l,editable:r,width:n,record:i,recordIndex:o,dataIndex:a,children:s,model:d,...u}=e;return(0,D.jsx)("td",{className:mh()(t),...u,children:(0,D.jsxs)("div",{style:{width:n},children:[" ",s]})})}),b5=e=>{let{model:t}=e;return(0,D.jsx)(O.AddSubModelButton,{model:t,subModelKey:"columns",subModelBaseClasses:["TableColumnModel","TableAssociationFieldGroupModel"],keepDropdownOpen:!0,children:(0,D.jsx)(O.FlowSettingsButton,{icon:(0,D.jsx)(rI.A,{}),children:t.translate("Fields")})})},b8=e=>{let{pageSize:t,value:l,size:r,collection:n,baseColumns:i,enableIndexColumn:o=!0,model:a}=e,s=a.parent instanceof me,[d,u]=(0,A.useState)(1),[c,p]=(0,A.useState)(t),[h,f]=(0,A.useState)(),{t:m}=(0,eG.B)(),g=(0,A.useMemo)(()=>!s||Array.isArray(l)?l:l&&Array.isArray(l.rows)?l.rows:l&&"object"==typeof l?[l]:[],[s,l]),v=(0,A.useMemo)(()=>s&&h?(0,$.orderBy)(g,[e=>(0,$.get)(e,h.field)],[h.order]):g,[s,h,g]);(0,A.useEffect)(()=>{s&&u(1)},[s,l]),(0,A.useEffect)(()=>{p(t)},[t]);let y=(0,A.useMemo)(()=>({current:d,pageSize:c,total:null==g?void 0:g.length,onChange:(e,t)=>{u(e),p(t)},showSizeChanger:!0,showTotal:e=>m("Total {{count}} items",{count:e})}),[d,c,g,m]),b=()=>{let e=mv([o&&{key:"__index__",width:48,align:"center",fixed:"left",render:(e,t,l)=>(d-1)*c+l+1},...i.concat({key:"empty"})].filter(Boolean));return a.context.flowSettingsEnabled&&e.push({key:"addColumn",fixed:"right",width:100,title:(0,D.jsx)(b5,{model:a})}),e},x=(0,A.useCallback)(async(e,t,l,r)=>{let n=Array.isArray(l)?l[0]:l;if(s){if("sort"!==r.action)return;let e=null==n?void 0:n.column,t=(null==e?void 0:e.sortField)||(null==n?void 0:n.field),l=Array.isArray(t)?t.join("."):String(t??""),i=`${a.context.fieldPath}.`,o=l.startsWith(i)?l.slice(i.length):l;f((null==n?void 0:n.order)&&o?{field:o,order:"ascend"===n.order?"asc":"desc"}:void 0),u(1);return}if(!(0,$.isEmpty)(n)){let e=a.context.blockModel.resource,t=a.props.globalSort,l=a.context.collectionField.name,r=n.order?"ascend"===n.order?[n.field]:[`-${n.field}`]:t,i=r?`${l}(sort=${r})`:l,o=e.getAppends().map(e=>RegExp(`^${l}\\(sort=[^)]+\\)$`).test(e)||e===l?i:e);n&&e.setAppends(o),await e.refresh()}},[s,a]);return(0,D.jsx)(mX.A,{tableLayout:"fixed",size:r,rowKey:n.filterTargetKey,scroll:{x:"max-content"},dataSource:v,columns:b(),pagination:y,onChange:x,className:(0,er.css)`
|
|
935
935
|
.ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content {
|
|
936
936
|
display: inline;
|
|
937
937
|
}
|
|
@@ -941,7 +941,7 @@ ctx.render(<JsItem />);
|
|
|
941
941
|
.ant-table-column-sorters .ant-table-column-title {
|
|
942
942
|
overflow: visible;
|
|
943
943
|
}
|
|
944
|
-
`,components:{header:{wrapper:b6},body:{cell:b3}}})};class b9 extends st.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,D.jsx)(b8,{...this.props,collection:this.collection,baseColumns:this.getBaseColumns(),model:this})}constructor(...e){super(...e),(0,w._)(this,"disableTitleField",!0),(0,w._)(this,"defaultOverflowMode","ellipsis")}}b9.registerFlow({key:"TableAssociation",title:(0,O.tExpr)("Association table settings"),steps:{init:{async handler(e){await e.model.applySubModelsBeforeRenderFlows("columns")}},pageSize:{title:(0,O.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})}}}}),b9.define({label:(0,O.tExpr)("Sub-table")}),cT.bindModelToInterface("DisplaySubTableFieldModel",["m2m","o2m","mbm"]);class b7 extends st.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,D.jsx)(vx,{...this.props})}constructor(...e){super(...e),(0,w._)(this,"disableTitleField",!0),(0,w._)(this,"subModelBaseClasses",{action:"RecordActionGroupModel",field:["DetailsItemModel"]})}}b7.define({label:(0,O.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubItemFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),cT.bindModelToInterface("DisplaySubItemFieldModel",["m2o","o2o","oho","obo","updatedBy","createdBy"]);let xe=e=>(0,$.castArray)(e).filter(e=>null!=e&&""!==e).map(e=>String(e)),xt=e=>{let{parentFieldIndex:t,index:l,blockPage:r}=e,n=t.length>0?t.join("|"):"root";return`row_${n}_${l}_${r}`},xl=e=>{var t;let{name:l,value:r=[]}=e,n=(0,O.useFlowModel)(),i=n.subModels.grid,o=xe(n.context.fieldIndex),a=n.context.record,s=n.context.collectionField.name,d=n.context.flowSettingsEnabled&&0===r.length?[{}]:r,u=n.context.blockModel.resource,c=(null==u||null==(t=u.getPage)?void 0:t.call(u))||0;return d.length>0&&(0,D.jsx)(n_.A,{bordered:!0,style:{position:"relative"},className:(0,er.css)`
|
|
944
|
+
`,components:{header:{wrapper:b6},body:{cell:b3}}})};class b9 extends st.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,D.jsx)(b8,{...this.props,collection:this.collection,baseColumns:this.getBaseColumns(),model:this})}constructor(...e){super(...e),(0,w._)(this,"disableTitleField",!0),(0,w._)(this,"defaultOverflowMode","ellipsis")}}b9.registerFlow({key:"TableAssociation",title:(0,O.tExpr)("Association table settings"),steps:{init:{async handler(e){await e.model.applySubModelsBeforeRenderFlows("columns")}},pageSize:{title:(0,O.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})}}}}),b9.define({label:(0,O.tExpr)("Sub-table")}),cT.bindModelToInterface("DisplaySubTableFieldModel",["m2m","o2m","mbm"]),me.bindModelToInterface("DisplaySubTableFieldModel",["m2m","o2m","mbm"]);class b7 extends st.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,D.jsx)(vx,{...this.props})}constructor(...e){super(...e),(0,w._)(this,"disableTitleField",!0),(0,w._)(this,"subModelBaseClasses",{action:"RecordActionGroupModel",field:["DetailsItemModel"]})}}b7.define({label:(0,O.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubItemFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),cT.bindModelToInterface("DisplaySubItemFieldModel",["m2o","o2o","oho","obo","updatedBy","createdBy"]);let xe=e=>(0,$.castArray)(e).filter(e=>null!=e&&""!==e).map(e=>String(e)),xt=e=>{let{parentFieldIndex:t,index:l,blockPage:r}=e,n=t.length>0?t.join("|"):"root";return`row_${n}_${l}_${r}`},xl=e=>{var t;let{name:l,value:r=[]}=e,n=(0,O.useFlowModel)(),i=n.subModels.grid,o=xe(n.context.fieldIndex),a=n.context.record,s=n.context.collectionField.name,d=n.context.flowSettingsEnabled&&0===r.length?[{}]:r,u=n.context.blockModel.resource,c=(null==u||null==(t=u.getPage)?void 0:t.call(u))||0;return d.length>0&&(0,D.jsx)(n_.A,{bordered:!0,style:{position:"relative"},className:(0,er.css)`
|
|
945
945
|
> .ant-card-body > .ant-divider:last-child {
|
|
946
946
|
display: none;
|
|
947
947
|
}
|
|
@@ -1354,7 +1354,7 @@ ${n}`,c)}}let r=R(e.issues.filter(e=>"runtime"===e.type)),n=r?`Key runtime issue
|
|
|
1354
1354
|
&:hover {
|
|
1355
1355
|
background-color: ${g.colorFillSecondary};
|
|
1356
1356
|
}
|
|
1357
|
-
`;return(0,r.jsxs)("div",{style:{maxHeight:300,overflowY:"auto"},children:[e.map(e=>(0,r.jsx)("div",{role:"option",onClick:()=>x(e.value),className:l,children:m(e.label)},e.value)),(0,r.jsx)(o.A,{style:{margin:"4px 0"}}),t.map(e=>(0,r.jsx)("div",{role:"option",className:l,onClick:()=>x(e.value),title:m(e.label),children:m(e.label)},e.value))]})};return(0,r.jsxs)(a.A.Compact,{style:{...h.style,width:"100%"},children:[(0,r.jsx)(s.A,{options:b,open:v,onDropdownVisibleChange:y,...h,allowClear:!1,style:{width:"100%",minWidth:100,maxWidth:["past","next","exact",void 0].includes(null==t?void 0:t.type)?100:null},value:(null==t?void 0:t.type)||"exact",onChange:x,dropdownRender:w}),["past","next"].includes(null==t?void 0:t.type)&&[(0,r.jsx)(d.A,{style:{flex:1},value:null==t?void 0:t.number,onChange:e=>{l({...t,number:e})}},"number"),(0,r.jsx)(s.A,{value:null==t?void 0:t.unit,style:{minWidth:130,maxWidth:140},onChange:e=>{l({...t,unit:e})},options:[{value:"day",label:m("Day")},{value:"week",label:m("Calendar week")},{value:"month",label:m("Calendar Month")},{value:"year",label:m("Calendar Year")}],popupMatchSelectWidth:!0},"unit")],((null==t?void 0:t.type)==="exact"||!(null==t?void 0:t.type))&&(0,r.jsx)(M,{...h,value:t,onChange:l})]})}},32644(e,t,l){l.d(t,{S:()=>o}),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182);let r=new Set(["$match","$notMatch","$anyOf","$noneOf","$childIn","$childNotIn","$in","$notIn"]);function n(e){return!!e&&"object"==typeof e&&!Array.isArray(e)&&"type"in e}function i(e){return null==e||"string"==typeof e&&""===e.trim()}function o(e,t){if(!e)return t;if("$dateBetween"===e){if(null==t||n(t))return t;if(Array.isArray(t)){if(0===t.length)return t;let e=t[0],l=t.length>1?t[1]:void 0,r=i(e),n=i(l);return(1!==t.length||r)&&(r||!n)?r&&!n?[l,l]:t:[e,e]}return[t,t]}return r.has(e)?null==t||Array.isArray(t)?t:"string"==typeof t&&""===t.trim()?[]:[t]:t}},71616(e,t,l){l.d(t,{EditFormModel:()=>p});var r=l(50467);l(14324),l(89773);var n=l(74848),i=l(11869),o=l(58929),a=l(84626),s=l(40098);l(96540);var d=l(77471),u=l(96491),c=l(84759);class p extends u.F4{createResource(e,t){var l,r;if((null==(l=this.association)?void 0:l.type)==="hasOne"||(null==(r=this.association)?void 0:r.type)==="belongsTo"||Object.keys(t).includes("filterByTk")){let e=this.context.createResource(i.SingleRecordResource);return e.isNewRecord=!1,e}let n=this.context.createResource(i.MultiRecordResource);return n.setPageSize(1),n}isMultiRecordResource(){return this.resource instanceof i.MultiRecordResource}getCurrentRecord(){let e=this.resource.getData();return Array.isArray(e)?e[0]:e}hasAvailableData(){return this.resource.hasData()}getAclActionName(){return"update"}async submitHandler(e,t,r){let{submitHandler:n}=await Promise.resolve().then(l.bind(l,53831));await n(e,t,r)}async submit(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,{submitHandler:r}=await Promise.resolve().then(l.bind(l,53831));await r(this.context,e,t)}renderComponent(){var e,t;let{colon:l,labelAlign:r,labelWidth:s,labelWrap:d,layout:c}=this.props,p=!!this.context.flowSettingsEnabled,h=this.hasAvailableData(),f=!p&&!h,{heightMode:m,height:g}=this.decoratorProps,v=this.resource.loading||h?this.isMultiRecordResource()&&this.resource.getMeta("count")>1?(0,n.jsx)("div",{style:{textAlign:"center",marginTop:16},children:(0,n.jsx)(o.A,{simple:!0,pageSize:1,showSizeChanger:!1,defaultCurrent:this.resource.getPage(),total:this.resource.getTotalPage(),onChange:this.handlePageChange,style:{display:"inline-block"}})}):null:(0,n.jsx)("div",{style:{textAlign:"center",marginTop:16,color:null==(t=this.context)||null==(e=t.themeToken)?void 0:e.colorTextDescription},children:this.translate("No available data currently")});return(0,n.jsx)(u.JU,{model:this,gridModel:this.subModels.grid,layoutProps:{colon:l,labelAlign:r,labelWidth:s,labelWrap:d,layout:c},heightMode:m,height:g,grid:(0,n.jsx)(i.FlowModelRenderer,{model:this.subModels.grid,showFlowSettings:!1}),actions:(0,n.jsx)("div",{style:f?{pointerEvents:"none",opacity:.45}:void 0,children:(0,n.jsx)(i.DndProvider,{children:(0,n.jsxs)(a.A,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||p)return(0,n.jsx)(i.Droppable,{model:e,children:(0,n.jsx)(i.MemoFlowModelRenderer,{model:e,showFlowSettings:!!this.context.flowSettingsEnabled&&this.actionFlowSettings,extraToolbarItems:this.actionExtraToolbarItems},e.uid)},e.uid)}),this.renderConfigureActions()]})})}),footer:v})}constructor(...e){super(...e),(0,r._)(this,"actionFlowSettings",{showBackground:!1,showBorder:!1,toolbarPosition:"above"}),(0,r._)(this,"actionExtraToolbarItems",[{key:"drag-handler",component:i.DragHandler,sort:1}]),(0,r._)(this,"handlePageChange",async e=>{if(this.resource instanceof i.MultiRecordResource){let t=this.resource;t.setPage(e),t.loading=!0,await t.refresh(),await (0,c.Xi)(this,"paginationChange")}})}}(0,r._)(p,"scene",d.P.oam),(0,r._)(p,"blockCapabilityActionName","update"),p.registerFlow({key:"formSettings",title:(0,i.tExpr)("Edit form settings"),steps:{init:{async handler(e){if(!e.resource)throw Error("Resource is not initialized");e.resource.on("refresh",async()=>{var t,l,r,n,i,o,a,d;let u=e.resource.getMeta("currentFilterByTk"),c={...e.model.getCurrentRecord()};if(!c)return;let p=null==(t=e.association)?void 0:t.targetKey;if(p&&(null==(l=e.association)?void 0:l.interface)!=="m2m"?e.resource.setMeta({currentFilterByTk:null==c?void 0:c[p]}):e.resource.setMeta({currentFilterByTk:e.collection.getFilterByTK(c)}),!e.form)return;let h=e.resource.getMeta("currentFilterByTk"),f=!(0,s.isEqual)(u,h),m=null==(r=(n=e.model).getUserModifiedFields)?void 0:r.call(n),g=!!(null==m?void 0:m.size),v=()=>{if(!(null==m?void 0:m.size))return;let t=e=>null!==e&&"object"==typeof e;for(let l of Array.from(m)){let r=e.form.getFieldValue(l),n=null==c?void 0:c[l];(Object.is(r,n)||t(r)&&t(n)&&(0,s.isEqual)(r,n))&&m.delete(l)}};if(!f&&g){let t={...c};for(let l of m)t[l]=e.form.getFieldValue(l);e.form.setFieldsValue(t),v();return}f&&(null==(i=(o=e.model).resetUserModifiedFields)||i.call(o),null==(a=(d=e.model).resetRuntimeUserEditedState)||a.call(d)),e.form.setFieldsValue(c),v()})}},dataScope:{use:"dataScope"},refresh:{async handler(e){if(!e.resource)throw Error("Resource is not initialized")}}}}),p.registerFlow({key:"paginationChange",on:"paginationChange",steps:{blockLinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"blockLinkageRules",flowKey:"cardSettings",stepKey:"linkageRules"}},fieldsLinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"fieldLinkageRules",flowKey:"eventSettings",stepKey:"linkageRules"}}}}),p.define({label:(0,i.tExpr)("Form (Edit)"),searchable:!0,searchPlaceholder:(0,i.tExpr)("Search"),createModelOptions:{use:"EditFormModel",subModels:{grid:{use:"FormGridModel"}}},sort:340})},96491(e,t,l){l.d(t,{JU:()=>U,s2:()=>q,F4:()=>L,mO:()=>W});var r=l(50467);l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(45336),l(91625),l(34678),l(89773),l(79936);var n=l(74848),i=l(49655),o=l(22803),a=l(11869),s=l(89013),d=l(40098),u=l.n(d),c=l(46629),p=l(96540),h=l(2117),f=l(25359),m=l(52175);l(5409),l(21947),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(69861),l(23446),l(38263),l(23089),l(82855),l(17106),l(36792);var g=l(95243),v=l(29676),y=l(47632);function b(e){let t,l,r,n=()=>{let e=t;e&&(l&&(e.setFieldValue=l),r&&(e.setFieldsValue=r),t=void 0,l=void 0,r=void 0)};return{patch:i=>{if(t===i)return;n();let o="function"==typeof(null==i?void 0:i.setFieldValue)?i.setFieldValue.bind(i):void 0,a="function"==typeof(null==i?void 0:i.setFieldsValue)?i.setFieldsValue.bind(i):void 0;t=i,l=o,r=a,o&&(i.setFieldValue=(t,l)=>{e.isSuppressed()?o(t,l):e.setFormValues(e.getCallerContext(),[{path:t,value:l}],{source:"system"}).catch(()=>void 0)}),a&&(i.setFieldsValue=t=>{e.isSuppressed()?a(t):e.setFormValues(e.getCallerContext(),t,{source:"system"}).catch(()=>void 0)})},restore:n}}var x=l(12197);l(14324);var w=l(87710),S=l(65421),A=l(13940),M=l(26866);let F=Symbol("SKIP_RULE_VALUE"),k=Symbol("UNRESOLVED_ASSOCIATION_IDENTITY"),C=1e3;function P(e){return"default"===e?"default":"override"===e?"override":"assign"}function j(e){return"default"===e?"default":"override"===e?"override":"system"}class E{getAssignRuleBlockId(e){return`form-assign:${e}:block`}removeAssignRuleBlockInstance(e){let t=this.getAssignRuleBlockId(e);this.rules.has(t)&&this.removeRule(t)}removeRowGridAssignRuleInstances(e){let t=`form-assign:${e}:`,l=this.getAssignRuleBlockId(e),r=[];for(let[e,o]of this.rules.entries()){var n,i;if(!e.startsWith(t)||e===l)continue;let a=null==o||null==(i=o.rule)||null==(n=i.getContext)?void 0:n.call(i),s=null==a?void 0:a.model;s&&this.isRowGridModel(s)&&r.push(e)}for(let e of r)this.removeRule(e)}hasAnyNonBlockAssignRuleInstance(e){let t=`form-assign:${e}:`,l=this.getAssignRuleBlockId(e);for(let e of this.rules.keys())if(e.startsWith(t)&&e!==l)return!0;return!1}ensureBlockAssignRuleInstancesForTargetPath(e){if(this.options.isDisposed()||!e||!this.shouldCreateBlockLevelAssignRule(e))return;let t=this.assignTemplatesByTargetPath.get(e)||[];if(t.length)for(let l of t){let t=(null==l?void 0:l.__key)?String(l.__key):"";if(!t||this.hasAnyNonBlockAssignRuleInstance(t))continue;let r=j(P(null==l?void 0:l.mode)),n=(null==l?void 0:l.enable)!==!1,i=this.getAssignRuleBlockId(t);if(this.rules.has(i))continue;let o={id:i,source:r,priority:10+(l.__order||0),debounceMs:0,getEnabled:()=>n&&!!e,getTarget:()=>e,getValue:()=>null==l?void 0:l.value,getCondition:()=>null==l?void 0:l.condition,getContext:()=>this.options.getBlockContext(),getContractModelUid:this.options.getAssignRulesModelUid};this.rules.set(i,{rule:o,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(i)}}getCollectionFromContext(e){var t,l;return(null==e?void 0:e.collection)??(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.collection)}getRootCollection(){let e=this.options.getBlockContext();return this.getCollectionFromContext(e)}shouldCreateBlockLevelAssignRule(e){let t=this.options.getBlockContext(),l=this.getCollectionFromContext(t);if(!(null==l?void 0:l.getField))return!0;let r=(0,x.EA)(e).filter(e=>"object"!=typeof e);if(r.length<=1)return!0;for(let e=0;e<r.length-1;e++){var n,i;let t=r[e];if("string"!=typeof t)continue;let o=null==l||null==(n=l.getField)?void 0:n.call(l,t);if(!(null==o||null==(i=o.isAssociationField)?void 0:i.call(o)))break;if((0,A.E4)(o)){if("number"!=typeof r[e+1])return!1;e+=1}if(!(null==(l=null==o?void 0:o.targetCollection)?void 0:l.getField))break}return!0}collectAssociationPrefixPaths(e,t){let l=[],r=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==r?void 0:r.getField))return l;let n=[];for(let e=0;e<t.length-1;e++){var i,o;let a=t[e];if("string"!=typeof a)break;let s=null==r||null==(i=r.getField)?void 0:i.call(r,a);if(!(null==s||null==(o=s.isAssociationField)?void 0:o.call(s)))break;if(n.push(a),(0,A.E4)(s)){let l=t[e+1];if("number"!=typeof l)break;n.push(l),e+=1}if(l.push([...n]),!(null==(r=null==s?void 0:s.targetCollection)?void 0:r.getField))break}return l}shouldSkipToManyAssociationWriteWithoutIndex(e,t){let l=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==l?void 0:l.getField))return!1;for(let e=0;e<t.length-1;e++){var r,n;let i=t[e];if("string"!=typeof i)continue;let o=null==l||null==(r=l.getField)?void 0:r.call(l,i);if(!(null==o||null==(n=o.isAssociationField)?void 0:n.call(o)))break;if((0,A.E4)(o)){if("number"!=typeof t[e+1])return!0;e+=1}if(!(null==(l=null==o?void 0:o.targetCollection)?void 0:l.getField))break}return!1}shouldSkipAssociationNestedWrite(e,t){let l=this.collectAssociationPrefixPaths(e,t);if(!l.length)return!1;for(let r of l){let l=this.options.getFormValueAtPath(r);if(null==l){let l=r.filter(e=>"string"==typeof e).join(".");if(l&&this.getUpdateAssociationForTargetPath(l)||this.isAssociationTargetKeyWrite(e,t,r))continue;return!0}if("object"!=typeof l)return!0}return!1}getAssociationTargetKeyFields(e){var t,l;let r=(null==e?void 0:e.targetKey)??(null==e||null==(t=e.targetCollection)?void 0:t.filterTargetKey)??(null==e||null==(l=e.targetCollection)?void 0:l.filterByTk)??"id";return Array.isArray(r)?r.filter(e=>"string"==typeof e&&!!e):"string"==typeof r&&r?[r]:["id"]}resolveAssociationFieldByPrefixPath(e,t){let l=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==l?void 0:l.getField))return null;let r=null;for(let e of t){var n,i;if("number"==typeof e)continue;if("string"!=typeof e||!e)break;let t=null==l||null==(n=l.getField)?void 0:n.call(l,e);if(!(null==t||null==(i=t.isAssociationField)?void 0:i.call(t))||(r=t,!(null==(l=null==t?void 0:t.targetCollection)?void 0:l.getField)))break}return r}isAssociationTargetKeyWrite(e,t,l){var r;if(!Array.isArray(t)||!Array.isArray(l)||t.length!==l.length+1)return!1;let n=t[l.length];if("string"!=typeof n||!n)return!1;let i=this.resolveAssociationFieldByPrefixPath(e,l);return!(!(null==i||null==(r=i.isAssociationField)?void 0:r.call(i))||(0,A.E4)(i))&&this.getAssociationTargetKeyFields(i).includes(n)}collectUpdateAssociationInitPatches(e,t){let l=this.collectAssociationPrefixPaths(e,t);if(!l.length)return[];let r=[];for(let n of l){let l=this.options.getFormValueAtPath(n);if(null==l){let l=n.filter(e=>"string"==typeof e).join(".");if(!l)return null;if(this.getUpdateAssociationForTargetPath(l)){r.push({path:[...n,"__is_new__"],value:!0});continue}if(this.isAssociationTargetKeyWrite(e,t,n)){r.push({path:[...n],value:{}});continue}return null}if("object"!=typeof l)return null}let n=new Map;for(let e of r){let t=(0,x.Qc)(e.path);n.has(t)||n.set(t,e)}return Array.from(n.values())}dispose(){for(let{state:e}of this.rules.values())e.depDisposers.forEach(e=>e());for(let e of(this.rules.clear(),this.pendingRuleIds.clear(),this.assignTemplatesByTargetPath.clear(),this.defaultRuleMasterDisposers.values()))e();for(let e of(this.defaultRuleMasterDisposers.clear(),this.defaultRuleIdsByMasterUid.clear(),this.ruleDebounceTimersById.values()))clearTimeout(e);this.ruleDebounceTimersById.clear(),this.ruleDebounceUntilById.clear()}enable(){this.rulesEnabled=!0,this.pendingRuleIds.size&&!this.runningRules&&this.flushRules()}syncAssignRules(e){if(this.options.isDisposed())return;let t=(Array.isArray(e)?e:[]).map((e,t)=>({...e,key:(null==e?void 0:e.key)?String(e.key):`idx:${t}`})),l="form-assign:";for(let e of Array.from(this.rules.keys()))e.startsWith(l)&&this.removeRule(e);this.assignTemplatesByTargetPath.clear(),this.formItemTargetPaths.clear(),this.updateAssociationByTargetPath.clear();let r=0;for(let e of t){let t=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!t)continue;let l=this.assignTemplatesByTargetPath.get(t)||[];r+=1,l.push({...e,__key:String(e.key),__order:r}),this.assignTemplatesByTargetPath.set(t,l)}let n=this.options.getEngine(),i=new Set;if(null==n?void 0:n.forEachModel){n.forEachModel(e=>{var t;if(!this.isModelInThisForm(e)||!(null==e||null==(t=e.subModels)?void 0:t.field))return;let l=this.getModelTargetPath(e);l&&this.formItemTargetPaths.add(l),this.cacheUpdateAssociationForModel(e)});let e=e=>{this.cacheUpdateAssociationForModel(e),this.tryRegisterAssignRuleInstancesForModel(e,i);let t=null==e?void 0:e.forks;t&&"function"==typeof t.forEach&&t.forEach(e=>{e&&(null==e||!e.disposed)&&this.tryRegisterAssignRuleInstancesForModel(e,i)})};n.forEachModel(t=>{e(t)})}for(let[e,t]of this.assignTemplatesByTargetPath.entries())if(!i.has(e)&&this.shouldCreateBlockLevelAssignRule(e))for(let r of t){let t=j(P(null==r?void 0:r.mode)),n=(null==r?void 0:r.enable)!==!1,i=`${l}${r.__key}:block`;this.rules.has(i)&&this.removeRule(i);let o={id:i,source:t,priority:10+(r.__order||0),debounceMs:0,getEnabled:()=>n&&!!e,getTarget:()=>e,getValue:()=>null==r?void 0:r.value,getCondition:()=>null==r?void 0:r.condition,getContext:()=>this.options.getBlockContext(),getContractModelUid:this.options.getAssignRulesModelUid};this.rules.set(i,{rule:o,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(i)}for(let e of Array.from(this.rules.keys()))e.startsWith("default:")&&this.scheduleRule(e)}onModelMounted(e){var t;if(this.isModelInThisForm(e)&&!(null==e?void 0:e.isFork)&&(null==e||null==(t=e.subModels)?void 0:t.field)){let t=this.getModelTargetPath(e);t&&this.formItemTargetPaths.add(t),this.cacheUpdateAssociationForModel(e)}this.tryRegisterDefaultRuleInstance(e),this.tryRegisterAssignRuleInstancesForModel(e)}onModelUnmounted(e){var t;if(this.tryUnregisterDefaultRuleInstance(e),this.tryUnregisterAssignRuleInstancesForModel(e),this.isModelInThisForm(e)&&(null==e||null==(t=e.subModels)?void 0:t.field)){let t=this.getModelTargetPath(e);if(t&&(this.ensureBlockAssignRuleInstancesForTargetPath(t),!(null==e?void 0:e.isFork))){this.updateAssociationByTargetPath.delete(t),this.formItemTargetPaths.delete(t);let e=`${t}.`;for(let t of this.assignTemplatesByTargetPath.keys())t.startsWith(e)&&this.ensureBlockAssignRuleInstancesForTargetPath(t);let l=this.options.getEngine();if(null==l?void 0:l.forEachModel){let e=e=>{this.tryRegisterAssignRuleInstancesForModel(e);let t=null==e?void 0:e.forks;t&&"function"==typeof t.forEach&&t.forEach(e=>{e&&(null==e||!e.disposed)&&this.tryRegisterAssignRuleInstancesForModel(e)})};l.forEachModel(t=>e(t))}}}}isModelInThisForm(e){var t;let l=null==e||null==(t=e.context)?void 0:t.blockModel;return!!l&&String(l.uid)===String(this.options.getBlockModelUid())}cacheUpdateAssociationForModel(e){var t,l;if(this.options.isDisposed()||!this.isModelInThisForm(e)||!e||"object"!=typeof e||(null==e?void 0:e.isFork)||!(null==e||null==(t=e.subModels)?void 0:t.field))return;let r=this.getModelTargetPath(e);if(!r)return;let n=null==e||null==(l=e.subModels)?void 0:l.field,i=!!(null==n?void 0:n.updateAssociation);!0!==this.updateAssociationByTargetPath.get(r)&&this.updateAssociationByTargetPath.set(r,i)}getUpdateAssociationForTargetPath(e){let t=String(e||"");if(!t)return!1;if(this.updateAssociationByTargetPath.has(t))return!!this.updateAssociationByTargetPath.get(t);let l=this.options.getEngine();return((null==l?void 0:l.forEachModel)&&l.forEachModel(e=>{this.cacheUpdateAssociationForModel(e)}),this.updateAssociationByTargetPath.has(t))?!!this.updateAssociationByTargetPath.get(t):(this.updateAssociationByTargetPath.set(t,!1),!1)}getDefaultRuleId(e){let t=(null==e?void 0:e.isFork)?String((null==e?void 0:e.forkId)??"fork"):"master",l=(null==e?void 0:e.uid)?String(e.uid):String(e);return`default:${l}:${t}`}getModelTargetNamePath(e){var t;let l=null==e||null==(t=e.context)?void 0:t.fieldPathArray;if(Array.isArray(l)&&l.length)return l;let r="function"==typeof(null==e?void 0:e.getProps)?e.getProps():null==e?void 0:e.props,n=null==r?void 0:r.name;return Array.isArray(n)?n:"string"==typeof n?n.includes(".")?n.split("."):[n]:null}getAssignTemplateTargetPathForModel(e){let t=this.getModelTargetPath(e);if(t)return t;let l=this.getModelTargetNamePath(e);if(!(null==l?void 0:l.length))return"";let r=l.filter(e=>"number"!=typeof e);return r.length?(0,x.Qc)(r):""}hasAssignTemplateForTargetPath(e){let t=String(e||"");return!!t&&this.assignTemplatesByTargetPath.has(t)}tryRegisterDefaultRuleInstance(e){if(this.options.isDisposed()||!this.isModelInThisForm(e)||!e||"object"!=typeof e)return;let t="function"==typeof e.getProps?e.getProps():e.props;if(!t||"object"!=typeof t)return;let l=this.getModelTargetNamePath(e);if(!l)return;let r=this.getDefaultRuleId(e);if(this.rules.has(r))return;let n=e.master||e,i=this.getAssignTemplateTargetPathForModel(e);this.bindMasterInitialValue(n,r);let o=()=>{var e;let t=(null==n||null==(e=n.getProps)?void 0:e.call(n))??(null==n?void 0:n.props);return null==t?void 0:t.initialValue},a=o(),s=!1,d=()=>{let e=o();if(s||u().isEqual(e,a)||(s=!0),!this.hasAssignTemplateForTargetPath(i)||s||void 0===a)return e},c=()=>{if(!this.hasAssignTemplateForTargetPath(i))try{var e,t,l,r;let i=null==n||null==(t=n.getStepParams)||null==(e=t.call(n,"editItemSettings","initialValue"))?void 0:e.defaultValue;if(void 0!==i)return i;let o=null==n||null==(r=n.getStepParams)||null==(l=r.call(n,"formItemSettings","initialValue"))?void 0:l.defaultValue;if(void 0!==o)return o}catch{}},p={id:r,source:"default",priority:void 0!==d()?C:0,debounceMs:0,getEnabled:()=>void 0!==d()||void 0!==c(),getTarget:()=>this.getModelTargetNamePath(e)||l,getValue:()=>{let e=d();return void 0!==e?e:c()},getContext:()=>null==e?void 0:e.context};this.rules.set(r,{rule:p,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(r)}getModelTargetPath(e){try{var t;let l=null==e||null==(t=e.getStepParams)?void 0:t.call(e,"fieldSettings","init"),r=null==l?void 0:l.fieldPath;if(r)return String(r)}catch{}let l=null==e?void 0:e.fieldPath;if(l)return String(l);let r=this.getModelTargetNamePath(e);return(null==r?void 0:r.length)&&r.filter(e=>"string"==typeof e).join(".")||null}getAssignRuleInstanceId(e,t){let l=(null==t?void 0:t.isFork)?String((null==t?void 0:t.forkId)??"fork"):"master",r=(null==t?void 0:t.uid)?String(t.uid):String(t);return`form-assign:${e}:${r}:${l}`}getDeepestFieldIndexKey(e){var t,l;let r=(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex),n=Array.isArray(r)?r:[];if(!n.length)return null;let i=n[n.length-1];if("string"!=typeof i)return null;let[o,a]=i.split(":");return!o||Number.isNaN(Number(a))?null:o}getDeepestToManyAssociationKey(e){let t=this.getRootCollection();if(!(null==t?void 0:t.getField))return null;let l=(0,x.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(l.length<2)return null;let r=t,n=null;for(let e=0;e<l.length-1;e++){var i,o;let t=l[e];if("string"!=typeof t)continue;let a=null==r||null==(i=r.getField)?void 0:i.call(r,t);if(!(null==a||null==(o=a.isAssociationField)?void 0:o.call(a)))break;let s=(0,A.E4)(a);if(s&&(n=t),s&&"number"==typeof l[e+1]&&(e+=1),!(null==(r=null==a?void 0:a.targetCollection)?void 0:r.getField))break}return n}isRowGridModel(e){var t,l;if(!e||"object"!=typeof e||(null==e||null==(t=e.subModels)?void 0:t.field)||!(null==e||null==(l=e.subModels)?void 0:l.items))return!1;let r=null==e?void 0:e.context;return!!this.getDeepestFieldIndexKey(r)}tryRegisterAssignRuleInstancesForModel(e,t){var l,r,n,i;if(this.options.isDisposed()||!this.isModelInThisForm(e))return;let o=(l,r)=>{if(r&&0!==r.length)for(let i of(null==t||t.add(l),r)){var n;this.removeAssignRuleBlockInstance(i.__key),(null==e||null==(n=e.subModels)?void 0:n.field)&&this.removeRowGridAssignRuleInstances(i.__key);let t=j(P(null==i?void 0:i.mode)),r=(null==i?void 0:i.enable)!==!1,o=this.getAssignRuleInstanceId(i.__key,e);this.rules.has(o)&&this.removeRule(o);let a={id:o,source:t,priority:10+(i.__order||0),debounceMs:0,getEnabled:()=>r&&!!l,getTarget:()=>l,getValue:()=>null==i?void 0:i.value,getCondition:()=>null==i?void 0:i.condition,getContext:()=>null==e?void 0:e.context,getContractModelUid:this.options.getAssignRulesModelUid};this.rules.set(o,{rule:a,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(o)}};if(this.isRowGridModel(e)){let t=null==e?void 0:e.context,l=this.getDeepestFieldIndexKey(t);if(l)for(let[e,t]of this.assignTemplatesByTargetPath.entries()){if(this.formItemTargetPaths.has(e))continue;let r=this.getDeepestToManyAssociationKey(e);r&&r===l&&o(e,t)}return}if(!(null==e||null==(l=e.subModels)?void 0:l.field))return;let a=this.getModelTargetPath(e);if(!a)return;let s=this.assignTemplatesByTargetPath.get(a)||[];s.length&&o(a,s);let d=null==e||null==(r=e.subModels)?void 0:r.field,u=null==d||null==(n=d.context)?void 0:n.collectionField,c=!!(null==u||null==(i=u.isAssociationField)?void 0:i.call(u)),p=(0,A.E4)(u);if(c&&!p){let e=`${a}.`;for(let[t,l]of this.assignTemplatesByTargetPath.entries())t&&"string"==typeof t&&t.startsWith(e)&&o(t,l)}}tryUnregisterAssignRuleInstancesForModel(e){var t,l,r,n;if(this.options.isDisposed()||!this.isModelInThisForm(e))return;let i=t=>{for(let l of t||[]){let t=this.getAssignRuleInstanceId(l.__key,e);this.rules.has(t)&&this.removeRule(t)}};if(this.isRowGridModel(e)){let t=null==e?void 0:e.context,l=this.getDeepestFieldIndexKey(t);if(!l)return;for(let[e,t]of this.assignTemplatesByTargetPath.entries()){if(this.formItemTargetPaths.has(e))continue;let r=this.getDeepestToManyAssociationKey(e);r&&r===l&&i(t)}return}if(!(null==e||null==(t=e.subModels)?void 0:t.field))return;let o=this.getModelTargetPath(e);if(!o)return;let a=this.assignTemplatesByTargetPath.get(o)||[];a.length&&i(a);let s=null==e||null==(l=e.subModels)?void 0:l.field,d=null==s||null==(r=s.context)?void 0:r.collectionField,u=!!(null==d||null==(n=d.isAssociationField)?void 0:n.call(d)),c=(0,A.E4)(d);if(u&&!c){let e=`${o}.`;for(let[t,l]of this.assignTemplatesByTargetPath.entries())t&&"string"==typeof t&&t.startsWith(e)&&i(l)}}tryUnregisterDefaultRuleInstance(e){if(this.options.isDisposed()||!this.isModelInThisForm(e))return;let t=this.getDefaultRuleId(e);this.rules.has(t)&&this.removeRule(t)}bindMasterInitialValue(e,t){let l=(null==e?void 0:e.uid)?String(e.uid):t,r=this.defaultRuleIdsByMasterUid.get(l)||new Set;if(r.add(t),this.defaultRuleIdsByMasterUid.set(l,r),this.defaultRuleMasterDisposers.has(l))return;let n=(0,g.reaction)(()=>{var t;let l=(null==e||null==(t=e.getProps)?void 0:t.call(e))??(null==e?void 0:e.props);return null==l?void 0:l.initialValue},(t,r)=>{var n;if(u().isEqual(t,r))return;let i=this.defaultRuleIdsByMasterUid.get(l);if(!i)return;let o=(null==e||null==(n=e.getProps)?void 0:n.call(e))??(null==e?void 0:e.props),a=void 0!==(null==o?void 0:o.initialValue)?C:0;for(let e of i){let t=this.rules.get(e);t&&(t.rule.priority=a),this.scheduleRule(e)}});this.defaultRuleMasterDisposers.set(l,n)}removeRule(e){let t=this.rules.get(e);if(!t)return;try{let e=t.rule.getContext(),l=t.rule.getTarget(),r=this.options.tryResolveNamePath(e,l);if(r){let e=(0,x.Qc)(r),l=this.options.observableBindings.get(e);l&&l.source===t.rule.source&&(l.dispose(),this.options.observableBindings.delete(e))}}catch{}t.state.depDisposers.forEach(e=>e()),this.rules.delete(e),this.pendingRuleIds.delete(e);let l=this.ruleDebounceTimersById.get(e);for(let[t,r]of(l&&clearTimeout(l),this.ruleDebounceTimersById.delete(e),this.ruleDebounceUntilById.delete(e),this.defaultRuleIdsByMasterUid.entries())){if(!r.has(e)||(r.delete(e),r.size>0))continue;this.defaultRuleIdsByMasterUid.delete(t);let l=this.defaultRuleMasterDisposers.get(t);l&&l(),this.defaultRuleMasterDisposers.delete(t)}}rescheduleAllRules(){if(!this.options.isDisposed()){for(let e of(this.lastRuleWriteByTargetKey.clear(),this.rules.values()))e.state.runSeq+=1;for(let e of this.rules.keys())this.scheduleRule(e)}}scheduleRule(e){if(this.options.isDisposed())return;let t=this.rules.get(e);if(!t)return;let{rule:l,state:r}=t;r.scheduledAtWriteSeq=this.options.getWriteSeq();let n=(null==l?void 0:l.debounceMs)??0;if(this.pendingRuleIds.add(e),n>0){let t=Date.now()+n;t>(this.ruleDebounceUntilById.get(e)||0)&&this.ruleDebounceUntilById.set(e,t);let l=this.ruleDebounceTimersById.get(e);l&&clearTimeout(l);let r=setTimeout(()=>{this.ruleDebounceTimersById.delete(e),!this.rulesEnabled||this.runningRules||this.pendingRuleIds.has(e)&&this.flushRules()},n);this.ruleDebounceTimersById.set(e,r)}else{let t=this.ruleDebounceTimersById.get(e);t&&clearTimeout(t),this.ruleDebounceTimersById.delete(e),this.ruleDebounceUntilById.delete(e)}!this.rulesEnabled||this.runningRules||this.flushRules()}async flushRules(){if(this.runningRules)return;this.runningRules=!0;let e=this.currentRuleTxId||(0,S.ao)();this.currentRuleTxId=e;try{for(;this.pendingRuleIds.size;){let e=Date.now(),t=[];for(let l of this.pendingRuleIds)(this.ruleDebounceUntilById.get(l)||0)>e||t.push(l);if(!t.length)break;for(let e of t)this.pendingRuleIds.delete(e),this.ruleDebounceUntilById.delete(e);for(let e of(t.sort((e,t)=>{var l,r;let n=null==(l=this.rules.get(e))?void 0:l.rule,i=null==(r=this.rules.get(t))?void 0:r.rule,o=(null==n?void 0:n.priority)??0,a=(null==i?void 0:i.priority)??0;return o!==a?o-a:e.localeCompare(t)}),t))await this.runRule(e)}}finally{this.runningRules=!1,this.currentRuleTxId=null,this.options.txWriteCounts.delete(e)}}async runRule(e){let t=this.rules.get(e);if(!t)return;let{rule:l,state:r}=t;r.runSeq+=1;let n=r.runSeq,i=r.scheduledAtWriteSeq,o=this.prepareRuleContext(l),{baseCtx:a,targetNamePath:s,targetKey:d,clearDeps:u,disposeBinding:c}=o;if(!this.shouldRunRule(l,s,d,a)||!s||!d){u(r),c();return}let p=s,h=d,{collector:f,evalCtx:m}=this.createRuleCollectorAndContext(l,o);if(l.getCondition&&!await this.evaluateRuleCondition(l,r,n,m,f))return;let g=await this.resolveRuleValue(l,r,n,m,f);if(g===F||n!==r.runSeq)return;this.commitRuleDeps(l,r,f);let v=this.getToManyAggregateSourceInfo(a,l.getValue()),y=this.normalizeUnresolvedToManyAggregateForScalarTarget(a,p,g,v);if(y.skip)return;let b=y.hasValue?y.value:g,w=this.normalizeResolvedValueForTarget(a,b),S=this.normalizeResolvedValueForAssociationTarget(a,p,w),A=this.normalizeAggregateArrayForScalarTarget(a,p,S,v);if(A===F||this.shouldSkipEmptyArrayAggregateForScalarTarget(a,p,A)||this.shouldSkipMultiValueAggregateForScalarTarget(a,p,A,v)||"default"===l.source&&!this.checkDefaultRuleCanApply(A,p,h,u,c,r))return;if("override"===l.source&&this.options.findUserEditedHit(h))return void c();if("default"===l.source){let e=this.lastRuleWriteByTargetKey.get(h);if((null==e?void 0:e.source)==="default"&&e.priority>l.priority&&e.writeSeq>=i)return void c()}if("system"===l.source||"override"===l.source){let e=this.options.lastWriteMetaByPathKey.get(h);if((null==e?void 0:e.source)==="linkage"&&e.writeSeq>=i)return void c()}if(this.shouldSkipAssociationNestedWrite(a,p)||this.shouldSkipToManyAssociationWriteWithoutIndex(a,p))return;let M=A;if(this.isAssociationTargetSemanticallyEqual(a,p,this.options.getFormValueAtPath(p),M))return;let k=this.collectUpdateAssociationInitPatches(a,p);if(null==k)return;if("system"===l.source||"default"===l.source||"override"===l.source){var C,P;let e=null==a?void 0:a.model,t=null==e||null==(C=e.subModels)?void 0:C.field;if(t){let l=this.getModelTargetNamePath(e);l&&(0,x.Qc)(l)===h&&(e.setProps({value:A}),null==(P=t.setProps)||P.call(t,{value:A}))}}let j=this.options.getWriteSeq(),E=[...k,{path:p,value:A}];await this.options.setFormValues(m,E,{source:l.source,txId:this.currentRuleTxId||void 0});let R=this.options.getWriteSeq();R!==j&&this.lastRuleWriteByTargetKey.set(h,{source:l.source,priority:l.priority,writeSeq:R})}isTzAwareTargetInterface(e){return"string"==typeof e&&["datetime","createdAt","updatedAt","unixTimestamp"].includes(e)}normalizeDateOnlyToStartOfDayIso(e){let t=String(e||"").trim();if(!t||!/^\d{4}-\d{2}-\d{2}$/.test(t))return e;let l=(0,w.dayjs)(t,"YYYY-MM-DD",!0);return l.isValid()?l.startOf("day").toISOString():e}normalizeResolvedValueForTarget(e,t){var l,r,n;let i=null==e||null==(n=e.model)||null==(r=n.context)||null==(l=r.collectionField)?void 0:l.interface;return this.isTzAwareTargetInterface(i)?"string"==typeof t?this.normalizeDateOnlyToStartOfDayIso(t):Array.isArray(t)?t.map(e=>"string"==typeof e?this.normalizeDateOnlyToStartOfDayIso(e):e):t:t}isPrimitiveAssociationTargetValue(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e}extractAssociationIdentity(e,t){let l=this.getAssociationTargetKeyFields(e),r=1===l.length?l[0]:null,n=e=>{if(null==e)return e;if(this.isPrimitiveAssociationTargetValue(e))return r?e:k;if(!e||"object"!=typeof e)return k;if(r)return void 0===e[r]?k:e[r];let t={};for(let r of l){if(void 0===e[r])return k;t[r]=e[r]}return t};if((0,A.E4)(e)){let e=Array.isArray(t)?t:[t],l=[];for(let t of e){if(null==t)continue;let e=n(t);if(e===k)return k;l.push(e)}return l}let i=Array.isArray(t)?t.find(e=>null!=e):t;return null==i?i:n(i)}isAssociationTargetSemanticallyEqual(e,t,l,r){var n;let i=this.resolveCollectionFieldByNamePath(e,t);if(!(null==i||null==(n=i.isAssociationField)?void 0:n.call(i)))return u().isEqual(l,r);let o=this.extractAssociationIdentity(i,l),a=this.extractAssociationIdentity(i,r);return o===k||a===k?u().isEqual(l,r):u().isEqual(o,a)}resolveCollectionFieldByNamePath(e,t){if(!Array.isArray(t)||!t.length)return null;let l=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==l?void 0:l.getField))return null;for(let e=0;e<t.length;e++){var r,n;let i=t[e];if("string"!=typeof i||!i)break;let o=null==l||null==(r=l.getField)?void 0:r.call(l,i);if(!o)break;if(e===t.length-1)return o;if(!(null==o||null==(n=o.isAssociationField)?void 0:n.call(o))||!(null==o?void 0:o.targetCollection))break;if((0,A.E4)(o)){if("number"!=typeof t[e+1])return null;e+=1}if(!(null==(l=o.targetCollection)?void 0:l.getField))break}return null}normalizeResolvedValueForAssociationTarget(e,t,l){var r;let n=this.resolveCollectionFieldByNamePath(e,t);if(!(null==n||null==(r=n.isAssociationField)?void 0:r.call(n)))return l;let i=this.getAssociationTargetKeyFields(n),o=1===i.length?i[0]:null,a=e=>{if(null!=e)return o&&this.isPrimitiveAssociationTargetValue(e)?{[o]:e}:e};if((0,A.E4)(n))return(Array.isArray(l)?l:[l]).map(e=>a(e)).filter(e=>null!=e);let s=Array.isArray(l)?l.find(e=>null!=e):l;return null==s?s:a(s)}prepareRuleContext(e){let t=e.getContext(),l=e.getTarget(),r=this.options.tryResolveNamePath(t,l),n=r?(0,x.Qc)(r):null,i=()=>{if(!n)return;let t=this.options.observableBindings.get(n);t&&t.source===e.source&&(t.dispose(),this.options.observableBindings.delete(n))};return{baseCtx:t,targetNamePath:r,targetKey:n,clearDeps:e=>{e.depDisposers.forEach(e=>e()),e.depDisposers=[],e.deps=new Set},disposeBinding:i}}shouldApplyDefaultRuleInCurrentState(e){var t,l,r;return"update"!==(null==(t=(l=this.options).getActionName)?void 0:t.call(l))||(null==(r=this.getItemContext(e))?void 0:r.__is_new__)===!0}isStaleToManyItemContext(e){let t=this.getItemContext(e);return!!Number.isFinite(null==t?void 0:t.index)&&!!Number.isFinite(null==t?void 0:t.length)&&(t.index<0||t.index>=t.length)}getItemContext(e){try{return null==e?void 0:e.item}catch{return}}getRowTargetKey(e,t){var l,r,n,i;let o,a,s=this.getRootCollection()||this.getCollectionFromContext(e);for(let e of t)if("number"!=typeof e){if("string"!=typeof e||!e||!(null==s?void 0:s.getField)||(o=null==s||null==(n=s.getField)?void 0:n.call(s,e),!(null==o||null==(i=o.isAssociationField)?void 0:i.call(o))))break;a=o,s=null==o?void 0:o.targetCollection}let d=(null==a||null==(l=a.targetCollection)?void 0:l.filterTargetKey)??(null==a||null==(r=a.targetCollection)?void 0:r.filterByTk)??(null==a?void 0:a.targetKey);if(Array.isArray(d)){let e=d.filter(e=>"string"==typeof e&&!!e);return e.length?e:"id"}return"string"==typeof d&&d?d:"id"}isMismatchedToManyItemContext(e,t){let l=this.getItemContext(e);if(!l)return!1;for(let r=t.length-1;r>=0;r--){if("number"!=typeof t[r])continue;let n=t.slice(0,r+1),i=this.getRowTargetKey(e,n),o=this.options.getFormValueAtPath(n),a=(0,M.r5)(o,i),s=(0,M.r5)(l.value,i);return!!a&&!!s&&a!==s}return!1}shouldRunRule(e,t,l,r){return!(!e.getEnabled()||!t||!l||this.isStaleToManyItemContext(r)||this.isMismatchedToManyItemContext(r,t)||"default"===e.source&&(!this.shouldApplyDefaultRuleInCurrentState(r)||this.options.findExplicitHit(l)))&&!("override"===e.source&&this.options.findUserEditedHit(l))}createRuleCollectorAndContext(e,t){var l;let{baseCtx:r,targetNamePath:n}=t,i=e.getValue(),o=(0,a.isRunJSValue)(i),s={deps:new Set,wildcard:!1};if(e.getCondition&&(0,y.G)(e.getCondition(),s),o?(0,y.Wp)(i,s):(0,y.G)(i,s),n)for(let e of((0,y.Dd)(n,s),this.collectAssociationPrefixPaths(r,n)))(0,y.Dd)(e,s);let d=this.createRuleEvaluationContext(r,s,n,null==(l=e.getContractModelUid)?void 0:l.call(e));return{collector:s,evalCtx:d,rawValue:i,isRunJS:o}}async evaluateRuleCondition(e,t,l,r,n){let i=e.getCondition;if(!i)return!0;let o=i(),a=o;if(o)try{var s;a=await (null==r||null==(s=r.resolveJsonTemplate)?void 0:s.call(r,o))}catch{a=o}return l===t.runSeq&&(!o||!!(0,v.F)(r,a)||(this.commitRuleDeps(e,t,n),!1))}async resolveRuleValue(e,t,l,r,n){let i=e.getValue();return(0,a.isRunJSValue)(i)?this.resolveRunJSValue(i,t,l,r,n,e):this.resolveTemplateValue(i,t,l,r,n,e)}async resolveRunJSValue(e,t,l,r,n,i){try{let{code:o,version:s}=(0,a.normalizeRunJSValue)(e),d=await r.runjs(o,void 0,{version:s});if(!(null==d?void 0:d.success)){if(l!==t.runSeq)return F;return this.commitRuleDeps(i,t,n),F}return d.value}catch{if(l!==t.runSeq)return F;return this.commitRuleDeps(i,t,n),F}}async resolveTemplateValue(e,t,l,r,n,i){try{var o;return await (null==r||null==(o=r.resolveJsonTemplate)?void 0:o.call(r,e))}catch{if(l!==t.runSeq)return F;return this.commitRuleDeps(i,t,n),F}}commitRuleDeps(e,t,l){let r=new Set(l.deps);l.wildcard&&r.add("fv:*"),this.updateRuleDeps(e,t,r)}isScalarValueTarget(e,t){var l;let r=this.resolveCollectionFieldByNamePath(e,t);return!((null==r||null==(l=r.isAssociationField)?void 0:l.call(r))&&(0,A.E4)(r)||this.isArrayValueCollectionField(r))&&(!!r||!Array.isArray(this.options.getFormValueAtPath(t)))}shouldSkipEmptyArrayAggregateForScalarTarget(e,t,l){return!!Array.isArray(l)&&!(l.length>0)&&this.isScalarValueTarget(e,t)}normalizeUnresolvedToManyAggregateForScalarTarget(e,t,l,r){return void 0===l&&r&&this.isScalarValueTarget(e,t)?Array.isArray(r.arrayValue)&&0===r.arrayValue.length?this.isUserClearedToManyAggregate(r)?{skip:!1,hasValue:!0,value:this.getClearedAggregateValueForScalarTarget(e,t)}:{skip:!0,hasValue:!1}:Array.isArray(r.arrayValue)&&r.arrayValue.length>0?{skip:!0,hasValue:!1}:{skip:!1,hasValue:!1}:{skip:!1,hasValue:!1}}isArrayValueCollectionField(e){var t,l;if(!e||"object"!=typeof e)return!1;let r=e;return!0===r.multiple||"array"===r.type||"array"===((null==(t=r.uiSchema)?void 0:t.type)??(null==(l=r.schema)?void 0:l.type))||["multipleSelect","checkboxGroup","json"].includes("string"==typeof r.interface?r.interface:"")}stringifyAggregateItem(e){if(e&&"object"==typeof e)try{return JSON.stringify(e)}catch{}return String(e)}normalizeAggregateArrayForScalarTarget(e,t,l,r){if(!Array.isArray(l)||!this.isScalarValueTarget(e,t)||!r)return l;let n=l.filter(e=>null!=e);return n.length?1===n.length?n[0]:this.isTextScalarTarget(e,t)?n.map(e=>this.stringifyAggregateItem(e)).join(", "):F:this.isUserClearedToManyAggregate(r)?this.getClearedAggregateValueForScalarTarget(e,t):F}shouldSkipMultiValueAggregateForScalarTarget(e,t,l,r){return!!r&&!!Array.isArray(l)&&!(l.length<=1)&&!!this.isScalarValueTarget(e,t)&&!this.isTextScalarTarget(e,t)}getClearedAggregateValueForScalarTarget(e,t){if(this.isTextScalarTarget(e,t))return""}isUserClearedToManyAggregate(e){var t;return(null==(t=e.lastWrite)?void 0:t.source)==="user"}isTextScalarTarget(e,t){var l,r,n;let i=this.resolveCollectionFieldByNamePath(e,t);if(!i){let e=this.options.getFormValueAtPath(t);return void 0===e||null==e||"string"==typeof e}if((null==i||null==(l=i.isAssociationField)?void 0:l.call(i))||this.isArrayValueCollectionField(i))return!1;let o=i,a=(null==(r=o.uiSchema)?void 0:r.type)??(null==(n=o.schema)?void 0:n.type);return"string"===o.type||"text"===o.type||"string"===a||["input","textarea","email","phone","url","uuid","nanoid","markdown","richText","vditor","password","color"].includes("string"==typeof o.interface?o.interface:"")}getLatestWriteMetaForPath(e){let t=(0,x.Qc)(e),l=this.options.lastWriteMetaByPathKey.get(t);for(let[e,r]of this.options.lastWriteMetaByPathKey.entries())(e===t||e.startsWith(`${t}.`)||e.startsWith(`${t}[`))&&(!l||r.writeSeq>l.writeSeq)&&(l=r);return l}getToManyAggregateSourceInfo(e,t){let l=this.extractSingleLocalFormValuesPath(t);if(!l)return null;let r=(0,x.EA)(l).filter(e=>"object"!=typeof e);if(r.length<2)return null;let n=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==n?void 0:n.getField))return null;let i=[];for(let t=0;t<r.length-1;t++){var o,a;let s=r[t];if("string"!=typeof s)break;let d=null==n||null==(o=n.getField)?void 0:o.call(n,s);if(!(null==d||null==(a=d.isAssociationField)?void 0:a.call(d)))break;if(i.push(s),(0,A.E4)(d)){let t=this.options.getFormValueAtPath(i),r=this.getLocalFormValuesSnapshot(e),n=r&&"object"==typeof r?u().get(r,i):void 0;return{subPath:l,arrayPath:[...i],arrayValue:void 0!==t?t:n,lastWrite:this.getLatestWriteMetaForPath(i)}}if(!(null==(n=d.targetCollection)?void 0:n.getField))break}return null}checkDefaultRuleCanApply(e,t,l,r,n,i){if(void 0===e)return!1;if(this.options.findExplicitHit(l))return r(i),n(),!1;let o=this.options.getFormValueAtPath(t),a=this.options.lastDefaultValueByPathKey.get(l),s=(0,S.Po)(o)||void 0!==a&&u().isEqual(o,a),d=(0,g.isObservable)(e)?(0,g.toJS)(e):e;return!s&&u().isEqual(o,d)?(this.options.lastDefaultValueByPathKey.set(l,d),!1):s}createRuleEvaluationContext(e,t,l,r){var n;let i,o=this.options.createTrackingFormValues(t),s=new a.FlowContext;try{s.delegate(e)}catch{}let d=null==e||null==(n=e.getPropertyOptions)?void 0:n.call(e,"formValues");d&&"object"==typeof d?s.defineProperty("formValues",{...d,get:()=>o,cache:!1}):s.defineProperty("formValues",{get:()=>o,cache:!1});let u="function"==typeof s.resolveJsonTemplate?s.resolveJsonTemplate.bind(s):void 0;s.defineMethod("resolveJsonTemplate",async l=>{let n=this.createLocalTemplateTokenStore(),i=this.resolveLocalFormValuesTemplates(e,l,t,n),o=i.matched?i.value:l,a=u?await u(o,r?{contractModelUid:r}:void 0):o;return this.restoreLocalTemplateTokens(a,n)});let c=!1,p=()=>(c||(i=this.buildItemChainValue(e,o,l)??(null==e?void 0:e.item),c=!0),i);return s.defineProperty("item",{get:p,cache:!1}),s}getLocalFormValuesSnapshot(e){try{var t;let l=null==e||null==(t=e.getFormValues)?void 0:t.call(e);if(l&&"object"==typeof l)return l}catch{}let l=this.options.valuesMirror;return(0,g.isObservable)(l)?(0,g.toJS)(l):l}resolveLocalFormValuesPath(e,t){let l=this.getLocalFormValuesSnapshot(e);if(l&&"object"==typeof l)return(0,c.Dw)(l,t)}recordLocalFormValuesDep(e,t){let l=(0,x.EA)(e).filter(e=>"object"!=typeof e);if(!l.length){t&&(t.wildcard=!0);return}(0,y.Dd)(l,t)}extractSingleLocalFormValuesPath(e){if("string"!=typeof e)return null;let t=e.match(/^\s*\{\{\s*ctx\.formValues\.([a-zA-Z_$][a-zA-Z0-9_$-]*(?:\.[a-zA-Z_$][a-zA-Z0-9_$-]*)*)\s*\}\}\s*$/);return(null==t?void 0:t[1])??null}stringifyTemplateReplacement(e){if(void 0!==e)return e&&"object"==typeof e?JSON.stringify(e):String(e)}createLocalTemplateTokenStore(){let e=new Map,t=0;return{values:e,protect(l){let r=`__NOCObase_FORM_VALUE_LITERAL_${t}__`;return t+=1,e.set(r,l),r}}}restoreLocalTemplateTokens(e,t){if(!t.values.size)return e;if("string"==typeof e){if(t.values.has(e))return t.values.get(e);let l=e;for(let[e,r]of t.values.entries())l.includes(e)&&(l=l.split(e).join(this.stringifyTemplateReplacement(r)??""));return l}if(Array.isArray(e))return e.map(e=>this.restoreLocalTemplateTokens(e,t));if(u().isPlainObject(e)){let l={};for(let[r,n]of Object.entries(e))l[r]=this.restoreLocalTemplateTokens(n,t);return l}return e}resolveLocalFormValuesTemplates(e,t,l,r){if("string"==typeof t){let n=this.extractSingleLocalFormValuesPath(t);if(n){this.recordLocalFormValuesDep(n,l);let i=this.resolveLocalFormValuesPath(e,n);return void 0!==i?{matched:!0,value:r?r.protect(i):i}:{matched:!1,value:t}}let i=!1,o=t.replace(/\{\{\s*ctx\.formValues\.([a-zA-Z_$][a-zA-Z0-9_$-]*(?:\.[a-zA-Z_$][a-zA-Z0-9_$-]*)*)\s*\}\}/g,(t,n)=>{this.recordLocalFormValuesDep(n,l);let o=this.resolveLocalFormValuesPath(e,n),a=this.stringifyTemplateReplacement(o);return void 0===a?t:(i=!0,r?r.protect(a):a)});return{matched:i,value:o}}if(Array.isArray(t)){let n=!1,i=t.map(t=>{let i=this.resolveLocalFormValuesTemplates(e,t,l,r);return i.matched&&(n=!0),i.value});return n?{matched:n,value:i}:{matched:!1,value:t}}if(u().isPlainObject(t)){let n=!1,i={};for(let[o,a]of Object.entries(t)){let t=this.resolveLocalFormValuesTemplates(e,a,l,r);t.matched&&(n=!0),i[o]=t.value}return n?{matched:n,value:i}:{matched:!1,value:t}}return{matched:!1,value:t}}buildItemChainValue(e,t,l){let r=this.getRootCollection()||this.getCollectionFromContext(e),n=(e,t,l,r)=>({index:t,length:l,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:r}),i=this.options.getBlockContext(),o=(()=>{try{let e=null==i?void 0:i.item;if(!e||"object"!=typeof e)return;return e.value===(null==i?void 0:i.formValues)?e:void 0}catch{return}})(),a={...n(t,null==o?void 0:o.index,null==o?void 0:o.length,null==o?void 0:o.parentItem),__is_new__:(null==o?void 0:o.__is_new__)??(null==t?void 0:t.__is_new__),__is_stored__:(null==o?void 0:o.__is_stored__)??(null==t?void 0:t.__is_stored__)};if(!l||!Array.isArray(l)||!l.length||!(null==r?void 0:r.getField))return;let s=[],d=[],c=r;for(let e=0;e<l.length;e++){var p,h;let t=l[e];if("string"!=typeof t)break;let r=null==c||null==(p=c.getField)?void 0:p.call(c,t);if(!(null==r||null==(h=r.isAssociationField)?void 0:h.call(r)))break;let n=(0,A.E4)(r);if(d.push(t),n){let t=l[e+1];if("number"==typeof t)d.push(t),e+=1;else if(e!==l.length-1)break}let i=null==r?void 0:r.targetCollection;if(!i)break;s.push({path:[...d],toMany:n}),c=i}let f=e=>{if(e<0)return a;let l=s[e],r=u().get(t,l.path),i=l.path[l.path.length-1],o=l.toMany&&"number"==typeof i,d=o?i:void 0,c=(()=>{if(!l.toMany)return;if(!o)return Array.isArray(r)?r.length:void 0;let e=l.path.slice(0,-1),n=u().get(t,e);return Array.isArray(n)?n.length:void 0})();return n(r,d,c,f(e-1))};return s.length?f(s.length-1):void 0}getFieldIndexSignature(e){var t,l;let r=(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex);return(Array.isArray(r)?r:[]).filter(e=>"string"==typeof e).join("|")}updateRuleDeps(e,t,l){var r,n;if(t.depDisposers.forEach(e=>e()),t.depDisposers=[],t.deps=l,l.has("fv:*")){let l=(0,g.reaction)(()=>this.options.changeTick.value,()=>this.scheduleRule(e.id));t.depDisposers.push(l)}let i=(()=>{try{return e.getContext()}catch{return}})(),o=(null==i||null==(n=i.model)||null==(r=n.context)?void 0:r.fieldIndex)??(null==i?void 0:i.fieldIndex);if(Array.isArray(o)&&o.some(e=>"string"==typeof e)){let l=(0,g.reaction)(()=>this.getFieldIndexSignature(i),()=>this.scheduleRule(e.id));t.depDisposers.push(l)}for(let r of l){if("fv:*"===r)continue;if(!r.startsWith("fv:")&&!r.startsWith("ctx:")){let l=(0,x.c1)(r),n=(0,g.reaction)(()=>u().get(this.options.valuesMirror,l),()=>this.scheduleRule(e.id));t.depDisposers.push(n);continue}if(r.startsWith("fv:")){let l=r.slice(3),n=(0,x.c1)(l),i=(0,g.reaction)(()=>u().get(this.options.valuesMirror,n),()=>this.scheduleRule(e.id));t.depDisposers.push(i);continue}let l=r.slice(4),n=l.indexOf(":"),o=n>=0?l.slice(0,n):l,a=n>=0?l.slice(n+1):"",s=a?(0,x.EA)(a).filter(e=>"object"!=typeof e):[];if("item"===o){if(s.length){let l=this.options.createTrackingFormValues({deps:new Set,wildcard:!1}),r=(0,g.reaction)(()=>{var t;let r=null==(t=e.getTarget)?void 0:t.call(e),n=r?this.options.tryResolveNamePath(i,r):null,o=this.buildItemChainValue(i,l,n)??(null==i?void 0:i.item);return u().get(o,s)},()=>this.scheduleRule(e.id));t.depDisposers.push(r)}continue}let d=(0,g.reaction)(()=>{let e=i?i[o]:void 0;return s.length?u().get(e,s):e},()=>this.scheduleRule(e.id));t.depDisposers.push(d)}}constructor(e){(0,r._)(this,"options",void 0),(0,r._)(this,"rules",new Map),(0,r._)(this,"lastRuleWriteByTargetKey",new Map),(0,r._)(this,"assignTemplatesByTargetPath",new Map),(0,r._)(this,"formItemTargetPaths",new Set),(0,r._)(this,"updateAssociationByTargetPath",new Map),(0,r._)(this,"pendingRuleIds",new Set),(0,r._)(this,"ruleDebounceUntilById",new Map),(0,r._)(this,"ruleDebounceTimersById",new Map),(0,r._)(this,"defaultRuleIdsByMasterUid",new Map),(0,r._)(this,"defaultRuleMasterDisposers",new Map),(0,r._)(this,"runningRules",!1),(0,r._)(this,"rulesEnabled",!1),(0,r._)(this,"currentRuleTxId",null),this.options=e}}class R{syncAssignRules(e){this.ruleEngine.syncAssignRules(e)}get formValues(){return this.disposed||this.formPatcher.patch(this.getForm()),this.formValuesProxy}getFormValuesSnapshot(){if(!this.disposed){let e=this.getForm();this.formPatcher.patch(e)}return this.getForm().getFieldsValue(!0)}getUserEditedValuePatches(){let e=this.getFormValuesSnapshot();if(!e||"object"!=typeof e)return[];let t=[];for(let l of Array.from(this.userEditedSet).sort((e,t)=>(0,x.c1)(e).length-(0,x.c1)(t).length)){if(!this.isCurrentUserEditedPath(l))continue;let r=(0,x.c1)(l);if(!r.length||!u().has(e,r))continue;let n=u().get(e,r);void 0!==n&&t.push({path:r,value:this.omitNonUserDescendantValues(l,this.toMirrorSnapshot(n))})}return t}getUserEditedValuesSnapshot(){let e={};for(let t of this.getUserEditedValuePatches())u().set(e,t.path,t.value);return e}toMirrorSnapshot(e){let t=e=>u().cloneDeepWith(e,e=>{if((0,g.isObservable)(e)){let l=(0,g.toJS)(e);if(l!==e)return t(l)}if(Array.isArray(e)&&"function"!=typeof e.constructor){let l=Array(e.length);for(let r=0;r<e.length;r++)Object.hasOwn(e,r)&&(l[r]=t(e[r]));return l}if(e&&"object"==typeof e&&!(Array.isArray(e)||u().isPlainObject(e)))return e});return t(e)}canApplyDefaultValuePatch(e,t){if(!(null==e?void 0:e.length)||void 0===t)return!1;let l=(0,x.Qc)(e),r=this.getFormValueAtPath(e),n=this.lastDefaultValueByPathKey.get(l),i=(0,g.isObservable)(t)?(0,g.toJS)(t):t,o=(0,g.isObservable)(r)?(0,g.toJS)(r):r,a=void 0!==n&&u().isEqual(o,n);if(this.findExplicitHit(l)&&!a)return!1;let s=(0,S.Po)(r)||a;return!s&&u().isEqual(r,i)?(this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(i)),!1):s}canApplyOverrideValuePatch(e){return!!(null==e?void 0:e.length)&&!this.findUserEditedHit((0,x.Qc)(e))}recordDefaultValuePatch(e,t){if(!(null==e?void 0:e.length))return;let l=(0,x.Qc)(e),r=arguments.length>=2?(0,g.isObservable)(t)?(0,g.toJS)(t):t:this.getFormValueAtPath(e);this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(r));let n=this.getFormValueAtPath(e),i=(0,g.isObservable)(n)?(0,g.toJS)(n):n;u().isEqual(i,r)&&this.clearExplicitForDefaultPatch(l)}getFormValueAtPath(e){var t,l;let r=null==(t=(l=this).getForm)?void 0:t.call(l);if(r&&"function"==typeof r.getFieldValue)return r.getFieldValue(e);if(r&&"function"==typeof r.getFieldsValue){let t=r.getFieldsValue(!0);return u().get(t,e)}}mount(e){var t,l;if(this.disposed)return;this.formPatcher.patch(this.getForm());let r=null==(l=this.model)||null==(t=l.flowEngine)?void 0:t.emitter;if(r&&(this.mountedListener||this.unmountedListener||(this.mountedListener=e=>{let{model:t}=e;this.indexMountedFieldModelTree(t),this.ruleEngine.onModelMounted(t)},this.unmountedListener=e=>{let{model:t}=e;this.unindexMountedFieldModelTree(t),this.ruleEngine.onModelUnmounted(t)},r.on("model:mounted",this.mountedListener),r.on("model:unmounted",this.unmountedListener)),this.rebuildMountedFieldModelIndex(),null==e?void 0:e.sync)){let e=this.getFormValuesSnapshot();e&&"object"==typeof e&&(u().merge(this.valuesMirror,this.toMirrorSnapshot(e)),this.bumpChangeTick()),this.ruleEngine.enable()}}dispose(){var e,t;if(this.disposed)return;this.disposed=!0,this.formPatcher.restore();let l=null==(t=this.model)||null==(e=t.flowEngine)?void 0:e.emitter;for(let e of(l&&this.mountedListener&&this.unmountedListener&&(l.off("model:mounted",this.mountedListener),l.off("model:unmounted",this.unmountedListener)),this.ruleEngine.dispose(),this.mountedFieldModelsByPathKey.clear(),this.observableBindings.values()))e.dispose();this.observableBindings.clear(),this.txWriteCounts.clear()}resetAfterFormReset(){if(this.disposed)return;for(let e of(this.explicitSet.clear(),this.userEditedSet.clear(),this.lastDefaultValueByPathKey.clear(),this.lastWriteMetaByPathKey.clear(),this.txWriteCounts.clear(),this.lastObservedChangedPaths=null,this.lastObservedSource=null,this.lastObservedToken+=1,this.observableBindings.values()))e.dispose();this.observableBindings.clear();let e=this.getFormValuesSnapshot();for(let e of Object.keys(this.valuesMirror))delete this.valuesMirror[e];e&&"object"==typeof e&&u().merge(this.valuesMirror,this.toMirrorSnapshot(e)),this.writeSeq+=1,this.bumpChangeTick(),this.ruleEngine.rescheduleAllRules()}resetUserEditedState(){this.disposed||(this.userEditedSet.clear(),this.ruleEngine.rescheduleAllRules())}isSuppressed(){return this.suppressFormCallbackDepth>0}handleFormFieldsChange(e){if(this.disposed)return;let t=this.getForm();if(!t.getFieldValue)return;let l=[],r=new Set,n=!1,i=!1;for(let o of e||[]){let e=null==o?void 0:o.name,a=this.normalizeObservedNamePath(e);if(!(null==a?void 0:a.length))continue;let s=t.getFieldValue(a),d=u().get(this.valuesMirror,a);if(!u().isEqual(s,d)&&(i||(this.writeSeq+=1,i=!0),u().set(this.valuesMirror,a,this.toMirrorSnapshot(s)),l.push(a),(null==o?void 0:o.touched)===!0&&!this.shouldIgnoreSyntheticTouchedInit(a,d,s))){let e=(0,x.Qc)(a);this.shouldKeepDefaultPathValueEnabled(a,s)||(r.add(e),n=!0)}}if(!l.length)return;let o=this.isSuppressed();if(!o&&r.size)for(let e of r)this.markExplicit(e),this.markUserEdited(e);if(this.bumpChangeTick(),o)return;let a=n?"user":"system",s=this.writeSeq;for(let e of l)this.lastWriteMetaByPathKey.set((0,x.Qc)(e),{source:a,writeSeq:s});this.lastObservedChangedPaths=l,this.lastObservedSource=a;let d=++this.lastObservedToken;queueMicrotask(()=>{this.disposed||this.lastObservedToken===d&&(this.lastObservedChangedPaths=null,this.lastObservedSource=null)})}shouldIgnoreSyntheticTouchedInit(e,t,l){if(!(null==e?void 0:e.length)||void 0!==t||!(0,S.Po)(l))return!1;for(let t=e.length-1;t>=0;t--){if("number"!=typeof e[t])continue;let l=e.slice(0,t+1),r=this.getFormValueAtPath(l);return!!(null==r?void 0:r.__is_new__)}return!1}isDeletedArrayItemPath(e,t){let l=Array.isArray(e)?e:(0,x.c1)(e);if(!(null==l?void 0:l.length))return!1;for(let e=l.length-1;e>=0;e--){if("number"!=typeof l[e])continue;let r=l.slice(0,e+1);return void 0===u().get(t,r)}return!1}pruneDeletedArrayItemState(e){for(let t of Array.from(this.explicitSet))this.isDeletedArrayItemPath(t,e)&&this.explicitSet.delete(t);for(let t of Array.from(this.userEditedSet))this.isDeletedArrayItemPath(t,e)&&this.userEditedSet.delete(t);for(let t of Array.from(this.lastDefaultValueByPathKey.keys()))this.isDeletedArrayItemPath(t,e)&&this.lastDefaultValueByPathKey.delete(t);for(let t of Array.from(this.lastWriteMetaByPathKey.keys()))this.isDeletedArrayItemPath(t,e)&&this.lastWriteMetaByPathKey.delete(t);for(let[t,l]of Array.from(this.observableBindings.entries()))this.isDeletedArrayItemPath(t,e)&&(l.dispose(),this.observableBindings.delete(t))}getArrayItemTargetKey(e){var t,l,r,n,i,o;let a,s,d=null==(l=this.model)||null==(t=l.context)?void 0:t.collection;for(let t of e||[])if("number"!=typeof t){if("string"!=typeof t||!(null==d?void 0:d.getField)||(a=null==d||null==(i=d.getField)?void 0:i.call(d,t),!(null==a||null==(o=a.isAssociationField)?void 0:o.call(a))))break;s=a,d=null==a?void 0:a.targetCollection}let u=(null==s||null==(r=s.targetCollection)?void 0:r.filterTargetKey)??(null==s||null==(n=s.targetCollection)?void 0:n.filterByTk)??(null==s?void 0:s.targetKey);if(Array.isArray(u)){let e=u.filter(e=>"string"==typeof e&&!!e);return e.length?e:"id"}return"string"==typeof u&&u?u:"id"}getArrayItemIdentity(e,t){return(0,M.r5)(e,this.getArrayItemTargetKey(t))}reconcileArrayItemState(e,t,l){let r=new Set;for(let n of e||[]){if(!(null==n?void 0:n.length))continue;let e=(0,x.Qc)(n);if(r.has(e))continue;r.add(e);let i=u().get(this.valuesMirror,n),o=this.getObservedChangedValue(n,t,l);if(!Array.isArray(i)||!Array.isArray(o))continue;let a=new Map;o.forEach((e,t)=>{let l=this.getArrayItemIdentity(e,n);l&&a.set(l,t)}),a.size&&(this.reconcileArrayItemSet(this.explicitSet,n,i,a),this.reconcileArrayItemSet(this.userEditedSet,n,i,a),this.reconcileArrayItemMap(this.lastDefaultValueByPathKey,n,i,a),this.reconcileArrayItemMap(this.lastWriteMetaByPathKey,n,i,a),this.reconcileObservableBindings(n,i,a))}}getReconciledArrayItemPath(e,t,l,r){let n=(0,x.c1)(e);if(n.length<=t.length)return{action:"keep"};for(let e=0;e<t.length;e++)if(n[e]!==t[e])return{action:"keep"};let i=n[t.length];if("number"!=typeof i)return{action:"keep"};let o=this.getArrayItemIdentity(l[i],t);if(!o)return{action:"keep"};let a=r.get(o);if(null==a)return{action:"delete"};if(a===i)return{action:"keep"};let s=[...n];return s[t.length]=a,{action:"move",key:(0,x.Qc)(s)}}reconcileArrayItemSet(e,t,l,r){let n=new Set,i=!1;for(let o of e){let e=this.getReconciledArrayItemPath(o,t,l,r);if("delete"===e.action){i=!0;continue}if("move"===e.action){i=!0,n.add(e.key);continue}n.add(o)}if(i)for(let t of(e.clear(),n))e.add(t)}reconcileArrayItemMap(e,t,l,r){let n=new Map,i=!1;for(let[o,a]of e){let e=this.getReconciledArrayItemPath(o,t,l,r);if("delete"===e.action){i=!0;continue}if("move"===e.action){i=!0,n.set(e.key,a);continue}n.set(o,a)}if(i)for(let[t,l]of(e.clear(),n))e.set(t,l)}reconcileObservableBindings(e,t,l){let r=new Map,n=!1;for(let[i,o]of this.observableBindings){let a=this.getReconciledArrayItemPath(i,e,t,l);if("delete"===a.action){n=!0,o.dispose();continue}if("move"===a.action){n=!0,o.pathKey=a.key,r.set(a.key,o);continue}r.set(i,o)}if(n)for(let[e,t]of(this.observableBindings.clear(),r))this.observableBindings.set(e,t)}getObservedChangedValue(e,t,l){if(u().has(l,e))return u().get(l,e);if((null==e?void 0:e.length)===1){let l=e[0];if(("string"==typeof l||"number"==typeof l)&&t&&Object.prototype.hasOwnProperty.call(t,l))return t[l]}return u().get(l,e)}getObservedSnapshot(e,t){if(!e||"object"!=typeof e)return t;if(!t||"object"!=typeof t)return e;let l=t;for(let r of Object.keys(e))u().has(l,[r])||(l===t&&(l=Array.isArray(t)?[...t]:{...t}),u().set(l,[r],e[r]));return l}handleFormValuesChange(e,t){if(this.disposed||this.isSuppressed())return;let l=Object.keys(e||{}).map(e=>[e]),r=this.lastObservedChangedPaths&&this.lastObservedChangedPaths.length?this.lastObservedChangedPaths:l,n=this.lastObservedSource??"user";this.lastObservedChangedPaths=null,this.lastObservedSource=null;let i=this.getFormValuesSnapshot(),o=i&&"object"==typeof i?i:t&&"object"==typeof t?t:e,a=this.getObservedSnapshot(e,o);this.reconcileArrayItemState([...r,...l],e,a),this.pruneDeletedArrayItemState(a);let s=this.deriveExplicitPaths(r,e,a,this.valuesMirror).filter(e=>!this.isDeletedArrayItemPath(e,a)),d=!1,c=!1,p=[];for(let t of r){if(!(null==t?void 0:t.length))continue;let l=this.getObservedChangedValue(t,e,a),r=u().get(this.valuesMirror,t);u().isEqual(r,l)||(c||(this.writeSeq+=1,c=!0),u().set(this.valuesMirror,t,this.toMirrorSnapshot(l)),d=!0,p.push(t))}d&&this.bumpChangeTick();let h=[];for(let e of s)this.shouldKeepDefaultPathEnabled(e,a)||h.push(e);for(let e of h){let t=(0,x.Qc)(e);this.markExplicit(t),"user"===n&&this.markUserEdited(t)}if(d){let e=this.writeSeq;for(let t of p)(null==t?void 0:t.length)&&this.lastWriteMetaByPathKey.set((0,x.Qc)(t),{source:n,writeSeq:e})}let f=(0,S.ao)();this.emitFormValuesChange({source:n,txId:f,changedPaths:r,changedValues:e,allValues:a,allValuesSnapshot:a})}deriveExplicitPaths(e,t,l,r){let n=[],i=new Set;for(let o of e||[]){if(!(null==o?void 0:o.length))continue;let e=u().get(r,o),a=this.getObservedChangedValue(o,t,l);this.collectExplicitDiffPaths(e,a,o,n,i)}return n}collectExplicitDiffPaths(e,t,l,r,n){if(u().isEqual(e,t))return 0;let i=Array.isArray(e),o=Array.isArray(t);if(i||o){if(i&&o){let i=Math.min(e.length,t.length),o=0;for(let a=0;a<i;a++)o+=this.collectExplicitDiffPaths(e[a],t[a],[...l,a],r,n);return e.length!==t.length?o+ +!!this.pushExplicitPath(l,r,n):o}return+!!this.pushExplicitPath(l,r,n)}let a=this.isPlainObjectValue(e),s=this.isPlainObjectValue(t);if(a||s){if(a&&s){let i=new Set([...Object.keys(e),...Object.keys(t)]),o=0;for(let a of i)o+=this.collectExplicitDiffPaths(e[a],t[a],[...l,a],r,n);return 0===o&&this.isObjectCleared(e,t)?+!!this.pushExplicitPath(l,r,n):o}this.isObjectCleared(e,t)}return+!!this.pushExplicitPath(l,r,n)}pushExplicitPath(e,t,l){if(!(null==e?void 0:e.length))return!1;let r=(0,x.Qc)(e);return!(!r||l.has(r))&&(l.add(r),t.push([...e]),!0)}isPlainObjectValue(e){return u().isPlainObject(e)}isObjectCleared(e,t){return!!this.isPlainObjectValue(e)&&!!(null==t||this.isPlainObjectValue(t)&&0===Object.keys(t).length)}async setFormValues(e,t,l){var r,n,i,o;if(this.disposed)return;let a=null==(r=(n=this).getForm)?void 0:r.call(n);if(!a)return;let s=(null==l?void 0:l.source)??"system",d=(null==l?void 0:l.triggerEvent)!==!1,c=(null==l?void 0:l.txId)??(0,S.ao)(),p=(null==l?void 0:l.markExplicit)??("default"!==s&&"linkage"!==s),h=void 0===(null==l?void 0:l.txId),f="linkage"===s&&Number.isFinite(Number(null==l?void 0:l.linkageScopeDepth))?Number(null==l?void 0:l.linkageScopeDepth):0,m="linkage"===s&&"string"==typeof(null==l?void 0:l.linkageTxId)&&l.linkageTxId?String(l.linkageTxId):void 0,y=e=>{if("linkage"!==s||!m)return!1;let t=this.lastWriteMetaByPathKey.get(e);return!!t&&"linkage"===t.source&&!!t.linkageTxId&&t.linkageTxId===m&&(Number.isFinite(Number(t.linkageScopeDepth))?Number(t.linkageScopeDepth):0)>f},b=e=>"linkage"===s?{source:s,writeSeq:e,linkageScopeDepth:f,linkageTxId:m}:{source:s,writeSeq:e},w=e=>"linkage"===s&&m?{...e,linkageTxId:m}:e;try{let l=[];if(!Array.isArray(t)){let e=Object.entries(t||{}).map(e=>{let[t,l]=e;return[t,this.toMirrorSnapshot(l)]}).filter(e=>{let[t,l]=e;return!y(t)&&!u().isEqual(this.getFormValueAtPath([t]),l)}),l=Object.fromEntries(e),r=e.map(e=>{let[t]=e;return t});if(!r.length)return;r.length&&(this.writeSeq+=1),this.suppressFormCallbackDepth++;try{for(let[t,l]of e)"function"==typeof a.setFieldValue?a.setFieldValue(t,l):"function"==typeof a.setFields?a.setFields([{name:t,value:l}]):null==(i=a.setFieldsValue)||i.call(a,{[t]:l}),u().set(this.valuesMirror,[t],this.toMirrorSnapshot(l)),this.syncMountedFieldModelValue([t],l);this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let n=this.writeSeq;for(let e of r)this.lastWriteMetaByPathKey.set(e,b(n));if(p)for(let e of r)this.markExplicit(e),"user"===s&&this.markUserEdited(e);if(d){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(w({source:s,txId:c,changedPaths:r.map(e=>[e]),changedValues:l,allValues:e,allValuesSnapshot:e}))}return}let r=new Map,n=0;for(let l of t){let t=null==l?void 0:l.condition;if(t&&!(0,v.F)(e,t))continue;let i=this.resolveNamePath(e,l.path),o=(0,x.Qc)(i),a=l.value,s=this.toMirrorSnapshot(a);if(y(o))continue;let d=this.getFormValueAtPath(i);u().isEqual(d,s)||(n+=1,r.set(o,{order:n,namePath:i,value:s,rawValue:a,pathKey:o}))}let h=Array.from(r.values()).sort((e,t)=>e.order-t.order).map(e=>({namePath:e.namePath,value:e.value,rawValue:e.rawValue,pathKey:e.pathKey}));if(!h.length)return;let A=this.txWriteCounts.get(c)||new Map;this.txWriteCounts.set(c,A);let M=[];for(let e of h){let t=(A.get(e.pathKey)||0)+1;A.set(e.pathKey,t),t>S.li||M.push(e)}if(!M.length)return;this.writeSeq+=1;let F=this.writeSeq;for(let{pathKey:e,rawValue:t}of M)if(!(0,g.isObservable)(t)){let t=this.observableBindings.get(e);t&&(t.dispose(),this.observableBindings.delete(e))}this.suppressFormCallbackDepth++;try{for(let{namePath:e,value:t}of M)null==(o=a.setFieldValue)||o.call(a,e,t),u().set(this.valuesMirror,e,this.toMirrorSnapshot(t)),this.syncMountedFieldModelValue(e,t),l.push(e);this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}for(let{pathKey:e}of M)this.lastWriteMetaByPathKey.set(e,b(F));if(p)for(let{pathKey:e}of M)this.markExplicit(e),"user"===s&&this.markUserEdited(e);if("default"===s)for(let{namePath:e,pathKey:t}of M){let l=this.getFormValueAtPath(e);this.lastDefaultValueByPathKey.set(t,this.toMirrorSnapshot(l))}for(let{rawValue:t,pathKey:l}of M){if(!(0,g.isObservable)(t))continue;let r=t,n={source:s,pathKey:l,dispose:()=>{}},i=(0,g.observe)(r,()=>{let t=n.pathKey;this.applyBoundValue(e,(0,x.c1)(t),t,(0,g.toJS)(r),s,f,m)});n.dispose=i;let o=this.observableBindings.get(l);o&&o.dispose(),this.observableBindings.set(l,n)}if(d){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(w({source:s,txId:c,changedPaths:l,changedValues:{},allValues:e,allValuesSnapshot:e}))}}finally{h&&this.txWriteCounts.delete(c)}}applyBoundValue(e,t,l,r,n,i,o){var a,s,d;if(this.disposed)return;let c=null==(a=(s=this).getForm)?void 0:a.call(s);if(!c||"override"===n&&this.findUserEditedHit(l))return;let p=this.toMirrorSnapshot(r),h=u().get(this.valuesMirror,t);if(u().isEqual(h,p))return;this.writeSeq+=1;let f=this.writeSeq;this.suppressFormCallbackDepth++;try{null==(d=c.setFieldValue)||d.call(c,t,p),u().set(this.valuesMirror,t,this.toMirrorSnapshot(p)),this.syncMountedFieldModelValue(t,p),this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let m="linkage"===n?{source:n,writeSeq:f,linkageScopeDepth:Number.isFinite(Number(i))?Number(i):0,linkageTxId:"string"==typeof o&&o?o:void 0}:{source:n,writeSeq:f};this.lastWriteMetaByPathKey.set(l,m);let g=(0,S.ao)(),v=this.getFormValuesSnapshot(),y={source:n,txId:g,changedPaths:[t],changedValues:{},allValues:v,allValuesSnapshot:v};if("linkage"===n&&o&&(y.linkageTxId=o),this.emitFormValuesChange(y),"default"===n&&this.isExplicit(l)||"override"===n&&this.findUserEditedHit(l)){let e=this.observableBindings.get(l);e&&(e.dispose(),this.observableBindings.delete(l))}"default"===n&&this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(this.getFormValueAtPath(t)))}resolveNamePath(e,t){let l=this.tryResolveNamePath(e,t);if(!l)throw Error(`Failed to resolve path '${String(t)}'`);return l}tryResolveNamePath(e,t){var l,r;let n=(null==e||null==(r=e.model)||null==(l=r.context)?void 0:l.fieldIndex)??(null==e?void 0:e.fieldIndex);return(0,x.IJ)(t,n)}bumpChangeTick(){this.changeTick.value+=1}emitFormValuesChange(e){var t,l,r,n;null==(t=(l=this.model).dispatchEvent)||t.call(l,"formValuesChange",e,{debounce:!0}),null==(n=this.model.emitter)||null==(r=n.emit)||r.call(n,"formValuesChange",e)}syncMountedFieldModelValue(e,t){let l=(0,x.Qc)(e);if(!l)return;let r=this.mountedFieldModelsByPathKey.get(l);if(!(null==r?void 0:r.size))return;let n=new Set;for(let e of Array.from(r))this.syncMountedFieldModelValueForModel(e,t,n)}syncMountedFieldModelValueForModel(e,t,l){var r,n,i;if(!e||l.has(e)||(l.add(e),!this.isMountedModelInThisForm(e)))return;let o={value:t};null==(r=e.setProps)||r.call(e,o);let a=null==(n=e.subModels)?void 0:n.field;null==a||null==(i=a.setProps)||i.call(a,o)}rebuildMountedFieldModelIndex(){var e,t;this.mountedFieldModelsByPathKey.clear();let l=null==(t=this.model)||null==(e=t.context)?void 0:e.engine;l&&"function"==typeof l.forEachModel&&l.forEachModel(e=>{this.indexMountedFieldModelTree(e)})}indexMountedFieldModelTree(e){this.visitModelAndForks(e,e=>this.indexMountedFieldModel(e))}unindexMountedFieldModelTree(e){this.visitModelAndForks(e,e=>this.unindexMountedFieldModel(e))}visitModelAndForks(e,t){if(!e)return;let l=new Set,r=e=>{var n;if(!e||l.has(e))return;l.add(e),t(e);let i=e.forks;null==i||null==(n=i.forEach)||n.call(i,e=>r(e))};r(e)}indexMountedFieldModel(e){if(!this.isMountedModelInThisForm(e))return;let t=new Set;for(let l of this.getMountedModelNamePaths(e)){let e=(0,x.Qc)(l);e&&t.add(e)}if(t.size)for(let l of(this.unindexMountedFieldModel(e),this.mountedFieldModelPathKeys.set(e,t),t)){let t=this.mountedFieldModelsByPathKey.get(l)||new Set;t.add(e),this.mountedFieldModelsByPathKey.set(l,t)}}unindexMountedFieldModel(e){let t=this.mountedFieldModelPathKeys.get(e);if(t){for(let l of t){let t=this.mountedFieldModelsByPathKey.get(l);t&&(t.delete(e),t.size||this.mountedFieldModelsByPathKey.delete(l))}this.mountedFieldModelPathKeys.delete(e)}}isMountedModelInThisForm(e){var t;let l=null==(t=e.context)?void 0:t.blockModel;return!!l&&String(l.uid)===String(this.model.uid)}getMountedModelNamePaths(e){var t,l;let r=[],n=e=>{let t=this.normalizeNamePathValue(e);(null==t?void 0:t.length)&&r.push(t)};n(null==(t=e.context)?void 0:t.fieldPathArray);let i="function"==typeof e.getProps?e.getProps():e.props;i&&"object"==typeof i&&n(i.name);try{let t=null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init");t&&"object"==typeof t&&n(t.fieldPath)}catch{}let o=new Set;return r.filter(e=>{let t=(0,x.Qc)(e);return!(!t||o.has(t))&&(o.add(t),!0)})}normalizeNamePathValue(e){if(Array.isArray(e)){let t=e.filter(e=>"string"==typeof e||"number"==typeof e);return t.length===e.length?t:null}return"number"==typeof e?[e]:"string"==typeof e&&e?(0,x.c1)(e):null}markExplicit(e){if(this.explicitSet.has(e))return;this.explicitSet.add(e);let t=this.shouldPreserveDescendantDefaultsOnExplicit(e);for(let l of Array.from(this.lastDefaultValueByPathKey.keys())){let r=l.startsWith(`${e}.`)||l.startsWith(`${e}[`);(l===e||!t&&r)&&this.lastDefaultValueByPathKey.delete(l)}for(let[e,t]of Array.from(this.observableBindings.entries()))"default"===t.source&&this.isExplicit(e)&&(t.dispose(),this.observableBindings.delete(e))}markUserEdited(e){if(!this.userEditedSet.has(e))for(let[t,l]of(this.userEditedSet.add(e),Array.from(this.observableBindings.entries())))"override"===l.source&&this.findUserEditedHit(t)&&(l.dispose(),this.observableBindings.delete(t))}normalizeObservedNamePath(e){if(Array.isArray(e))return e;if("number"==typeof e)return[e];if("string"!=typeof e||!e)return null;let t=(0,x.c1)(e);return t.length?t:[e]}clearExplicitForDefaultPatch(e){for(let t of Array.from(this.explicitSet))(t===e||t.startsWith(`${e}.`)||t.startsWith(`${e}[`))&&this.explicitSet.delete(t)}shouldPreserveDescendantDefaultsOnExplicit(e){return Array.isArray(this.getFormValueAtPath((0,x.c1)(e)))}shouldKeepDefaultPathEnabled(e,t){return this.shouldKeepDefaultPathValueEnabled(e,u().get(t,e))}shouldKeepDefaultPathValueEnabled(e,t){let l=(0,x.Qc)(e),r=this.lastDefaultValueByPathKey.get(l);if(void 0===r)return!1;let n=(0,g.isObservable)(t)?(0,g.toJS)(t):t;return u().isEqual(n,r)}isExplicit(e){return!!this.findExplicitHit(e)}findExplicitHit(e){if(this.explicitSet.has(e))return e;let t=(0,x.c1)(e),l=[];for(let e=0;e<t.length;e++){l.push(t[e]);let r=(0,x.Qc)(l);if(this.explicitSet.has(r)&&"number"!=typeof t[e+1])return r}return null}findUserEditedHit(e){if(this.userEditedSet.has(e))return e;let t=(0,x.c1)(e),l=[];for(let e=0;e<t.length;e++){l.push(t[e]);let r=(0,x.Qc)(l);if(this.userEditedSet.has(r)&&"number"!=typeof t[e+1])return r}for(let t of this.userEditedSet)if(this.isDescendantPathKey(t,e))return t;return null}findLatestWriteMeta(e){let t,l=(0,x.c1)(e),r=[];for(let e=0;e<l.length;e++){r.push(l[e]);let n=this.lastWriteMetaByPathKey.get((0,x.Qc)(r));n&&(!t||n.writeSeq>=t.writeSeq)&&(t=n)}return t}isCurrentUserEditedPath(e){let t=this.findLatestWriteMeta(e);return!t||"user"===t.source}omitNonUserDescendantValues(e,t){if(!t||"object"!=typeof t)return t;let l=(0,x.c1)(e);for(let r of this.lastWriteMetaByPathKey.keys())this.isDescendantPathKey(r,e)&&(this.isCurrentUserEditedPath(r)||u().unset(t,(0,x.c1)(r).slice(l.length)));return t}isDescendantPathKey(e,t){if(!e||!t||e===t)return!1;let l=(0,x.c1)(e),r=(0,x.c1)(t);return!(l.length<=r.length)&&r.every((e,t)=>l[t]===e)}constructor(e){(0,r._)(this,"model",void 0),(0,r._)(this,"getForm",void 0),(0,r._)(this,"valuesMirror",(0,g.observable)({})),(0,r._)(this,"explicitSet",new Set),(0,r._)(this,"userEditedSet",new Set),(0,r._)(this,"lastDefaultValueByPathKey",new Map),(0,r._)(this,"lastWriteMetaByPathKey",new Map),(0,r._)(this,"observableBindings",new Map),(0,r._)(this,"changeTick",g.observable.ref(0)),(0,r._)(this,"txWriteCounts",new Map),(0,r._)(this,"writeSeq",0),(0,r._)(this,"disposed",!1),(0,r._)(this,"suppressFormCallbackDepth",0),(0,r._)(this,"lastObservedChangedPaths",null),(0,r._)(this,"lastObservedSource",null),(0,r._)(this,"lastObservedToken",0),(0,r._)(this,"formValuesProxy",void 0),(0,r._)(this,"mountedFieldModelsByPathKey",new Map),(0,r._)(this,"mountedFieldModelPathKeys",new WeakMap),(0,r._)(this,"mountedListener",void 0),(0,r._)(this,"unmountedListener",void 0),(0,r._)(this,"formPatcher",void 0),(0,r._)(this,"ruleEngine",void 0),this.model=e.model,this.getForm=e.getForm,this.formPatcher=b({isSuppressed:()=>this.isSuppressed(),getCallerContext:()=>{var e;return null==(e=this.model)?void 0:e.context},setFormValues:this.setFormValues.bind(this)}),this.ruleEngine=new E({getBlockModelUid:()=>{var e;return String(null==(e=this.model)?void 0:e.uid)},getAssignRulesModelUid:()=>{var e,t;let l=null==(t=this.model)||null==(e=t.subModels)?void 0:e.grid;return!Array.isArray(l)&&(null==l?void 0:l.uid)?String(l.uid):void 0},getActionName:()=>{var e,t,l,r;return(null==(t=this.model)||null==(e=t.getAclActionName)?void 0:e.call(t))??(null==(r=this.model)||null==(l=r.context)?void 0:l.actionName)},getBlockContext:()=>{var e;return null==(e=this.model)?void 0:e.context},getEngine:()=>{var e,t;return null==(t=this.model)||null==(e=t.context)?void 0:e.engine},getEngineModel:e=>{var t,l,r,n;return(null==(n=this.model)||null==(r=n.context)||null==(l=r.engine)||null==(t=l.getModel)?void 0:t.call(l,e))??null},isDisposed:()=>this.disposed,valuesMirror:this.valuesMirror,changeTick:this.changeTick,getWriteSeq:()=>this.writeSeq,txWriteCounts:this.txWriteCounts,createTrackingFormValues:e=>(0,y.x3)({valuesMirror:this.valuesMirror,basePath:[],collector:e,getFormValuesSnapshot:()=>this.getFormValuesSnapshot(),getFormValueAtPath:e=>this.getFormValueAtPath(e)}),tryResolveNamePath:(e,t)=>this.tryResolveNamePath(e,t),getFormValueAtPath:e=>this.getFormValueAtPath(e),setFormValues:(e,t,l)=>this.setFormValues(e,t,l),findExplicitHit:e=>this.findExplicitHit(e),findUserEditedHit:e=>this.findUserEditedHit(e),lastDefaultValueByPathKey:this.lastDefaultValueByPathKey,lastWriteMetaByPathKey:this.lastWriteMetaByPathKey,observableBindings:this.observableBindings}),this.formValuesProxy=(0,y.x3)({valuesMirror:this.valuesMirror,basePath:[],getFormValuesSnapshot:()=>this.getFormValuesSnapshot(),getFormValueAtPath:e=>this.getFormValueAtPath(e)})}}function T(e,t){let l=Array.isArray(e)?e:[],r=new Set,n=e=>{var l,r,n;if(!t||"function"!=typeof t.getField||"string"!=typeof e||!e.includes("."))return null;let i=e.split(".").filter(Boolean);if(i.length<2)return null;let o=t,a=[],s=null,d=null;for(let e=0;e<i.length-1;e++){let t=i[e],n=null==o||null==(l=o.getField)?void 0:l.call(o,t);if(!(null==n||null==(r=n.isAssociationField)?void 0:r.call(n))||!(null==n?void 0:n.targetCollection))break;a.push(t),s=a.join("."),d=n,o=n.targetCollection}if(s&&d){let e=i[i.length-1],t=(null==d?void 0:d.targetKey)??(null==d||null==(n=d.targetCollection)?void 0:n.filterTargetKey)??"id",l=Array.isArray(t)?t.filter(e=>"string"==typeof e&&!!e):"string"==typeof t&&t?[t]:["id"];if("string"==typeof e&&l.includes(e))return null}return s};for(let e of l){let t=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!t)continue;let l=n(t);l&&r.add(l)}return Array.from(r)}var I=l(71712);let _={formModelSettings:new Set(["layout","assignRules"]),eventSettings:new Set(["linkageRules"])},D="nb-flow-keep-mobile-horizontal",N=(0,o.css)`
|
|
1357
|
+
`;return(0,r.jsxs)("div",{style:{maxHeight:300,overflowY:"auto"},children:[e.map(e=>(0,r.jsx)("div",{role:"option",onClick:()=>x(e.value),className:l,children:m(e.label)},e.value)),(0,r.jsx)(o.A,{style:{margin:"4px 0"}}),t.map(e=>(0,r.jsx)("div",{role:"option",className:l,onClick:()=>x(e.value),title:m(e.label),children:m(e.label)},e.value))]})};return(0,r.jsxs)(a.A.Compact,{style:{...h.style,width:"100%"},children:[(0,r.jsx)(s.A,{options:b,open:v,onDropdownVisibleChange:y,...h,allowClear:!1,style:{width:"100%",minWidth:100,maxWidth:["past","next","exact",void 0].includes(null==t?void 0:t.type)?100:null},value:(null==t?void 0:t.type)||"exact",onChange:x,dropdownRender:w}),["past","next"].includes(null==t?void 0:t.type)&&[(0,r.jsx)(d.A,{style:{flex:1},value:null==t?void 0:t.number,onChange:e=>{l({...t,number:e})}},"number"),(0,r.jsx)(s.A,{value:null==t?void 0:t.unit,style:{minWidth:130,maxWidth:140},onChange:e=>{l({...t,unit:e})},options:[{value:"day",label:m("Day")},{value:"week",label:m("Calendar week")},{value:"month",label:m("Calendar Month")},{value:"year",label:m("Calendar Year")}],popupMatchSelectWidth:!0},"unit")],((null==t?void 0:t.type)==="exact"||!(null==t?void 0:t.type))&&(0,r.jsx)(M,{...h,value:t,onChange:l})]})}},32644(e,t,l){l.d(t,{S:()=>o}),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182);let r=new Set(["$match","$notMatch","$anyOf","$noneOf","$childIn","$childNotIn","$in","$notIn"]);function n(e){return!!e&&"object"==typeof e&&!Array.isArray(e)&&"type"in e}function i(e){return null==e||"string"==typeof e&&""===e.trim()}function o(e,t){if(!e)return t;if("$dateBetween"===e){if(null==t||n(t))return t;if(Array.isArray(t)){if(0===t.length)return t;let e=t[0],l=t.length>1?t[1]:void 0,r=i(e),n=i(l);return(1!==t.length||r)&&(r||!n)?r&&!n?[l,l]:t:[e,e]}return[t,t]}return r.has(e)?null==t||Array.isArray(t)?t:"string"==typeof t&&""===t.trim()?[]:[t]:t}},71616(e,t,l){l.d(t,{EditFormModel:()=>p});var r=l(50467);l(14324),l(89773);var n=l(74848),i=l(11869),o=l(58929),a=l(84626),s=l(40098);l(96540);var d=l(77471),u=l(96491),c=l(84759);class p extends u.F4{createResource(e,t){var l,r;if((null==(l=this.association)?void 0:l.type)==="hasOne"||(null==(r=this.association)?void 0:r.type)==="belongsTo"||Object.keys(t).includes("filterByTk")){let e=this.context.createResource(i.SingleRecordResource);return e.isNewRecord=!1,e}let n=this.context.createResource(i.MultiRecordResource);return n.setPageSize(1),n}isMultiRecordResource(){return this.resource instanceof i.MultiRecordResource}getCurrentRecord(){let e=this.resource.getData();return Array.isArray(e)?e[0]:e}hasAvailableData(){return this.resource.hasData()}getAclActionName(){return"update"}async submitHandler(e,t,r){let{submitHandler:n}=await Promise.resolve().then(l.bind(l,53831));await n(e,t,r)}async submit(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,{submitHandler:r}=await Promise.resolve().then(l.bind(l,53831));await r(this.context,e,t)}renderComponent(){var e,t;let{colon:l,labelAlign:r,labelWidth:s,labelWrap:d,layout:c}=this.props,p=!!this.context.flowSettingsEnabled,h=this.hasAvailableData(),f=!p&&!h,{heightMode:m,height:g}=this.decoratorProps,v=this.resource.loading||h?this.isMultiRecordResource()&&this.resource.getMeta("count")>1?(0,n.jsx)("div",{style:{textAlign:"center",marginTop:16},children:(0,n.jsx)(o.A,{simple:!0,pageSize:1,showSizeChanger:!1,defaultCurrent:this.resource.getPage(),total:this.resource.getTotalPage(),onChange:this.handlePageChange,style:{display:"inline-block"}})}):null:(0,n.jsx)("div",{style:{textAlign:"center",marginTop:16,color:null==(t=this.context)||null==(e=t.themeToken)?void 0:e.colorTextDescription},children:this.translate("No available data currently")});return(0,n.jsx)(u.JU,{model:this,gridModel:this.subModels.grid,layoutProps:{colon:l,labelAlign:r,labelWidth:s,labelWrap:d,layout:c},heightMode:m,height:g,grid:(0,n.jsx)(i.FlowModelRenderer,{model:this.subModels.grid,showFlowSettings:!1}),actions:(0,n.jsx)("div",{style:f?{pointerEvents:"none",opacity:.45}:void 0,children:(0,n.jsx)(i.DndProvider,{children:(0,n.jsxs)(a.A,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||p)return(0,n.jsx)(i.Droppable,{model:e,children:(0,n.jsx)(i.MemoFlowModelRenderer,{model:e,showFlowSettings:!!this.context.flowSettingsEnabled&&this.actionFlowSettings,extraToolbarItems:this.actionExtraToolbarItems},e.uid)},e.uid)}),this.renderConfigureActions()]})})}),footer:v})}constructor(...e){super(...e),(0,r._)(this,"actionFlowSettings",{showBackground:!1,showBorder:!1,toolbarPosition:"above"}),(0,r._)(this,"actionExtraToolbarItems",[{key:"drag-handler",component:i.DragHandler,sort:1}]),(0,r._)(this,"handlePageChange",async e=>{if(this.resource instanceof i.MultiRecordResource){let t=this.resource;t.setPage(e),t.loading=!0,await t.refresh(),await (0,c.Xi)(this,"paginationChange")}})}}(0,r._)(p,"scene",d.P.oam),(0,r._)(p,"blockCapabilityActionName","update"),p.registerFlow({key:"formSettings",title:(0,i.tExpr)("Edit form settings"),steps:{init:{async handler(e){if(!e.resource)throw Error("Resource is not initialized");e.resource.on("refresh",async()=>{var t,l,r,n,i,o,a,d;let u=e.resource.getMeta("currentFilterByTk"),c={...e.model.getCurrentRecord()};if(!c)return;let p=null==(t=e.association)?void 0:t.targetKey;if(p&&(null==(l=e.association)?void 0:l.interface)!=="m2m"?e.resource.setMeta({currentFilterByTk:null==c?void 0:c[p]}):e.resource.setMeta({currentFilterByTk:e.collection.getFilterByTK(c)}),!e.form)return;let h=e.resource.getMeta("currentFilterByTk"),f=!(0,s.isEqual)(u,h),m=null==(r=(n=e.model).getUserModifiedFields)?void 0:r.call(n),g=!!(null==m?void 0:m.size),v=()=>{if(!(null==m?void 0:m.size))return;let t=e=>null!==e&&"object"==typeof e;for(let l of Array.from(m)){let r=e.form.getFieldValue(l),n=null==c?void 0:c[l];(Object.is(r,n)||t(r)&&t(n)&&(0,s.isEqual)(r,n))&&m.delete(l)}};if(!f&&g){let t={...c};for(let l of m)t[l]=e.form.getFieldValue(l);e.form.setFieldsValue(t),v();return}f&&(null==(i=(o=e.model).resetUserModifiedFields)||i.call(o),null==(a=(d=e.model).resetRuntimeUserEditedState)||a.call(d)),e.form.setFieldsValue(c),v()})}},dataScope:{use:"dataScope"},refresh:{async handler(e){if(!e.resource)throw Error("Resource is not initialized")}}}}),p.registerFlow({key:"paginationChange",on:"paginationChange",steps:{blockLinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"blockLinkageRules",flowKey:"cardSettings",stepKey:"linkageRules"}},fieldsLinkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"fieldLinkageRules",flowKey:"eventSettings",stepKey:"linkageRules"}}}}),p.define({label:(0,i.tExpr)("Form (Edit)"),searchable:!0,searchPlaceholder:(0,i.tExpr)("Search"),createModelOptions:{use:"EditFormModel",subModels:{grid:{use:"FormGridModel"}}},sort:340})},96491(e,t,l){l.d(t,{JU:()=>U,s2:()=>q,F4:()=>L,mO:()=>W});var r=l(50467);l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(45336),l(91625),l(34678),l(79936),l(38263),l(89773);var n=l(74848),i=l(49655),o=l(22803),a=l(11869),s=l(89013),d=l(40098),u=l.n(d),c=l(46629),p=l(96540),h=l(2117),f=l(25359),m=l(52175);l(5409),l(21947),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(69861),l(23446),l(23089),l(82855),l(17106),l(36792);var g=l(95243),v=l(29676),y=l(47632);function b(e){let t,l,r,n=()=>{let e=t;e&&(l&&(e.setFieldValue=l),r&&(e.setFieldsValue=r),t=void 0,l=void 0,r=void 0)};return{patch:i=>{if(t===i)return;n();let o="function"==typeof(null==i?void 0:i.setFieldValue)?i.setFieldValue.bind(i):void 0,a="function"==typeof(null==i?void 0:i.setFieldsValue)?i.setFieldsValue.bind(i):void 0;t=i,l=o,r=a,o&&(i.setFieldValue=(t,l)=>{e.isSuppressed()?o(t,l):e.setFormValues(e.getCallerContext(),[{path:t,value:l}],{source:"system"}).catch(()=>void 0)}),a&&(i.setFieldsValue=t=>{e.isSuppressed()?a(t):e.setFormValues(e.getCallerContext(),t,{source:"system"}).catch(()=>void 0)})},restore:n}}var x=l(12197);l(14324);var w=l(87710),S=l(65421),A=l(13940),M=l(26866);let F=Symbol("SKIP_RULE_VALUE"),k=Symbol("UNRESOLVED_ASSOCIATION_IDENTITY"),C=1e3;function P(e){return"default"===e?"default":"override"===e?"override":"assign"}function j(e){return"default"===e?"default":"override"===e?"override":"system"}class E{getAssignRuleBlockId(e){return`form-assign:${e}:block`}removeAssignRuleBlockInstance(e){let t=this.getAssignRuleBlockId(e);this.rules.has(t)&&this.removeRule(t)}removeRowGridAssignRuleInstances(e){let t=`form-assign:${e}:`,l=this.getAssignRuleBlockId(e),r=[];for(let[e,o]of this.rules.entries()){var n,i;if(!e.startsWith(t)||e===l)continue;let a=null==o||null==(i=o.rule)||null==(n=i.getContext)?void 0:n.call(i),s=null==a?void 0:a.model;s&&this.isRowGridModel(s)&&r.push(e)}for(let e of r)this.removeRule(e)}hasAnyNonBlockAssignRuleInstance(e){let t=`form-assign:${e}:`,l=this.getAssignRuleBlockId(e);for(let e of this.rules.keys())if(e.startsWith(t)&&e!==l)return!0;return!1}ensureBlockAssignRuleInstancesForTargetPath(e){if(this.options.isDisposed()||!e||!this.shouldCreateBlockLevelAssignRule(e))return;let t=this.assignTemplatesByTargetPath.get(e)||[];if(t.length)for(let l of t){let t=(null==l?void 0:l.__key)?String(l.__key):"";if(!t||this.hasAnyNonBlockAssignRuleInstance(t))continue;let r=j(P(null==l?void 0:l.mode)),n=(null==l?void 0:l.enable)!==!1,i=this.getAssignRuleBlockId(t);if(this.rules.has(i))continue;let o={id:i,source:r,priority:10+(l.__order||0),debounceMs:0,getEnabled:()=>n&&!!e,getTarget:()=>e,getValue:()=>null==l?void 0:l.value,getCondition:()=>null==l?void 0:l.condition,getContext:()=>this.options.getBlockContext(),getContractModelUid:this.options.getAssignRulesModelUid};this.rules.set(i,{rule:o,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(i)}}getCollectionFromContext(e){var t,l;return(null==e?void 0:e.collection)??(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.collection)}getRootCollection(){let e=this.options.getBlockContext();return this.getCollectionFromContext(e)}shouldCreateBlockLevelAssignRule(e){let t=this.options.getBlockContext(),l=this.getCollectionFromContext(t);if(!(null==l?void 0:l.getField))return!0;let r=(0,x.EA)(e).filter(e=>"object"!=typeof e);if(r.length<=1)return!0;for(let e=0;e<r.length-1;e++){var n,i;let t=r[e];if("string"!=typeof t)continue;let o=null==l||null==(n=l.getField)?void 0:n.call(l,t);if(!(null==o||null==(i=o.isAssociationField)?void 0:i.call(o)))break;if((0,A.E4)(o)){if("number"!=typeof r[e+1])return!1;e+=1}if(!(null==(l=null==o?void 0:o.targetCollection)?void 0:l.getField))break}return!0}collectAssociationPrefixPaths(e,t){let l=[],r=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==r?void 0:r.getField))return l;let n=[];for(let e=0;e<t.length-1;e++){var i,o;let a=t[e];if("string"!=typeof a)break;let s=null==r||null==(i=r.getField)?void 0:i.call(r,a);if(!(null==s||null==(o=s.isAssociationField)?void 0:o.call(s)))break;if(n.push(a),(0,A.E4)(s)){let l=t[e+1];if("number"!=typeof l)break;n.push(l),e+=1}if(l.push([...n]),!(null==(r=null==s?void 0:s.targetCollection)?void 0:r.getField))break}return l}shouldSkipToManyAssociationWriteWithoutIndex(e,t){let l=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==l?void 0:l.getField))return!1;for(let e=0;e<t.length-1;e++){var r,n;let i=t[e];if("string"!=typeof i)continue;let o=null==l||null==(r=l.getField)?void 0:r.call(l,i);if(!(null==o||null==(n=o.isAssociationField)?void 0:n.call(o)))break;if((0,A.E4)(o)){if("number"!=typeof t[e+1])return!0;e+=1}if(!(null==(l=null==o?void 0:o.targetCollection)?void 0:l.getField))break}return!1}shouldSkipAssociationNestedWrite(e,t){let l=this.collectAssociationPrefixPaths(e,t);if(!l.length)return!1;for(let r of l){let l=this.options.getFormValueAtPath(r);if(null==l){let l=r.filter(e=>"string"==typeof e).join(".");if(l&&this.getUpdateAssociationForTargetPath(l)||this.isAssociationTargetKeyWrite(e,t,r))continue;return!0}if("object"!=typeof l)return!0}return!1}getAssociationTargetKeyFields(e){var t,l;let r=(null==e?void 0:e.targetKey)??(null==e||null==(t=e.targetCollection)?void 0:t.filterTargetKey)??(null==e||null==(l=e.targetCollection)?void 0:l.filterByTk)??"id";return Array.isArray(r)?r.filter(e=>"string"==typeof e&&!!e):"string"==typeof r&&r?[r]:["id"]}resolveAssociationFieldByPrefixPath(e,t){let l=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==l?void 0:l.getField))return null;let r=null;for(let e of t){var n,i;if("number"==typeof e)continue;if("string"!=typeof e||!e)break;let t=null==l||null==(n=l.getField)?void 0:n.call(l,e);if(!(null==t||null==(i=t.isAssociationField)?void 0:i.call(t))||(r=t,!(null==(l=null==t?void 0:t.targetCollection)?void 0:l.getField)))break}return r}isAssociationTargetKeyWrite(e,t,l){var r;if(!Array.isArray(t)||!Array.isArray(l)||t.length!==l.length+1)return!1;let n=t[l.length];if("string"!=typeof n||!n)return!1;let i=this.resolveAssociationFieldByPrefixPath(e,l);return!(!(null==i||null==(r=i.isAssociationField)?void 0:r.call(i))||(0,A.E4)(i))&&this.getAssociationTargetKeyFields(i).includes(n)}collectUpdateAssociationInitPatches(e,t){let l=this.collectAssociationPrefixPaths(e,t);if(!l.length)return[];let r=[];for(let n of l){let l=this.options.getFormValueAtPath(n);if(null==l){let l=n.filter(e=>"string"==typeof e).join(".");if(!l)return null;if(this.getUpdateAssociationForTargetPath(l)){r.push({path:[...n,"__is_new__"],value:!0});continue}if(this.isAssociationTargetKeyWrite(e,t,n)){r.push({path:[...n],value:{}});continue}return null}if("object"!=typeof l)return null}let n=new Map;for(let e of r){let t=(0,x.Qc)(e.path);n.has(t)||n.set(t,e)}return Array.from(n.values())}dispose(){for(let{state:e}of this.rules.values())e.depDisposers.forEach(e=>e());for(let e of(this.rules.clear(),this.pendingRuleIds.clear(),this.assignTemplatesByTargetPath.clear(),this.defaultRuleMasterDisposers.values()))e();for(let e of(this.defaultRuleMasterDisposers.clear(),this.defaultRuleIdsByMasterUid.clear(),this.ruleDebounceTimersById.values()))clearTimeout(e);this.ruleDebounceTimersById.clear(),this.ruleDebounceUntilById.clear()}enable(){this.rulesEnabled=!0,this.pendingRuleIds.size&&!this.runningRules&&this.flushRules()}syncAssignRules(e){if(this.options.isDisposed())return;let t=(Array.isArray(e)?e:[]).map((e,t)=>({...e,key:(null==e?void 0:e.key)?String(e.key):`idx:${t}`})),l="form-assign:";for(let e of Array.from(this.rules.keys()))e.startsWith(l)&&this.removeRule(e);this.assignTemplatesByTargetPath.clear(),this.formItemTargetPaths.clear(),this.updateAssociationByTargetPath.clear();let r=0;for(let e of t){let t=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!t)continue;let l=this.assignTemplatesByTargetPath.get(t)||[];r+=1,l.push({...e,__key:String(e.key),__order:r}),this.assignTemplatesByTargetPath.set(t,l)}let n=this.options.getEngine(),i=new Set;if(null==n?void 0:n.forEachModel){n.forEachModel(e=>{var t;if(!this.isModelInThisForm(e)||!(null==e||null==(t=e.subModels)?void 0:t.field))return;let l=this.getModelTargetPath(e);l&&this.formItemTargetPaths.add(l),this.cacheUpdateAssociationForModel(e)});let e=e=>{this.cacheUpdateAssociationForModel(e),this.tryRegisterAssignRuleInstancesForModel(e,i);let t=null==e?void 0:e.forks;t&&"function"==typeof t.forEach&&t.forEach(e=>{e&&(null==e||!e.disposed)&&this.tryRegisterAssignRuleInstancesForModel(e,i)})};n.forEachModel(t=>{e(t)})}for(let[e,t]of this.assignTemplatesByTargetPath.entries())if(!i.has(e)&&this.shouldCreateBlockLevelAssignRule(e))for(let r of t){let t=j(P(null==r?void 0:r.mode)),n=(null==r?void 0:r.enable)!==!1,i=`${l}${r.__key}:block`;this.rules.has(i)&&this.removeRule(i);let o={id:i,source:t,priority:10+(r.__order||0),debounceMs:0,getEnabled:()=>n&&!!e,getTarget:()=>e,getValue:()=>null==r?void 0:r.value,getCondition:()=>null==r?void 0:r.condition,getContext:()=>this.options.getBlockContext(),getContractModelUid:this.options.getAssignRulesModelUid};this.rules.set(i,{rule:o,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(i)}for(let e of Array.from(this.rules.keys()))e.startsWith("default:")&&this.scheduleRule(e)}onModelMounted(e){var t;if(this.isModelInThisForm(e)&&!(null==e?void 0:e.isFork)&&(null==e||null==(t=e.subModels)?void 0:t.field)){let t=this.getModelTargetPath(e);t&&this.formItemTargetPaths.add(t),this.cacheUpdateAssociationForModel(e)}this.tryRegisterDefaultRuleInstance(e),this.tryRegisterAssignRuleInstancesForModel(e)}onModelUnmounted(e){var t;if(this.tryUnregisterDefaultRuleInstance(e),this.tryUnregisterAssignRuleInstancesForModel(e),this.isModelInThisForm(e)&&(null==e||null==(t=e.subModels)?void 0:t.field)){let t=this.getModelTargetPath(e);if(t&&(this.ensureBlockAssignRuleInstancesForTargetPath(t),!(null==e?void 0:e.isFork))){this.updateAssociationByTargetPath.delete(t),this.formItemTargetPaths.delete(t);let e=`${t}.`;for(let t of this.assignTemplatesByTargetPath.keys())t.startsWith(e)&&this.ensureBlockAssignRuleInstancesForTargetPath(t);let l=this.options.getEngine();if(null==l?void 0:l.forEachModel){let e=e=>{this.tryRegisterAssignRuleInstancesForModel(e);let t=null==e?void 0:e.forks;t&&"function"==typeof t.forEach&&t.forEach(e=>{e&&(null==e||!e.disposed)&&this.tryRegisterAssignRuleInstancesForModel(e)})};l.forEachModel(t=>e(t))}}}}isModelInThisForm(e){var t;let l=null==e||null==(t=e.context)?void 0:t.blockModel;return!!l&&String(l.uid)===String(this.options.getBlockModelUid())}cacheUpdateAssociationForModel(e){var t,l;if(this.options.isDisposed()||!this.isModelInThisForm(e)||!e||"object"!=typeof e||(null==e?void 0:e.isFork)||!(null==e||null==(t=e.subModels)?void 0:t.field))return;let r=this.getModelTargetPath(e);if(!r)return;let n=null==e||null==(l=e.subModels)?void 0:l.field,i=!!(null==n?void 0:n.updateAssociation);!0!==this.updateAssociationByTargetPath.get(r)&&this.updateAssociationByTargetPath.set(r,i)}getUpdateAssociationForTargetPath(e){let t=String(e||"");if(!t)return!1;if(this.updateAssociationByTargetPath.has(t))return!!this.updateAssociationByTargetPath.get(t);let l=this.options.getEngine();return((null==l?void 0:l.forEachModel)&&l.forEachModel(e=>{this.cacheUpdateAssociationForModel(e)}),this.updateAssociationByTargetPath.has(t))?!!this.updateAssociationByTargetPath.get(t):(this.updateAssociationByTargetPath.set(t,!1),!1)}getDefaultRuleId(e){let t=(null==e?void 0:e.isFork)?String((null==e?void 0:e.forkId)??"fork"):"master",l=(null==e?void 0:e.uid)?String(e.uid):String(e);return`default:${l}:${t}`}getModelTargetNamePath(e){var t;let l=null==e||null==(t=e.context)?void 0:t.fieldPathArray;if(Array.isArray(l)&&l.length)return l;let r="function"==typeof(null==e?void 0:e.getProps)?e.getProps():null==e?void 0:e.props,n=null==r?void 0:r.name;return Array.isArray(n)?n:"string"==typeof n?n.includes(".")?n.split("."):[n]:null}getAssignTemplateTargetPathForModel(e){let t=this.getModelTargetPath(e);if(t)return t;let l=this.getModelTargetNamePath(e);if(!(null==l?void 0:l.length))return"";let r=l.filter(e=>"number"!=typeof e);return r.length?(0,x.Qc)(r):""}hasAssignTemplateForTargetPath(e){let t=String(e||"");return!!t&&this.assignTemplatesByTargetPath.has(t)}tryRegisterDefaultRuleInstance(e){if(this.options.isDisposed()||!this.isModelInThisForm(e)||!e||"object"!=typeof e)return;let t="function"==typeof e.getProps?e.getProps():e.props;if(!t||"object"!=typeof t)return;let l=this.getModelTargetNamePath(e);if(!l)return;let r=this.getDefaultRuleId(e);if(this.rules.has(r))return;let n=e.master||e,i=this.getAssignTemplateTargetPathForModel(e);this.bindMasterInitialValue(n,r);let o=()=>{var e;let t=(null==n||null==(e=n.getProps)?void 0:e.call(n))??(null==n?void 0:n.props);return null==t?void 0:t.initialValue},a=o(),s=!1,d=()=>{let e=o();if(s||u().isEqual(e,a)||(s=!0),!this.hasAssignTemplateForTargetPath(i)||s||void 0===a)return e},c=()=>{if(!this.hasAssignTemplateForTargetPath(i))try{var e,t,l,r;let i=null==n||null==(t=n.getStepParams)||null==(e=t.call(n,"editItemSettings","initialValue"))?void 0:e.defaultValue;if(void 0!==i)return i;let o=null==n||null==(r=n.getStepParams)||null==(l=r.call(n,"formItemSettings","initialValue"))?void 0:l.defaultValue;if(void 0!==o)return o}catch{}},p={id:r,source:"default",priority:void 0!==d()?C:0,debounceMs:0,getEnabled:()=>void 0!==d()||void 0!==c(),getTarget:()=>this.getModelTargetNamePath(e)||l,getValue:()=>{let e=d();return void 0!==e?e:c()},getContext:()=>null==e?void 0:e.context};this.rules.set(r,{rule:p,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(r)}getModelTargetPath(e){try{var t;let l=null==e||null==(t=e.getStepParams)?void 0:t.call(e,"fieldSettings","init"),r=null==l?void 0:l.fieldPath;if(r)return String(r)}catch{}let l=null==e?void 0:e.fieldPath;if(l)return String(l);let r=this.getModelTargetNamePath(e);return(null==r?void 0:r.length)&&r.filter(e=>"string"==typeof e).join(".")||null}getAssignRuleInstanceId(e,t){let l=(null==t?void 0:t.isFork)?String((null==t?void 0:t.forkId)??"fork"):"master",r=(null==t?void 0:t.uid)?String(t.uid):String(t);return`form-assign:${e}:${r}:${l}`}getDeepestFieldIndexKey(e){var t,l;let r=(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex),n=Array.isArray(r)?r:[];if(!n.length)return null;let i=n[n.length-1];if("string"!=typeof i)return null;let[o,a]=i.split(":");return!o||Number.isNaN(Number(a))?null:o}getDeepestToManyAssociationKey(e){let t=this.getRootCollection();if(!(null==t?void 0:t.getField))return null;let l=(0,x.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(l.length<2)return null;let r=t,n=null;for(let e=0;e<l.length-1;e++){var i,o;let t=l[e];if("string"!=typeof t)continue;let a=null==r||null==(i=r.getField)?void 0:i.call(r,t);if(!(null==a||null==(o=a.isAssociationField)?void 0:o.call(a)))break;let s=(0,A.E4)(a);if(s&&(n=t),s&&"number"==typeof l[e+1]&&(e+=1),!(null==(r=null==a?void 0:a.targetCollection)?void 0:r.getField))break}return n}isRowGridModel(e){var t,l;if(!e||"object"!=typeof e||(null==e||null==(t=e.subModels)?void 0:t.field)||!(null==e||null==(l=e.subModels)?void 0:l.items))return!1;let r=null==e?void 0:e.context;return!!this.getDeepestFieldIndexKey(r)}tryRegisterAssignRuleInstancesForModel(e,t){var l,r,n,i;if(this.options.isDisposed()||!this.isModelInThisForm(e))return;let o=(l,r)=>{if(r&&0!==r.length)for(let i of(null==t||t.add(l),r)){var n;this.removeAssignRuleBlockInstance(i.__key),(null==e||null==(n=e.subModels)?void 0:n.field)&&this.removeRowGridAssignRuleInstances(i.__key);let t=j(P(null==i?void 0:i.mode)),r=(null==i?void 0:i.enable)!==!1,o=this.getAssignRuleInstanceId(i.__key,e);this.rules.has(o)&&this.removeRule(o);let a={id:o,source:t,priority:10+(i.__order||0),debounceMs:0,getEnabled:()=>r&&!!l,getTarget:()=>l,getValue:()=>null==i?void 0:i.value,getCondition:()=>null==i?void 0:i.condition,getContext:()=>null==e?void 0:e.context,getContractModelUid:this.options.getAssignRulesModelUid};this.rules.set(o,{rule:a,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(o)}};if(this.isRowGridModel(e)){let t=null==e?void 0:e.context,l=this.getDeepestFieldIndexKey(t);if(l)for(let[e,t]of this.assignTemplatesByTargetPath.entries()){if(this.formItemTargetPaths.has(e))continue;let r=this.getDeepestToManyAssociationKey(e);r&&r===l&&o(e,t)}return}if(!(null==e||null==(l=e.subModels)?void 0:l.field))return;let a=this.getModelTargetPath(e);if(!a)return;let s=this.assignTemplatesByTargetPath.get(a)||[];s.length&&o(a,s);let d=null==e||null==(r=e.subModels)?void 0:r.field,u=null==d||null==(n=d.context)?void 0:n.collectionField,c=!!(null==u||null==(i=u.isAssociationField)?void 0:i.call(u)),p=(0,A.E4)(u);if(c&&!p){let e=`${a}.`;for(let[t,l]of this.assignTemplatesByTargetPath.entries())t&&"string"==typeof t&&t.startsWith(e)&&o(t,l)}}tryUnregisterAssignRuleInstancesForModel(e){var t,l,r,n;if(this.options.isDisposed()||!this.isModelInThisForm(e))return;let i=t=>{for(let l of t||[]){let t=this.getAssignRuleInstanceId(l.__key,e);this.rules.has(t)&&this.removeRule(t)}};if(this.isRowGridModel(e)){let t=null==e?void 0:e.context,l=this.getDeepestFieldIndexKey(t);if(!l)return;for(let[e,t]of this.assignTemplatesByTargetPath.entries()){if(this.formItemTargetPaths.has(e))continue;let r=this.getDeepestToManyAssociationKey(e);r&&r===l&&i(t)}return}if(!(null==e||null==(t=e.subModels)?void 0:t.field))return;let o=this.getModelTargetPath(e);if(!o)return;let a=this.assignTemplatesByTargetPath.get(o)||[];a.length&&i(a);let s=null==e||null==(l=e.subModels)?void 0:l.field,d=null==s||null==(r=s.context)?void 0:r.collectionField,u=!!(null==d||null==(n=d.isAssociationField)?void 0:n.call(d)),c=(0,A.E4)(d);if(u&&!c){let e=`${o}.`;for(let[t,l]of this.assignTemplatesByTargetPath.entries())t&&"string"==typeof t&&t.startsWith(e)&&i(l)}}tryUnregisterDefaultRuleInstance(e){if(this.options.isDisposed()||!this.isModelInThisForm(e))return;let t=this.getDefaultRuleId(e);this.rules.has(t)&&this.removeRule(t)}bindMasterInitialValue(e,t){let l=(null==e?void 0:e.uid)?String(e.uid):t,r=this.defaultRuleIdsByMasterUid.get(l)||new Set;if(r.add(t),this.defaultRuleIdsByMasterUid.set(l,r),this.defaultRuleMasterDisposers.has(l))return;let n=(0,g.reaction)(()=>{var t;let l=(null==e||null==(t=e.getProps)?void 0:t.call(e))??(null==e?void 0:e.props);return null==l?void 0:l.initialValue},(t,r)=>{var n;if(u().isEqual(t,r))return;let i=this.defaultRuleIdsByMasterUid.get(l);if(!i)return;let o=(null==e||null==(n=e.getProps)?void 0:n.call(e))??(null==e?void 0:e.props),a=void 0!==(null==o?void 0:o.initialValue)?C:0;for(let e of i){let t=this.rules.get(e);t&&(t.rule.priority=a),this.scheduleRule(e)}});this.defaultRuleMasterDisposers.set(l,n)}removeRule(e){let t=this.rules.get(e);if(!t)return;try{let e=t.rule.getContext(),l=t.rule.getTarget(),r=this.options.tryResolveNamePath(e,l);if(r){let e=(0,x.Qc)(r),l=this.options.observableBindings.get(e);l&&l.source===t.rule.source&&(l.dispose(),this.options.observableBindings.delete(e))}}catch{}t.state.depDisposers.forEach(e=>e()),this.rules.delete(e),this.pendingRuleIds.delete(e);let l=this.ruleDebounceTimersById.get(e);for(let[t,r]of(l&&clearTimeout(l),this.ruleDebounceTimersById.delete(e),this.ruleDebounceUntilById.delete(e),this.defaultRuleIdsByMasterUid.entries())){if(!r.has(e)||(r.delete(e),r.size>0))continue;this.defaultRuleIdsByMasterUid.delete(t);let l=this.defaultRuleMasterDisposers.get(t);l&&l(),this.defaultRuleMasterDisposers.delete(t)}}rescheduleAllRules(){if(!this.options.isDisposed()){for(let e of(this.lastRuleWriteByTargetKey.clear(),this.rules.values()))e.state.runSeq+=1;for(let e of this.rules.keys())this.scheduleRule(e)}}scheduleRule(e){if(this.options.isDisposed())return;let t=this.rules.get(e);if(!t)return;let{rule:l,state:r}=t;r.scheduledAtWriteSeq=this.options.getWriteSeq();let n=(null==l?void 0:l.debounceMs)??0;if(this.pendingRuleIds.add(e),n>0){let t=Date.now()+n;t>(this.ruleDebounceUntilById.get(e)||0)&&this.ruleDebounceUntilById.set(e,t);let l=this.ruleDebounceTimersById.get(e);l&&clearTimeout(l);let r=setTimeout(()=>{this.ruleDebounceTimersById.delete(e),!this.rulesEnabled||this.runningRules||this.pendingRuleIds.has(e)&&this.flushRules()},n);this.ruleDebounceTimersById.set(e,r)}else{let t=this.ruleDebounceTimersById.get(e);t&&clearTimeout(t),this.ruleDebounceTimersById.delete(e),this.ruleDebounceUntilById.delete(e)}!this.rulesEnabled||this.runningRules||this.flushRules()}async flushRules(){if(this.runningRules)return;this.runningRules=!0;let e=this.currentRuleTxId||(0,S.ao)();this.currentRuleTxId=e;try{for(;this.pendingRuleIds.size;){let e=Date.now(),t=[];for(let l of this.pendingRuleIds)(this.ruleDebounceUntilById.get(l)||0)>e||t.push(l);if(!t.length)break;for(let e of t)this.pendingRuleIds.delete(e),this.ruleDebounceUntilById.delete(e);for(let e of(t.sort((e,t)=>{var l,r;let n=null==(l=this.rules.get(e))?void 0:l.rule,i=null==(r=this.rules.get(t))?void 0:r.rule,o=(null==n?void 0:n.priority)??0,a=(null==i?void 0:i.priority)??0;return o!==a?o-a:e.localeCompare(t)}),t))await this.runRule(e)}}finally{this.runningRules=!1,this.currentRuleTxId=null,this.options.txWriteCounts.delete(e)}}async runRule(e){let t=this.rules.get(e);if(!t)return;let{rule:l,state:r}=t;r.runSeq+=1;let n=r.runSeq,i=r.scheduledAtWriteSeq,o=this.prepareRuleContext(l),{baseCtx:a,targetNamePath:s,targetKey:d,clearDeps:u,disposeBinding:c}=o;if(!this.shouldRunRule(l,s,d,a)||!s||!d){u(r),c();return}let p=s,h=d,{collector:f,evalCtx:m}=this.createRuleCollectorAndContext(l,o);if(l.getCondition&&!await this.evaluateRuleCondition(l,r,n,m,f))return;let g=await this.resolveRuleValue(l,r,n,m,f);if(g===F||n!==r.runSeq)return;this.commitRuleDeps(l,r,f);let v=this.getToManyAggregateSourceInfo(a,l.getValue()),y=this.normalizeUnresolvedToManyAggregateForScalarTarget(a,p,g,v);if(y.skip)return;let b=y.hasValue?y.value:g,w=this.normalizeResolvedValueForTarget(a,b),S=this.normalizeResolvedValueForAssociationTarget(a,p,w),A=this.normalizeAggregateArrayForScalarTarget(a,p,S,v);if(A===F||this.shouldSkipEmptyArrayAggregateForScalarTarget(a,p,A)||this.shouldSkipMultiValueAggregateForScalarTarget(a,p,A,v)||"default"===l.source&&!this.checkDefaultRuleCanApply(A,p,h,u,c,r))return;if("override"===l.source&&this.options.findUserEditedHit(h))return void c();if("default"===l.source){let e=this.lastRuleWriteByTargetKey.get(h);if((null==e?void 0:e.source)==="default"&&e.priority>l.priority&&e.writeSeq>=i)return void c()}if("system"===l.source||"override"===l.source){let e=this.options.lastWriteMetaByPathKey.get(h);if((null==e?void 0:e.source)==="linkage"&&e.writeSeq>=i)return void c()}if(this.shouldSkipAssociationNestedWrite(a,p)||this.shouldSkipToManyAssociationWriteWithoutIndex(a,p))return;let M=A;if(this.isAssociationTargetSemanticallyEqual(a,p,this.options.getFormValueAtPath(p),M))return;let k=this.collectUpdateAssociationInitPatches(a,p);if(null==k)return;if("system"===l.source||"default"===l.source||"override"===l.source){var C,P;let e=null==a?void 0:a.model,t=null==e||null==(C=e.subModels)?void 0:C.field;if(t){let l=this.getModelTargetNamePath(e);l&&(0,x.Qc)(l)===h&&(e.setProps({value:A}),null==(P=t.setProps)||P.call(t,{value:A}))}}let j=this.options.getWriteSeq(),E=[...k,{path:p,value:A}];await this.options.setFormValues(m,E,{source:l.source,txId:this.currentRuleTxId||void 0});let R=this.options.getWriteSeq();R!==j&&this.lastRuleWriteByTargetKey.set(h,{source:l.source,priority:l.priority,writeSeq:R})}isTzAwareTargetInterface(e){return"string"==typeof e&&["datetime","createdAt","updatedAt","unixTimestamp"].includes(e)}normalizeDateOnlyToStartOfDayIso(e){let t=String(e||"").trim();if(!t||!/^\d{4}-\d{2}-\d{2}$/.test(t))return e;let l=(0,w.dayjs)(t,"YYYY-MM-DD",!0);return l.isValid()?l.startOf("day").toISOString():e}normalizeResolvedValueForTarget(e,t){var l,r,n;let i=null==e||null==(n=e.model)||null==(r=n.context)||null==(l=r.collectionField)?void 0:l.interface;return this.isTzAwareTargetInterface(i)?"string"==typeof t?this.normalizeDateOnlyToStartOfDayIso(t):Array.isArray(t)?t.map(e=>"string"==typeof e?this.normalizeDateOnlyToStartOfDayIso(e):e):t:t}isPrimitiveAssociationTargetValue(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e}extractAssociationIdentity(e,t){let l=this.getAssociationTargetKeyFields(e),r=1===l.length?l[0]:null,n=e=>{if(null==e)return e;if(this.isPrimitiveAssociationTargetValue(e))return r?e:k;if(!e||"object"!=typeof e)return k;if(r)return void 0===e[r]?k:e[r];let t={};for(let r of l){if(void 0===e[r])return k;t[r]=e[r]}return t};if((0,A.E4)(e)){let e=Array.isArray(t)?t:[t],l=[];for(let t of e){if(null==t)continue;let e=n(t);if(e===k)return k;l.push(e)}return l}let i=Array.isArray(t)?t.find(e=>null!=e):t;return null==i?i:n(i)}isAssociationTargetSemanticallyEqual(e,t,l,r){var n;let i=this.resolveCollectionFieldByNamePath(e,t);if(!(null==i||null==(n=i.isAssociationField)?void 0:n.call(i)))return u().isEqual(l,r);let o=this.extractAssociationIdentity(i,l),a=this.extractAssociationIdentity(i,r);return o===k||a===k?u().isEqual(l,r):u().isEqual(o,a)}resolveCollectionFieldByNamePath(e,t){if(!Array.isArray(t)||!t.length)return null;let l=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==l?void 0:l.getField))return null;for(let e=0;e<t.length;e++){var r,n;let i=t[e];if("string"!=typeof i||!i)break;let o=null==l||null==(r=l.getField)?void 0:r.call(l,i);if(!o)break;if(e===t.length-1)return o;if(!(null==o||null==(n=o.isAssociationField)?void 0:n.call(o))||!(null==o?void 0:o.targetCollection))break;if((0,A.E4)(o)){if("number"!=typeof t[e+1])return null;e+=1}if(!(null==(l=o.targetCollection)?void 0:l.getField))break}return null}normalizeResolvedValueForAssociationTarget(e,t,l){var r;let n=this.resolveCollectionFieldByNamePath(e,t);if(!(null==n||null==(r=n.isAssociationField)?void 0:r.call(n)))return l;let i=this.getAssociationTargetKeyFields(n),o=1===i.length?i[0]:null,a=e=>{if(null!=e)return o&&this.isPrimitiveAssociationTargetValue(e)?{[o]:e}:e};if((0,A.E4)(n))return(Array.isArray(l)?l:[l]).map(e=>a(e)).filter(e=>null!=e);let s=Array.isArray(l)?l.find(e=>null!=e):l;return null==s?s:a(s)}prepareRuleContext(e){let t=e.getContext(),l=e.getTarget(),r=this.options.tryResolveNamePath(t,l),n=r?(0,x.Qc)(r):null,i=()=>{if(!n)return;let t=this.options.observableBindings.get(n);t&&t.source===e.source&&(t.dispose(),this.options.observableBindings.delete(n))};return{baseCtx:t,targetNamePath:r,targetKey:n,clearDeps:e=>{e.depDisposers.forEach(e=>e()),e.depDisposers=[],e.deps=new Set},disposeBinding:i}}shouldApplyDefaultRuleInCurrentState(e){var t,l,r;return"update"!==(null==(t=(l=this.options).getActionName)?void 0:t.call(l))||(null==(r=this.getItemContext(e))?void 0:r.__is_new__)===!0}isStaleToManyItemContext(e){let t=this.getItemContext(e);return!!Number.isFinite(null==t?void 0:t.index)&&!!Number.isFinite(null==t?void 0:t.length)&&(t.index<0||t.index>=t.length)}getItemContext(e){try{return null==e?void 0:e.item}catch{return}}getRowTargetKey(e,t){var l,r,n,i;let o,a,s=this.getRootCollection()||this.getCollectionFromContext(e);for(let e of t)if("number"!=typeof e){if("string"!=typeof e||!e||!(null==s?void 0:s.getField)||(o=null==s||null==(n=s.getField)?void 0:n.call(s,e),!(null==o||null==(i=o.isAssociationField)?void 0:i.call(o))))break;a=o,s=null==o?void 0:o.targetCollection}let d=(null==a||null==(l=a.targetCollection)?void 0:l.filterTargetKey)??(null==a||null==(r=a.targetCollection)?void 0:r.filterByTk)??(null==a?void 0:a.targetKey);if(Array.isArray(d)){let e=d.filter(e=>"string"==typeof e&&!!e);return e.length?e:"id"}return"string"==typeof d&&d?d:"id"}isMismatchedToManyItemContext(e,t){let l=this.getItemContext(e);if(!l)return!1;for(let r=t.length-1;r>=0;r--){if("number"!=typeof t[r])continue;let n=t.slice(0,r+1),i=this.getRowTargetKey(e,n),o=this.options.getFormValueAtPath(n),a=(0,M.r5)(o,i),s=(0,M.r5)(l.value,i);return!!a&&!!s&&a!==s}return!1}shouldRunRule(e,t,l,r){return!(!e.getEnabled()||!t||!l||this.isStaleToManyItemContext(r)||this.isMismatchedToManyItemContext(r,t)||"default"===e.source&&(!this.shouldApplyDefaultRuleInCurrentState(r)||this.options.findExplicitHit(l)))&&!("override"===e.source&&this.options.findUserEditedHit(l))}createRuleCollectorAndContext(e,t){var l;let{baseCtx:r,targetNamePath:n}=t,i=e.getValue(),o=(0,a.isRunJSValue)(i),s={deps:new Set,wildcard:!1};if(e.getCondition&&(0,y.G)(e.getCondition(),s),o?(0,y.Wp)(i,s):(0,y.G)(i,s),n)for(let e of((0,y.Dd)(n,s),this.collectAssociationPrefixPaths(r,n)))(0,y.Dd)(e,s);let d=this.createRuleEvaluationContext(r,s,n,null==(l=e.getContractModelUid)?void 0:l.call(e));return{collector:s,evalCtx:d,rawValue:i,isRunJS:o}}async evaluateRuleCondition(e,t,l,r,n){let i=e.getCondition;if(!i)return!0;let o=i(),a=o;if(o)try{var s;a=await (null==r||null==(s=r.resolveJsonTemplate)?void 0:s.call(r,o))}catch{a=o}return l===t.runSeq&&(!o||!!(0,v.F)(r,a)||(this.commitRuleDeps(e,t,n),!1))}async resolveRuleValue(e,t,l,r,n){let i=e.getValue();return(0,a.isRunJSValue)(i)?this.resolveRunJSValue(i,t,l,r,n,e):this.resolveTemplateValue(i,t,l,r,n,e)}async resolveRunJSValue(e,t,l,r,n,i){try{let{code:o,version:s}=(0,a.normalizeRunJSValue)(e),d=await r.runjs(o,void 0,{version:s});if(!(null==d?void 0:d.success)){if(l!==t.runSeq)return F;return this.commitRuleDeps(i,t,n),F}return d.value}catch{if(l!==t.runSeq)return F;return this.commitRuleDeps(i,t,n),F}}async resolveTemplateValue(e,t,l,r,n,i){try{var o;return await (null==r||null==(o=r.resolveJsonTemplate)?void 0:o.call(r,e))}catch{if(l!==t.runSeq)return F;return this.commitRuleDeps(i,t,n),F}}commitRuleDeps(e,t,l){let r=new Set(l.deps);l.wildcard&&r.add("fv:*"),this.updateRuleDeps(e,t,r)}isScalarValueTarget(e,t){var l;let r=this.resolveCollectionFieldByNamePath(e,t);return!((null==r||null==(l=r.isAssociationField)?void 0:l.call(r))&&(0,A.E4)(r)||this.isArrayValueCollectionField(r))&&(!!r||!Array.isArray(this.options.getFormValueAtPath(t)))}shouldSkipEmptyArrayAggregateForScalarTarget(e,t,l){return!!Array.isArray(l)&&!(l.length>0)&&this.isScalarValueTarget(e,t)}normalizeUnresolvedToManyAggregateForScalarTarget(e,t,l,r){return void 0===l&&r&&this.isScalarValueTarget(e,t)?Array.isArray(r.arrayValue)&&0===r.arrayValue.length?this.isUserClearedToManyAggregate(r)?{skip:!1,hasValue:!0,value:this.getClearedAggregateValueForScalarTarget(e,t)}:{skip:!0,hasValue:!1}:Array.isArray(r.arrayValue)&&r.arrayValue.length>0?{skip:!0,hasValue:!1}:{skip:!1,hasValue:!1}:{skip:!1,hasValue:!1}}isArrayValueCollectionField(e){var t,l;if(!e||"object"!=typeof e)return!1;let r=e;return!0===r.multiple||"array"===r.type||"array"===((null==(t=r.uiSchema)?void 0:t.type)??(null==(l=r.schema)?void 0:l.type))||["multipleSelect","checkboxGroup","json"].includes("string"==typeof r.interface?r.interface:"")}stringifyAggregateItem(e){if(e&&"object"==typeof e)try{return JSON.stringify(e)}catch{}return String(e)}normalizeAggregateArrayForScalarTarget(e,t,l,r){if(!Array.isArray(l)||!this.isScalarValueTarget(e,t)||!r)return l;let n=l.filter(e=>null!=e);return n.length?1===n.length?n[0]:this.isTextScalarTarget(e,t)?n.map(e=>this.stringifyAggregateItem(e)).join(", "):F:this.isUserClearedToManyAggregate(r)?this.getClearedAggregateValueForScalarTarget(e,t):F}shouldSkipMultiValueAggregateForScalarTarget(e,t,l,r){return!!r&&!!Array.isArray(l)&&!(l.length<=1)&&!!this.isScalarValueTarget(e,t)&&!this.isTextScalarTarget(e,t)}getClearedAggregateValueForScalarTarget(e,t){if(this.isTextScalarTarget(e,t))return""}isUserClearedToManyAggregate(e){var t;return(null==(t=e.lastWrite)?void 0:t.source)==="user"}isTextScalarTarget(e,t){var l,r,n;let i=this.resolveCollectionFieldByNamePath(e,t);if(!i){let e=this.options.getFormValueAtPath(t);return void 0===e||null==e||"string"==typeof e}if((null==i||null==(l=i.isAssociationField)?void 0:l.call(i))||this.isArrayValueCollectionField(i))return!1;let o=i,a=(null==(r=o.uiSchema)?void 0:r.type)??(null==(n=o.schema)?void 0:n.type);return"string"===o.type||"text"===o.type||"string"===a||["input","textarea","email","phone","url","uuid","nanoid","markdown","richText","vditor","password","color"].includes("string"==typeof o.interface?o.interface:"")}getLatestWriteMetaForPath(e){let t=(0,x.Qc)(e),l=this.options.lastWriteMetaByPathKey.get(t);for(let[e,r]of this.options.lastWriteMetaByPathKey.entries())(e===t||e.startsWith(`${t}.`)||e.startsWith(`${t}[`))&&(!l||r.writeSeq>l.writeSeq)&&(l=r);return l}getToManyAggregateSourceInfo(e,t){let l=this.extractSingleLocalFormValuesPath(t);if(!l)return null;let r=(0,x.EA)(l).filter(e=>"object"!=typeof e);if(r.length<2)return null;let n=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==n?void 0:n.getField))return null;let i=[];for(let t=0;t<r.length-1;t++){var o,a;let s=r[t];if("string"!=typeof s)break;let d=null==n||null==(o=n.getField)?void 0:o.call(n,s);if(!(null==d||null==(a=d.isAssociationField)?void 0:a.call(d)))break;if(i.push(s),(0,A.E4)(d)){let t=this.options.getFormValueAtPath(i),r=this.getLocalFormValuesSnapshot(e),n=r&&"object"==typeof r?u().get(r,i):void 0;return{subPath:l,arrayPath:[...i],arrayValue:void 0!==t?t:n,lastWrite:this.getLatestWriteMetaForPath(i)}}if(!(null==(n=d.targetCollection)?void 0:n.getField))break}return null}checkDefaultRuleCanApply(e,t,l,r,n,i){if(void 0===e)return!1;if(this.options.findExplicitHit(l))return r(i),n(),!1;let o=this.options.getFormValueAtPath(t),a=this.options.lastDefaultValueByPathKey.get(l),s=(0,S.Po)(o)||void 0!==a&&u().isEqual(o,a),d=(0,g.isObservable)(e)?(0,g.toJS)(e):e;return!s&&u().isEqual(o,d)?(this.options.lastDefaultValueByPathKey.set(l,d),!1):s}createRuleEvaluationContext(e,t,l,r){var n;let i,o=this.options.createTrackingFormValues(t),s=new a.FlowContext;try{s.delegate(e)}catch{}let d=null==e||null==(n=e.getPropertyOptions)?void 0:n.call(e,"formValues");d&&"object"==typeof d?s.defineProperty("formValues",{...d,get:()=>o,cache:!1}):s.defineProperty("formValues",{get:()=>o,cache:!1});let u="function"==typeof s.resolveJsonTemplate?s.resolveJsonTemplate.bind(s):void 0;s.defineMethod("resolveJsonTemplate",async l=>{let n=this.createLocalTemplateTokenStore(),i=this.resolveLocalFormValuesTemplates(e,l,t,n),o=i.matched?i.value:l,a=u?await u(o,r?{contractModelUid:r}:void 0):o;return this.restoreLocalTemplateTokens(a,n)});let c=!1,p=()=>(c||(i=this.buildItemChainValue(e,o,l)??(null==e?void 0:e.item),c=!0),i);return s.defineProperty("item",{get:p,cache:!1}),s}getLocalFormValuesSnapshot(e){try{var t;let l=null==e||null==(t=e.getFormValues)?void 0:t.call(e);if(l&&"object"==typeof l)return l}catch{}let l=this.options.valuesMirror;return(0,g.isObservable)(l)?(0,g.toJS)(l):l}resolveLocalFormValuesPath(e,t){let l=this.getLocalFormValuesSnapshot(e);if(l&&"object"==typeof l)return(0,c.Dw)(l,t)}recordLocalFormValuesDep(e,t){let l=(0,x.EA)(e).filter(e=>"object"!=typeof e);if(!l.length){t&&(t.wildcard=!0);return}(0,y.Dd)(l,t)}extractSingleLocalFormValuesPath(e){if("string"!=typeof e)return null;let t=e.match(/^\s*\{\{\s*ctx\.formValues\.([a-zA-Z_$][a-zA-Z0-9_$-]*(?:\.[a-zA-Z_$][a-zA-Z0-9_$-]*)*)\s*\}\}\s*$/);return(null==t?void 0:t[1])??null}stringifyTemplateReplacement(e){if(void 0!==e)return e&&"object"==typeof e?JSON.stringify(e):String(e)}createLocalTemplateTokenStore(){let e=new Map,t=0;return{values:e,protect(l){let r=`__NOCObase_FORM_VALUE_LITERAL_${t}__`;return t+=1,e.set(r,l),r}}}restoreLocalTemplateTokens(e,t){if(!t.values.size)return e;if("string"==typeof e){if(t.values.has(e))return t.values.get(e);let l=e;for(let[e,r]of t.values.entries())l.includes(e)&&(l=l.split(e).join(this.stringifyTemplateReplacement(r)??""));return l}if(Array.isArray(e))return e.map(e=>this.restoreLocalTemplateTokens(e,t));if(u().isPlainObject(e)){let l={};for(let[r,n]of Object.entries(e))l[r]=this.restoreLocalTemplateTokens(n,t);return l}return e}resolveLocalFormValuesTemplates(e,t,l,r){if("string"==typeof t){let n=this.extractSingleLocalFormValuesPath(t);if(n){this.recordLocalFormValuesDep(n,l);let i=this.resolveLocalFormValuesPath(e,n);return void 0!==i?{matched:!0,value:r?r.protect(i):i}:{matched:!1,value:t}}let i=!1,o=t.replace(/\{\{\s*ctx\.formValues\.([a-zA-Z_$][a-zA-Z0-9_$-]*(?:\.[a-zA-Z_$][a-zA-Z0-9_$-]*)*)\s*\}\}/g,(t,n)=>{this.recordLocalFormValuesDep(n,l);let o=this.resolveLocalFormValuesPath(e,n),a=this.stringifyTemplateReplacement(o);return void 0===a?t:(i=!0,r?r.protect(a):a)});return{matched:i,value:o}}if(Array.isArray(t)){let n=!1,i=t.map(t=>{let i=this.resolveLocalFormValuesTemplates(e,t,l,r);return i.matched&&(n=!0),i.value});return n?{matched:n,value:i}:{matched:!1,value:t}}if(u().isPlainObject(t)){let n=!1,i={};for(let[o,a]of Object.entries(t)){let t=this.resolveLocalFormValuesTemplates(e,a,l,r);t.matched&&(n=!0),i[o]=t.value}return n?{matched:n,value:i}:{matched:!1,value:t}}return{matched:!1,value:t}}buildItemChainValue(e,t,l){let r=this.getRootCollection()||this.getCollectionFromContext(e),n=(e,t,l,r)=>({index:t,length:l,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:r}),i=this.options.getBlockContext(),o=(()=>{try{let e=null==i?void 0:i.item;if(!e||"object"!=typeof e)return;return e.value===(null==i?void 0:i.formValues)?e:void 0}catch{return}})(),a={...n(t,null==o?void 0:o.index,null==o?void 0:o.length,null==o?void 0:o.parentItem),__is_new__:(null==o?void 0:o.__is_new__)??(null==t?void 0:t.__is_new__),__is_stored__:(null==o?void 0:o.__is_stored__)??(null==t?void 0:t.__is_stored__)};if(!l||!Array.isArray(l)||!l.length||!(null==r?void 0:r.getField))return;let s=[],d=[],c=r;for(let e=0;e<l.length;e++){var p,h;let t=l[e];if("string"!=typeof t)break;let r=null==c||null==(p=c.getField)?void 0:p.call(c,t);if(!(null==r||null==(h=r.isAssociationField)?void 0:h.call(r)))break;let n=(0,A.E4)(r);if(d.push(t),n){let t=l[e+1];if("number"==typeof t)d.push(t),e+=1;else if(e!==l.length-1)break}let i=null==r?void 0:r.targetCollection;if(!i)break;s.push({path:[...d],toMany:n}),c=i}let f=e=>{if(e<0)return a;let l=s[e],r=u().get(t,l.path),i=l.path[l.path.length-1],o=l.toMany&&"number"==typeof i,d=o?i:void 0,c=(()=>{if(!l.toMany)return;if(!o)return Array.isArray(r)?r.length:void 0;let e=l.path.slice(0,-1),n=u().get(t,e);return Array.isArray(n)?n.length:void 0})();return n(r,d,c,f(e-1))};return s.length?f(s.length-1):void 0}getFieldIndexSignature(e){var t,l;let r=(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex);return(Array.isArray(r)?r:[]).filter(e=>"string"==typeof e).join("|")}updateRuleDeps(e,t,l){var r,n;if(t.depDisposers.forEach(e=>e()),t.depDisposers=[],t.deps=l,l.has("fv:*")){let l=(0,g.reaction)(()=>this.options.changeTick.value,()=>this.scheduleRule(e.id));t.depDisposers.push(l)}let i=(()=>{try{return e.getContext()}catch{return}})(),o=(null==i||null==(n=i.model)||null==(r=n.context)?void 0:r.fieldIndex)??(null==i?void 0:i.fieldIndex);if(Array.isArray(o)&&o.some(e=>"string"==typeof e)){let l=(0,g.reaction)(()=>this.getFieldIndexSignature(i),()=>this.scheduleRule(e.id));t.depDisposers.push(l)}for(let r of l){if("fv:*"===r)continue;if(!r.startsWith("fv:")&&!r.startsWith("ctx:")){let l=(0,x.c1)(r),n=(0,g.reaction)(()=>u().get(this.options.valuesMirror,l),()=>this.scheduleRule(e.id));t.depDisposers.push(n);continue}if(r.startsWith("fv:")){let l=r.slice(3),n=(0,x.c1)(l),i=(0,g.reaction)(()=>u().get(this.options.valuesMirror,n),()=>this.scheduleRule(e.id));t.depDisposers.push(i);continue}let l=r.slice(4),n=l.indexOf(":"),o=n>=0?l.slice(0,n):l,a=n>=0?l.slice(n+1):"",s=a?(0,x.EA)(a).filter(e=>"object"!=typeof e):[];if("item"===o){if(s.length){let l=this.options.createTrackingFormValues({deps:new Set,wildcard:!1}),r=(0,g.reaction)(()=>{var t;let r=null==(t=e.getTarget)?void 0:t.call(e),n=r?this.options.tryResolveNamePath(i,r):null,o=this.buildItemChainValue(i,l,n)??(null==i?void 0:i.item);return u().get(o,s)},()=>this.scheduleRule(e.id));t.depDisposers.push(r)}continue}let d=(0,g.reaction)(()=>{let e=i?i[o]:void 0;return s.length?u().get(e,s):e},()=>this.scheduleRule(e.id));t.depDisposers.push(d)}}constructor(e){(0,r._)(this,"options",void 0),(0,r._)(this,"rules",new Map),(0,r._)(this,"lastRuleWriteByTargetKey",new Map),(0,r._)(this,"assignTemplatesByTargetPath",new Map),(0,r._)(this,"formItemTargetPaths",new Set),(0,r._)(this,"updateAssociationByTargetPath",new Map),(0,r._)(this,"pendingRuleIds",new Set),(0,r._)(this,"ruleDebounceUntilById",new Map),(0,r._)(this,"ruleDebounceTimersById",new Map),(0,r._)(this,"defaultRuleIdsByMasterUid",new Map),(0,r._)(this,"defaultRuleMasterDisposers",new Map),(0,r._)(this,"runningRules",!1),(0,r._)(this,"rulesEnabled",!1),(0,r._)(this,"currentRuleTxId",null),this.options=e}}class R{syncAssignRules(e){this.ruleEngine.syncAssignRules(e)}get formValues(){return this.disposed||this.formPatcher.patch(this.getForm()),this.formValuesProxy}getFormValuesSnapshot(){if(!this.disposed){let e=this.getForm();this.formPatcher.patch(e)}return this.getForm().getFieldsValue(!0)}getUserEditedValuePatches(){let e=this.getFormValuesSnapshot();if(!e||"object"!=typeof e)return[];let t=[];for(let l of Array.from(this.userEditedSet).sort((e,t)=>(0,x.c1)(e).length-(0,x.c1)(t).length)){if(!this.isCurrentUserEditedPath(l))continue;let r=(0,x.c1)(l);if(!r.length||!u().has(e,r))continue;let n=u().get(e,r);void 0!==n&&t.push({path:r,value:this.omitNonUserDescendantValues(l,this.toMirrorSnapshot(n))})}return t}getUserEditedValuesSnapshot(){let e={};for(let t of this.getUserEditedValuePatches())u().set(e,t.path,t.value);return e}toMirrorSnapshot(e){let t=e=>u().cloneDeepWith(e,e=>{if((0,g.isObservable)(e)){let l=(0,g.toJS)(e);if(l!==e)return t(l)}if(Array.isArray(e)&&"function"!=typeof e.constructor){let l=Array(e.length);for(let r=0;r<e.length;r++)Object.hasOwn(e,r)&&(l[r]=t(e[r]));return l}if(e&&"object"==typeof e&&!(Array.isArray(e)||u().isPlainObject(e)))return e});return t(e)}canApplyDefaultValuePatch(e,t){if(!(null==e?void 0:e.length)||void 0===t)return!1;let l=(0,x.Qc)(e),r=this.getFormValueAtPath(e),n=this.lastDefaultValueByPathKey.get(l),i=(0,g.isObservable)(t)?(0,g.toJS)(t):t,o=(0,g.isObservable)(r)?(0,g.toJS)(r):r,a=void 0!==n&&u().isEqual(o,n);if(this.findExplicitHit(l)&&!a)return!1;let s=(0,S.Po)(r)||a;return!s&&u().isEqual(r,i)?(this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(i)),!1):s}canApplyOverrideValuePatch(e){return!!(null==e?void 0:e.length)&&!this.findUserEditedHit((0,x.Qc)(e))}recordDefaultValuePatch(e,t){if(!(null==e?void 0:e.length))return;let l=(0,x.Qc)(e),r=arguments.length>=2?(0,g.isObservable)(t)?(0,g.toJS)(t):t:this.getFormValueAtPath(e);this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(r));let n=this.getFormValueAtPath(e),i=(0,g.isObservable)(n)?(0,g.toJS)(n):n;u().isEqual(i,r)&&this.clearExplicitForDefaultPatch(l)}getFormValueAtPath(e){var t,l;let r=null==(t=(l=this).getForm)?void 0:t.call(l);if(r&&"function"==typeof r.getFieldValue)return r.getFieldValue(e);if(r&&"function"==typeof r.getFieldsValue){let t=r.getFieldsValue(!0);return u().get(t,e)}}mount(e){var t,l;if(this.disposed)return;this.formPatcher.patch(this.getForm());let r=null==(l=this.model)||null==(t=l.flowEngine)?void 0:t.emitter;if(r&&(this.mountedListener||this.unmountedListener||(this.mountedListener=e=>{let{model:t}=e;this.indexMountedFieldModelTree(t),this.ruleEngine.onModelMounted(t)},this.unmountedListener=e=>{let{model:t}=e;this.unindexMountedFieldModelTree(t),this.ruleEngine.onModelUnmounted(t)},r.on("model:mounted",this.mountedListener),r.on("model:unmounted",this.unmountedListener)),this.rebuildMountedFieldModelIndex(),null==e?void 0:e.sync)){let e=this.getFormValuesSnapshot();e&&"object"==typeof e&&(u().merge(this.valuesMirror,this.toMirrorSnapshot(e)),this.bumpChangeTick()),this.ruleEngine.enable()}}dispose(){var e,t;if(this.disposed)return;this.disposed=!0,this.formPatcher.restore();let l=null==(t=this.model)||null==(e=t.flowEngine)?void 0:e.emitter;for(let e of(l&&this.mountedListener&&this.unmountedListener&&(l.off("model:mounted",this.mountedListener),l.off("model:unmounted",this.unmountedListener)),this.ruleEngine.dispose(),this.mountedFieldModelsByPathKey.clear(),this.observableBindings.values()))e.dispose();this.observableBindings.clear(),this.txWriteCounts.clear()}resetAfterFormReset(){if(this.disposed)return;for(let e of(this.explicitSet.clear(),this.userEditedSet.clear(),this.lastDefaultValueByPathKey.clear(),this.lastWriteMetaByPathKey.clear(),this.txWriteCounts.clear(),this.lastObservedChangedPaths=null,this.lastObservedSource=null,this.lastObservedToken+=1,this.observableBindings.values()))e.dispose();this.observableBindings.clear();let e=this.getFormValuesSnapshot();for(let e of Object.keys(this.valuesMirror))delete this.valuesMirror[e];e&&"object"==typeof e&&u().merge(this.valuesMirror,this.toMirrorSnapshot(e)),this.writeSeq+=1,this.bumpChangeTick(),this.ruleEngine.rescheduleAllRules()}resetUserEditedState(){this.disposed||(this.userEditedSet.clear(),this.ruleEngine.rescheduleAllRules())}isSuppressed(){return this.suppressFormCallbackDepth>0}handleFormFieldsChange(e){if(this.disposed)return;let t=this.getForm();if(!t.getFieldValue)return;let l=[],r=new Set,n=!1,i=!1;for(let o of e||[]){let e=null==o?void 0:o.name,a=this.normalizeObservedNamePath(e);if(!(null==a?void 0:a.length))continue;let s=t.getFieldValue(a),d=u().get(this.valuesMirror,a);if(!u().isEqual(s,d)&&(i||(this.writeSeq+=1,i=!0),u().set(this.valuesMirror,a,this.toMirrorSnapshot(s)),l.push(a),(null==o?void 0:o.touched)===!0&&!this.shouldIgnoreSyntheticTouchedInit(a,d,s))){let e=(0,x.Qc)(a);this.shouldKeepDefaultPathValueEnabled(a,s)||(r.add(e),n=!0)}}if(!l.length)return;let o=this.isSuppressed();if(!o&&r.size)for(let e of r)this.markExplicit(e),this.markUserEdited(e);if(this.bumpChangeTick(),o)return;let a=n?"user":"system",s=this.writeSeq;for(let e of l)this.lastWriteMetaByPathKey.set((0,x.Qc)(e),{source:a,writeSeq:s});this.lastObservedChangedPaths=l,this.lastObservedSource=a;let d=++this.lastObservedToken;queueMicrotask(()=>{this.disposed||this.lastObservedToken===d&&(this.lastObservedChangedPaths=null,this.lastObservedSource=null)})}shouldIgnoreSyntheticTouchedInit(e,t,l){if(!(null==e?void 0:e.length)||void 0!==t||!(0,S.Po)(l))return!1;for(let t=e.length-1;t>=0;t--){if("number"!=typeof e[t])continue;let l=e.slice(0,t+1),r=this.getFormValueAtPath(l);return!!(null==r?void 0:r.__is_new__)}return!1}isDeletedArrayItemPath(e,t){let l=Array.isArray(e)?e:(0,x.c1)(e);if(!(null==l?void 0:l.length))return!1;for(let e=l.length-1;e>=0;e--){if("number"!=typeof l[e])continue;let r=l.slice(0,e+1);return void 0===u().get(t,r)}return!1}pruneDeletedArrayItemState(e){for(let t of Array.from(this.explicitSet))this.isDeletedArrayItemPath(t,e)&&this.explicitSet.delete(t);for(let t of Array.from(this.userEditedSet))this.isDeletedArrayItemPath(t,e)&&this.userEditedSet.delete(t);for(let t of Array.from(this.lastDefaultValueByPathKey.keys()))this.isDeletedArrayItemPath(t,e)&&this.lastDefaultValueByPathKey.delete(t);for(let t of Array.from(this.lastWriteMetaByPathKey.keys()))this.isDeletedArrayItemPath(t,e)&&this.lastWriteMetaByPathKey.delete(t);for(let[t,l]of Array.from(this.observableBindings.entries()))this.isDeletedArrayItemPath(t,e)&&(l.dispose(),this.observableBindings.delete(t))}getArrayItemTargetKey(e){var t,l,r,n,i,o;let a,s,d=null==(l=this.model)||null==(t=l.context)?void 0:t.collection;for(let t of e||[])if("number"!=typeof t){if("string"!=typeof t||!(null==d?void 0:d.getField)||(a=null==d||null==(i=d.getField)?void 0:i.call(d,t),!(null==a||null==(o=a.isAssociationField)?void 0:o.call(a))))break;s=a,d=null==a?void 0:a.targetCollection}let u=(null==s||null==(r=s.targetCollection)?void 0:r.filterTargetKey)??(null==s||null==(n=s.targetCollection)?void 0:n.filterByTk)??(null==s?void 0:s.targetKey);if(Array.isArray(u)){let e=u.filter(e=>"string"==typeof e&&!!e);return e.length?e:"id"}return"string"==typeof u&&u?u:"id"}getArrayItemIdentity(e,t){return(0,M.r5)(e,this.getArrayItemTargetKey(t))}reconcileArrayItemState(e,t,l){let r=new Set;for(let n of e||[]){if(!(null==n?void 0:n.length))continue;let e=(0,x.Qc)(n);if(r.has(e))continue;r.add(e);let i=u().get(this.valuesMirror,n),o=this.getObservedChangedValue(n,t,l);if(!Array.isArray(i)||!Array.isArray(o))continue;let a=new Map;o.forEach((e,t)=>{let l=this.getArrayItemIdentity(e,n);l&&a.set(l,t)}),a.size&&(this.reconcileArrayItemSet(this.explicitSet,n,i,a),this.reconcileArrayItemSet(this.userEditedSet,n,i,a),this.reconcileArrayItemMap(this.lastDefaultValueByPathKey,n,i,a),this.reconcileArrayItemMap(this.lastWriteMetaByPathKey,n,i,a),this.reconcileObservableBindings(n,i,a))}}getReconciledArrayItemPath(e,t,l,r){let n=(0,x.c1)(e);if(n.length<=t.length)return{action:"keep"};for(let e=0;e<t.length;e++)if(n[e]!==t[e])return{action:"keep"};let i=n[t.length];if("number"!=typeof i)return{action:"keep"};let o=this.getArrayItemIdentity(l[i],t);if(!o)return{action:"keep"};let a=r.get(o);if(null==a)return{action:"delete"};if(a===i)return{action:"keep"};let s=[...n];return s[t.length]=a,{action:"move",key:(0,x.Qc)(s)}}reconcileArrayItemSet(e,t,l,r){let n=new Set,i=!1;for(let o of e){let e=this.getReconciledArrayItemPath(o,t,l,r);if("delete"===e.action){i=!0;continue}if("move"===e.action){i=!0,n.add(e.key);continue}n.add(o)}if(i)for(let t of(e.clear(),n))e.add(t)}reconcileArrayItemMap(e,t,l,r){let n=new Map,i=!1;for(let[o,a]of e){let e=this.getReconciledArrayItemPath(o,t,l,r);if("delete"===e.action){i=!0;continue}if("move"===e.action){i=!0,n.set(e.key,a);continue}n.set(o,a)}if(i)for(let[t,l]of(e.clear(),n))e.set(t,l)}reconcileObservableBindings(e,t,l){let r=new Map,n=!1;for(let[i,o]of this.observableBindings){let a=this.getReconciledArrayItemPath(i,e,t,l);if("delete"===a.action){n=!0,o.dispose();continue}if("move"===a.action){n=!0,o.pathKey=a.key,r.set(a.key,o);continue}r.set(i,o)}if(n)for(let[e,t]of(this.observableBindings.clear(),r))this.observableBindings.set(e,t)}getObservedChangedValue(e,t,l){if(u().has(l,e))return u().get(l,e);if((null==e?void 0:e.length)===1){let l=e[0];if(("string"==typeof l||"number"==typeof l)&&t&&Object.prototype.hasOwnProperty.call(t,l))return t[l]}return u().get(l,e)}getObservedSnapshot(e,t){if(!e||"object"!=typeof e)return t;if(!t||"object"!=typeof t)return e;let l=t;for(let r of Object.keys(e))u().has(l,[r])||(l===t&&(l=Array.isArray(t)?[...t]:{...t}),u().set(l,[r],e[r]));return l}handleFormValuesChange(e,t){if(this.disposed||this.isSuppressed())return;let l=Object.keys(e||{}).map(e=>[e]),r=this.lastObservedChangedPaths&&this.lastObservedChangedPaths.length?this.lastObservedChangedPaths:l,n=this.lastObservedSource??"user";this.lastObservedChangedPaths=null,this.lastObservedSource=null;let i=this.getFormValuesSnapshot(),o=i&&"object"==typeof i?i:t&&"object"==typeof t?t:e,a=this.getObservedSnapshot(e,o);this.reconcileArrayItemState([...r,...l],e,a),this.pruneDeletedArrayItemState(a);let s=this.deriveExplicitPaths(r,e,a,this.valuesMirror).filter(e=>!this.isDeletedArrayItemPath(e,a)),d=!1,c=!1,p=[];for(let t of r){if(!(null==t?void 0:t.length))continue;let l=this.getObservedChangedValue(t,e,a),r=u().get(this.valuesMirror,t);u().isEqual(r,l)||(c||(this.writeSeq+=1,c=!0),u().set(this.valuesMirror,t,this.toMirrorSnapshot(l)),d=!0,p.push(t))}d&&this.bumpChangeTick();let h=[];for(let e of s)this.shouldKeepDefaultPathEnabled(e,a)||h.push(e);for(let e of h){let t=(0,x.Qc)(e);this.markExplicit(t),"user"===n&&this.markUserEdited(t)}if(d){let e=this.writeSeq;for(let t of p)(null==t?void 0:t.length)&&this.lastWriteMetaByPathKey.set((0,x.Qc)(t),{source:n,writeSeq:e})}let f=(0,S.ao)();this.emitFormValuesChange({source:n,txId:f,changedPaths:r,changedValues:e,allValues:a,allValuesSnapshot:a})}deriveExplicitPaths(e,t,l,r){let n=[],i=new Set;for(let o of e||[]){if(!(null==o?void 0:o.length))continue;let e=u().get(r,o),a=this.getObservedChangedValue(o,t,l);this.collectExplicitDiffPaths(e,a,o,n,i)}return n}collectExplicitDiffPaths(e,t,l,r,n){if(u().isEqual(e,t))return 0;let i=Array.isArray(e),o=Array.isArray(t);if(i||o){if(i&&o){let i=Math.min(e.length,t.length),o=0;for(let a=0;a<i;a++)o+=this.collectExplicitDiffPaths(e[a],t[a],[...l,a],r,n);return e.length!==t.length?o+ +!!this.pushExplicitPath(l,r,n):o}return+!!this.pushExplicitPath(l,r,n)}let a=this.isPlainObjectValue(e),s=this.isPlainObjectValue(t);if(a||s){if(a&&s){let i=new Set([...Object.keys(e),...Object.keys(t)]),o=0;for(let a of i)o+=this.collectExplicitDiffPaths(e[a],t[a],[...l,a],r,n);return 0===o&&this.isObjectCleared(e,t)?+!!this.pushExplicitPath(l,r,n):o}this.isObjectCleared(e,t)}return+!!this.pushExplicitPath(l,r,n)}pushExplicitPath(e,t,l){if(!(null==e?void 0:e.length))return!1;let r=(0,x.Qc)(e);return!(!r||l.has(r))&&(l.add(r),t.push([...e]),!0)}isPlainObjectValue(e){return u().isPlainObject(e)}isObjectCleared(e,t){return!!this.isPlainObjectValue(e)&&!!(null==t||this.isPlainObjectValue(t)&&0===Object.keys(t).length)}async setFormValues(e,t,l){var r,n,i,o;if(this.disposed)return;let a=null==(r=(n=this).getForm)?void 0:r.call(n);if(!a)return;let s=(null==l?void 0:l.source)??"system",d=(null==l?void 0:l.triggerEvent)!==!1,c=(null==l?void 0:l.txId)??(0,S.ao)(),p=(null==l?void 0:l.markExplicit)??("default"!==s&&"linkage"!==s),h=void 0===(null==l?void 0:l.txId),f="linkage"===s&&Number.isFinite(Number(null==l?void 0:l.linkageScopeDepth))?Number(null==l?void 0:l.linkageScopeDepth):0,m="linkage"===s&&"string"==typeof(null==l?void 0:l.linkageTxId)&&l.linkageTxId?String(l.linkageTxId):void 0,y=e=>{if("linkage"!==s||!m)return!1;let t=this.lastWriteMetaByPathKey.get(e);return!!t&&"linkage"===t.source&&!!t.linkageTxId&&t.linkageTxId===m&&(Number.isFinite(Number(t.linkageScopeDepth))?Number(t.linkageScopeDepth):0)>f},b=e=>"linkage"===s?{source:s,writeSeq:e,linkageScopeDepth:f,linkageTxId:m}:{source:s,writeSeq:e},w=e=>"linkage"===s&&m?{...e,linkageTxId:m}:e;try{let l=[];if(!Array.isArray(t)){let e=Object.entries(t||{}).map(e=>{let[t,l]=e;return[t,this.toMirrorSnapshot(l)]}).filter(e=>{let[t,l]=e;return!y(t)&&!u().isEqual(this.getFormValueAtPath([t]),l)}),l=Object.fromEntries(e),r=e.map(e=>{let[t]=e;return t});if(!r.length)return;r.length&&(this.writeSeq+=1),this.suppressFormCallbackDepth++;try{for(let[t,l]of e)"function"==typeof a.setFieldValue?a.setFieldValue(t,l):"function"==typeof a.setFields?a.setFields([{name:t,value:l}]):null==(i=a.setFieldsValue)||i.call(a,{[t]:l}),u().set(this.valuesMirror,[t],this.toMirrorSnapshot(l)),this.syncMountedFieldModelValue([t],l);this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let n=this.writeSeq;for(let e of r)this.lastWriteMetaByPathKey.set(e,b(n));if(p)for(let e of r)this.markExplicit(e),"user"===s&&this.markUserEdited(e);if(d){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(w({source:s,txId:c,changedPaths:r.map(e=>[e]),changedValues:l,allValues:e,allValuesSnapshot:e}))}return}let r=new Map,n=0;for(let l of t){let t=null==l?void 0:l.condition;if(t&&!(0,v.F)(e,t))continue;let i=this.resolveNamePath(e,l.path),o=(0,x.Qc)(i),a=l.value,s=this.toMirrorSnapshot(a);if(y(o))continue;let d=this.getFormValueAtPath(i);u().isEqual(d,s)||(n+=1,r.set(o,{order:n,namePath:i,value:s,rawValue:a,pathKey:o}))}let h=Array.from(r.values()).sort((e,t)=>e.order-t.order).map(e=>({namePath:e.namePath,value:e.value,rawValue:e.rawValue,pathKey:e.pathKey}));if(!h.length)return;let A=this.txWriteCounts.get(c)||new Map;this.txWriteCounts.set(c,A);let M=[];for(let e of h){let t=(A.get(e.pathKey)||0)+1;A.set(e.pathKey,t),t>S.li||M.push(e)}if(!M.length)return;this.writeSeq+=1;let F=this.writeSeq;for(let{pathKey:e,rawValue:t}of M)if(!(0,g.isObservable)(t)){let t=this.observableBindings.get(e);t&&(t.dispose(),this.observableBindings.delete(e))}this.suppressFormCallbackDepth++;try{for(let{namePath:e,value:t}of M)null==(o=a.setFieldValue)||o.call(a,e,t),u().set(this.valuesMirror,e,this.toMirrorSnapshot(t)),this.syncMountedFieldModelValue(e,t),l.push(e);this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}for(let{pathKey:e}of M)this.lastWriteMetaByPathKey.set(e,b(F));if(p)for(let{pathKey:e}of M)this.markExplicit(e),"user"===s&&this.markUserEdited(e);if("default"===s)for(let{namePath:e,pathKey:t}of M){let l=this.getFormValueAtPath(e);this.lastDefaultValueByPathKey.set(t,this.toMirrorSnapshot(l))}for(let{rawValue:t,pathKey:l}of M){if(!(0,g.isObservable)(t))continue;let r=t,n={source:s,pathKey:l,dispose:()=>{}},i=(0,g.observe)(r,()=>{let t=n.pathKey;this.applyBoundValue(e,(0,x.c1)(t),t,(0,g.toJS)(r),s,f,m)});n.dispose=i;let o=this.observableBindings.get(l);o&&o.dispose(),this.observableBindings.set(l,n)}if(d){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(w({source:s,txId:c,changedPaths:l,changedValues:{},allValues:e,allValuesSnapshot:e}))}}finally{h&&this.txWriteCounts.delete(c)}}applyBoundValue(e,t,l,r,n,i,o){var a,s,d;if(this.disposed)return;let c=null==(a=(s=this).getForm)?void 0:a.call(s);if(!c||"override"===n&&this.findUserEditedHit(l))return;let p=this.toMirrorSnapshot(r),h=u().get(this.valuesMirror,t);if(u().isEqual(h,p))return;this.writeSeq+=1;let f=this.writeSeq;this.suppressFormCallbackDepth++;try{null==(d=c.setFieldValue)||d.call(c,t,p),u().set(this.valuesMirror,t,this.toMirrorSnapshot(p)),this.syncMountedFieldModelValue(t,p),this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let m="linkage"===n?{source:n,writeSeq:f,linkageScopeDepth:Number.isFinite(Number(i))?Number(i):0,linkageTxId:"string"==typeof o&&o?o:void 0}:{source:n,writeSeq:f};this.lastWriteMetaByPathKey.set(l,m);let g=(0,S.ao)(),v=this.getFormValuesSnapshot(),y={source:n,txId:g,changedPaths:[t],changedValues:{},allValues:v,allValuesSnapshot:v};if("linkage"===n&&o&&(y.linkageTxId=o),this.emitFormValuesChange(y),"default"===n&&this.isExplicit(l)||"override"===n&&this.findUserEditedHit(l)){let e=this.observableBindings.get(l);e&&(e.dispose(),this.observableBindings.delete(l))}"default"===n&&this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(this.getFormValueAtPath(t)))}resolveNamePath(e,t){let l=this.tryResolveNamePath(e,t);if(!l)throw Error(`Failed to resolve path '${String(t)}'`);return l}tryResolveNamePath(e,t){var l,r;let n=(null==e||null==(r=e.model)||null==(l=r.context)?void 0:l.fieldIndex)??(null==e?void 0:e.fieldIndex);return(0,x.IJ)(t,n)}bumpChangeTick(){this.changeTick.value+=1}emitFormValuesChange(e){var t,l,r,n;null==(t=(l=this.model).dispatchEvent)||t.call(l,"formValuesChange",e,{debounce:!0}),null==(n=this.model.emitter)||null==(r=n.emit)||r.call(n,"formValuesChange",e)}syncMountedFieldModelValue(e,t){let l=(0,x.Qc)(e);if(!l)return;let r=this.mountedFieldModelsByPathKey.get(l);if(!(null==r?void 0:r.size))return;let n=new Set;for(let e of Array.from(r))this.syncMountedFieldModelValueForModel(e,t,n)}syncMountedFieldModelValueForModel(e,t,l){var r,n,i;if(!e||l.has(e)||(l.add(e),!this.isMountedModelInThisForm(e)))return;let o={value:t};null==(r=e.setProps)||r.call(e,o);let a=null==(n=e.subModels)?void 0:n.field;null==a||null==(i=a.setProps)||i.call(a,o)}rebuildMountedFieldModelIndex(){var e,t;this.mountedFieldModelsByPathKey.clear();let l=null==(t=this.model)||null==(e=t.context)?void 0:e.engine;l&&"function"==typeof l.forEachModel&&l.forEachModel(e=>{this.indexMountedFieldModelTree(e)})}indexMountedFieldModelTree(e){this.visitModelAndForks(e,e=>this.indexMountedFieldModel(e))}unindexMountedFieldModelTree(e){this.visitModelAndForks(e,e=>this.unindexMountedFieldModel(e))}visitModelAndForks(e,t){if(!e)return;let l=new Set,r=e=>{var n;if(!e||l.has(e))return;l.add(e),t(e);let i=e.forks;null==i||null==(n=i.forEach)||n.call(i,e=>r(e))};r(e)}indexMountedFieldModel(e){if(!this.isMountedModelInThisForm(e))return;let t=new Set;for(let l of this.getMountedModelNamePaths(e)){let e=(0,x.Qc)(l);e&&t.add(e)}if(t.size)for(let l of(this.unindexMountedFieldModel(e),this.mountedFieldModelPathKeys.set(e,t),t)){let t=this.mountedFieldModelsByPathKey.get(l)||new Set;t.add(e),this.mountedFieldModelsByPathKey.set(l,t)}}unindexMountedFieldModel(e){let t=this.mountedFieldModelPathKeys.get(e);if(t){for(let l of t){let t=this.mountedFieldModelsByPathKey.get(l);t&&(t.delete(e),t.size||this.mountedFieldModelsByPathKey.delete(l))}this.mountedFieldModelPathKeys.delete(e)}}isMountedModelInThisForm(e){var t;let l=null==(t=e.context)?void 0:t.blockModel;return!!l&&String(l.uid)===String(this.model.uid)}getMountedModelNamePaths(e){var t,l;let r=[],n=e=>{let t=this.normalizeNamePathValue(e);(null==t?void 0:t.length)&&r.push(t)};n(null==(t=e.context)?void 0:t.fieldPathArray);let i="function"==typeof e.getProps?e.getProps():e.props;i&&"object"==typeof i&&n(i.name);try{let t=null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init");t&&"object"==typeof t&&n(t.fieldPath)}catch{}let o=new Set;return r.filter(e=>{let t=(0,x.Qc)(e);return!(!t||o.has(t))&&(o.add(t),!0)})}normalizeNamePathValue(e){if(Array.isArray(e)){let t=e.filter(e=>"string"==typeof e||"number"==typeof e);return t.length===e.length?t:null}return"number"==typeof e?[e]:"string"==typeof e&&e?(0,x.c1)(e):null}markExplicit(e){if(this.explicitSet.has(e))return;this.explicitSet.add(e);let t=this.shouldPreserveDescendantDefaultsOnExplicit(e);for(let l of Array.from(this.lastDefaultValueByPathKey.keys())){let r=l.startsWith(`${e}.`)||l.startsWith(`${e}[`);(l===e||!t&&r)&&this.lastDefaultValueByPathKey.delete(l)}for(let[e,t]of Array.from(this.observableBindings.entries()))"default"===t.source&&this.isExplicit(e)&&(t.dispose(),this.observableBindings.delete(e))}markUserEdited(e){if(!this.userEditedSet.has(e))for(let[t,l]of(this.userEditedSet.add(e),Array.from(this.observableBindings.entries())))"override"===l.source&&this.findUserEditedHit(t)&&(l.dispose(),this.observableBindings.delete(t))}normalizeObservedNamePath(e){if(Array.isArray(e))return e;if("number"==typeof e)return[e];if("string"!=typeof e||!e)return null;let t=(0,x.c1)(e);return t.length?t:[e]}clearExplicitForDefaultPatch(e){for(let t of Array.from(this.explicitSet))(t===e||t.startsWith(`${e}.`)||t.startsWith(`${e}[`))&&this.explicitSet.delete(t)}shouldPreserveDescendantDefaultsOnExplicit(e){return Array.isArray(this.getFormValueAtPath((0,x.c1)(e)))}shouldKeepDefaultPathEnabled(e,t){return this.shouldKeepDefaultPathValueEnabled(e,u().get(t,e))}shouldKeepDefaultPathValueEnabled(e,t){let l=(0,x.Qc)(e),r=this.lastDefaultValueByPathKey.get(l);if(void 0===r)return!1;let n=(0,g.isObservable)(t)?(0,g.toJS)(t):t;return u().isEqual(n,r)}isExplicit(e){return!!this.findExplicitHit(e)}findExplicitHit(e){if(this.explicitSet.has(e))return e;let t=(0,x.c1)(e),l=[];for(let e=0;e<t.length;e++){l.push(t[e]);let r=(0,x.Qc)(l);if(this.explicitSet.has(r)&&"number"!=typeof t[e+1])return r}return null}findUserEditedHit(e){if(this.userEditedSet.has(e))return e;let t=(0,x.c1)(e),l=[];for(let e=0;e<t.length;e++){l.push(t[e]);let r=(0,x.Qc)(l);if(this.userEditedSet.has(r)&&"number"!=typeof t[e+1])return r}for(let t of this.userEditedSet)if(this.isDescendantPathKey(t,e))return t;return null}findLatestWriteMeta(e){let t,l=(0,x.c1)(e),r=[];for(let e=0;e<l.length;e++){r.push(l[e]);let n=this.lastWriteMetaByPathKey.get((0,x.Qc)(r));n&&(!t||n.writeSeq>=t.writeSeq)&&(t=n)}return t}isCurrentUserEditedPath(e){let t=this.findLatestWriteMeta(e);return!t||"user"===t.source}omitNonUserDescendantValues(e,t){if(!t||"object"!=typeof t)return t;let l=(0,x.c1)(e);for(let r of this.lastWriteMetaByPathKey.keys())this.isDescendantPathKey(r,e)&&(this.isCurrentUserEditedPath(r)||u().unset(t,(0,x.c1)(r).slice(l.length)));return t}isDescendantPathKey(e,t){if(!e||!t||e===t)return!1;let l=(0,x.c1)(e),r=(0,x.c1)(t);return!(l.length<=r.length)&&r.every((e,t)=>l[t]===e)}constructor(e){(0,r._)(this,"model",void 0),(0,r._)(this,"getForm",void 0),(0,r._)(this,"valuesMirror",(0,g.observable)({})),(0,r._)(this,"explicitSet",new Set),(0,r._)(this,"userEditedSet",new Set),(0,r._)(this,"lastDefaultValueByPathKey",new Map),(0,r._)(this,"lastWriteMetaByPathKey",new Map),(0,r._)(this,"observableBindings",new Map),(0,r._)(this,"changeTick",g.observable.ref(0)),(0,r._)(this,"txWriteCounts",new Map),(0,r._)(this,"writeSeq",0),(0,r._)(this,"disposed",!1),(0,r._)(this,"suppressFormCallbackDepth",0),(0,r._)(this,"lastObservedChangedPaths",null),(0,r._)(this,"lastObservedSource",null),(0,r._)(this,"lastObservedToken",0),(0,r._)(this,"formValuesProxy",void 0),(0,r._)(this,"mountedFieldModelsByPathKey",new Map),(0,r._)(this,"mountedFieldModelPathKeys",new WeakMap),(0,r._)(this,"mountedListener",void 0),(0,r._)(this,"unmountedListener",void 0),(0,r._)(this,"formPatcher",void 0),(0,r._)(this,"ruleEngine",void 0),this.model=e.model,this.getForm=e.getForm,this.formPatcher=b({isSuppressed:()=>this.isSuppressed(),getCallerContext:()=>{var e;return null==(e=this.model)?void 0:e.context},setFormValues:this.setFormValues.bind(this)}),this.ruleEngine=new E({getBlockModelUid:()=>{var e;return String(null==(e=this.model)?void 0:e.uid)},getAssignRulesModelUid:()=>{var e,t;let l=null==(t=this.model)||null==(e=t.subModels)?void 0:e.grid;return!Array.isArray(l)&&(null==l?void 0:l.uid)?String(l.uid):void 0},getActionName:()=>{var e,t,l,r;return(null==(t=this.model)||null==(e=t.getAclActionName)?void 0:e.call(t))??(null==(r=this.model)||null==(l=r.context)?void 0:l.actionName)},getBlockContext:()=>{var e;return null==(e=this.model)?void 0:e.context},getEngine:()=>{var e,t;return null==(t=this.model)||null==(e=t.context)?void 0:e.engine},getEngineModel:e=>{var t,l,r,n;return(null==(n=this.model)||null==(r=n.context)||null==(l=r.engine)||null==(t=l.getModel)?void 0:t.call(l,e))??null},isDisposed:()=>this.disposed,valuesMirror:this.valuesMirror,changeTick:this.changeTick,getWriteSeq:()=>this.writeSeq,txWriteCounts:this.txWriteCounts,createTrackingFormValues:e=>(0,y.x3)({valuesMirror:this.valuesMirror,basePath:[],collector:e,getFormValuesSnapshot:()=>this.getFormValuesSnapshot(),getFormValueAtPath:e=>this.getFormValueAtPath(e)}),tryResolveNamePath:(e,t)=>this.tryResolveNamePath(e,t),getFormValueAtPath:e=>this.getFormValueAtPath(e),setFormValues:(e,t,l)=>this.setFormValues(e,t,l),findExplicitHit:e=>this.findExplicitHit(e),findUserEditedHit:e=>this.findUserEditedHit(e),lastDefaultValueByPathKey:this.lastDefaultValueByPathKey,lastWriteMetaByPathKey:this.lastWriteMetaByPathKey,observableBindings:this.observableBindings}),this.formValuesProxy=(0,y.x3)({valuesMirror:this.valuesMirror,basePath:[],getFormValuesSnapshot:()=>this.getFormValuesSnapshot(),getFormValueAtPath:e=>this.getFormValueAtPath(e)})}}function T(e,t){let l=Array.isArray(e)?e:[],r=new Set,n=e=>{var l,r,n;if(!t||"function"!=typeof t.getField||"string"!=typeof e||!e.includes("."))return null;let i=e.split(".").filter(Boolean);if(i.length<2)return null;let o=t,a=[],s=null,d=null;for(let e=0;e<i.length-1;e++){let t=i[e],n=null==o||null==(l=o.getField)?void 0:l.call(o,t);if(!(null==n||null==(r=n.isAssociationField)?void 0:r.call(n))||!(null==n?void 0:n.targetCollection))break;a.push(t),s=a.join("."),d=n,o=n.targetCollection}if(s&&d){let e=i[i.length-1],t=(null==d?void 0:d.targetKey)??(null==d||null==(n=d.targetCollection)?void 0:n.filterTargetKey)??"id",l=Array.isArray(t)?t.filter(e=>"string"==typeof e&&!!e):"string"==typeof t&&t?[t]:["id"];if("string"==typeof e&&l.includes(e))return null}return s};for(let e of l){let t=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!t)continue;let l=n(t);l&&r.add(l)}return Array.from(r)}var I=l(71712);let _={formModelSettings:new Set(["layout","assignRules"]),eventSettings:new Set(["linkageRules"])},D="nb-flow-keep-mobile-horizontal",N=(0,o.css)`
|
|
1358
1358
|
&.${D} {
|
|
1359
1359
|
@media (max-width: 575px) {
|
|
1360
1360
|
.ant-form-item {
|
|
@@ -1373,7 +1373,7 @@ ${n}`,c)}}let r=R(e.issues.filter(e=>"runtime"===e.type)),n=r?`Key runtime issue
|
|
|
1373
1373
|
}
|
|
1374
1374
|
}
|
|
1375
1375
|
}
|
|
1376
|
-
`;function O(e,t){var l;return!!(null==(l=_[e])?void 0:l.has(t))}function $(e){return"hasAvailableData"in e&&"function"==typeof e.hasAvailableData}function B(e){return"submit"in e&&"function"==typeof e.submit}class L extends m.t{serialize(){return{...super.serialize(),variableContractType:{type:"form",use:this.use}}}get form(){return this.context.form}submitFromRunJs(){if($(this)&&!this.hasAvailableData())return;let e=this.mapSubModels("actions",e=>e).find(e=>e.getFlow("submitSettings"));if(e)return e.onClick(void 0);let t=["CreateFormModel","EditFormModel"].some(e=>{let t=this.flowEngine.getModelClass(e);return t&&this instanceof t});!this.context.publicFormRuntime&&t&&B(this)&&this.submit().catch(e=>{this.context.message.error(this.context.t("Save failed")),console.error("Form submission error:",e)})}syncRuntimeAssignRules(){var e,t,l;arguments.length>0&&void 0!==arguments[0]&&arguments[0];let r=this.getStepParams("formModelSettings","assignRules"),n=(null==r?void 0:r.value)||[];null==(t=this.formValueRuntime)||null==(e=t.syncAssignRules)||e.call(t,Array.isArray(n)?n:[]);let i=null==(l=this.context)?void 0:l.resource,o=T(n,this.collection);(null==i?void 0:i.addUpdateAssociationValues)&&o.length&&i.addUpdateAssociationValues(o)}renderConfigureActions(){return(0,n.jsx)(a.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("FormActionGroupModel"),children:(0,n.jsx)(a.FlowSettingsButton,{icon:(0,n.jsx)(i.A,{}),children:this.translate("Actions")})})}setFieldsValue(e){let t=this.context;"function"==typeof t.setFormValues?t.setFormValues(e,{source:"system"}).catch(e=>{console.warn("[FormBlockModel] Failed to set form values via ctx.setFormValues",e)}):this.form.setFieldsValue(e)}setFieldValue(e,t){let l=this.context;"function"==typeof l.setFormValue?l.setFormValue(e,t,{source:"system"}).catch(e=>{console.warn("[FormBlockModel] Failed to set form value via ctx.setFormValue",e)}):this.form.setFieldValue(e,t)}markUserModifiedFields(e){if(e&&"object"==typeof e&&!Array.isArray(e))for(let t of Object.keys(e))t&&this.userModifiedTopLevelFields.add(t)}getUserModifiedFields(){return this.userModifiedTopLevelFields}resetUserModifiedFields(){this.userModifiedTopLevelFields.clear()}resetRuntimeUserEditedState(){var e,t;null==(t=this.formValueRuntime)||null==(e=t.resetUserEditedState)||e.call(t)}async onDispatchEventStart(e,t,l){var r;if("beforeRender"===e){let e=this.subModels.grid;e&&await e.dispatchEvent("beforeRender",l,{useCache:null==t?void 0:t.useCache})}await (null==(r=super.onDispatchEventStart)?void 0:r.call(this,e,t,l))}getStepParams(e,t){let l=this.subModels.grid;if(e&&t&&O(e,t)&&l){let r=l.getStepParams(e,t);return void 0!==r?r:super.getStepParams(e,t)}if(e&&!t&&_[e]&&l){let t=super.getStepParams(e)||{},r=l.getStepParams(e)||{};for(let l of _[e])Object.prototype.hasOwnProperty.call(r,l)&&void 0!==r[l]&&(t[l]=r[l]);return t}return super.getStepParams(e,t)}setStepParams(e,t,l){let r=this.subModels.grid,n=(e,t)=>{let l=_[e];if(!l||!r)return t;let n={};for(let[i,o]of Object.entries(t))l.has(i)?r.setStepParams(e,i,o):n[i]=o;return n};if("string"==typeof e&&"string"==typeof t&&void 0!==l)return void(O(e,t)&&r?r.setStepParams(e,t,l):super.setStepParams(e,t,l));if("string"==typeof e&&"object"==typeof t&&null!==t){let l=n(e,t);Object.keys(l).length>0&&super.setStepParams(e,l);return}if("object"==typeof e&&null!==e){let t={};for(let[l,r]of Object.entries(e)){if("object"!=typeof r||null===r){t[l]=r;continue}let e=n(l,r);Object.keys(e).length>0&&(t[l]=e)}Object.keys(t).length>0&&super.setStepParams(t)}}async saveStepParams(){return await (0,f.ON)(this,async()=>{let e=await super.saveStepParams(),t=this.subModels.grid;return await (null==t?void 0:t.saveStepParams()),e})}createFormValuesMetaFactory(){return(0,a.createAssociationAwareObjectMetaFactory)(()=>this.collection,this.translate("Current form"),()=>{var e,t;return(null==(t=this.form)||null==(e=t.getFieldsValue)?void 0:e.call(t))||{}})}useHooksBeforeRender(){let[e]=s.A.useForm();this.context.defineProperty("form",{get:()=>e}),this.formValueRuntime||(this.formValueRuntime=new R({model:this,getForm:()=>this.context.form}));let t=this.formValueRuntime;t.mount();let l=this.createFormValuesMetaFactory();this.context.defineProperty("formValues",{get:()=>t.formValues,cache:!1,meta:l,resolveOnServer:e=>{var l,r,n,i,o,s,d,u,p,h,f,m,g;if(!e)return!1;let v=(e=>{let t=String(e||"").match(/^([^.[]+)/);return null==t?void 0:t[1]})(e);if(!v||!(null==(r=this.collection)||null==(l=r.getField)?void 0:l.call(r,v)))return!1;if((()=>{var e,t,l,r;let n=(null==(t=this.subModels.grid)||null==(e=t.subModels)?void 0:e.items)??[],i=new Set;for(let e of n){let t=null==e||null==(r=e.getStepParams)||null==(l=r.call(e,"fieldSettings","init"))?void 0:l.fieldPath,n=null==t?void 0:t.toString().split(".")[0];n&&i.add(n)}return i})().has(v)){let l=null==(i=this.form)||null==(n=i.getFieldValue)?void 0:n.call(i,v);if(null==l||Array.isArray(l)&&0===l.length)return!1;let r=t.getFormValuesSnapshot();return(!r||"object"!=typeof r||void 0===(0,c.Dw)(r,e))&&(0,a.createAssociationSubpathResolver)(()=>this.collection,()=>t.getFormValuesSnapshot())(e)}try{let e=(null==(d=this.context)||null==(s=d.resource)||null==(o=s.getMeta)?void 0:o.call(s,"currentFilterByTk"))??(null==(h=this.context)||null==(p=h.resource)||null==(u=p.getFilterByTk)?void 0:u.call(p))??(null==(g=this.collection)||null==(m=g.getFilterByTK)?void 0:m.call(g,null==(f=this.context)?void 0:f.record));if(null==e)return!1}catch(e){return!1}return!0},serverOnlyWhenContextParams:!0}),this.context.defineMethod("getFormValues",function(){return t.getFormValuesSnapshot()}),this.context.defineMethod("setFormValues",function(e,l){return t.setFormValues(this,e,l)}),this.context.defineMethod("setFormValue",function(e,l,r){return t.setFormValues(this,[{path:e,value:l}],r)})}onInit(e){super.onInit(e),this.emitter.on("onSubModelAdded",e=>{e===this.subModels.grid&&queueMicrotask(()=>this.syncRuntimeAssignRules("onSubModelAdded:grid"))}),this.context.defineProperty("record",{get:()=>this.getCurrentRecord(),cache:!1}),this.context.resource.on("saved",()=>{this.dispatchEvent("formSubmitSuccess",{})})}onMount(){var e;super.onMount(),null==(e=this.formValueRuntime)||e.mount({sync:!0}),this.syncRuntimeAssignRules("onMount"),setTimeout(()=>{this.applyFlow("eventSettings")},100)}onUnmount(){var e;null==(e=this.formValueRuntime)||e.dispose(),this.formValueRuntime=void 0,super.onUnmount()}getCurrentRecord(){return{}}renderComponent(){throw Error("renderComponent method must be implemented in subclasses of FormModel")}constructor(...e){super(...e),(0,r._)(this,"formValueRuntime",void 0),(0,r._)(this,"userModifiedTopLevelFields",new Set),(0,r._)(this,"_defaultCustomModelClasses",{FormActionGroupModel:"FormActionGroupModel",FormItemModel:"FormItemModel",FormAssociationFieldGroupModel:"FormAssociationFieldGroupModel"}),(0,r._)(this,"customModelClasses",{})}}function q(e){var t,l,r,i;let{model:o,children:a,layoutProps:u={},initialValues:c,...p}=e,h=!!((null==o||null==(t=o.context)?void 0:t.isMobileLayout)&&(null==u?void 0:u.layout)==="horizontal"),f=[p.className,h?D:"",h?N:""].filter(Boolean).join(" ");return(0,n.jsx)(s.A,{form:o.form,initialValues:(null==(i=o.context)||null==(r=i.view)||null==(l=r.inputArgs)?void 0:l.formData)||o.context.record||c,...(0,d.omit)(u,"labelWidth"),labelCol:{style:{width:null==u?void 0:u.labelWidth}},onFieldsChange:e=>{let t=o.formValueRuntime;t&&t.handleFormFieldsChange(e)},onValuesChange:(e,t)=>{var l;null==(l=o.markUserModifiedFields)||l.call(o,e);let r=o.formValueRuntime;r?r.handleFormValuesChange(e,t):(o.dispatchEvent("formValuesChange",{changedValues:e,allValues:t},{debounce:!0}),o.emitter.emit("formValuesChange",{changedValues:e,allValues:t}))},...p,className:f||void 0,children:a})}let V=e=>{if(!e)return 0;let t=e.getBoundingClientRect(),l=window.getComputedStyle(e),r=parseFloat(l.marginTop)||0,n=parseFloat(l.marginBottom)||0;return t.height+r+n},z=e=>{if(null!=e&&""!==e)return"number"==typeof e||/^\d+(\.\d+)?$/.test(e)?`${e}px`:e},K=e=>{let{heightMode:t,containerRef:l,actionsRef:r,footerRef:n,deps:i=[]}=e,[o,a]=(0,p.useState)(),s=(0,p.useCallback)(()=>{if("specifyValue"!==t&&"fullHeight"!==t)return void a(e=>void 0===e?e:void 0);let e=l.current;if(!e)return;let i=e.getBoundingClientRect().height;if(!i)return;let o=Math.max(0,Math.floor(i-V((null==r?void 0:r.current)||null)-V((null==n?void 0:n.current)||null)));a(e=>e===o?e:o)},[t,l,r,n]);return(0,p.useLayoutEffect)(()=>{s()},[s,...i]),(0,p.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=(null==r?void 0:r.current)||null,i=(null==n?void 0:n.current)||null,o=new ResizeObserver(()=>s());return o.observe(e),t&&o.observe(t),i&&o.observe(i),()=>o.disconnect()},[s,l,r,n,...i]),o},U=e=>{var t,l;let{model:r,gridModel:i,layoutProps:o,onFinish:a,grid:s,actions:d,footer:u,heightMode:c,height:h}=e,f=(0,p.useRef)(null),m=(0,p.useRef)(null),g=(0,p.useRef)(null),v="specifyValue"===c||"fullHeight"===c,y={paddingTop:null==(l=r.context)||null==(t=l.themeToken)?void 0:t.padding},b=(null==o?void 0:o.layout)==="horizontal"?z(null==o?void 0:o.labelWidth):void 0;b&&(y.marginInlineStart=b);let x=K({heightMode:c,containerRef:f,actionsRef:d?m:void 0,footerRef:u?g:void 0,deps:[h]});(0,p.useEffect)(()=>{var e;if(!i)return;let t=v?x:void 0;(null==(e=i.props)?void 0:e.height)!==t&&i.setProps({height:t})},[i,x,v]);let w=v?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,S=v?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,n.jsx)(q,{model:r,layoutProps:o,onFinish:a,style:w,children:(0,n.jsxs)("div",{ref:f,style:S,children:[s,d?(0,n.jsx)("div",{style:y,ref:m,children:d}):null,u?(0,n.jsx)("div",{ref:g,children:u}):null]})})};L.define({hide:!0}),L.registerFlow({key:"formModelSettings",title:(0,a.tExpr)("Form settings"),steps:{layout:{use:"layout",title:(0,a.tExpr)("Layout")},assignRules:{use:"formAssignRules",title:(0,a.tExpr)("Field values"),beforeParamsSave(e){let t=(0,I.Fp)(e.model);Array.isArray(t)&&t.length&&(0,f.jI)(e.model)},afterParamsSave(e){var t,l,r,n,i,o;let a=e.model.getStepParams("formModelSettings","assignRules"),s=(null==a?void 0:a.value)||[];null==(r=e.model)||null==(l=r.formValueRuntime)||null==(t=l.syncAssignRules)||t.call(l,Array.isArray(s)?s:[]);let d=null==(i=e.model)||null==(n=i.context)?void 0:n.resource,u=T(s,null==(o=e.model)?void 0:o.collection);(null==d?void 0:d.addUpdateAssociationValues)&&u.length&&d.addUpdateAssociationValues(u)}}}}),L.registerFlow({key:"eventSettings",title:(0,a.tExpr)("Event settings"),on:"formValuesChange",steps:{linkageRules:{use:"fieldLinkageRules",afterParamsSave(e){setTimeout(()=>{var t;e.model.applyFlow("eventSettings",{changedValues:{},allValues:null==(t=e.form)?void 0:t.getFieldsValue(!0)})},0)}}}}),L.registerEvents({formValuesChange:{title:(0,a.tExpr)("Form values change"),name:"formValuesChange",uiSchema:{condition:{type:"object",title:(0,a.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":h.H}},handler:h.b}});class W extends L{}W.define({hide:!0})},71712(e,t,l){l.d(t,{Fp:()=>s,K7:()=>a,S2:()=>r.S2});var r=l(50314);let n=["editItemSettings","formItemSettings"],i=(0,r.li)(n),o=(0,r.u4)(n);function a(e){return(0,r.TE)(e,i)}function s(e){return(0,r.Co)(e,i,o)}},53831(e,t,l){l.d(t,{submitHandler:()=>a});var r=l(11869),n=l(58428),i=l(18357);function o(e){return e&&"object"==typeof e&&"data"in e?e.data:e}async function a(e,t,a){var s,d,u,c,p,h,f,m;let g=e.resource,v=e.blockModel,{EditFormModel:y}=await Promise.resolve().then(l.bind(l,71616)),b=v instanceof y;await (0,i.D9)({form:null==v?void 0:v.form,blockModel:v,flowSettingsEnabled:null==e?void 0:e.flowSettingsEnabled,skipValidator:(0,i.go)(null==e?void 0:e.model)});let x=v.form.getFieldsValue(!0),w=(0,i.xT)(x,v),S=await (0,n.eu)(e,null==t?void 0:t.assignedValues,"FormSubmitAction");if(!S){null==(s=e.exit)||s.call(e);return}let A=(0,n.GO)(w,S);if(g instanceof r.SingleRecordResource){if(b){let e=g.getMeta("currentFilterByTk");e?g.setFilterByTk(e):g.isNewRecord=!0}let l=o(a?await a(A):await g.save(A,t.requestConfig));return b?(g.isNewRecord=!1,null==(d=v.resetUserModifiedFields)||d.call(v),await g.refresh(),l=l??(null==(u=g.getData)?void 0:u.call(g))):(v.form.resetFields(),v.emitter.emit("onFieldReset"),null==(c=v.resetUserModifiedFields)||c.call(v),null==(h=v.formValueRuntime)||null==(p=h.resetAfterFormReset)||p.call(h),e.view.inputArgs.collectionName===v.collection.name&&e.view.inputArgs.onChange&&e.view.inputArgs.onChange(l)),l}if(g instanceof r.MultiRecordResource){let l=g.getMeta("currentFilterByTk");if(!l)return void e.message.error(e.t("No filterByTk found for multi-record resource."));let r=a?await a(A,l):await g.update(l,A,t.requestConfig);return null==(f=v.resetUserModifiedFields)||f.call(v),o(r)??(null==(m=v.getCurrentRecord)?void 0:m.call(v))}}},18357(e,t,l){l.d(t,{D9:()=>v,go:()=>g,xT:()=>y}),l(45336),l(69861),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(5409),l(79936),l(34678);var r=l(40098),n=l.n(r),i=l(12197);function o(e,t){var l,r;let n=null==e||null==(r=e.context)||null==(l=r.blockModel)?void 0:l.uid,i=null==t?void 0:t.uid;return!!n&&!!i&&String(n)===String(i)}function a(e){var t,l;let r=null==e||null==(t=e.context)?void 0:t.fieldPathArray;if(Array.isArray(r)&&r.length)return r;try{let t=null==e||null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init"),r=null==t?void 0:t.fieldPath;if("string"==typeof r&&r)return r}catch{}let n=null==e?void 0:e.fieldPath;if("string"==typeof n&&n)return n;let i="function"==typeof(null==e?void 0:e.getProps)?e.getProps():null==e?void 0:e.props,o=null==i?void 0:i.name;return"string"==typeof o&&o||Array.isArray(o)&&o.length?o:null}function s(e){return Array.isArray(e)&&e.length&&"string"==typeof e[0]?e:null}function d(e){var t;let l=a(e);return l?s((0,i.IJ)(l,null==e||null==(t=e.context)?void 0:t.fieldIndex)):null}function u(e,t){if(e&&"object"==typeof e&&Array.isArray(t)&&!(t.length<2))for(let l=t.length-1;l>=1;l--){let r=t.slice(0,l);if("number"==typeof r[r.length-1])continue;let i=n().get(e,r);n().isPlainObject(i)&&0===Object.keys(i).length&&n().unset(e,r)}}function c(e,t){(null==e?void 0:e.forEachModel)&&e.forEachModel(e=>{t(e);let l=null==e?void 0:e.forks;l&&"function"==typeof l.forEach&&l.forEach(e=>{e&&!e.disposed&&t(e)})})}function p(e){let t=null==e?void 0:e.flowEngine;if(!(null==t?void 0:t.forEachModel))return[];let l=[],r=new Set;return c(t,t=>{if(!t||"object"!=typeof t||!t.hidden||!o(t,e))return;let n=d(t);if(!n)return;let i=JSON.stringify(n);r.has(i)||(r.add(i),l.push(n))}),l}function h(e){return"string"==typeof e?e?[e]:null:Array.isArray(e)?s(e):null}function f(e,t){if(!Array.isArray(e)||!Array.isArray(t)||e.length>t.length)return!1;for(let l=0;l<e.length;l++)if(e[l]!==t[l])return!1;return!0}function m(e){let t=null==e?void 0:e.form;if(!t||"function"!=typeof t.getFieldsError)return null;let l=t.getFieldsError();if(!Array.isArray(l))return null;let r=[],n=new Set;for(let e of l){let t=h(null==e?void 0:e.name);if(!t)continue;let l=JSON.stringify(t);n.has(l)||(n.add(l),r.push(t))}if(!r.length)return null;let i=p(e);return i.length?r.filter(e=>!i.some(t=>f(t,e))):r}function g(e){var t,l;return(null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"submitSettings","skipRequiredValidation"))?void 0:t.skipValidator)===!0}async function v(e){let{form:t,blockModel:l,flowSettingsEnabled:r,skipValidator:n}=e;if(n||!t||"function"!=typeof t.validateFields)return;let i=r&&l?m(l):null;if(Array.isArray(i)){i.length&&await t.validateFields(i);return}await t.validateFields()}function y(e,t){if(!e||"object"!=typeof e)return e;let l=p(t);if(!l.length)return e;let r=n().cloneDeep(e);for(let e of l)n().unset(r,e),u(r,e);return r}},29676(e,t,l){l.d(t,{F:()=>n});var r=l(87710);function n(e,t){let l=(t,l,r)=>{var n,i,o;return!l||(null==e||null==(o=e.app)||null==(i=o.jsonLogic)||null==(n=i.apply)?void 0:n.call(i,{[l]:[t,r]}))};try{return(0,r.evaluateConditions)((0,r.removeInvalidFilterItems)(t),l)}catch{return!1}}},47632(e,t,l){l.d(t,{Dd:()=>d,G:()=>c,Wp:()=>p,x3:()=>u}),l(58149),l(45336),l(79936);var r=l(95243),n=l(11869),i=l(40098),o=l.n(i),a=l(12197);function s(e){return!!e&&"object"==typeof e&&(Array.isArray(e)||o().isPlainObject(e))}function d(e,t){if(t)for(let l of(0,a.ef)(e))t.deps.add(`fv:${l}`)}function u(e){let{valuesMirror:t,collector:l,basePath:n,getFormValuesSnapshot:i,getFormValueAtPath:a}=e,c=()=>n.length?o().get(t,n):t,p=c(),h=p&&("object"==typeof p||"function"==typeof p)?p:Array.isArray(p)?[]:{},f=e=>u({valuesMirror:t,basePath:e,collector:l,getFormValuesSnapshot:i,getFormValueAtPath:a});return new Proxy(h,{get(e,u){if("toJSON"===u)return(l&&(l.wildcard=!0),0===n.length)?()=>i():()=>(0,r.toJS)(c());if("symbol"==typeof u){l&&(l.wildcard=!0);let e=c();return null==e?void 0:e[u]}let p=c();if(null==p)return;if("__raw"===u)return p;if("__proto__"===u||"prototype"===u||"constructor"===u){l&&(l.wildcard=!0);return}let h=Array.isArray(p),m=h&&("number"==typeof u&&Number.isInteger(u)||"string"==typeof u&&/^\d+$/.test(u));if(h&&!m){l&&(l.wildcard=!0);let e=p[u];return"function"==typeof e?e.bind(p):e}let g=[...n,m?Number(u):u];d(g,l);let v=p[u];if(void 0===v){let e=a(g);o().isEqual(e,v)||(o().set(t,g,e),v=e)}return null==v||"object"!=typeof v?v:s(v)?f(g):v},ownKeys(){l&&(l.wildcard=!0);let e=c();return e?Reflect.ownKeys(e):[]},getOwnPropertyDescriptor(e,t){let l=c();if(l)return Object.getOwnPropertyDescriptor(l,t)},has(e,t){let l=c();return!!l&&t in l}})}function c(e,t){try{let l=(0,n.extractUsedVariablePaths)(e)||{};for(let[e,r]of Object.entries(l)){let l=Array.isArray(r)?r:[];for(let r of l.length?l:[""]){if("formValues"===e){if(!r){t.wildcard=!0;continue}let e=(0,a.EA)(String(r)).filter(e=>"object"!=typeof e);d(e,t);continue}let l=r?`ctx:${e}:${String(r)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}function p(e,t){if((0,n.isRunJSValue)(e))try{let l=(0,n.extractUsedVariablePathsFromRunJS)(e.code)||{};for(let[e,r]of Object.entries(l)){let l=Array.isArray(r)?r:[];for(let r of l.length?l:[""]){if("formValues"===e){if(!r){t.wildcard=!0;continue}let e=(0,a.EA)(String(r)).filter(e=>"object"!=typeof e);d(e,t);continue}let l=r?`ctx:${e}:${String(r)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}},12197(e,t,l){function r(e){let t=[],l=0,r=e.length,n=()=>{let n=l;for(;l<r&&"."!==e[l]&&"["!==e[l];)l++;let i=e.slice(n,l);i&&t.push(i)};for(;l<r;){let i=e[l];if("."===i){l++;continue}if("["===i){let n=++l;for(;l<r&&"]"!==e[l];)l++;let i=e.slice(n,l);l++,/^\d+$/.test(i)?t.push(Number(i)):i&&t.push({placeholder:i});continue}n()}return t}function n(e){let t=Array.isArray(e)?e:[],l=[];for(let e of t){if("string"!=typeof e)continue;let[t,r]=e.split(":"),n=Number(r);!t||Number.isNaN(n)||l.push({name:t,index:n})}return l}function i(e,t){let l=Array.isArray(e)?[...e]:r(e),i=n(t),o=[],a=0;for(let e=0;e<l.length;e++){let t=l[e];if("object"==typeof t&&t&&"placeholder"in t){let e=o[o.length-1],t="string"==typeof e?e:void 0;if(!t)return null;for(;a<i.length&&i[a].name!==t;)a++;if(a>=i.length)return null;o.push(i[a].index),a++;continue}if(o.push(t),"string"==typeof t&&a<i.length&&i[a].name===t){let t=l[e+1];"number"==typeof t?a++:"object"==typeof t&&t&&"placeholder"in t||(o.push(i[a].index),a++)}}return o}function o(e){let t="";for(let l of e){if("number"==typeof l){t+=`[${l}]`;continue}t?t+=`.${l}`:t=l}return t}function a(e){return r(e).filter(e=>"object"!=typeof e)}function s(e){let t=[],l=[];for(let r of e)l.push(r),t.push(o(l));return t}l.d(t,{EA:()=>r,IJ:()=>i,Qc:()=>o,c1:()=>a,ef:()=>s}),l(5409),l(45336),l(79936)},65421(e,t,l){l.d(t,{Po:()=>o,ao:()=>a,li:()=>i});var r=l(40098),n=l.n(r);let i=20;function o(e){return null==e||("string"==typeof e||Array.isArray(e)?0===e.length:!!n().isPlainObject(e)&&0===Object.keys(e).length)}function a(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}},50314(e,t,l){l.d(t,{Co:()=>m,PP:()=>o,S2:()=>f,TE:()=>h,li:()=>d,u4:()=>p}),l(5409),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(45336),l(23446);var r=l(40098),n=l.n(r);function i(){return{logic:"$and",items:[]}}function o(e,t,l){var r;let n=null==e||null==(r=e.getStepParams)?void 0:r.call(e,t,l);return!!n&&Object.prototype.hasOwnProperty.call(n,"value")}function a(e){if(!e)return;let t="function"==typeof e.getProps?e.getProps():e.props;if(t&&void 0!==t.initialValue)return t.initialValue}function s(e,t){var l,r;if(e)return null==(r=e.getStepParams)||null==(l=r.call(e,t,"initialValue"))?void 0:l.defaultValue}function d(e){return t=>{if(!t)return;let l=a(t);if(void 0!==l)return l;for(let l of e){let e=s(t,l);if(void 0!==e)return e}}}function u(e,t,l){var r,i,o;if(!(null==e||null==(r=e.stepParams)?void 0:r[t]))return;let a=e.stepParams[t];!a||"object"!=typeof a||Object.prototype.hasOwnProperty.call(a,l)&&(delete a[l],n().isEmpty(a)&&delete e.stepParams[t],null==(o=e.emitter)||null==(i=o.emit)||i.call(o,"onStepParamsChanged"))}function c(e){var t,l;if(!e)return;null==(t=e.setProps)||t.call(e,{initialValue:void 0}),e.props&&Object.prototype.hasOwnProperty.call(e.props,"initialValue")&&delete e.props.initialValue;let r=null==(l=e._options)?void 0:l.props;r&&Object.prototype.hasOwnProperty.call(r,"initialValue")&&delete r.initialValue}function p(e){return t=>{if(t)for(let l of(c(t),e))u(t,l,"initialValue")}}function h(e,t){var l,r,n,o,a;let s=null==e||null==(n=e.subModels)||null==(r=n.grid)||null==(l=r.subModels)?void 0:l.items,d=Array.isArray(s)?s:[],u=[];for(let e of d){let l=(null==e||null==(a=e.getStepParams)||null==(o=a.call(e,"fieldSettings","init"))?void 0:o.fieldPath)||(null==e?void 0:e.fieldPath),r=l?String(l):"";if(!r)continue;let n=t(e);void 0!==n&&u.push({key:`legacy-default:${r}`,enable:!0,targetPath:r,mode:"default",condition:i(),value:n})}return u}function f(e,t){let l=Array.isArray(e)?e:[],r=Array.isArray(t)?t:[];if(!r.length)return l;let n=new Set;for(let e of l){if(!e||"object"!=typeof e)continue;let t=e.targetPath?String(e.targetPath):"";if(t){if("default"===e.mode){n.add(t);continue}String(e.key??"").startsWith("legacy-default:")&&n.add(t)}}let i=new Set(l.map(e=>String(e.key??""))),o=[];for(let e of r){let t=e.targetPath?String(e.targetPath):"";if(!t||n.has(t))continue;let l={...e},r=String(l.key??"");r&&i.has(r)&&(l.key=`${r}:${t}`),o.push(l)}return o.length?[...l,...o]:l}function m(e,t,l){var r,n,i;let o=null==e||null==(i=e.subModels)||null==(n=i.grid)||null==(r=n.subModels)?void 0:r.items,a=Array.isArray(o)?o:[],s=[];for(let e of a)void 0!==t(e)&&(l(e),s.push(e));return s}},26866(e,t,l){l.d(t,{$4:()=>a,r5:()=>o}),l(45336),l(23446),l(34678);var r=l(27253);let n="__index__";function i(e,t){if(!t)return null;if(Array.isArray(t)){let l=t.map(t=>null==e?void 0:e[t]);return l.some(e=>null==e)?null:l.map(e=>String(e)).join("__")}let l=null==e?void 0:e[t];return null==l?null:String(l)}function o(e,t){let l=null==e?void 0:e[n];if((null==e?void 0:e.__is_new__)&&null!=l&&""!==l)return`tmp:${String(l)}`;let r=i(e,t);return null!=r?`pk:${r}`:null!=l&&""!==l?`tmp:${String(l)}`:null}function a(e){if(!e.length)return e;let t=!1,l=e.map(e=>{let l=null==e?void 0:e[n];return e.__is_new__&&(null==l||""===l)?(t=!0,{...e,[n]:(0,r.uid)()}):e});return t?l:e}},69586(e,t,l){l.d(t,{m:()=>p});var r=l(74848),n=l(11869),i=l(95725),o=l(96540),a=l(44329),s=l(81486),d=l(16860);function u(e){let{value:t,onChange:l,onCompositionStart:n,onCompositionEnd:a,...s}=e,[d,u]=(0,o.useState)(()=>c(t));(0,o.useEffect)(()=>{u(c(t))},[t]);let p=e=>e.currentTarget.value;return(0,r.jsx)(i.A,{...s,value:d,onChange:e=>{u(p(e)),null==l||l(e)},onCompositionStart:e=>{u(p(e)),null==n||n(e)},onCompositionEnd:e=>{u(p(e)),null==a||a(e)}})}function c(e){return"bigint"==typeof e?String(e):null==e?"":e}class p extends s.o{render(){if(this.props.enableScan)return(0,r.jsx)(d.E,{...this.props});let{enableScan:e,disableManualInput:t,...l}=this.props;return(0,r.jsx)(u,{...l})}}p.registerFlow({key:"defaultValueForNanoid",steps:{generateNanoid:{handler(e,t){var l,r;null==(r=e.blockModel)||null==(l=r.emitter)||l.on("onFieldReset",()=>{if("nanoid"===e.collectionField.interface&&!1!==e.collectionField.options.autoFill){let{size:t,customAlphabet:l}=e.collectionField.options||{size:21};e.model.props.onChange((0,a.d_)(l,t)())}})}}}}),p.registerFlow({key:"scanInputSettings",sort:800,title:(0,n.tExpr)("Scan input settings"),steps:{enableScan:{title:(0,n.tExpr)("Enable Scan"),uiMode:{type:"switch",key:"enableScan"},hideInSettings:e=>"readPretty"===e.model.getProps().pattern||e.model.getProps().disabled,defaultParams:e=>({enableScan:!!e.model.props.enableScan}),handler(e,t){e.model.setProps({enableScan:!!t.enableScan,disableManualInput:!!t.enableScan&&e.model.props.disableManualInput})}},disableManualInput:{title:(0,n.tExpr)("Disable manual input"),uiMode:{type:"switch",key:"disableManualInput"},hideInSettings(e){var t,l;let r=null==(t=(l=e.model).getStepParams)?void 0:t.call(l,"scanInputSettings","enableScan");return!(Object.prototype.hasOwnProperty.call(r||{},"enableScan")?!!(null==r?void 0:r.enableScan):!!e.model.props.enableScan)||"readPretty"===e.model.getProps().pattern||!!e.model.getProps().disabled},defaultParams:e=>({disableManualInput:!!e.model.props.disableManualInput}),handler(e,t){e.model.setProps({disableManualInput:!!e.model.props.enableScan&&!!t.disableManualInput})}}}}),p.define({label:(0,n.tExpr)("Input")}),n.EditableItemModel.bindModelToInterface("InputFieldModel",["input","email","phone","uuid","url","nanoid"],{isDefault:!0}),n.FilterableItemModel.bindModelToInterface("InputFieldModel",["input","email","phone","uuid","url","nanoid","textarea","markdown","vditor","richText","password","color"],{isDefault:!0})},95267(e,t,l){l.d(t,{o:()=>n,e:()=>d});var r=l(50467);l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182);class n{subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async load(){return this.data&&!this.error?this.data:(this.pending||(this.loading=!0,this.notify(),this.pending=this.apiClient.request({url:"systemSettings:get"}).then(e=>(this.data=e.data,this.error=void 0,this.data)).catch(e=>{throw this.error=e,e}).finally(()=>{this.loading=!1,this.pending=void 0,this.notify()})),this.pending)}async refresh(){return this.pending=void 0,this.data=void 0,this.load()}setData(e){this.data=e,this.error=void 0,this.loading=!1,this.notify()}setError(e){this.error=e,this.loading=!1,this.notify()}notify(){for(let e of this.listeners)e()}constructor(e){(0,r._)(this,"apiClient",void 0),(0,r._)(this,"loading",void 0),(0,r._)(this,"data",void 0),(0,r._)(this,"error",void 0),(0,r._)(this,"pending",void 0),(0,r._)(this,"listeners",void 0),this.apiClient=e,this.loading=!1,this.listeners=new Set}}l(45336),l(79936),l(23446);var i=l(11869),o=l(2077),a=l(84256),s=l(96540);let d=()=>{var e,t;let l=(0,o.nm)().systemSettings,r=(0,i.useFlowEngine)({throwError:!1}),[,n]=(0,s.useState)(0),d=null==(t=l.data)||null==(e=t.data)?void 0:e.enabledLanguages,u=(0,s.useMemo)(()=>(Array.isArray(d)?d:[]).filter(e=>a.A[e]).map(e=>({label:a.A[e].label,value:e})),[d]);return(0,s.useEffect)(()=>(l.load(),l.subscribe(()=>{n(e=>e+1)})),[l]),(0,s.useEffect)(()=>{r&&r.context.defineProperty("locale",{get:e=>{var t,l,r;return(null==(l=e.api)||null==(t=l.auth)?void 0:t.locale)||(null==(r=e.i18n)?void 0:r.language)},cache:!1,meta:{type:"string",title:'{{t("Current language")}}',sort:970,interface:"select",uiSchema:{enum:u,"x-component":"Select"}}})},[r,u]),{loading:l.loading,data:l.data,error:l.error,refresh:()=>l.refresh(),mutate:e=>{Object.prototype.hasOwnProperty.call(e||{},"data")&&l.setData(null==e?void 0:e.data),Object.prototype.hasOwnProperty.call(e||{},"error")&&l.setError(null==e?void 0:e.error)}}}},94130(e,t,l){l.d(t,{F3:()=>a,GX:()=>s,b1:()=>d}),l(45336),l(23446),l(79936),l(14324),l(38263);let r={view:"get"},n=e=>e?r[e]||e:null,i=(e,t)=>{for(let l of t){if(!(l in e))continue;let t=e[l];if(null==t)return null;return(Array.isArray(t)?t:[t]).map(e=>n(e)).filter(Boolean)}},o=(e,t)=>{let l=n(t);if(!l||!(null==e?void 0:e.options))return!0;let{availableActions:r,unavailableActions:i}=e.options;return Array.isArray(r)?r.includes(l):!Array.isArray(i)||!i.includes(l)},a=(e,t)=>null==t||!t.length||t.every(t=>o(e,t)),s=e=>{var t;let l=i(e,["capabilityActionNames","capabilityActionName"]);if(void 0!==l)return l;let r=null==e||null==(t=e.prototype)?void 0:t.getAclActionName;if("function"!=typeof r)return null;try{let e=r.call({}),t=n(e);return t?[t]:null}catch{return null}},d=e=>i(e,["blockCapabilityActionNames","blockCapabilityActionName"])??null},42632(e,t,l){l.d(t,{l:()=>r});function r(e){let{blockLabel:t,dsName:l,dsCount:r,collectionTitle:n,sourceCollectionTitle:i,associationTitle:o}=e,a=r>1&&!!l,s=n;if(i&&o){let e=`${i} > ${o} (${n})`;s=`${a?`${l} > `:""}${e}`}else s=`${a?`${l} > `:""}${n}`;return`
|
|
1376
|
+
`;function O(e,t){var l;return!!(null==(l=_[e])?void 0:l.has(t))}function $(e){return"hasAvailableData"in e&&"function"==typeof e.hasAvailableData}function B(e){return"submit"in e&&"function"==typeof e.submit}class L extends m.t{serialize(){return{...super.serialize(),variableContractType:{type:"form",use:this.use}}}get form(){return this.context.form}submitFromRunJs(){if($(this)&&!this.hasAvailableData())return;let e=this.mapSubModels("actions",e=>e).find(e=>e.getFlow("submitSettings"));if(e)return e.onClick(void 0);let t=["CreateFormModel","EditFormModel"].some(e=>{let t=this.flowEngine.getModelClass(e);return t&&this instanceof t});!this.context.publicFormRuntime&&t&&B(this)&&this.submit().catch(e=>{this.context.message.error(this.context.t("Save failed")),console.error("Form submission error:",e)})}syncRuntimeAssignRules(){var e,t,l;arguments.length>0&&void 0!==arguments[0]&&arguments[0];let r=this.getStepParams("formModelSettings","assignRules"),n=(null==r?void 0:r.value)||[];null==(t=this.formValueRuntime)||null==(e=t.syncAssignRules)||e.call(t,Array.isArray(n)?n:[]);let i=null==(l=this.context)?void 0:l.resource,o=T(n,this.collection);(null==i?void 0:i.addUpdateAssociationValues)&&o.length&&i.addUpdateAssociationValues(o)}renderConfigureActions(){return(0,n.jsx)(a.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("FormActionGroupModel"),children:(0,n.jsx)(a.FlowSettingsButton,{icon:(0,n.jsx)(i.A,{}),children:this.translate("Actions")})})}setFieldsValue(e){let t=this.context;"function"==typeof t.setFormValues?t.setFormValues(e,{source:"system"}).catch(e=>{console.warn("[FormBlockModel] Failed to set form values via ctx.setFormValues",e)}):this.form.setFieldsValue(e)}setFieldValue(e,t){let l=this.context;"function"==typeof l.setFormValue?l.setFormValue(e,t,{source:"system"}).catch(e=>{console.warn("[FormBlockModel] Failed to set form value via ctx.setFormValue",e)}):this.form.setFieldValue(e,t)}markUserModifiedFields(e){if(e&&"object"==typeof e&&!Array.isArray(e))for(let t of Object.keys(e))t&&this.userModifiedTopLevelFields.add(t)}getUserModifiedFields(){return this.userModifiedTopLevelFields}resetUserModifiedFields(){this.userModifiedTopLevelFields.clear()}resetRuntimeUserEditedState(){var e,t;null==(t=this.formValueRuntime)||null==(e=t.resetUserEditedState)||e.call(t)}async onDispatchEventStart(e,t,l){var r;if("beforeRender"===e){let e=this.subModels.grid;e&&await e.dispatchEvent("beforeRender",l,{useCache:null==t?void 0:t.useCache})}await (null==(r=super.onDispatchEventStart)?void 0:r.call(this,e,t,l))}getStepParams(e,t){let l=this.subModels.grid;if(e&&t&&O(e,t)&&l){let r=l.getStepParams(e,t);return void 0!==r?r:super.getStepParams(e,t)}if(e&&!t&&_[e]&&l){let t=super.getStepParams(e)||{},r=l.getStepParams(e)||{};for(let l of _[e])Object.prototype.hasOwnProperty.call(r,l)&&void 0!==r[l]&&(t[l]=r[l]);return t}return super.getStepParams(e,t)}setStepParams(e,t,l){let r=this.subModels.grid,n=(e,t)=>{let l=_[e];if(!l||!r)return t;let n={};for(let[i,o]of Object.entries(t))l.has(i)?r.setStepParams(e,i,o):n[i]=o;return n};if("string"==typeof e&&"string"==typeof t&&void 0!==l)return void(O(e,t)&&r?r.setStepParams(e,t,l):super.setStepParams(e,t,l));if("string"==typeof e&&"object"==typeof t&&null!==t){let l=n(e,t);Object.keys(l).length>0&&super.setStepParams(e,l);return}if("object"==typeof e&&null!==e){let t={};for(let[l,r]of Object.entries(e)){if("object"!=typeof r||null===r){t[l]=r;continue}let e=n(l,r);Object.keys(e).length>0&&(t[l]=e)}Object.keys(t).length>0&&super.setStepParams(t)}}async saveStepParams(){return await (0,f.ON)(this,async()=>{let e=await super.saveStepParams(),t=this.subModels.grid;return await (null==t?void 0:t.saveStepParams()),e})}createFormValuesMetaFactory(){return(0,a.createAssociationAwareObjectMetaFactory)(()=>this.collection,this.translate("Current form"),()=>{var e,t;return(null==(t=this.form)||null==(e=t.getFieldsValue)?void 0:e.call(t))||{}})}useHooksBeforeRender(){let[e]=s.A.useForm();this.context.defineProperty("form",{get:()=>e}),this.formValueRuntime||(this.formValueRuntime=new R({model:this,getForm:()=>this.context.form}));let t=this.formValueRuntime;t.mount();let l=this.createFormValuesMetaFactory();this.context.defineProperty("formValues",{get:()=>t.formValues,cache:!1,meta:l,resolveOnServer:e=>{var l,r,n,i,o,s,d,u,p,h,f,m,g,v,y,b;if(!e)return!1;let x=(e=>{let t=String(e||"").match(/^([^.[]+)/);return null==t?void 0:t[1]})(e);if(!x||!(null==(r=this.collection)||null==(l=r.getField)?void 0:l.call(r,x)))return!1;if((()=>{var e,t,l,r;let n=(null==(t=this.subModels.grid)||null==(e=t.subModels)?void 0:e.items)??[],i=new Set;for(let e of n){let t=null==e||null==(r=e.getStepParams)||null==(l=r.call(e,"fieldSettings","init"))?void 0:l.fieldPath,n=null==t?void 0:t.toString().split(".")[0];n&&i.add(n)}return i})().has(x)){let l=null==(i=this.form)||null==(n=i.getFieldValue)?void 0:n.call(i,x);if(null==l||Array.isArray(l)&&0===l.length)return!1;let r=t.getFormValuesSnapshot(),u=!1;if(r&&"object"==typeof r){let t=(0,c.Dw)(r,e);if(void 0!==t){let l=e.replace(/\[\d+\]/g,"").split(".").filter(e=>!/^\d+$/.test(e)).join("."),r=null==(s=this.collection)||null==(o=s.getFieldByPath)?void 0:o.call(s,l),n=null==r?void 0:r.targetCollectionTitleFieldName,i=e=>!(!e||"object"!=typeof e||Array.isArray(e))&&(!n||void 0!==e[n]),a=null===t||(Array.isArray(t)?0===t.length||t.every(e=>null===e||i(e)):i(t));if(!(null==r||null==(d=r.isAssociationField)?void 0:d.call(r))||a)return!1;u=!0}}return(0,a.createAssociationSubpathResolver)(()=>this.collection,u?void 0:()=>t.getFormValuesSnapshot())(e)}try{let e=(null==(h=this.context)||null==(p=h.resource)||null==(u=p.getMeta)?void 0:u.call(p,"currentFilterByTk"))??(null==(g=this.context)||null==(m=g.resource)||null==(f=m.getFilterByTk)?void 0:f.call(m))??(null==(b=this.collection)||null==(y=b.getFilterByTK)?void 0:y.call(b,null==(v=this.context)?void 0:v.record));if(null==e)return!1}catch(e){return!1}return!0},serverOnlyWhenContextParams:!0}),this.context.defineMethod("getFormValues",function(){return t.getFormValuesSnapshot()}),this.context.defineMethod("setFormValues",function(e,l){return t.setFormValues(this,e,l)}),this.context.defineMethod("setFormValue",function(e,l,r){return t.setFormValues(this,[{path:e,value:l}],r)})}onInit(e){super.onInit(e),this.emitter.on("onSubModelAdded",e=>{e===this.subModels.grid&&queueMicrotask(()=>this.syncRuntimeAssignRules("onSubModelAdded:grid"))}),this.context.defineProperty("record",{get:()=>this.getCurrentRecord(),cache:!1}),this.context.resource.on("saved",()=>{this.dispatchEvent("formSubmitSuccess",{})})}onMount(){var e;super.onMount(),null==(e=this.formValueRuntime)||e.mount({sync:!0}),this.syncRuntimeAssignRules("onMount"),setTimeout(()=>{this.applyFlow("eventSettings")},100)}onUnmount(){var e;null==(e=this.formValueRuntime)||e.dispose(),this.formValueRuntime=void 0,super.onUnmount()}getCurrentRecord(){return{}}renderComponent(){throw Error("renderComponent method must be implemented in subclasses of FormModel")}constructor(...e){super(...e),(0,r._)(this,"formValueRuntime",void 0),(0,r._)(this,"userModifiedTopLevelFields",new Set),(0,r._)(this,"_defaultCustomModelClasses",{FormActionGroupModel:"FormActionGroupModel",FormItemModel:"FormItemModel",FormAssociationFieldGroupModel:"FormAssociationFieldGroupModel"}),(0,r._)(this,"customModelClasses",{})}}function q(e){var t,l,r,i;let{model:o,children:a,layoutProps:u={},initialValues:c,...p}=e,h=!!((null==o||null==(t=o.context)?void 0:t.isMobileLayout)&&(null==u?void 0:u.layout)==="horizontal"),f=[p.className,h?D:"",h?N:""].filter(Boolean).join(" ");return(0,n.jsx)(s.A,{form:o.form,initialValues:(null==(i=o.context)||null==(r=i.view)||null==(l=r.inputArgs)?void 0:l.formData)||o.context.record||c,...(0,d.omit)(u,"labelWidth"),labelCol:{style:{width:null==u?void 0:u.labelWidth}},onFieldsChange:e=>{let t=o.formValueRuntime;t&&t.handleFormFieldsChange(e)},onValuesChange:(e,t)=>{var l;null==(l=o.markUserModifiedFields)||l.call(o,e);let r=o.formValueRuntime;r?r.handleFormValuesChange(e,t):(o.dispatchEvent("formValuesChange",{changedValues:e,allValues:t},{debounce:!0}),o.emitter.emit("formValuesChange",{changedValues:e,allValues:t}))},...p,className:f||void 0,children:a})}let V=e=>{if(!e)return 0;let t=e.getBoundingClientRect(),l=window.getComputedStyle(e),r=parseFloat(l.marginTop)||0,n=parseFloat(l.marginBottom)||0;return t.height+r+n},z=e=>{if(null!=e&&""!==e)return"number"==typeof e||/^\d+(\.\d+)?$/.test(e)?`${e}px`:e},K=e=>{let{heightMode:t,containerRef:l,actionsRef:r,footerRef:n,deps:i=[]}=e,[o,a]=(0,p.useState)(),s=(0,p.useCallback)(()=>{if("specifyValue"!==t&&"fullHeight"!==t)return void a(e=>void 0===e?e:void 0);let e=l.current;if(!e)return;let i=e.getBoundingClientRect().height;if(!i)return;let o=Math.max(0,Math.floor(i-V((null==r?void 0:r.current)||null)-V((null==n?void 0:n.current)||null)));a(e=>e===o?e:o)},[t,l,r,n]);return(0,p.useLayoutEffect)(()=>{s()},[s,...i]),(0,p.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=(null==r?void 0:r.current)||null,i=(null==n?void 0:n.current)||null,o=new ResizeObserver(()=>s());return o.observe(e),t&&o.observe(t),i&&o.observe(i),()=>o.disconnect()},[s,l,r,n,...i]),o},U=e=>{var t,l;let{model:r,gridModel:i,layoutProps:o,onFinish:a,grid:s,actions:d,footer:u,heightMode:c,height:h}=e,f=(0,p.useRef)(null),m=(0,p.useRef)(null),g=(0,p.useRef)(null),v="specifyValue"===c||"fullHeight"===c,y={paddingTop:null==(l=r.context)||null==(t=l.themeToken)?void 0:t.padding},b=(null==o?void 0:o.layout)==="horizontal"?z(null==o?void 0:o.labelWidth):void 0;b&&(y.marginInlineStart=b);let x=K({heightMode:c,containerRef:f,actionsRef:d?m:void 0,footerRef:u?g:void 0,deps:[h]});(0,p.useEffect)(()=>{var e;if(!i)return;let t=v?x:void 0;(null==(e=i.props)?void 0:e.height)!==t&&i.setProps({height:t})},[i,x,v]);let w=v?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,S=v?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,n.jsx)(q,{model:r,layoutProps:o,onFinish:a,style:w,children:(0,n.jsxs)("div",{ref:f,style:S,children:[s,d?(0,n.jsx)("div",{style:y,ref:m,children:d}):null,u?(0,n.jsx)("div",{ref:g,children:u}):null]})})};L.define({hide:!0}),L.registerFlow({key:"formModelSettings",title:(0,a.tExpr)("Form settings"),steps:{layout:{use:"layout",title:(0,a.tExpr)("Layout")},assignRules:{use:"formAssignRules",title:(0,a.tExpr)("Field values"),beforeParamsSave(e){let t=(0,I.Fp)(e.model);Array.isArray(t)&&t.length&&(0,f.jI)(e.model)},afterParamsSave(e){var t,l,r,n,i,o;let a=e.model.getStepParams("formModelSettings","assignRules"),s=(null==a?void 0:a.value)||[];null==(r=e.model)||null==(l=r.formValueRuntime)||null==(t=l.syncAssignRules)||t.call(l,Array.isArray(s)?s:[]);let d=null==(i=e.model)||null==(n=i.context)?void 0:n.resource,u=T(s,null==(o=e.model)?void 0:o.collection);(null==d?void 0:d.addUpdateAssociationValues)&&u.length&&d.addUpdateAssociationValues(u)}}}}),L.registerFlow({key:"eventSettings",title:(0,a.tExpr)("Event settings"),on:"formValuesChange",steps:{linkageRules:{use:"fieldLinkageRules",afterParamsSave(e){setTimeout(()=>{var t;e.model.applyFlow("eventSettings",{changedValues:{},allValues:null==(t=e.form)?void 0:t.getFieldsValue(!0)})},0)}}}}),L.registerEvents({formValuesChange:{title:(0,a.tExpr)("Form values change"),name:"formValuesChange",uiSchema:{condition:{type:"object",title:(0,a.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":h.H}},handler:h.b}});class W extends L{}W.define({hide:!0})},71712(e,t,l){l.d(t,{Fp:()=>s,K7:()=>a,S2:()=>r.S2});var r=l(50314);let n=["editItemSettings","formItemSettings"],i=(0,r.li)(n),o=(0,r.u4)(n);function a(e){return(0,r.TE)(e,i)}function s(e){return(0,r.Co)(e,i,o)}},53831(e,t,l){l.d(t,{submitHandler:()=>a});var r=l(11869),n=l(58428),i=l(18357);function o(e){return e&&"object"==typeof e&&"data"in e?e.data:e}async function a(e,t,a){var s,d,u,c,p,h,f,m;let g=e.resource,v=e.blockModel,{EditFormModel:y}=await Promise.resolve().then(l.bind(l,71616)),b=v instanceof y;await (0,i.D9)({form:null==v?void 0:v.form,blockModel:v,flowSettingsEnabled:null==e?void 0:e.flowSettingsEnabled,skipValidator:(0,i.go)(null==e?void 0:e.model)});let x=v.form.getFieldsValue(!0),w=(0,i.xT)(x,v),S=await (0,n.eu)(e,null==t?void 0:t.assignedValues,"FormSubmitAction");if(!S){null==(s=e.exit)||s.call(e);return}let A=(0,n.GO)(w,S);if(g instanceof r.SingleRecordResource){if(b){let e=g.getMeta("currentFilterByTk");e?g.setFilterByTk(e):g.isNewRecord=!0}let l=o(a?await a(A):await g.save(A,t.requestConfig));return b?(g.isNewRecord=!1,null==(d=v.resetUserModifiedFields)||d.call(v),await g.refresh(),l=l??(null==(u=g.getData)?void 0:u.call(g))):(v.form.resetFields(),v.emitter.emit("onFieldReset"),null==(c=v.resetUserModifiedFields)||c.call(v),null==(h=v.formValueRuntime)||null==(p=h.resetAfterFormReset)||p.call(h),e.view.inputArgs.collectionName===v.collection.name&&e.view.inputArgs.onChange&&e.view.inputArgs.onChange(l)),l}if(g instanceof r.MultiRecordResource){let l=g.getMeta("currentFilterByTk");if(!l)return void e.message.error(e.t("No filterByTk found for multi-record resource."));let r=a?await a(A,l):await g.update(l,A,t.requestConfig);return null==(f=v.resetUserModifiedFields)||f.call(v),o(r)??(null==(m=v.getCurrentRecord)?void 0:m.call(v))}}},18357(e,t,l){l.d(t,{D9:()=>v,go:()=>g,xT:()=>y}),l(45336),l(69861),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(5409),l(79936),l(34678);var r=l(40098),n=l.n(r),i=l(12197);function o(e,t){var l,r;let n=null==e||null==(r=e.context)||null==(l=r.blockModel)?void 0:l.uid,i=null==t?void 0:t.uid;return!!n&&!!i&&String(n)===String(i)}function a(e){var t,l;let r=null==e||null==(t=e.context)?void 0:t.fieldPathArray;if(Array.isArray(r)&&r.length)return r;try{let t=null==e||null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init"),r=null==t?void 0:t.fieldPath;if("string"==typeof r&&r)return r}catch{}let n=null==e?void 0:e.fieldPath;if("string"==typeof n&&n)return n;let i="function"==typeof(null==e?void 0:e.getProps)?e.getProps():null==e?void 0:e.props,o=null==i?void 0:i.name;return"string"==typeof o&&o||Array.isArray(o)&&o.length?o:null}function s(e){return Array.isArray(e)&&e.length&&"string"==typeof e[0]?e:null}function d(e){var t;let l=a(e);return l?s((0,i.IJ)(l,null==e||null==(t=e.context)?void 0:t.fieldIndex)):null}function u(e,t){if(e&&"object"==typeof e&&Array.isArray(t)&&!(t.length<2))for(let l=t.length-1;l>=1;l--){let r=t.slice(0,l);if("number"==typeof r[r.length-1])continue;let i=n().get(e,r);n().isPlainObject(i)&&0===Object.keys(i).length&&n().unset(e,r)}}function c(e,t){(null==e?void 0:e.forEachModel)&&e.forEachModel(e=>{t(e);let l=null==e?void 0:e.forks;l&&"function"==typeof l.forEach&&l.forEach(e=>{e&&!e.disposed&&t(e)})})}function p(e){let t=null==e?void 0:e.flowEngine;if(!(null==t?void 0:t.forEachModel))return[];let l=[],r=new Set;return c(t,t=>{if(!t||"object"!=typeof t||!t.hidden||!o(t,e))return;let n=d(t);if(!n)return;let i=JSON.stringify(n);r.has(i)||(r.add(i),l.push(n))}),l}function h(e){return"string"==typeof e?e?[e]:null:Array.isArray(e)?s(e):null}function f(e,t){if(!Array.isArray(e)||!Array.isArray(t)||e.length>t.length)return!1;for(let l=0;l<e.length;l++)if(e[l]!==t[l])return!1;return!0}function m(e){let t=null==e?void 0:e.form;if(!t||"function"!=typeof t.getFieldsError)return null;let l=t.getFieldsError();if(!Array.isArray(l))return null;let r=[],n=new Set;for(let e of l){let t=h(null==e?void 0:e.name);if(!t)continue;let l=JSON.stringify(t);n.has(l)||(n.add(l),r.push(t))}if(!r.length)return null;let i=p(e);return i.length?r.filter(e=>!i.some(t=>f(t,e))):r}function g(e){var t,l;return(null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"submitSettings","skipRequiredValidation"))?void 0:t.skipValidator)===!0}async function v(e){let{form:t,blockModel:l,flowSettingsEnabled:r,skipValidator:n}=e;if(n||!t||"function"!=typeof t.validateFields)return;let i=r&&l?m(l):null;if(Array.isArray(i)){i.length&&await t.validateFields(i);return}await t.validateFields()}function y(e,t){if(!e||"object"!=typeof e)return e;let l=p(t);if(!l.length)return e;let r=n().cloneDeep(e);for(let e of l)n().unset(r,e),u(r,e);return r}},29676(e,t,l){l.d(t,{F:()=>n});var r=l(87710);function n(e,t){let l=(t,l,r)=>{var n,i,o;return!l||(null==e||null==(o=e.app)||null==(i=o.jsonLogic)||null==(n=i.apply)?void 0:n.call(i,{[l]:[t,r]}))};try{return(0,r.evaluateConditions)((0,r.removeInvalidFilterItems)(t),l)}catch{return!1}}},47632(e,t,l){l.d(t,{Dd:()=>d,G:()=>c,Wp:()=>p,x3:()=>u}),l(58149),l(45336),l(79936);var r=l(95243),n=l(11869),i=l(40098),o=l.n(i),a=l(12197);function s(e){return!!e&&"object"==typeof e&&(Array.isArray(e)||o().isPlainObject(e))}function d(e,t){if(t)for(let l of(0,a.ef)(e))t.deps.add(`fv:${l}`)}function u(e){let{valuesMirror:t,collector:l,basePath:n,getFormValuesSnapshot:i,getFormValueAtPath:a}=e,c=()=>n.length?o().get(t,n):t,p=c(),h=p&&("object"==typeof p||"function"==typeof p)?p:Array.isArray(p)?[]:{},f=e=>u({valuesMirror:t,basePath:e,collector:l,getFormValuesSnapshot:i,getFormValueAtPath:a});return new Proxy(h,{get(e,u){if("toJSON"===u)return(l&&(l.wildcard=!0),0===n.length)?()=>i():()=>(0,r.toJS)(c());if("symbol"==typeof u){l&&(l.wildcard=!0);let e=c();return null==e?void 0:e[u]}let p=c();if(null==p)return;if("__raw"===u)return p;if("__proto__"===u||"prototype"===u||"constructor"===u){l&&(l.wildcard=!0);return}let h=Array.isArray(p),m=h&&("number"==typeof u&&Number.isInteger(u)||"string"==typeof u&&/^\d+$/.test(u));if(h&&!m){l&&(l.wildcard=!0);let e=p[u];return"function"==typeof e?e.bind(p):e}let g=[...n,m?Number(u):u];d(g,l);let v=p[u];if(void 0===v){let e=a(g);o().isEqual(e,v)||(o().set(t,g,e),v=e)}return null==v||"object"!=typeof v?v:s(v)?f(g):v},ownKeys(){l&&(l.wildcard=!0);let e=c();return e?Reflect.ownKeys(e):[]},getOwnPropertyDescriptor(e,t){let l=c();if(l)return Object.getOwnPropertyDescriptor(l,t)},has(e,t){let l=c();return!!l&&t in l}})}function c(e,t){try{let l=(0,n.extractUsedVariablePaths)(e)||{};for(let[e,r]of Object.entries(l)){let l=Array.isArray(r)?r:[];for(let r of l.length?l:[""]){if("formValues"===e){if(!r){t.wildcard=!0;continue}let e=(0,a.EA)(String(r)).filter(e=>"object"!=typeof e);d(e,t);continue}let l=r?`ctx:${e}:${String(r)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}function p(e,t){if((0,n.isRunJSValue)(e))try{let l=(0,n.extractUsedVariablePathsFromRunJS)(e.code)||{};for(let[e,r]of Object.entries(l)){let l=Array.isArray(r)?r:[];for(let r of l.length?l:[""]){if("formValues"===e){if(!r){t.wildcard=!0;continue}let e=(0,a.EA)(String(r)).filter(e=>"object"!=typeof e);d(e,t);continue}let l=r?`ctx:${e}:${String(r)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}},12197(e,t,l){function r(e){let t=[],l=0,r=e.length,n=()=>{let n=l;for(;l<r&&"."!==e[l]&&"["!==e[l];)l++;let i=e.slice(n,l);i&&t.push(i)};for(;l<r;){let i=e[l];if("."===i){l++;continue}if("["===i){let n=++l;for(;l<r&&"]"!==e[l];)l++;let i=e.slice(n,l);l++,/^\d+$/.test(i)?t.push(Number(i)):i&&t.push({placeholder:i});continue}n()}return t}function n(e){let t=Array.isArray(e)?e:[],l=[];for(let e of t){if("string"!=typeof e)continue;let[t,r]=e.split(":"),n=Number(r);!t||Number.isNaN(n)||l.push({name:t,index:n})}return l}function i(e,t){let l=Array.isArray(e)?[...e]:r(e),i=n(t),o=[],a=0;for(let e=0;e<l.length;e++){let t=l[e];if("object"==typeof t&&t&&"placeholder"in t){let e=o[o.length-1],t="string"==typeof e?e:void 0;if(!t)return null;for(;a<i.length&&i[a].name!==t;)a++;if(a>=i.length)return null;o.push(i[a].index),a++;continue}if(o.push(t),"string"==typeof t&&a<i.length&&i[a].name===t){let t=l[e+1];"number"==typeof t?a++:"object"==typeof t&&t&&"placeholder"in t||(o.push(i[a].index),a++)}}return o}function o(e){let t="";for(let l of e){if("number"==typeof l){t+=`[${l}]`;continue}t?t+=`.${l}`:t=l}return t}function a(e){return r(e).filter(e=>"object"!=typeof e)}function s(e){let t=[],l=[];for(let r of e)l.push(r),t.push(o(l));return t}l.d(t,{EA:()=>r,IJ:()=>i,Qc:()=>o,c1:()=>a,ef:()=>s}),l(5409),l(45336),l(79936)},65421(e,t,l){l.d(t,{Po:()=>o,ao:()=>a,li:()=>i});var r=l(40098),n=l.n(r);let i=20;function o(e){return null==e||("string"==typeof e||Array.isArray(e)?0===e.length:!!n().isPlainObject(e)&&0===Object.keys(e).length)}function a(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}},50314(e,t,l){l.d(t,{Co:()=>m,PP:()=>o,S2:()=>f,TE:()=>h,li:()=>d,u4:()=>p}),l(5409),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(45336),l(23446);var r=l(40098),n=l.n(r);function i(){return{logic:"$and",items:[]}}function o(e,t,l){var r;let n=null==e||null==(r=e.getStepParams)?void 0:r.call(e,t,l);return!!n&&Object.prototype.hasOwnProperty.call(n,"value")}function a(e){if(!e)return;let t="function"==typeof e.getProps?e.getProps():e.props;if(t&&void 0!==t.initialValue)return t.initialValue}function s(e,t){var l,r;if(e)return null==(r=e.getStepParams)||null==(l=r.call(e,t,"initialValue"))?void 0:l.defaultValue}function d(e){return t=>{if(!t)return;let l=a(t);if(void 0!==l)return l;for(let l of e){let e=s(t,l);if(void 0!==e)return e}}}function u(e,t,l){var r,i,o;if(!(null==e||null==(r=e.stepParams)?void 0:r[t]))return;let a=e.stepParams[t];!a||"object"!=typeof a||Object.prototype.hasOwnProperty.call(a,l)&&(delete a[l],n().isEmpty(a)&&delete e.stepParams[t],null==(o=e.emitter)||null==(i=o.emit)||i.call(o,"onStepParamsChanged"))}function c(e){var t,l;if(!e)return;null==(t=e.setProps)||t.call(e,{initialValue:void 0}),e.props&&Object.prototype.hasOwnProperty.call(e.props,"initialValue")&&delete e.props.initialValue;let r=null==(l=e._options)?void 0:l.props;r&&Object.prototype.hasOwnProperty.call(r,"initialValue")&&delete r.initialValue}function p(e){return t=>{if(t)for(let l of(c(t),e))u(t,l,"initialValue")}}function h(e,t){var l,r,n,o,a;let s=null==e||null==(n=e.subModels)||null==(r=n.grid)||null==(l=r.subModels)?void 0:l.items,d=Array.isArray(s)?s:[],u=[];for(let e of d){let l=(null==e||null==(a=e.getStepParams)||null==(o=a.call(e,"fieldSettings","init"))?void 0:o.fieldPath)||(null==e?void 0:e.fieldPath),r=l?String(l):"";if(!r)continue;let n=t(e);void 0!==n&&u.push({key:`legacy-default:${r}`,enable:!0,targetPath:r,mode:"default",condition:i(),value:n})}return u}function f(e,t){let l=Array.isArray(e)?e:[],r=Array.isArray(t)?t:[];if(!r.length)return l;let n=new Set;for(let e of l){if(!e||"object"!=typeof e)continue;let t=e.targetPath?String(e.targetPath):"";if(t){if("default"===e.mode){n.add(t);continue}String(e.key??"").startsWith("legacy-default:")&&n.add(t)}}let i=new Set(l.map(e=>String(e.key??""))),o=[];for(let e of r){let t=e.targetPath?String(e.targetPath):"";if(!t||n.has(t))continue;let l={...e},r=String(l.key??"");r&&i.has(r)&&(l.key=`${r}:${t}`),o.push(l)}return o.length?[...l,...o]:l}function m(e,t,l){var r,n,i;let o=null==e||null==(i=e.subModels)||null==(n=i.grid)||null==(r=n.subModels)?void 0:r.items,a=Array.isArray(o)?o:[],s=[];for(let e of a)void 0!==t(e)&&(l(e),s.push(e));return s}},26866(e,t,l){l.d(t,{$4:()=>a,r5:()=>o}),l(45336),l(23446),l(34678);var r=l(27253);let n="__index__";function i(e,t){if(!t)return null;if(Array.isArray(t)){let l=t.map(t=>null==e?void 0:e[t]);return l.some(e=>null==e)?null:l.map(e=>String(e)).join("__")}let l=null==e?void 0:e[t];return null==l?null:String(l)}function o(e,t){let l=null==e?void 0:e[n];if((null==e?void 0:e.__is_new__)&&null!=l&&""!==l)return`tmp:${String(l)}`;let r=i(e,t);return null!=r?`pk:${r}`:null!=l&&""!==l?`tmp:${String(l)}`:null}function a(e){if(!e.length)return e;let t=!1,l=e.map(e=>{let l=null==e?void 0:e[n];return e.__is_new__&&(null==l||""===l)?(t=!0,{...e,[n]:(0,r.uid)()}):e});return t?l:e}},69586(e,t,l){l.d(t,{m:()=>p});var r=l(74848),n=l(11869),i=l(95725),o=l(96540),a=l(44329),s=l(81486),d=l(16860);function u(e){let{value:t,onChange:l,onCompositionStart:n,onCompositionEnd:a,...s}=e,[d,u]=(0,o.useState)(()=>c(t));(0,o.useEffect)(()=>{u(c(t))},[t]);let p=e=>e.currentTarget.value;return(0,r.jsx)(i.A,{...s,value:d,onChange:e=>{u(p(e)),null==l||l(e)},onCompositionStart:e=>{u(p(e)),null==n||n(e)},onCompositionEnd:e=>{u(p(e)),null==a||a(e)}})}function c(e){return"bigint"==typeof e?String(e):null==e?"":e}class p extends s.o{render(){if(this.props.enableScan)return(0,r.jsx)(d.E,{...this.props});let{enableScan:e,disableManualInput:t,...l}=this.props;return(0,r.jsx)(u,{...l})}}p.registerFlow({key:"defaultValueForNanoid",steps:{generateNanoid:{handler(e,t){var l,r;null==(r=e.blockModel)||null==(l=r.emitter)||l.on("onFieldReset",()=>{if("nanoid"===e.collectionField.interface&&!1!==e.collectionField.options.autoFill){let{size:t,customAlphabet:l}=e.collectionField.options||{size:21};e.model.props.onChange((0,a.d_)(l,t)())}})}}}}),p.registerFlow({key:"scanInputSettings",sort:800,title:(0,n.tExpr)("Scan input settings"),steps:{enableScan:{title:(0,n.tExpr)("Enable Scan"),uiMode:{type:"switch",key:"enableScan"},hideInSettings:e=>"readPretty"===e.model.getProps().pattern||e.model.getProps().disabled,defaultParams:e=>({enableScan:!!e.model.props.enableScan}),handler(e,t){e.model.setProps({enableScan:!!t.enableScan,disableManualInput:!!t.enableScan&&e.model.props.disableManualInput})}},disableManualInput:{title:(0,n.tExpr)("Disable manual input"),uiMode:{type:"switch",key:"disableManualInput"},hideInSettings(e){var t,l;let r=null==(t=(l=e.model).getStepParams)?void 0:t.call(l,"scanInputSettings","enableScan");return!(Object.prototype.hasOwnProperty.call(r||{},"enableScan")?!!(null==r?void 0:r.enableScan):!!e.model.props.enableScan)||"readPretty"===e.model.getProps().pattern||!!e.model.getProps().disabled},defaultParams:e=>({disableManualInput:!!e.model.props.disableManualInput}),handler(e,t){e.model.setProps({disableManualInput:!!e.model.props.enableScan&&!!t.disableManualInput})}}}}),p.define({label:(0,n.tExpr)("Input")}),n.EditableItemModel.bindModelToInterface("InputFieldModel",["input","email","phone","uuid","url","nanoid"],{isDefault:!0}),n.FilterableItemModel.bindModelToInterface("InputFieldModel",["input","email","phone","uuid","url","nanoid","textarea","markdown","vditor","richText","password","color"],{isDefault:!0})},95267(e,t,l){l.d(t,{o:()=>n,e:()=>d});var r=l(50467);l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182);class n{subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async load(){return this.data&&!this.error?this.data:(this.pending||(this.loading=!0,this.notify(),this.pending=this.apiClient.request({url:"systemSettings:get"}).then(e=>(this.data=e.data,this.error=void 0,this.data)).catch(e=>{throw this.error=e,e}).finally(()=>{this.loading=!1,this.pending=void 0,this.notify()})),this.pending)}async refresh(){return this.pending=void 0,this.data=void 0,this.load()}setData(e){this.data=e,this.error=void 0,this.loading=!1,this.notify()}setError(e){this.error=e,this.loading=!1,this.notify()}notify(){for(let e of this.listeners)e()}constructor(e){(0,r._)(this,"apiClient",void 0),(0,r._)(this,"loading",void 0),(0,r._)(this,"data",void 0),(0,r._)(this,"error",void 0),(0,r._)(this,"pending",void 0),(0,r._)(this,"listeners",void 0),this.apiClient=e,this.loading=!1,this.listeners=new Set}}l(45336),l(79936),l(23446);var i=l(11869),o=l(2077),a=l(84256),s=l(96540);let d=()=>{var e,t;let l=(0,o.nm)().systemSettings,r=(0,i.useFlowEngine)({throwError:!1}),[,n]=(0,s.useState)(0),d=null==(t=l.data)||null==(e=t.data)?void 0:e.enabledLanguages,u=(0,s.useMemo)(()=>(Array.isArray(d)?d:[]).filter(e=>a.A[e]).map(e=>({label:a.A[e].label,value:e})),[d]);return(0,s.useEffect)(()=>(l.load(),l.subscribe(()=>{n(e=>e+1)})),[l]),(0,s.useEffect)(()=>{r&&r.context.defineProperty("locale",{get:e=>{var t,l,r;return(null==(l=e.api)||null==(t=l.auth)?void 0:t.locale)||(null==(r=e.i18n)?void 0:r.language)},cache:!1,meta:{type:"string",title:'{{t("Current language")}}',sort:970,interface:"select",uiSchema:{enum:u,"x-component":"Select"}}})},[r,u]),{loading:l.loading,data:l.data,error:l.error,refresh:()=>l.refresh(),mutate:e=>{Object.prototype.hasOwnProperty.call(e||{},"data")&&l.setData(null==e?void 0:e.data),Object.prototype.hasOwnProperty.call(e||{},"error")&&l.setError(null==e?void 0:e.error)}}}},94130(e,t,l){l.d(t,{F3:()=>a,GX:()=>s,b1:()=>d}),l(45336),l(23446),l(79936),l(14324),l(38263);let r={view:"get"},n=e=>e?r[e]||e:null,i=(e,t)=>{for(let l of t){if(!(l in e))continue;let t=e[l];if(null==t)return null;return(Array.isArray(t)?t:[t]).map(e=>n(e)).filter(Boolean)}},o=(e,t)=>{let l=n(t);if(!l||!(null==e?void 0:e.options))return!0;let{availableActions:r,unavailableActions:i}=e.options;return Array.isArray(r)?r.includes(l):!Array.isArray(i)||!i.includes(l)},a=(e,t)=>null==t||!t.length||t.every(t=>o(e,t)),s=e=>{var t;let l=i(e,["capabilityActionNames","capabilityActionName"]);if(void 0!==l)return l;let r=null==e||null==(t=e.prototype)?void 0:t.getAclActionName;if("function"!=typeof r)return null;try{let e=r.call({}),t=n(e);return t?[t]:null}catch{return null}},d=e=>i(e,["blockCapabilityActionNames","blockCapabilityActionName"])??null},42632(e,t,l){l.d(t,{l:()=>r});function r(e){let{blockLabel:t,dsName:l,dsCount:r,collectionTitle:n,sourceCollectionTitle:i,associationTitle:o}=e,a=r>1&&!!l,s=n;if(i&&o){let e=`${i} > ${o} (${n})`;s=`${a?`${l} > `:""}${e}`}else s=`${a?`${l} > `:""}${n}`;return`
|
|
1377
1377
|
${t}:
|
|
1378
1378
|
${s}`}},84759(e,t,l){l.d(t,{SM:()=>s,M6:()=>p,Xi:()=>i,hH:()=>h,NY:()=>c,hO:()=>f,lr:()=>r.l,HZ:()=>d});var r=l(42632);l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(5409),l(45336),l(69861);var n=l(11869);async function i(e,t,l,r,i){let o=(null==i?void 0:i.includeSelf)??!0,a=(null==i?void 0:i.includeForks)??!0,s=new Set,d=[e],u=[],c=e=>{e&&"function"==typeof e.dispatchEvent&&u.push(e.dispatchEvent(t,l,r))};for(;d.length;){let t=d.pop();if(!t||s.has(t))continue;if(s.add(t),o||t!==e){var p;c(t),a&&(null==(p=t.forks)?void 0:p.size)&&t.forks.forEach(e=>{null!=e&&e.disposed||c(e)})}let l=t.subModels;if(l)for(let e of Object.values(l))if(Array.isArray(e))for(let t of e)t instanceof n.FlowModel&&d.push(t);else e instanceof n.FlowModel&&d.push(e)}await Promise.all(u)}l(79936);var o=l(22803),a=l(96540);let s=e=>{let t=e.dataLength||0,l=e.pageSize||10,r=e.current||1;return t<l||!e.hasNext?l*r:l*r+1},d=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return(0,o.css)`
|
|
1379
1379
|
.ant-pagination-simple-pager {
|
|
@@ -1437,14 +1437,14 @@ ${n}`,c)}}let r=R(e.issues.filter(e=>"runtime"===e.type)),n=r?`Key runtime issue
|
|
|
1437
1437
|
-webkit-line-clamp: 2;
|
|
1438
1438
|
overflow: hidden;
|
|
1439
1439
|
margin-bottom: 0;
|
|
1440
|
-
`,children:F})})})]})},H=["Data model tools","Data sources","Collections","Collection fields","Blocks","Actions","Workflow","Users & permissions","AI","Authentication","Notification","System management","Security","Architecture","Logging and monitoring","Others"],Y=200;function G(e,t){return!!Array.isArray(e)&&!!Array.isArray(t)&&e.some(e=>t.includes(e))}function J(e){let{items:t,activeKeyword:l,onSelect:n}=e,{t:i}=(0,A.B)();return(0,r.jsx)(s.A,{size:"small",dataSource:t,split:!1,renderItem:e=>(0,r.jsx)(s.A.Item,{style:{padding:"3px 0",cursor:"pointer"},onClick:()=>n(e.key),children:(0,r.jsx)("a",{style:{fontWeight:l===e.key?"bold":"normal"},children:i(e.key)})})})}let X=()=>{let{t:e}=(0,A.B)(),{token:t}=d.A.useToken(),l=(0,M.n)(),s=!!u.Ay.useBreakpoint().md,{data:x=[],loading:F,error:k}=(0,i.A)(async()=>{var e;let t=await l.apiClient.request({url:"pm:list",params:{v2:!0},skipNotify:!0});return Array.isArray(null==t||null==(e=t.data)?void 0:e.data)?t.data.data:[]},{cacheKey:"pm:list"}),P=(0,S.useMemo)(()=>{let e=[...x].reverse();return[{type:"All",list:e},{type:"Built-in",list:w().filter(e,e=>e.builtIn)},{type:"Enabled",list:w().filter(e,e=>e.enabled)},{type:"Not enabled",list:w().filter(e,e=>!e.enabled)},{type:"Problematic",list:w().filter(e,e=>!e.isCompatible)}]},[x]),[j,E]=(0,S.useState)(0),[R,T]=(0,S.useState)(""),[I,_]=(0,S.useState)(null),[D,N]=(0,S.useState)(!1),O=(0,o.A)(R,{wait:100}),$=(0,S.useMemo)(()=>H.map(e=>"Others"===e?{key:e,list:x.filter(e=>!G(e.keywords,H))}:{key:e,list:x.filter(t=>{var l;return null==(l=t.keywords)?void 0:l.includes(e)})}),[x]),B=(0,S.useMemo)(()=>{var e,t;let l=(null==(e=P[j])?void 0:e.list)||[];if(I){let e=(null==(t=$.find(e=>e.key===I))?void 0:t.list)||[];l=0===j?e:e.filter(e=>l.find(t=>t.name===e.name))}let r=O.toLowerCase().trim();return r&&(l=w().filter(l,e=>String(e.displayName||"").toLowerCase().includes(r)||String(e.description||"").toLowerCase().includes(r))),[...l].sort((e,t)=>(e.displayName||"").localeCompare(t.displayName||""))},[j,P,O,I,$]),L=(0,a.A)(e=>{_(t=>t===e?null:e),N(!1)}),q=(0,a.A)(e=>{T(e.target.value)});if(F)return(0,r.jsx)(c.A,{});let V=(0,r.jsxs)(p.A,{size:t.marginXXS,split:(0,r.jsx)(h.A,{type:"vertical"}),wrap:!0,children:[!s&&(0,r.jsx)(f.A,{trigger:"click",placement:"bottomLeft",open:D,onOpenChange:N,content:(0,r.jsx)("div",{style:{minWidth:180,maxHeight:"60vh",overflowY:"auto"},children:(0,r.jsx)(J,{items:$,activeKeyword:I,onSelect:L})}),children:(0,r.jsx)(m.Ay,{type:"text",size:"small",icon:(0,r.jsx)(n.A,{}),"aria-label":e("Category")})}),P.map((t,l)=>(0,r.jsxs)("a",{role:"button","aria-label":t.type,onClick:()=>E(l),style:{fontWeight:j===l?"bold":"normal"},children:[e(t.type),j===l?`(${B.length})`:null]},t.type))]}),z=(0,r.jsxs)(g.A,{wrap:"wrap",gap:t.margin,align:"center",justify:"space-between",style:{marginBottom:t.marginLG},children:[V,(0,r.jsxs)(g.A,{gap:t.marginSM,align:"center",style:{flex:"1 1 auto",justifyContent:"flex-end"},children:[(0,r.jsx)(v.A,{allowClear:!0,placeholder:e("Search plugin"),onChange:q,style:{flex:"1 1 auto",maxWidth:320,minWidth:160}}),(0,r.jsx)("div",{style:{flexShrink:0},children:(0,r.jsx)(C,{plugins:x})})]})]});return(0,r.jsxs)(r.Fragment,{children:[k?(0,r.jsx)(y.A,{showIcon:!0,type:"error",message:e("Failed to load plugins"),description:k.message,style:{marginBottom:t.marginLG}}):null,z,(0,r.jsxs)(g.A,{gap:t.margin,align:"flex-start",children:[s&&(0,r.jsx)(b.A,{style:{width:Y,flexShrink:0},size:"small",children:(0,r.jsx)(J,{items:$,activeKeyword:I,onSelect:L})}),(0,r.jsx)("div",{style:{flex:"1 1 auto",minWidth:0,display:"grid",gap:t.margin,gridTemplateColumns:"repeat(auto-fill, minmax(240px, 1fr))"},children:B.map(e=>(0,r.jsx)(W,{data:e},e.name))})]})]})},Q=X},17586(e,t,l){l.d(t,{Bm:()=>i,C9:()=>g,CM:()=>p,O:()=>n,R0:()=>m,Ui:()=>s,X2:()=>f,eD:()=>d,gL:()=>v,jm:()=>o,lv:()=>a,nC:()=>c,p$:()=>u,uT:()=>h}),l(45336),l(23446),l(79936),l(69861),l(5409);var r=l(47767);let n="admin-settings-layout-model",i="plugin-manager",o="system-settings";function a(e){return!!e&&(!!e.link||!!e.componentLoader||!!e.Component&&e.Component!==r.Outlet)}function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(e=>{let t=s(e.children||[]);return a(e)||0!==t.length?{...e,children:t.length?t:void 0}:null}).filter(Boolean)}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.filter(e=>!e.hidden).map(e=>{let t=d(e.children||[]);return a(e)||0!==t.length?{...e,children:t.length?t:void 0}:null}).filter(Boolean)}function u(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return[...e].sort((e,t)=>(e.sort||0)!==(t.sort||0)?(e.sort||0)-(t.sort||0):(e.name||"").localeCompare(t.name||""))}function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={},l=e=>{e.forEach(e=>{var r;t[e.path]=e,(null==(r=e.children)?void 0:r.length)&&l(e.children)})};return l(e),t}function p(e,t){let l=Object.keys(e);if(e[t])return e[t];for(let r of l){let l=r.replace(/:[^/]+/g,"([^/]+)");if(t.match(RegExp(`^${l}$`)))return e[r]}let r=l.filter(e=>{let l=e.replace(/:[^/]+/g,"[^/]+");return t.match(RegExp(`^${l}/`))}).sort((e,t)=>t.length-e.length)[0];return r?e[r]:null}function h(e,t){return e.replace(/:\w+/g,e=>{let l=e.substring(1);return(null==t?void 0:t[l])||e})}function f(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for(let l of e){var t;if(null==(t=l.children)?void 0:t.length){let e=f(l.children);if(e)return e}if(a(l)&&!l.link)return l}return null}function m(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;for(let r of e){var l;if(r.name===t)return r;if(null==(l=r.children)?void 0:l.length){let e=m(r.children,t);if(e)return e}}return null}function g(){var e,t;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for(let e of[o,i]){let r=m(l,e);if(!r)continue;if(a(r)&&!r.link)return r.path;let n=null==(t=f(r.children))?void 0:t.path;if(n)return n}return null==(e=f(l))?void 0:e.path}function v(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.filter(e=>e.isPinned&&!e.hidden),l=e.filter(e=>!e.isPinned&&!e.hidden),r=[];if(t.length&&r.push(...t,{type:"divider"}),l.length&&r.push(...l),0!==r.length)return r.map(e=>{var t;return"divider"===e.type?{type:"divider"}:{key:e.name,label:e.label,title:e.title,icon:e.icon,children:(null==(t=e.children)?void 0:t.length)?v(e.children):void 0}})}},68272(e,t,l){l.d(t,{Z:()=>n,p:()=>i});let r={"&":"&","<":"<",">":">",'"':""","'":"'"};function n(e){return e.replace(/[&<>"']/g,e=>r[e])}function i(e){return null==e||""===e?"":`<span class="nb-app-version">v${n(String(e))}</span>`}},70413(e,t,l){function r(e){if(!e)return e;let t="",l=0;for(;l<e.length;){let r=e.slice(l).search(/<iframe\b/i);if(-1===r){t+=e.slice(l);break}let n=l+r;t+=e.slice(l,n);let i=o(e,n);if(-1===i)break;let a=e.slice(n,i+1);if(/\/\s*>$/.test(a)){l=i+1;continue}let s=e.slice(i+1).search(/<\/iframe\s*>/i);if(-1===s)break;l=i+1+s+e.slice(i+1+s).match(/^<\/iframe\s*>/i)[0].length}return t}function n(e){if(!e||"u"<typeof DOMParser)return e;let t=new DOMParser().parseFromString(e,"text/html");return t.querySelectorAll("iframe").forEach(e=>e.remove()),t.body.innerHTML}function i(e){null==e||e.querySelectorAll("iframe").forEach(e=>e.remove())}function o(e,t){let l;for(let r=t;r<e.length;r+=1){let t=e[r];if(l){t===l&&(l=void 0);continue}if('"'===t||"'"===t){l=t;continue}if(">"===t)return r}return -1}l.d(t,{$P:()=>n,VC:()=>i,jR:()=>r}),l(45336),l(69861)},40407(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{b:()=>getRequireJs});var core_js_modules_es_error_cause_js__rspack_import_0=__webpack_require__(89773),core_js_modules_es_error_cause_js__rspack_import_0_default=__webpack_require__.n(core_js_modules_es_error_cause_js__rspack_import_0),core_js_modules_es_iterator_constructor_js__rspack_import_1=__webpack_require__(45336),core_js_modules_es_iterator_constructor_js__rspack_import_1_default=__webpack_require__.n(core_js_modules_es_iterator_constructor_js__rspack_import_1),core_js_modules_es_iterator_map_js__rspack_import_2=__webpack_require__(23446),core_js_modules_es_iterator_map_js__rspack_import_2_default=__webpack_require__.n(core_js_modules_es_iterator_map_js__rspack_import_2),core_js_modules_es_array_push_js__rspack_import_3=__webpack_require__(5409),core_js_modules_es_array_push_js__rspack_import_3_default=__webpack_require__.n(core_js_modules_es_array_push_js__rspack_import_3);function getRequireJs(){var requirejs,require,define,req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.3.6",commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/mg,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,isBrowser=!!("u">typeof window&&"u">typeof navigator&&window.document),isWebWorker=!isBrowser&&"u">typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="u">typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;function commentReplace(e,t){return t||""}function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){if(e){var l;for(l=0;l<e.length&&!(e[l]&&t(e[l],l,e));l+=1);}}function eachReverse(e,t){if(e){var l;for(l=e.length-1;l>-1&&!(e[l]&&t(e[l],l,e));l-=1);}}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return hasProp(e,t)&&e[t]}function eachProp(e,t){var l;for(l in e)if(hasProp(e,l)&&t(e[l],l))break}function mixin(e,t,l,r){return t&&eachProp(t,function(t,n){(l||!hasProp(e,n))&&(!r||"object"!=typeof t||!t||isArray(t)||isFunction(t)||t instanceof RegExp?e[n]=t:(e[n]||(e[n]={}),mixin(e[n],t,l,r)))}),e}function bind(e,t){return function(){return t.apply(e,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(e){throw e}function getGlobal(e){if(!e)return e;var t=__webpack_require__.g;return each(e.split("."),function(e){t=t[e]}),t}function makeError(e,t,l,r){var n=Error(t+"\nhttps://requirejs.org/docs/errors.html#"+e);return n.requireType=e,n.requireModules=r,l&&(n.originalError=l),n}if(void 0===define){if(void 0!==requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}return void 0===require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(e,t,l,r){var n,i,o=defContextName;return isArray(e)||"string"==typeof e||(i=e,isArray(t)?(e=t,t=l,l=r):e=[]),i&&i.context&&(o=i.context),(n=getOwn(contexts,o))||(n=contexts[o]=req.s.newContext(o)),i&&n.configure(i),n.require(e,t,l)},req.config=function(e){return req(e)},req.nextTick="u">typeof setTimeout?function(e){setTimeout(e,4)}:function(e){e()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(e){req[e]=function(){var t=contexts[defContextName];return t.require[e].apply(t,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],(baseElement=document.getElementsByTagName("base")[0])&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,l){var r=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return r.type=e.scriptType||"text/javascript",r.charset="utf-8",r.async=!0,r},req.load=function(e,t,l){var r,n=e&&e.config||{};if(isBrowser)return(r=req.createNode(n,t,l)).setAttribute("data-requirecontext",e.contextName),r.setAttribute("data-requiremodule",t),!r.attachEvent||r.attachEvent.toString&&0>r.attachEvent.toString().indexOf("[native code")||isOpera?(r.addEventListener("load",e.onScriptLoad,!1),r.addEventListener("error",e.onScriptError,!1)):(useInteractive=!0,r.attachEvent("onreadystatechange",e.onScriptLoad)),r.src=l,n.onNodeCreated&&n.onNodeCreated(r,n,t,l),currentlyAddingScript=r,baseElement?head.insertBefore(r,baseElement):head.appendChild(r),currentlyAddingScript=null,r;if(isWebWorker)try{setTimeout(function(){},0),importScripts(l),e.completeLoad(t)}catch(r){e.onError(makeError("importscripts","importScripts failed for "+t+" at "+l,r,[t]))}},isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head||(head=e.parentNode),dataMain=e.getAttribute("data-main"))return mainScript=dataMain,cfg.baseUrl||-1!==mainScript.indexOf("!")||(mainScript=(src=mainScript.split("/")).pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,t,l){var r,n;"string"!=typeof e&&(l=t,t=e,e=null),isArray(t)||(l=t,t=null),!t&&isFunction(l)&&(t=[],l.length&&(l.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,function(e,l){t.push(l)}),t=(1===l.length?["require"]:["require","exports","module"]).concat(t))),useInteractive&&(r=currentlyAddingScript||getInteractiveScript())&&(e||(e=r.getAttribute("data-requiremodule")),n=contexts[r.getAttribute("data-requirecontext")]),n?(n.defQueue.push([e,t,l]),n.defQueueMap[e]=!0):globalDefQueue.push([e,t,l])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg),{requirejs,require,define}}function newContext(e){var t,l,r,n,i,o={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},a={},s={},d={},u=[],c={},p={},h={},f=1,m=1;function g(e){var t,l;for(t=0;t<e.length;t++)if("."===(l=e[t]))e.splice(t,1),t-=1;else if(".."===l)if(0===t||1===t&&".."===e[2]||".."===e[t-1])continue;else t>0&&(e.splice(t-1,2),t-=2)}function v(e,t,l){var r,n,i,a,s,d,u,c,p,h,f,m=t&&t.split("/"),v=o.map,y=v&&v["*"];if(e&&(u=(e=e.split("/")).length-1,o.nodeIdCompat&&jsSuffixRegExp.test(e[u])&&(e[u]=e[u].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&m&&(e=m.slice(0,m.length-1).concat(e)),g(e),e=e.join("/")),l&&v&&(m||y)){i=e.split("/");e:for(a=i.length;a>0;a-=1){if(d=i.slice(0,a).join("/"),m){for(s=m.length;s>0;s-=1)if((n=getOwn(v,m.slice(0,s).join("/")))&&(n=getOwn(n,d))){c=n,p=a;break e}}!h&&y&&getOwn(y,d)&&(h=getOwn(y,d),f=a)}!c&&h&&(c=h,p=f),c&&(i.splice(0,p,c),e=i.join("/"))}return(r=getOwn(o.pkgs,e))||e}function y(e){isBrowser&&each(scripts(),function(t){if(t.getAttribute("data-requiremodule")===e&&t.getAttribute("data-requirecontext")===r.contextName)return t.parentNode.removeChild(t),!0})}function b(e){var t=getOwn(o.paths,e);if(t&&isArray(t)&&t.length>1)return t.shift(),r.require.undef(e),r.makeRequire(null,{skipMap:!0})([e]),!0}function x(e){var t,l=e?e.indexOf("!"):-1;return l>-1&&(t=e.substring(0,l),e=e.substring(l+1,e.length)),[t,e]}function w(e,t,l,n){var i,o,a,s,d=null,u=t?t.name:null,p=e,h=!0,g="";return e||(h=!1,e="_@r"+(f+=1)),d=(s=x(e))[0],e=s[1],d&&(o=getOwn(c,d=v(d,u,n))),e&&(d?g=l?e:o&&o.normalize?o.normalize(e,function(e){return v(e,u,n)}):-1===e.indexOf("!")?v(e,u,n):e:(d=(s=x(g=v(e,u,n)))[0],g=s[1],l=!0,i=r.nameToUrl(g))),a=!d||o||l?"":"_unnormalized"+(m+=1),{prefix:d,name:g,parentMap:t,unnormalized:!!a,url:i,originalName:p,isDefine:h,id:(d?d+"!"+g:g)+a}}function S(e){var t=e.id,l=getOwn(a,t);return l||(l=a[t]=new r.Module(e)),l}function A(e,t,l){var r=e.id,n=getOwn(a,r);hasProp(c,r)&&(!n||n.defineEmitComplete)?"defined"===t&&l(c[r]):(n=S(e)).error&&"error"===t?l(n.error):n.on(t,l)}function M(e,t){var l=e.requireModules,r=!1;t?t(e):(each(l,function(t){var l=getOwn(a,t);l&&(l.error=e,l.events.error&&(r=!0,l.emit("error",e)))}),r||req.onError(e))}function F(){globalDefQueue.length&&(each(globalDefQueue,function(e){var t=e[0];"string"==typeof t&&(r.defQueueMap[t]=!0),u.push(e)}),globalDefQueue=[])}function k(e){delete a[e],delete s[e]}function C(e,t,l){var r=e.map.id;e.error?e.emit("error",e.error):(t[r]=!0,each(e.depMaps,function(r,n){var i=r.id,o=getOwn(a,i);!o||e.depMatched[n]||l[i]||(getOwn(t,i)?(e.defineDep(n,c[i]),e.check()):C(o,t,l))}),l[r]=!0)}function P(){var e,l,n=1e3*o.waitSeconds,a=n&&r.startTime+n<new Date().getTime(),d=[],u=[],c=!1,p=!0;if(!t){if(t=!0,eachProp(s,function(e){var t=e.map,r=t.id;if(e.enabled&&(t.isDefine||u.push(e),!e.error)){if(!e.inited&&a)b(r)?(l=!0,c=!0):(d.push(r),y(r));else if(!e.inited&&e.fetched&&t.isDefine&&(c=!0,!t.prefix))return p=!1}}),a&&d.length)return(e=makeError("timeout","Load timeout for modules: "+d,null,d)).contextName=r.contextName,M(e);p&&each(u,function(e){C(e,{},{})}),(!a||l)&&c&&(isBrowser||isWebWorker)&&!i&&(i=setTimeout(function(){i=0,P()},50)),t=!1}}function j(e){hasProp(c,e[0])||S(w(e[0],null,!0)).init(e[1],e[2])}function E(e,t,l,r){e.detachEvent&&!isOpera?r&&e.detachEvent(r,t):e.removeEventListener(l,t,!1)}function R(e){var t=e.currentTarget||e.srcElement;return E(t,r.onScriptLoad,"load","onreadystatechange"),E(t,r.onScriptError,"error"),{node:t,id:t&&t.getAttribute("data-requiremodule")}}function T(){var e;for(F();u.length;){if(null===(e=u.shift())[0])return M(makeError("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));j(e)}r.defQueueMap={}}return n={require:function(e){return e.require?e.require:e.require=r.makeRequire(e.map)},exports:function(e){if(e.usingExports=!0,e.map.isDefine)if(e.exports)return c[e.map.id]=e.exports;else return e.exports=c[e.map.id]={}},module:function(e){return e.module?e.module:e.module={id:e.map.id,uri:e.map.url,config:function(){return getOwn(o.config,e.map.id)||{}},exports:e.exports||(e.exports={})}}},(l=function(e){this.events=getOwn(d,e.id)||{},this.map=e,this.shim=getOwn(o.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0}).prototype={init:function(e,t,l,r){r=r||{},this.inited||(this.factory=t,l?this.on("error",l):this.events.error&&(l=bind(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=l,this.inited=!0,this.ignore=r.ignore,r.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,this.depCount-=1,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,r.startTime=new Date().getTime();var e=this.map;if(!this.shim)return e.prefix?this.callPlugin():this.load();r.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return e.prefix?this.callPlugin():this.load()}))}},load:function(){var e=this.map.url;p[e]||(p[e]=!0,r.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var e,t,l=this.map.id,n=this.depExports,i=this.exports,o=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(o)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{i=r.execCb(l,o,n,i)}catch(t){e=t}else i=r.execCb(l,o,n,i);if(this.map.isDefine&&void 0===i&&((t=this.module)?i=t.exports:this.usingExports&&(i=this.exports)),e)return e.requireMap=this.map,e.requireModules=this.map.isDefine?[this.map.id]:null,e.requireType=this.map.isDefine?"define":"require",M(this.error=e)}else i=o;if(this.exports=i,this.map.isDefine&&!this.ignore&&(c[l]=i,req.onResourceLoad)){var a=[];each(this.depMaps,function(e){a.push(e.normalizedMap||e)}),req.onResourceLoad(r,this.map,a)}k(l),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else hasProp(r.defQueueMap,l)||this.fetch()}},callPlugin:function(){var e=this.map,t=e.id,l=w(e.prefix);this.depMaps.push(l),A(l,"defined",bind(this,function(l){var n,i,s,d=getOwn(h,this.map.id),u=this.map.name,c=this.map.parentMap?this.map.parentMap.name:null,p=r.makeRequire(e.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){l.normalize&&(u=l.normalize(u,function(e){return v(e,c,!0)})||""),A(i=w(e.prefix+"!"+u,this.map.parentMap,!0),"defined",bind(this,function(e){this.map.normalizedMap=i,this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),(s=getOwn(a,i.id))&&(this.depMaps.push(i),this.events.error&&s.on("error",bind(this,function(e){this.emit("error",e)})),s.enable());return}if(d){this.map.url=r.nameToUrl(d),this.load();return}(n=bind(this,function(e){this.init([],function(){return e},null,{enabled:!0})})).error=bind(this,function(e){this.inited=!0,this.error=e,e.requireModules=[t],eachProp(a,function(e){0===e.map.id.indexOf(t+"_unnormalized")&&k(e.map.id)}),M(e)}),n.fromText=bind(this,function(l,i){var a=e.name,s=w(a),d=useInteractive;i&&(l=i),d&&(useInteractive=!1),S(s),hasProp(o.config,t)&&(o.config[a]=o.config[t]);try{req.exec(l)}catch(e){return M(makeError("fromtexteval","fromText eval for "+t+" failed: "+e,e,[t]))}d&&(useInteractive=!0),this.depMaps.push(s),r.completeLoad(a),p([a],n)}),l.load(e.name,p,n,o)})),r.enable(l,this),this.pluginMaps[l.id]=l},enable:function(){s[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(e,t){var l,i,o;if("string"==typeof e){if(e=w(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[t]=e,o=getOwn(n,e.id)){this.depExports[t]=o(this);return}this.depCount+=1,A(e,"defined",bind(this,function(e){this.undefed||(this.defineDep(t,e),this.check())})),this.errback?A(e,"error",bind(this,this.errback)):this.events.error&&A(e,"error",bind(this,function(e){this.emit("error",e)}))}i=a[l=e.id],hasProp(n,l)||!i||i.enabled||r.enable(e,this)})),eachProp(this.pluginMaps,bind(this,function(e){var t=getOwn(a,e.id);t&&!t.enabled&&r.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){var l=this.events[e];l||(l=this.events[e]=[]),l.push(t)},emit:function(e,t){each(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},(r={config:o,contextName:e,registry:a,defined:c,urlFetched:p,defQueue:u,defQueueMap:{},Module:l,makeModuleMap:w,nextTick:req.nextTick,onError:M,configure:function(e){if(e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/"),"string"==typeof e.urlArgs){var t=e.urlArgs;e.urlArgs=function(e,l){return(-1===l.indexOf("?")?"?":"&")+t}}var l=o.shim,n={paths:!0,bundles:!0,config:!0,map:!0};eachProp(e,function(e,t){n[t]?(o[t]||(o[t]={}),mixin(o[t],e,!0,!0)):o[t]=e}),e.bundles&&eachProp(e.bundles,function(e,t){each(e,function(e){e!==t&&(h[e]=t)})}),e.shim&&(eachProp(e.shim,function(e,t){isArray(e)&&(e={deps:e}),(e.exports||e.init)&&!e.exportsFn&&(e.exportsFn=r.makeShimExports(e)),l[t]=e}),o.shim=l),e.packages&&each(e.packages,function(e){var t;t=(e="string"==typeof e?{name:e}:e).name,e.location&&(o.paths[t]=e.location),o.pkgs[t]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(a,function(e,t){e.inited||e.map.unnormalized||(e.map=w(t,null,!0))}),(e.deps||e.callback)&&r.require(e.deps||[],e.callback)},makeShimExports:function(e){return function(){var t;return e.init&&(t=e.init.apply(__webpack_require__.g,arguments)),t||e.exports&&getGlobal(e.exports)}},makeRequire:function(t,l){function i(o,s,d){var u,p;return(l.enableBuildCallback&&s&&isFunction(s)&&(s.__requireJsBuild=!0),"string"==typeof o)?isFunction(s)?M(makeError("requireargs","Invalid require call"),d):t&&hasProp(n,o)?n[o](a[t.id]):req.get?req.get(r,o,t,i):hasProp(c,u=w(o,t,!1,!0).id)?c[u]:M(makeError("notloaded",'Module name "'+u+'" has not been loaded yet for context: '+e+(t?"":". Use require([])"))):(T(),r.nextTick(function(){T(),(p=S(w(null,t))).skipMap=l.skipMap,p.init(o,s,d,{enabled:!0}),P()}),i)}return l=l||{},mixin(i,{isBrowser:isBrowser,toUrl:function(e){var l,n=e.lastIndexOf("."),i=e.split("/")[0],o="."===i||".."===i;return -1!==n&&(!o||n>1)&&(l=e.substring(n,e.length),e=e.substring(0,n)),r.nameToUrl(v(e,t&&t.id,!0),l,!0)},defined:function(e){return hasProp(c,w(e,t,!1,!0).id)},specified:function(e){return hasProp(c,e=w(e,t,!1,!0).id)||hasProp(a,e)}}),t||(i.undef=function(e){F();var l=w(e,t,!0),n=getOwn(a,e);n.undefed=!0,y(e),delete c[e],delete p[l.url],delete d[e],eachReverse(u,function(t,l){t[0]===e&&u.splice(l,1)}),delete r.defQueueMap[e],n&&(n.events.defined&&(d[e]=n.events),k(e))}),i},enable:function(e){getOwn(a,e.id)&&S(e).enable()},completeLoad:function(e){var t,l,n,i=getOwn(o.shim,e)||{},s=i.exports;for(F();u.length;){if(null===(l=u.shift())[0]){if(l[0]=e,t)break;t=!0}else l[0]===e&&(t=!0);j(l)}if(r.defQueueMap={},n=getOwn(a,e),!t&&!hasProp(c,e)&&n&&!n.inited)if(!o.enforceDefine||s&&getGlobal(s))j([e,i.deps||[],i.exportsFn]);else if(b(e))return;else return M(makeError("nodefine","No define call for "+e,null,[e]));P()},nameToUrl:function(e,t,l){var n,i,a,s,d,u,c=getOwn(o.pkgs,e);if(c&&(e=c),u=getOwn(h,e))return r.nameToUrl(u,t,l);if(req.jsExtRegExp.test(e))s=e+(t||"");else{for(n=o.paths,a=(i=e.split("/")).length;a>0;a-=1)if(d=getOwn(n,i.slice(0,a).join("/"))){isArray(d)&&(d=d[0]),i.splice(0,a,d);break}s=i.join("/"),s+=t||(/^data\:|^blob\:|\?/.test(s)||/\.js(?:$|[?#])/.test(s)||l?"":".js"),s=("/"===s.charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":o.baseUrl)+s}return o.urlArgs&&!/^blob\:/.test(s)?s+o.urlArgs(e,s):s},load:function(e,t){req.load(r,e,t)},execCb:function(e,t,l,r){return t.apply(r,l)},onScriptLoad:function(e){if("load"===e.type||readyRegExp.test((e.currentTarget||e.srcElement).readyState)){interactiveScript=null;var t=R(e);r.completeLoad(t.id)}},onScriptError:function(e){var t=R(e);if(!b(t.id)){var l=[];return eachProp(a,function(e,r){0!==r.indexOf("_@r")&&each(e.depMaps,function(e){if(e.id===t.id)return l.push(r),!0})}),M(makeError("scripterror",'Script error for "'+t.id+(l.length?'", needed by: '+l.join(", "):'"'),e,[t.id]))}}}).require=r.makeRequire(),r}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState||eachReverse(scripts(),function(e){if("interactive"===e.readyState)return interactiveScript=e}),interactiveScript}}},63128(e,t,l){l.d(t,{x:()=>i});var r=l(50467);l(58149);var n=l(99418);class i{get innerHTML(){return this.__el.innerHTML}set innerHTML(e){this.__el.innerHTML=n.A.sanitize(e)}get outerHTML(){return this.__el.outerHTML}set outerHTML(e){this.__el.outerHTML=n.A.sanitize(e)}appendChild(e){(e instanceof HTMLElement||"string"==typeof e)&&this.__el.appendChild("string"==typeof e?document.createTextNode(e):e)}constructor(e){return(0,r._)(this,"__el",void 0),this.__el=e,new Proxy(this,{get:(e,t,l)=>{if(t in e){let r=Reflect.get(e,t,l);return"function"==typeof r?r.bind(l):r}let r=e.__el[t];return"function"==typeof r?r.bind(e.__el):r},set:(e,t,l,r)=>{let n=Object.getOwnPropertyDescriptor(i.prototype,t);return n&&"function"==typeof n.set?n.set.call(r,l):e.__el[t]=l,!0}})}}},52568(e,t,l){l.d(t,{$K:()=>d,Dv:()=>a,MQ:()=>p,PC:()=>o,Vy:()=>c,Ww:()=>u,YQ:()=>s,bc:()=>i});var r=l(74848),n=l(96540);let i=(0,n.createContext)(null),o=(0,n.createContext)(null);function a(e){return(0,r.jsx)(i.Provider,{value:e.context,children:e.children})}let s=n.memo(e=>(0,r.jsx)(o.Provider,{value:e.context,children:(0,r.jsx)(i.Provider,{value:e.context,children:e.children})}));function d(){return(0,n.useContext)(i)}function u(){return(0,n.useContext)(o)}function c(){return d().view}function p(){return d().viewer}s.displayName="FlowViewContextProvider"},68161(e,t,l){l.d(t,{G:()=>a,z:()=>s});var r=l(50467);l(45336),l(23446),l(89773),l(79936),l(5409),l(69861),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);var n=l(95243),i=l(2543),o=l.n(i);class a{get key(){return this.options.key}get title(){return this.options.title}set title(e){this.options.title=e}get sort(){return this.options.sort}get on(){return this.options.on}set on(e){this.options.on=e}get defaultParams(){return this.options.defaultParams}get manual(){return this.options.manual}set manual(e){this.options.manual=e}get steps(){let e={};for(let[t,l]of this.getSortedSteps())e[t]=l.serialize();return e}getSortedSteps(){return[...this._steps.entries()].sort((e,t)=>{let[,l]=e,[,r]=t;return(l.serialize().sort??0)-(r.serialize().sort??0)})}setOptions(e){Object.assign(this.options,e)}getSteps(){return this._steps}mapSteps(e){return this.getSortedSteps().map(t=>{let[,l]=t;return e(l)})}getStep(e){return this._steps.get(e)}addStep(e,t){let l=this._steps.get(e);if(l)return l.setOptions(t),l;{if(void 0===t.sort){let e=Math.max(0,...Array.from(this._steps.values()).map(e=>e.serialize().sort??0));t={...t,sort:e+1}}let l=new s({...t,key:e},this);return this._steps.set(e,l),l}}setStep(e,t){return this.addStep(e,t)}hasStep(e){return this._steps.has(e)}moveStep(e,t){if(!this._steps.has(e))throw Error(`Source step '${e}' not found`);if(!this._steps.has(t))throw Error(`Target step '${t}' not found`);if(e===t)return;let l=this.getSortedSteps(),r=[],n=l.filter(t=>{let[l]=t;return l!==e}),i=this._steps.get(e);for(let[l,o]of n)l===t&&r.push([e,i]),r.push([l,o]);r.forEach((e,t)=>{let[l,r]=e;r.setOptions({sort:t+1})})}removeStep(e){this._steps.delete(e)}async saveStep(e){await this.flowRegistry.saveFlow(this)}async destroyStep(e){this.removeStep(e),await this.flowRegistry.saveFlow(this)}async save(){await this.flowRegistry.saveFlow(this)}async destroy(){await this.flowRegistry.destroyFlow(this.key)}remove(){return this.flowRegistry.removeFlow(this.key)}toData(){return this.serialize()}serialize(){let e={...this.options};for(let[t,l]of this.getSortedSteps())e.steps=e.steps||{},e.steps[t]={...l.serialize()};return e}constructor(e,t){for(let[l,i]of((0,r._)(this,"flowRegistry",void 0),(0,r._)(this,"_steps",void 0),(0,r._)(this,"options",void 0),this.flowRegistry=t,this._steps=n.observable.shallow(new Map),this.options=n.observable.shallow(o().omit(e,["steps"])),Object.entries(e.steps||{})))this.addStep(l,i)}}class s{setOptions(e){Object.assign(this.options,e)}get key(){return this.options.key}get flowKey(){return this.flowDef.key}get title(){return this.options.title}set title(e){this.options.title=e}get uiSchema(){return this.options.uiSchema}get defaultParams(){return this.options.defaultParams||{}}set defaultParams(e){this.options.defaultParams=e}get use(){return this.options.use}async save(){return this.flowDef.save()}async remove(){return this.flowDef.removeStep(this.key)}async destroy(){return this.flowDef.destroyStep(this.key)}serialize(){return{...this.options,flowKey:this.flowDef.key}}constructor(e,t){(0,r._)(this,"flowDef",void 0),(0,r._)(this,"options",void 0),this.flowDef=t,this.options=n.observable.shallow(e)}}},91013(e,t,l){l.d(t,{I$:()=>h,RU:()=>i,iU:()=>a});var r=l(50467);l(45336),l(69861),l(89773),l(14324),l(67980);var n=l(31108);function i(e){return"boolean"==typeof(null==e?void 0:e.preprocessTemplates)?e.preprocessTemplates:(null==e?void 0:e.version)!=="v2"}let o=["fetch","localStorage","sessionStorage","XMLHttpRequest","WebSocket","Worker","SharedWorker","ServiceWorker","BroadcastChannel","EventSource","indexedDB","caches","Function","eval","globalThis","Intl","Blob","URL","location"],a=["ctx","console","window","document","navigator","setTimeout","clearTimeout","setInterval","clearInterval","Array","ArrayBuffer","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","Date","Error","EvalError","FinalizationRegistry","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Map","Math","Number","Object","Promise","Proxy","RangeError","ReferenceError","Reflect","RegExp","Set","String","Symbol","SyntaxError","TypeError","URIError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","WeakRef","WeakSet","JSON","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","isFinite","isNaN","parseFloat","parseInt","undefined","NaN","Infinity",...o];function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.window;if(!t||"object"!=typeof t)return{};let l=t,r={};return o.forEach(n=>{if(!Object.prototype.hasOwnProperty.call(e,n))try{let e=l[n];if(void 0===e)return;r[n]="fetch"===n&&"function"==typeof e?e.bind(t):e}catch{}}),r}let d=/(^|[=(:,[\s)])(\{\{\s*(ctx(?:\.|\[|\?\.)[^}]*)\s*\}\})/m;function u(e){let t=String(e||"").match(d);if(!t)return null;let l=String(t[2]||"").trim(),r=String(t[3]||"").trim();return l&&r?{placeholder:l,expression:r}:null}function c(e,t){if(!(e instanceof SyntaxError||"SyntaxError"===String((null==e?void 0:e.name)||""))||!t)return!1;let l=String((null==e?void 0:e.message)||e||"");return/unexpected token/i.test(l)}function p(e,t){let l=SyntaxError(`"${t.placeholder}" has been deprecated and cannot be used as executable RunJS syntax. Use await ctx.getVar("${t.expression}") instead, or keep "${t.placeholder}" as a plain string.`);try{l.cause=e}catch(e){}try{l.__runjsHideLocation=!0,l.stack=`${l.name}: ${l.message}`}catch(e){}return l}class h{register(e,t){this.globals[e]=t}async run(e){let t="u">typeof location?location.search:void 0;if("string"==typeof t&&t.includes("skipRunJs=true"))return{success:!0,value:null};let l=`(async () => {
|
|
1440
|
+
`,children:F})})})]})},H=["Data model tools","Data sources","Collections","Collection fields","Blocks","Actions","Workflow","Users & permissions","AI","Authentication","Notification","System management","Security","Architecture","Logging and monitoring","Others"],Y=200;function G(e,t){return!!Array.isArray(e)&&!!Array.isArray(t)&&e.some(e=>t.includes(e))}function J(e){let{items:t,activeKeyword:l,onSelect:n}=e,{t:i}=(0,A.B)();return(0,r.jsx)(s.A,{size:"small",dataSource:t,split:!1,renderItem:e=>(0,r.jsx)(s.A.Item,{style:{padding:"3px 0",cursor:"pointer"},onClick:()=>n(e.key),children:(0,r.jsx)("a",{style:{fontWeight:l===e.key?"bold":"normal"},children:i(e.key)})})})}let X=()=>{let{t:e}=(0,A.B)(),{token:t}=d.A.useToken(),l=(0,M.n)(),s=!!u.Ay.useBreakpoint().md,{data:x=[],loading:F,error:k}=(0,i.A)(async()=>{var e;let t=await l.apiClient.request({url:"pm:list",params:{v2:!0},skipNotify:!0});return Array.isArray(null==t||null==(e=t.data)?void 0:e.data)?t.data.data:[]},{cacheKey:"pm:list"}),P=(0,S.useMemo)(()=>{let e=[...x].reverse();return[{type:"All",list:e},{type:"Built-in",list:w().filter(e,e=>e.builtIn)},{type:"Enabled",list:w().filter(e,e=>e.enabled)},{type:"Not enabled",list:w().filter(e,e=>!e.enabled)},{type:"Problematic",list:w().filter(e,e=>!e.isCompatible)}]},[x]),[j,E]=(0,S.useState)(0),[R,T]=(0,S.useState)(""),[I,_]=(0,S.useState)(null),[D,N]=(0,S.useState)(!1),O=(0,o.A)(R,{wait:100}),$=(0,S.useMemo)(()=>H.map(e=>"Others"===e?{key:e,list:x.filter(e=>!G(e.keywords,H))}:{key:e,list:x.filter(t=>{var l;return null==(l=t.keywords)?void 0:l.includes(e)})}),[x]),B=(0,S.useMemo)(()=>{var e,t;let l=(null==(e=P[j])?void 0:e.list)||[];if(I){let e=(null==(t=$.find(e=>e.key===I))?void 0:t.list)||[];l=0===j?e:e.filter(e=>l.find(t=>t.name===e.name))}let r=O.toLowerCase().trim();return r&&(l=w().filter(l,e=>String(e.displayName||"").toLowerCase().includes(r)||String(e.description||"").toLowerCase().includes(r))),[...l].sort((e,t)=>(e.displayName||"").localeCompare(t.displayName||""))},[j,P,O,I,$]),L=(0,a.A)(e=>{_(t=>t===e?null:e),N(!1)}),q=(0,a.A)(e=>{T(e.target.value)});if(F)return(0,r.jsx)(c.A,{});let V=(0,r.jsxs)(p.A,{size:t.marginXXS,split:(0,r.jsx)(h.A,{type:"vertical"}),wrap:!0,children:[!s&&(0,r.jsx)(f.A,{trigger:"click",placement:"bottomLeft",open:D,onOpenChange:N,content:(0,r.jsx)("div",{style:{minWidth:180,maxHeight:"60vh",overflowY:"auto"},children:(0,r.jsx)(J,{items:$,activeKeyword:I,onSelect:L})}),children:(0,r.jsx)(m.Ay,{type:"text",size:"small",icon:(0,r.jsx)(n.A,{}),"aria-label":e("Category")})}),P.map((t,l)=>(0,r.jsxs)("a",{role:"button","aria-label":t.type,onClick:()=>E(l),style:{fontWeight:j===l?"bold":"normal"},children:[e(t.type),j===l?`(${B.length})`:null]},t.type))]}),z=(0,r.jsxs)(g.A,{wrap:"wrap",gap:t.margin,align:"center",justify:"space-between",style:{marginBottom:t.marginLG},children:[V,(0,r.jsxs)(g.A,{gap:t.marginSM,align:"center",style:{flex:"1 1 auto",justifyContent:"flex-end"},children:[(0,r.jsx)(v.A,{allowClear:!0,placeholder:e("Search plugin"),onChange:q,style:{flex:"1 1 auto",maxWidth:320,minWidth:160}}),(0,r.jsx)("div",{style:{flexShrink:0},children:(0,r.jsx)(C,{plugins:x})})]})]});return(0,r.jsxs)(r.Fragment,{children:[k?(0,r.jsx)(y.A,{showIcon:!0,type:"error",message:e("Failed to load plugins"),description:k.message,style:{marginBottom:t.marginLG}}):null,z,(0,r.jsxs)(g.A,{gap:t.margin,align:"flex-start",children:[s&&(0,r.jsx)(b.A,{style:{width:Y,flexShrink:0},size:"small",children:(0,r.jsx)(J,{items:$,activeKeyword:I,onSelect:L})}),(0,r.jsx)("div",{style:{flex:"1 1 auto",minWidth:0,display:"grid",gap:t.margin,gridTemplateColumns:"repeat(auto-fill, minmax(240px, 1fr))"},children:B.map(e=>(0,r.jsx)(W,{data:e},e.name))})]})]})},Q=X},17586(e,t,l){l.d(t,{Bm:()=>i,C9:()=>g,CM:()=>p,O:()=>n,R0:()=>m,Ui:()=>s,X2:()=>f,eD:()=>d,gL:()=>v,jm:()=>o,lv:()=>a,nC:()=>c,p$:()=>u,uT:()=>h}),l(45336),l(23446),l(79936),l(69861),l(5409);var r=l(47767);let n="admin-settings-layout-model",i="plugin-manager",o="system-settings";function a(e){return!!e&&(!!e.link||!!e.componentLoader||!!e.Component&&e.Component!==r.Outlet)}function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(e=>{let t=s(e.children||[]);return a(e)||0!==t.length?{...e,children:t.length?t:void 0}:null}).filter(Boolean)}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.filter(e=>!e.hidden).map(e=>{let t=d(e.children||[]);return a(e)||0!==t.length?{...e,children:t.length?t:void 0}:null}).filter(Boolean)}function u(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return[...e].sort((e,t)=>(e.sort||0)!==(t.sort||0)?(e.sort||0)-(t.sort||0):(e.name||"").localeCompare(t.name||""))}function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={},l=e=>{e.forEach(e=>{var r;t[e.path]=e,(null==(r=e.children)?void 0:r.length)&&l(e.children)})};return l(e),t}function p(e,t){let l=Object.keys(e);if(e[t])return e[t];for(let r of l){let l=r.replace(/:[^/]+/g,"([^/]+)");if(t.match(RegExp(`^${l}$`)))return e[r]}let r=l.filter(e=>{let l=e.replace(/:[^/]+/g,"[^/]+");return t.match(RegExp(`^${l}/`))}).sort((e,t)=>t.length-e.length)[0];return r?e[r]:null}function h(e,t){return e.replace(/:\w+/g,e=>{let l=e.substring(1);return(null==t?void 0:t[l])||e})}function f(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for(let l of e){var t;if(null==(t=l.children)?void 0:t.length){let e=f(l.children);if(e)return e}if(a(l)&&!l.link)return l}return null}function m(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;for(let r of e){var l;if(r.name===t)return r;if(null==(l=r.children)?void 0:l.length){let e=m(r.children,t);if(e)return e}}return null}function g(){var e,t;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for(let e of[o,i]){let r=m(l,e);if(!r)continue;if(a(r)&&!r.link)return r.path;let n=null==(t=f(r.children))?void 0:t.path;if(n)return n}return null==(e=f(l))?void 0:e.path}function v(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.filter(e=>e.isPinned&&!e.hidden),l=e.filter(e=>!e.isPinned&&!e.hidden),r=[];if(t.length&&r.push(...t,{type:"divider"}),l.length&&r.push(...l),0!==r.length)return r.map(e=>{var t;return"divider"===e.type?{type:"divider"}:{key:e.name,label:e.label,title:e.title,icon:e.icon,children:(null==(t=e.children)?void 0:t.length)?v(e.children):void 0}})}},68272(e,t,l){l.d(t,{Z:()=>n,p:()=>i});let r={"&":"&","<":"<",">":">",'"':""","'":"'"};function n(e){return e.replace(/[&<>"']/g,e=>r[e])}function i(e){return null==e||""===e?"":`<span class="nb-app-version">v${n(String(e))}</span>`}},70413(e,t,l){function r(e){if(!e)return e;let t="",l=0;for(;l<e.length;){let r=e.slice(l).search(/<iframe\b/i);if(-1===r){t+=e.slice(l);break}let n=l+r;t+=e.slice(l,n);let i=o(e,n);if(-1===i)break;let a=e.slice(n,i+1);if(/\/\s*>$/.test(a)){l=i+1;continue}let s=e.slice(i+1).search(/<\/iframe\s*>/i);if(-1===s)break;l=i+1+s+e.slice(i+1+s).match(/^<\/iframe\s*>/i)[0].length}return t}function n(e){if(!e||"u"<typeof DOMParser)return e;let t=new DOMParser().parseFromString(e,"text/html");return t.querySelectorAll("iframe").forEach(e=>e.remove()),t.body.innerHTML}function i(e){null==e||e.querySelectorAll("iframe").forEach(e=>e.remove())}function o(e,t){let l;for(let r=t;r<e.length;r+=1){let t=e[r];if(l){t===l&&(l=void 0);continue}if('"'===t||"'"===t){l=t;continue}if(">"===t)return r}return -1}l.d(t,{$P:()=>n,VC:()=>i,jR:()=>r}),l(45336),l(69861)},40407(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{b:()=>getRequireJs});var core_js_modules_es_error_cause_js__rspack_import_0=__webpack_require__(89773),core_js_modules_es_error_cause_js__rspack_import_0_default=__webpack_require__.n(core_js_modules_es_error_cause_js__rspack_import_0),core_js_modules_es_iterator_constructor_js__rspack_import_1=__webpack_require__(45336),core_js_modules_es_iterator_constructor_js__rspack_import_1_default=__webpack_require__.n(core_js_modules_es_iterator_constructor_js__rspack_import_1),core_js_modules_es_iterator_map_js__rspack_import_2=__webpack_require__(23446),core_js_modules_es_iterator_map_js__rspack_import_2_default=__webpack_require__.n(core_js_modules_es_iterator_map_js__rspack_import_2),core_js_modules_es_array_push_js__rspack_import_3=__webpack_require__(5409),core_js_modules_es_array_push_js__rspack_import_3_default=__webpack_require__.n(core_js_modules_es_array_push_js__rspack_import_3);function getRequireJs(){var requirejs,require,define,req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.3.6",commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/mg,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,isBrowser=!!("u">typeof window&&"u">typeof navigator&&window.document),isWebWorker=!isBrowser&&"u">typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="u">typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;function commentReplace(e,t){return t||""}function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){if(e){var l;for(l=0;l<e.length&&!(e[l]&&t(e[l],l,e));l+=1);}}function eachReverse(e,t){if(e){var l;for(l=e.length-1;l>-1&&!(e[l]&&t(e[l],l,e));l-=1);}}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return hasProp(e,t)&&e[t]}function eachProp(e,t){var l;for(l in e)if(hasProp(e,l)&&t(e[l],l))break}function mixin(e,t,l,r){return t&&eachProp(t,function(t,n){(l||!hasProp(e,n))&&(!r||"object"!=typeof t||!t||isArray(t)||isFunction(t)||t instanceof RegExp?e[n]=t:(e[n]||(e[n]={}),mixin(e[n],t,l,r)))}),e}function bind(e,t){return function(){return t.apply(e,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(e){throw e}function getGlobal(e){if(!e)return e;var t=__webpack_require__.g;return each(e.split("."),function(e){t=t[e]}),t}function makeError(e,t,l,r){var n=Error(t+"\nhttps://requirejs.org/docs/errors.html#"+e);return n.requireType=e,n.requireModules=r,l&&(n.originalError=l),n}if(void 0===define){if(void 0!==requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}return void 0===require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(e,t,l,r){var n,i,o=defContextName;return isArray(e)||"string"==typeof e||(i=e,isArray(t)?(e=t,t=l,l=r):e=[]),i&&i.context&&(o=i.context),(n=getOwn(contexts,o))||(n=contexts[o]=req.s.newContext(o)),i&&n.configure(i),n.require(e,t,l)},req.config=function(e){return req(e)},req.nextTick="u">typeof setTimeout?function(e){setTimeout(e,4)}:function(e){e()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(e){req[e]=function(){var t=contexts[defContextName];return t.require[e].apply(t,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],(baseElement=document.getElementsByTagName("base")[0])&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,l){var r=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return r.type=e.scriptType||"text/javascript",r.charset="utf-8",r.async=!0,r},req.load=function(e,t,l){var r,n=e&&e.config||{};if(isBrowser)return(r=req.createNode(n,t,l)).setAttribute("data-requirecontext",e.contextName),r.setAttribute("data-requiremodule",t),!r.attachEvent||r.attachEvent.toString&&0>r.attachEvent.toString().indexOf("[native code")||isOpera?(r.addEventListener("load",e.onScriptLoad,!1),r.addEventListener("error",e.onScriptError,!1)):(useInteractive=!0,r.attachEvent("onreadystatechange",e.onScriptLoad)),r.src=l,n.onNodeCreated&&n.onNodeCreated(r,n,t,l),currentlyAddingScript=r,baseElement?head.insertBefore(r,baseElement):head.appendChild(r),currentlyAddingScript=null,r;if(isWebWorker)try{setTimeout(function(){},0),importScripts(l),e.completeLoad(t)}catch(r){e.onError(makeError("importscripts","importScripts failed for "+t+" at "+l,r,[t]))}},isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head||(head=e.parentNode),dataMain=e.getAttribute("data-main"))return mainScript=dataMain,cfg.baseUrl||-1!==mainScript.indexOf("!")||(mainScript=(src=mainScript.split("/")).pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,t,l){var r,n;"string"!=typeof e&&(l=t,t=e,e=null),isArray(t)||(l=t,t=null),!t&&isFunction(l)&&(t=[],l.length&&(l.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,function(e,l){t.push(l)}),t=(1===l.length?["require"]:["require","exports","module"]).concat(t))),useInteractive&&(r=currentlyAddingScript||getInteractiveScript())&&(e||(e=r.getAttribute("data-requiremodule")),n=contexts[r.getAttribute("data-requirecontext")]),n?(n.defQueue.push([e,t,l]),n.defQueueMap[e]=!0):globalDefQueue.push([e,t,l])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg),{requirejs,require,define}}function newContext(e){var t,l,r,n,i,o={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},a={},s={},d={},u=[],c={},p={},h={},f=1,m=1;function g(e){var t,l;for(t=0;t<e.length;t++)if("."===(l=e[t]))e.splice(t,1),t-=1;else if(".."===l)if(0===t||1===t&&".."===e[2]||".."===e[t-1])continue;else t>0&&(e.splice(t-1,2),t-=2)}function v(e,t,l){var r,n,i,a,s,d,u,c,p,h,f,m=t&&t.split("/"),v=o.map,y=v&&v["*"];if(e&&(u=(e=e.split("/")).length-1,o.nodeIdCompat&&jsSuffixRegExp.test(e[u])&&(e[u]=e[u].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&m&&(e=m.slice(0,m.length-1).concat(e)),g(e),e=e.join("/")),l&&v&&(m||y)){i=e.split("/");e:for(a=i.length;a>0;a-=1){if(d=i.slice(0,a).join("/"),m){for(s=m.length;s>0;s-=1)if((n=getOwn(v,m.slice(0,s).join("/")))&&(n=getOwn(n,d))){c=n,p=a;break e}}!h&&y&&getOwn(y,d)&&(h=getOwn(y,d),f=a)}!c&&h&&(c=h,p=f),c&&(i.splice(0,p,c),e=i.join("/"))}return(r=getOwn(o.pkgs,e))||e}function y(e){isBrowser&&each(scripts(),function(t){if(t.getAttribute("data-requiremodule")===e&&t.getAttribute("data-requirecontext")===r.contextName)return t.parentNode.removeChild(t),!0})}function b(e){var t=getOwn(o.paths,e);if(t&&isArray(t)&&t.length>1)return t.shift(),r.require.undef(e),r.makeRequire(null,{skipMap:!0})([e]),!0}function x(e){var t,l=e?e.indexOf("!"):-1;return l>-1&&(t=e.substring(0,l),e=e.substring(l+1,e.length)),[t,e]}function w(e,t,l,n){var i,o,a,s,d=null,u=t?t.name:null,p=e,h=!0,g="";return e||(h=!1,e="_@r"+(f+=1)),d=(s=x(e))[0],e=s[1],d&&(o=getOwn(c,d=v(d,u,n))),e&&(d?g=l?e:o&&o.normalize?o.normalize(e,function(e){return v(e,u,n)}):-1===e.indexOf("!")?v(e,u,n):e:(d=(s=x(g=v(e,u,n)))[0],g=s[1],l=!0,i=r.nameToUrl(g))),a=!d||o||l?"":"_unnormalized"+(m+=1),{prefix:d,name:g,parentMap:t,unnormalized:!!a,url:i,originalName:p,isDefine:h,id:(d?d+"!"+g:g)+a}}function S(e){var t=e.id,l=getOwn(a,t);return l||(l=a[t]=new r.Module(e)),l}function A(e,t,l){var r=e.id,n=getOwn(a,r);hasProp(c,r)&&(!n||n.defineEmitComplete)?"defined"===t&&l(c[r]):(n=S(e)).error&&"error"===t?l(n.error):n.on(t,l)}function M(e,t){var l=e.requireModules,r=!1;t?t(e):(each(l,function(t){var l=getOwn(a,t);l&&(l.error=e,l.events.error&&(r=!0,l.emit("error",e)))}),r||req.onError(e))}function F(){globalDefQueue.length&&(each(globalDefQueue,function(e){var t=e[0];"string"==typeof t&&(r.defQueueMap[t]=!0),u.push(e)}),globalDefQueue=[])}function k(e){delete a[e],delete s[e]}function C(e,t,l){var r=e.map.id;e.error?e.emit("error",e.error):(t[r]=!0,each(e.depMaps,function(r,n){var i=r.id,o=getOwn(a,i);!o||e.depMatched[n]||l[i]||(getOwn(t,i)?(e.defineDep(n,c[i]),e.check()):C(o,t,l))}),l[r]=!0)}function P(){var e,l,n=1e3*o.waitSeconds,a=n&&r.startTime+n<new Date().getTime(),d=[],u=[],c=!1,p=!0;if(!t){if(t=!0,eachProp(s,function(e){var t=e.map,r=t.id;if(e.enabled&&(t.isDefine||u.push(e),!e.error)){if(!e.inited&&a)b(r)?(l=!0,c=!0):(d.push(r),y(r));else if(!e.inited&&e.fetched&&t.isDefine&&(c=!0,!t.prefix))return p=!1}}),a&&d.length)return(e=makeError("timeout","Load timeout for modules: "+d,null,d)).contextName=r.contextName,M(e);p&&each(u,function(e){C(e,{},{})}),(!a||l)&&c&&(isBrowser||isWebWorker)&&!i&&(i=setTimeout(function(){i=0,P()},50)),t=!1}}function j(e){hasProp(c,e[0])||S(w(e[0],null,!0)).init(e[1],e[2])}function E(e,t,l,r){e.detachEvent&&!isOpera?r&&e.detachEvent(r,t):e.removeEventListener(l,t,!1)}function R(e){var t=e.currentTarget||e.srcElement;return E(t,r.onScriptLoad,"load","onreadystatechange"),E(t,r.onScriptError,"error"),{node:t,id:t&&t.getAttribute("data-requiremodule")}}function T(){var e;for(F();u.length;){if(null===(e=u.shift())[0])return M(makeError("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));j(e)}r.defQueueMap={}}return n={require:function(e){return e.require?e.require:e.require=r.makeRequire(e.map)},exports:function(e){if(e.usingExports=!0,e.map.isDefine)if(e.exports)return c[e.map.id]=e.exports;else return e.exports=c[e.map.id]={}},module:function(e){return e.module?e.module:e.module={id:e.map.id,uri:e.map.url,config:function(){return getOwn(o.config,e.map.id)||{}},exports:e.exports||(e.exports={})}}},(l=function(e){this.events=getOwn(d,e.id)||{},this.map=e,this.shim=getOwn(o.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0}).prototype={init:function(e,t,l,r){r=r||{},this.inited||(this.factory=t,l?this.on("error",l):this.events.error&&(l=bind(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=l,this.inited=!0,this.ignore=r.ignore,r.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,this.depCount-=1,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,r.startTime=new Date().getTime();var e=this.map;if(!this.shim)return e.prefix?this.callPlugin():this.load();r.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return e.prefix?this.callPlugin():this.load()}))}},load:function(){var e=this.map.url;p[e]||(p[e]=!0,r.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var e,t,l=this.map.id,n=this.depExports,i=this.exports,o=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(o)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{i=r.execCb(l,o,n,i)}catch(t){e=t}else i=r.execCb(l,o,n,i);if(this.map.isDefine&&void 0===i&&((t=this.module)?i=t.exports:this.usingExports&&(i=this.exports)),e)return e.requireMap=this.map,e.requireModules=this.map.isDefine?[this.map.id]:null,e.requireType=this.map.isDefine?"define":"require",M(this.error=e)}else i=o;if(this.exports=i,this.map.isDefine&&!this.ignore&&(c[l]=i,req.onResourceLoad)){var a=[];each(this.depMaps,function(e){a.push(e.normalizedMap||e)}),req.onResourceLoad(r,this.map,a)}k(l),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else hasProp(r.defQueueMap,l)||this.fetch()}},callPlugin:function(){var e=this.map,t=e.id,l=w(e.prefix);this.depMaps.push(l),A(l,"defined",bind(this,function(l){var n,i,s,d=getOwn(h,this.map.id),u=this.map.name,c=this.map.parentMap?this.map.parentMap.name:null,p=r.makeRequire(e.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){l.normalize&&(u=l.normalize(u,function(e){return v(e,c,!0)})||""),A(i=w(e.prefix+"!"+u,this.map.parentMap,!0),"defined",bind(this,function(e){this.map.normalizedMap=i,this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),(s=getOwn(a,i.id))&&(this.depMaps.push(i),this.events.error&&s.on("error",bind(this,function(e){this.emit("error",e)})),s.enable());return}if(d){this.map.url=r.nameToUrl(d),this.load();return}(n=bind(this,function(e){this.init([],function(){return e},null,{enabled:!0})})).error=bind(this,function(e){this.inited=!0,this.error=e,e.requireModules=[t],eachProp(a,function(e){0===e.map.id.indexOf(t+"_unnormalized")&&k(e.map.id)}),M(e)}),n.fromText=bind(this,function(l,i){var a=e.name,s=w(a),d=useInteractive;i&&(l=i),d&&(useInteractive=!1),S(s),hasProp(o.config,t)&&(o.config[a]=o.config[t]);try{req.exec(l)}catch(e){return M(makeError("fromtexteval","fromText eval for "+t+" failed: "+e,e,[t]))}d&&(useInteractive=!0),this.depMaps.push(s),r.completeLoad(a),p([a],n)}),l.load(e.name,p,n,o)})),r.enable(l,this),this.pluginMaps[l.id]=l},enable:function(){s[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(e,t){var l,i,o;if("string"==typeof e){if(e=w(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[t]=e,o=getOwn(n,e.id)){this.depExports[t]=o(this);return}this.depCount+=1,A(e,"defined",bind(this,function(e){this.undefed||(this.defineDep(t,e),this.check())})),this.errback?A(e,"error",bind(this,this.errback)):this.events.error&&A(e,"error",bind(this,function(e){this.emit("error",e)}))}i=a[l=e.id],hasProp(n,l)||!i||i.enabled||r.enable(e,this)})),eachProp(this.pluginMaps,bind(this,function(e){var t=getOwn(a,e.id);t&&!t.enabled&&r.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){var l=this.events[e];l||(l=this.events[e]=[]),l.push(t)},emit:function(e,t){each(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},(r={config:o,contextName:e,registry:a,defined:c,urlFetched:p,defQueue:u,defQueueMap:{},Module:l,makeModuleMap:w,nextTick:req.nextTick,onError:M,configure:function(e){if(e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/"),"string"==typeof e.urlArgs){var t=e.urlArgs;e.urlArgs=function(e,l){return(-1===l.indexOf("?")?"?":"&")+t}}var l=o.shim,n={paths:!0,bundles:!0,config:!0,map:!0};eachProp(e,function(e,t){n[t]?(o[t]||(o[t]={}),mixin(o[t],e,!0,!0)):o[t]=e}),e.bundles&&eachProp(e.bundles,function(e,t){each(e,function(e){e!==t&&(h[e]=t)})}),e.shim&&(eachProp(e.shim,function(e,t){isArray(e)&&(e={deps:e}),(e.exports||e.init)&&!e.exportsFn&&(e.exportsFn=r.makeShimExports(e)),l[t]=e}),o.shim=l),e.packages&&each(e.packages,function(e){var t;t=(e="string"==typeof e?{name:e}:e).name,e.location&&(o.paths[t]=e.location),o.pkgs[t]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(a,function(e,t){e.inited||e.map.unnormalized||(e.map=w(t,null,!0))}),(e.deps||e.callback)&&r.require(e.deps||[],e.callback)},makeShimExports:function(e){return function(){var t;return e.init&&(t=e.init.apply(__webpack_require__.g,arguments)),t||e.exports&&getGlobal(e.exports)}},makeRequire:function(t,l){function i(o,s,d){var u,p;return(l.enableBuildCallback&&s&&isFunction(s)&&(s.__requireJsBuild=!0),"string"==typeof o)?isFunction(s)?M(makeError("requireargs","Invalid require call"),d):t&&hasProp(n,o)?n[o](a[t.id]):req.get?req.get(r,o,t,i):hasProp(c,u=w(o,t,!1,!0).id)?c[u]:M(makeError("notloaded",'Module name "'+u+'" has not been loaded yet for context: '+e+(t?"":". Use require([])"))):(T(),r.nextTick(function(){T(),(p=S(w(null,t))).skipMap=l.skipMap,p.init(o,s,d,{enabled:!0}),P()}),i)}return l=l||{},mixin(i,{isBrowser:isBrowser,toUrl:function(e){var l,n=e.lastIndexOf("."),i=e.split("/")[0],o="."===i||".."===i;return -1!==n&&(!o||n>1)&&(l=e.substring(n,e.length),e=e.substring(0,n)),r.nameToUrl(v(e,t&&t.id,!0),l,!0)},defined:function(e){return hasProp(c,w(e,t,!1,!0).id)},specified:function(e){return hasProp(c,e=w(e,t,!1,!0).id)||hasProp(a,e)}}),t||(i.undef=function(e){F();var l=w(e,t,!0),n=getOwn(a,e);n.undefed=!0,y(e),delete c[e],delete p[l.url],delete d[e],eachReverse(u,function(t,l){t[0]===e&&u.splice(l,1)}),delete r.defQueueMap[e],n&&(n.events.defined&&(d[e]=n.events),k(e))}),i},enable:function(e){getOwn(a,e.id)&&S(e).enable()},completeLoad:function(e){var t,l,n,i=getOwn(o.shim,e)||{},s=i.exports;for(F();u.length;){if(null===(l=u.shift())[0]){if(l[0]=e,t)break;t=!0}else l[0]===e&&(t=!0);j(l)}if(r.defQueueMap={},n=getOwn(a,e),!t&&!hasProp(c,e)&&n&&!n.inited)if(!o.enforceDefine||s&&getGlobal(s))j([e,i.deps||[],i.exportsFn]);else if(b(e))return;else return M(makeError("nodefine","No define call for "+e,null,[e]));P()},nameToUrl:function(e,t,l){var n,i,a,s,d,u,c=getOwn(o.pkgs,e);if(c&&(e=c),u=getOwn(h,e))return r.nameToUrl(u,t,l);if(req.jsExtRegExp.test(e))s=e+(t||"");else{for(n=o.paths,a=(i=e.split("/")).length;a>0;a-=1)if(d=getOwn(n,i.slice(0,a).join("/"))){isArray(d)&&(d=d[0]),i.splice(0,a,d);break}s=i.join("/"),s+=t||(/^data\:|^blob\:|\?/.test(s)||/\.js(?:$|[?#])/.test(s)||l?"":".js"),s=("/"===s.charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":o.baseUrl)+s}return o.urlArgs&&!/^blob\:/.test(s)?s+o.urlArgs(e,s):s},load:function(e,t){req.load(r,e,t)},execCb:function(e,t,l,r){return t.apply(r,l)},onScriptLoad:function(e){if("load"===e.type||readyRegExp.test((e.currentTarget||e.srcElement).readyState)){interactiveScript=null;var t=R(e);r.completeLoad(t.id)}},onScriptError:function(e){var t=R(e);if(!b(t.id)){var l=[];return eachProp(a,function(e,r){0!==r.indexOf("_@r")&&each(e.depMaps,function(e){if(e.id===t.id)return l.push(r),!0})}),M(makeError("scripterror",'Script error for "'+t.id+(l.length?'", needed by: '+l.join(", "):'"'),e,[t.id]))}}}).require=r.makeRequire(),r}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState||eachReverse(scripts(),function(e){if("interactive"===e.readyState)return interactiveScript=e}),interactiveScript}}},63128(e,t,l){l.d(t,{x:()=>i});var r=l(50467);l(58149);var n=l(99418);class i{get innerHTML(){return this.__el.innerHTML}set innerHTML(e){this.__el.innerHTML=n.A.sanitize(e)}get outerHTML(){return this.__el.outerHTML}set outerHTML(e){this.__el.outerHTML=n.A.sanitize(e)}appendChild(e){(e instanceof HTMLElement||"string"==typeof e)&&this.__el.appendChild("string"==typeof e?document.createTextNode(e):e)}constructor(e){return(0,r._)(this,"__el",void 0),this.__el=e,new Proxy(this,{get:(e,t,l)=>{if(t in e){let r=Reflect.get(e,t,l);return"function"==typeof r?r.bind(l):r}let r=e.__el[t];return"function"==typeof r?r.bind(e.__el):r},set:(e,t,l,r)=>{let n=Object.getOwnPropertyDescriptor(i.prototype,t);return n&&"function"==typeof n.set?n.set.call(r,l):e.__el[t]=l,!0}})}}},52568(e,t,l){l.d(t,{$K:()=>d,Dv:()=>a,MQ:()=>p,PC:()=>o,Vy:()=>c,Ww:()=>u,YQ:()=>s,bc:()=>i});var r=l(74848),n=l(96540);let i=(0,n.createContext)(null),o=(0,n.createContext)(null);function a(e){return(0,r.jsx)(i.Provider,{value:e.context,children:e.children})}let s=n.memo(e=>(0,r.jsx)(o.Provider,{value:e.context,children:(0,r.jsx)(i.Provider,{value:e.context,children:e.children})}));function d(){return(0,n.useContext)(i)}function u(){return(0,n.useContext)(o)}function c(){return d().view}function p(){return d().viewer}s.displayName="FlowViewContextProvider"},68161(e,t,l){l.d(t,{G:()=>a,z:()=>s});var r=l(50467);l(45336),l(23446),l(89773),l(79936),l(5409),l(69861),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);var n=l(95243),i=l(2543),o=l.n(i);class a{get model(){return this.flowRegistry.model}get key(){return this.options.key}get title(){return this.options.title}set title(e){this.options.title=e}get sort(){return this.options.sort}get on(){return this.options.on}set on(e){this.options.on=e}get defaultParams(){return this.options.defaultParams}get manual(){return this.options.manual}set manual(e){this.options.manual=e}get steps(){let e={};for(let[t,l]of this.getSortedSteps())e[t]=l.serialize();return e}getSortedSteps(){return[...this._steps.entries()].sort((e,t)=>{let[,l]=e,[,r]=t;return(l.serialize().sort??0)-(r.serialize().sort??0)})}setOptions(e){Object.assign(this.options,e)}getSteps(){return this._steps}mapSteps(e){return this.getSortedSteps().map(t=>{let[,l]=t;return e(l)})}getStep(e){return this._steps.get(e)}addStep(e,t){let l=this._steps.get(e);if(l)return l.setOptions(t),l;{if(void 0===t.sort){let e=Math.max(0,...Array.from(this._steps.values()).map(e=>e.serialize().sort??0));t={...t,sort:e+1}}let l=new s({...t,key:e},this);return this._steps.set(e,l),l}}setStep(e,t){return this.addStep(e,t)}hasStep(e){return this._steps.has(e)}moveStep(e,t){if(!this._steps.has(e))throw Error(`Source step '${e}' not found`);if(!this._steps.has(t))throw Error(`Target step '${t}' not found`);if(e===t)return;let l=this.getSortedSteps(),r=[],n=l.filter(t=>{let[l]=t;return l!==e}),i=this._steps.get(e);for(let[l,o]of n)l===t&&r.push([e,i]),r.push([l,o]);r.forEach((e,t)=>{let[l,r]=e;r.setOptions({sort:t+1})})}removeStep(e){this._steps.delete(e)}async saveStep(e){await this.flowRegistry.saveFlow(this)}async destroyStep(e){this.removeStep(e),await this.flowRegistry.saveFlow(this)}async save(){await this.flowRegistry.saveFlow(this)}async destroy(){await this.flowRegistry.destroyFlow(this.key)}remove(){return this.flowRegistry.removeFlow(this.key)}toData(){return this.serialize()}serialize(){let e={...this.options};for(let[t,l]of this.getSortedSteps())e.steps=e.steps||{},e.steps[t]={...l.serialize()};return e}constructor(e,t){for(let[l,i]of((0,r._)(this,"flowRegistry",void 0),(0,r._)(this,"_steps",void 0),(0,r._)(this,"options",void 0),this.flowRegistry=t,this._steps=n.observable.shallow(new Map),this.options=n.observable.shallow(o().omit(e,["steps"])),Object.entries(e.steps||{})))this.addStep(l,i)}}class s{setOptions(e){Object.assign(this.options,e)}get key(){return this.options.key}get flowKey(){return this.flowDef.key}get title(){return this.options.title}set title(e){this.options.title=e}get uiSchema(){return this.options.uiSchema}get defaultParams(){return this.options.defaultParams||{}}set defaultParams(e){this.options.defaultParams=e}get use(){return this.options.use}async save(){return this.flowDef.save()}async remove(){return this.flowDef.removeStep(this.key)}async destroy(){return this.flowDef.destroyStep(this.key)}serialize(){return{...this.options,flowKey:this.flowDef.key}}constructor(e,t){(0,r._)(this,"flowDef",void 0),(0,r._)(this,"options",void 0),this.flowDef=t,this.options=n.observable.shallow(e)}}},91013(e,t,l){l.d(t,{I$:()=>h,RU:()=>i,iU:()=>a});var r=l(50467);l(45336),l(69861),l(89773),l(14324),l(67980);var n=l(31108);function i(e){return"boolean"==typeof(null==e?void 0:e.preprocessTemplates)?e.preprocessTemplates:(null==e?void 0:e.version)!=="v2"}let o=["fetch","localStorage","sessionStorage","XMLHttpRequest","WebSocket","Worker","SharedWorker","ServiceWorker","BroadcastChannel","EventSource","indexedDB","caches","Function","eval","globalThis","Intl","Blob","URL","location"],a=["ctx","console","window","document","navigator","setTimeout","clearTimeout","setInterval","clearInterval","Array","ArrayBuffer","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","Date","Error","EvalError","FinalizationRegistry","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Map","Math","Number","Object","Promise","Proxy","RangeError","ReferenceError","Reflect","RegExp","Set","String","Symbol","SyntaxError","TypeError","URIError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","WeakRef","WeakSet","JSON","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","isFinite","isNaN","parseFloat","parseInt","undefined","NaN","Infinity",...o];function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.window;if(!t||"object"!=typeof t)return{};let l=t,r={};return o.forEach(n=>{if(!Object.prototype.hasOwnProperty.call(e,n))try{let e=l[n];if(void 0===e)return;r[n]="fetch"===n&&"function"==typeof e?e.bind(t):e}catch{}}),r}let d=/(^|[=(:,[\s)])(\{\{\s*(ctx(?:\.|\[|\?\.)[^}]*)\s*\}\})/m;function u(e){let t=String(e||"").match(d);if(!t)return null;let l=String(t[2]||"").trim(),r=String(t[3]||"").trim();return l&&r?{placeholder:l,expression:r}:null}function c(e,t){if(!(e instanceof SyntaxError||"SyntaxError"===String((null==e?void 0:e.name)||""))||!t)return!1;let l=String((null==e?void 0:e.message)||e||"");return/unexpected token/i.test(l)}function p(e,t){let l=SyntaxError(`"${t.placeholder}" has been deprecated and cannot be used as executable RunJS syntax. Use await ctx.getVar("${t.expression}") instead, or keep "${t.placeholder}" as a plain string.`);try{l.cause=e}catch(e){}try{l.__runjsHideLocation=!0,l.stack=`${l.name}: ${l.message}`}catch(e){}return l}class h{register(e,t){this.globals[e]=t}async run(e){let t="u">typeof location?location.search:void 0;if("string"==typeof t&&t.includes("skipRunJs=true"))return{success:!0,value:null};let l=`(async () => {
|
|
1441
1441
|
try {
|
|
1442
1442
|
${e};
|
|
1443
1443
|
} catch (e) {
|
|
1444
1444
|
throw e;
|
|
1445
1445
|
}
|
|
1446
1446
|
})()`,r=new Compartment(this.globals);try{let e=r.evaluate(l),t=new Promise((e,t)=>setTimeout(()=>t(Error("Execution timed out")),this.timeoutMs)),n=await Promise.race([e,t]);return{success:!0,value:n}}catch(r){if(r instanceof n.sy||r instanceof n.zz)throw r;let t=u(e),l=c(r,t)&&t?p(r,t):r;return console.error(l),{success:!1,error:l,timeout:(null==l?void 0:l.message)==="Execution timed out"}}}constructor(e={}){(0,r._)(this,"globals",void 0),(0,r._)(this,"timeoutMs",void 0);let t=e=>{if("u">typeof window&&"function"==typeof window[e])return window[e].bind(window);let t=globalThis[e];return"function"==typeof t?t.bind(globalThis):t},l=e.globals||{},n=s(l);this.globals={console,setTimeout:t("setTimeout"),clearTimeout:t("clearTimeout"),setInterval:t("setInterval"),clearInterval:t("clearInterval"),...n,...l},this.timeoutMs=e.timeoutMs??5e3}}},47451(e,t,l){l.d(t,{_:()=>i}),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(58149);var r=l(48910),n=l(16639);function i(e){let t=new r.$;Object.defineProperty(t,n.i6,{value:n.cj,configurable:!0}),e.modelRepository&&t.setModelRepository(e.modelRepository),t.context.addDelegate(e.context);let l=t.unlinkFromStack.bind(t);t.unlinkFromStack=function(){var e;return null==(e=t.disposeScheduler)||e.call(t),l()};let i=new Set(["_modelInstances","_applyFlowCache","executor","context",n.i6,"previousEngine","nextEngine","emitter","_modelOperationScheduler","getScheduler","scheduleModelOperation","disposeScheduler","unlinkFromStack","linkAfter","_previousEngine","_nextEngine","getModel","_destroyView","setDestroyView","destroyView"]),o={get(t,l,r){if(i.has(l))return Reflect.get(t,l,r);let n=Reflect.get(e,l,r);return"registerModels"===l&&"function"==typeof n?n.bind(e):n},set:(t,l,r)=>i.has(l)?Reflect.set(t,l,r):Reflect.set(e,l,r),has:(t,l)=>l in t||l in e};return t.linkAfter(e),new Proxy(t,o)}},64171(e,t,l){l.d(t,{Z:()=>n});var r=l(50467);l(89773),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);class n{onActionRegistered(){}registerActions(e){for(let[,t]of Object.entries(e||{}))this.registerAction(t)}registerAction(e){if(!(null==e?void 0:e.name))throw Error("Action must have a name.");this.actions.has(e.name)&&console.warn(`Action '${e.name}' is already registered. It will be overwritten.`),this.actions.set(e.name,e),this.onActionRegistered()}constructor(){(0,r._)(this,"actions",new Map)}}},31102(e,t,l){l.d(t,{FC:()=>a,eI:()=>c,jP:()=>s}),l(45336),l(79936),l(14324),l(23446);var r=l(74848),n=l(96540),i=l(42443),o=l(89013);let a={paddingBottom:0},s={marginBottom:12},d=["colon","dependencies","extra","getValueFromEvent","getValueProps","hasFeedback","help","htmlFor","initialValue","label","labelAlign","labelCol","messageVariables","name","normalize","noStyle","preserve","rules","tooltip","trigger","validateStatus","validateTrigger","valuePropName","wrapperCol","labelWidth","labelWrap","layout","required","showLabel"],u=["globalSort"],c=e=>{let{children:t,showLabel:l=!0,labelWidth:c,...p}=e,h=Object.fromEntries(Object.entries(p).filter(e=>{let[t]=e;return!u.includes(t)})),f=Object.fromEntries(Object.entries(h).filter(e=>{let[t]=e;return!d.includes(t)})),m="function"==typeof t?t:n.Children.map(t,e=>n.isValidElement(e)?n.cloneElement(e,{...f}):e),{label:g,labelWrap:v,colon:y=!0,layout:b}=h,x=!b||"vertical"===b||v,w="vertical"===b?{width:c,...a}:{width:c},S=()=>l?x?(0,r.jsxs)("div",{style:{width:"100%",whiteSpace:"normal",wordBreak:"break-word",display:"flex",alignItems:"center",justifyContent:"flex-start",fontWeight:600},children:[(0,r.jsx)("span",{style:{flex:1},children:g}),y&&(0,r.jsx)("span",{style:{marginLeft:4,flexShrink:0},children:":"})]}):(0,r.jsx)(i.A,{title:g,children:(0,r.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",maxWidth:("number"==typeof c?c:120)-20,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",verticalAlign:"middle",fontWeight:600},children:[(0,r.jsx)("span",{style:{flexShrink:1,overflow:"hidden",textOverflow:"ellipsis"},children:g}),y&&(0,r.jsx)("span",{style:{marginLeft:4,flexShrink:0},children:":"})]})}):null;return(0,r.jsx)(o.A.Item,{...h,style:{...s,...h.style},labelCol:{style:w},layout:b,label:S(),colon:!1,extra:h.extra&&(0,r.jsx)("span",{style:{whiteSpace:"pre-wrap"},children:h.extra}),tooltip:h.tooltip&&{title:h.tooltip,overlayInnerStyle:{whiteSpace:"pre-line"}},children:m})}},61793(e,t,l){let r,n;l.d(t,{D:()=>S});var i=l(74848),o=l(4888),a=l(96540);l(45336),l(34678);var s=l(42524),d=l(27253),u=l(35710);let c=(e,t)=>{let{getPrefixCls:l}=(0,a.useContext)(o.Ay.ConfigContext)||{};if("ConfigContext"in o.Ay)return(null==l?void 0:l(e,null==t?void 0:t.prefixCls))||"";{let l=(null==t?void 0:t.prefixCls)??"ant-";return`${l}${e??""}`}},{ConfigContext:p}=o.Ay,h=()=>(0,a.useContext)(p),f=u.A.useToken,m=(e,t)=>{let{fontFamily:l,fontSize:r}=e,n=`[class^="${t}"], [class*=" ${t}"]`;return{[n]:{fontFamily:l,fontSize:r,boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"},[n]:{boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}}}}},g=(r="nb-mobile-action-drawer",n=e=>{let{componentCls:t}=e;return{[t]:{".nb-mobile-action-drawer-header":{height:"var(--nb-mobile-page-header-height, 46px)",display:"flex",alignItems:"center",justifyContent:"space-between",borderBottom:`1px solid ${e.colorSplit}`,position:"sticky",top:0,backgroundColor:e.colorBgContainer,zIndex:1e3,"& + .nb-grid-container > .nb-grid > .nb-grid-warp > .ant-btn":{margin:12}},".nb-mobile-action-drawer-placeholder":{display:"inline-block",padding:12,flex:"0 0 auto",visibility:"hidden"},".nb-mobile-action-drawer-title":{flex:"1 1 auto",minWidth:0,overflow:"hidden",textAlign:"center",textOverflow:"ellipsis",whiteSpace:"nowrap"},".nb-mobile-action-drawer-close-icon":{display:"inline-block",padding:12,flex:"0 0 auto",cursor:"pointer"},".nb-mobile-action-drawer-body":{borderTopLeftRadius:8,borderTopRightRadius:8,maxHeight:"calc(100vh - var(--nb-mobile-page-header-height, 46px))","@supports (height: 100dvh)":{maxHeight:"calc(100dvh - var(--nb-mobile-page-header-height, 46px))"},overflowY:"auto",overflowX:"hidden",backgroundColor:e.colorBgLayout,"& > .nb-grid-container":{padding:`${e.paddingPageVertical}px ${e.paddingPageHorizontal}px`},".ant-tabs-nav":{marginBottom:"0px !important",padding:`0 ${e.paddingPageHorizontal+e.borderRadiusBlock/2}px`,backgroundColor:e.colorBgContainer},"& > .nb-grid-container > .nb-grid > .nb-grid-warp > .nb-grid-row:nth-last-child(2) .noco-card-item":{marginBottom:0,"& > .ant-card":{marginBottom:"0 !important"}}},".nb-mobile-action-drawer-footer":{padding:"8px var(--nb-mobile-page-tabs-content-padding)",display:"flex",alignItems:"center",justifyContent:"flex-end",position:"sticky",bottom:0,left:0,right:0,zIndex:1e3,borderTop:`1px solid ${e.colorSplit}`,backgroundColor:e.colorBgLayout,".ant-btn":{marginLeft:8}}}}},e=>{let{theme:t,token:l,hashId:i}=f(),{getPrefixCls:o,iconPrefixCls:u}=h(),p=c(r),g=o(),v=(0,s.useStyleRegister)({theme:t,token:l,hashId:i,path:["formily-antd",r,p,u]},()=>{let t=`.${p}`,r=n((0,d.merge)(l,{componentCls:t,prefixCls:p,iconCls:`.${u}`,antCls:`.${g}`}),e,{hashId:i,prefixCls:p,rootPrefixCls:g,iconPrefixCls:u});return[m(l,p),r]}),y=[t,l,i,p,u,g,e],b=(0,a.useRef)(),x=b.current,w=(null==x?void 0:x.wrapSSR)||v;return(!x||y.some((e,t)=>e!==x.deps[t]))&&(b.current={deps:y,wrapSSR:v},w=v),{wrapSSR:w,hashId:i,componentCls:p,rootPrefixCls:g}});var v=l(18492),y=l(22505);let{Popup:b}=(0,y.R)(()=>Promise.resolve().then(l.bind(l,77577)),"Popup"),{CloseOutline:x}=(0,y.R)(()=>l.e("3279").then(l.bind(l,38370)),"CloseOutline"),w=()=>{var e,t;return"u">typeof CSS&&(null==(e=(t=CSS).supports)?void 0:e.call(t,"height","100dvh"))?"calc(100dvh - var(--nb-mobile-page-header-height, 46px))":"calc(100vh - var(--nb-mobile-page-header-height, 46px))"},S=e=>{var t;let{title:l,visible:r,onClose:n,children:s,minHeight:d,className:u,footer:c}=e,{t:p}=(0,v.B)(),{componentCls:h,hashId:f}=g(),m=null==(t=e.styles)?void 0:t.body,y=w(),S=(0,a.useMemo)(()=>({minHeight:(null==m?void 0:m.minHeight)??d,height:null==m?void 0:m.height,maxHeight:(null==m?void 0:m.maxHeight)??y}),[null==m?void 0:m.height,null==m?void 0:m.maxHeight,null==m?void 0:m.minHeight,y,d]),A=(0,a.useMemo)(()=>({padding:0,maxHeight:y,overflowY:"auto",overflowX:"hidden",...m}),[m,y]),M=(0,a.useCallback)(e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),n())},[n]),F=(0,a.useMemo)(()=>({token:{paddingPageHorizontal:8,paddingPageVertical:8,marginBlock:12,borderRadiusBlock:8,fontSize:14}}),[]);return(0,i.jsx)(o.Ay,{theme:F,children:(0,i.jsxs)(b,{className:`${h} ${f} ${u||""}`,visible:r,onClose:n,onMaskClick:n,bodyClassName:"nb-mobile-action-drawer-body",bodyStyle:A,style:S,destroyOnClose:!0,children:[(0,i.jsxs)("div",{className:"nb-mobile-action-drawer-header",children:[(0,i.jsx)("span",{className:"nb-mobile-action-drawer-placeholder",children:(0,i.jsx)(x,{})}),(0,i.jsx)("span",{className:"nb-mobile-action-drawer-title",children:l}),(0,i.jsx)("span",{className:"nb-mobile-action-drawer-close-icon",onClick:n,role:"button",tabIndex:0,"aria-label":p("Close"),onKeyDown:M,children:(0,i.jsx)(x,{})})]}),s,c&&(0,i.jsx)("div",{className:"nb-mobile-action-drawer-footer",children:c})]})})}},96332(e,t,l){l.d(t,{openRequiredParamsStepFormDialog:()=>f}),l(89773),l(5409),l(45336),l(69861);var r=l(74848),n=l(18220),i=l(95243),o=l(87959),a=l(71021),s=l(96540),d=l(29007),u=l(16296),c=l(60182);let p=(0,n.createSchemaField)(),h=e=>{let{model:t,requiredSteps:l,formStep:n,children:i}=e,o=l[(null==n?void 0:n.current)??0],a=s.useMemo(()=>{let{flowKey:e,step:l}=o,r=t.getFlow(e),n=new d.W5(t,e,"settings");return(0,c.wx)(n,(null==r?void 0:r.steps)||{},t,e),n.defineProperty("currentStep",{value:l}),n},[t,o]);return(0,r.jsx)(u.u,{value:a,children:i})},f=async e=>{let{model:t,dialogWidth:s=800,dialogTitle:f}=e,m=(0,c.lW)(t);if(f||m("Step parameter configuration"),!t)throw o.Ay.error(m("Invalid model provided")),Error(m("Invalid model provided"));return new Promise((e,o)=>{(async()=>{try{var g,v,y;let o=t.getFlows(),b=[];for(let[e,l]of o)for(let r in l.steps){let n=l.steps[r];if(n.paramsRequired||n.preset){let i=await (0,c.o7)(t,l,n);if(i){t.getStepParams(e,r);let o=!1;console.log(`Flow: ${e}, Step: ${r}, hasAllRequiredParams:`,o),o||b.push({flowKey:e,stepKey:r,step:n,uiSchema:i,title:n.title||r,flowTitle:l.title||e})}}}if(console.log("Required steps:",b),0===b.length)return void e({});let x={};for(let{flowKey:e,stepKey:l,step:r}of b){let n=t.getStepParams(e,l)||{},o={};r.use&&(o=(null==(y=t.flowEngine)||null==(v=y.getAction)?void 0:v.call(y,r.use)).defaultParams||{});let a=new d.W5(t,e,"settings"),s=t.getFlow(e);s&&(0,c.wx)(a,s.steps,t,e),a.defineProperty("currentStep",{value:r});let u=await (0,c.gG)(o,a),p=await (0,c.gG)(r.defaultParams,a),h={...(0,i.toJS)(u),...(0,i.toJS)(p),...(0,i.toJS)(n)};Object.keys(h).length>0&&(x[e]||(x[e]={}),x[e][l]=h)}let w={};b.forEach(e=>{let{flowKey:t,stepKey:l,uiSchema:r,title:n,flowTitle:i}=e;w[`${t}_${l}`]={type:"void","x-component":"FormStep.StepPane","x-component-props":{title:`${n}`,description:`Flow: ${i}`},properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"vertical"},properties:{[t]:{type:"object",properties:{[l]:{type:"object",properties:r}}}}}}}});let S=1===b.length?{type:"object",properties:{...Object.values(w)[0].properties}}:{type:"object",properties:{step:{type:"void","x-component":"FormStep","x-component-props":{formStep:"{{formStep}}"},properties:w}}},{FormDialog:A,FormStep:M}=await Promise.resolve().then(l.bind(l,20419)),F=b.length>1?M.createFormStep(0):null,k=t.flowEngine,C={formStep:F,totalSteps:b.length,requiredSteps:b,useFlowSettingsContext:u.s,...null==(g=k.flowSettings)?void 0:g.scopes},P=A({title:f||m("Step parameter configuration"),width:s,footer:null,destroyOnClose:!0},l=>{var i;let o=async()=>{try{await l.submit();let r=l.values;b.forEach(e=>{var l;let{flowKey:n,stepKey:i}=e,o=null==(l=r[n])?void 0:l[i];o&&t.setStepParams(n,i,o)}),await t.saveStepParams(),e(r),P.close()}catch(e){console.error(m("Error submitting form"),":",e)}},s=()=>{P.close(),e({})},d={...C,closeDialog:s,handleNext:()=>{l.validate().then(()=>{F&&F.next()}).catch(e=>{console.log(m("Form validation failed"),":",e)})}},u=(0,c.ln)(d,S);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(h,{model:t,requiredSteps:b,formStep:F,children:(0,r.jsx)(p,{schema:u,components:{FormStep:M,...null==(i=k.flowSettings)?void 0:i.components},scope:d})}),(0,r.jsx)(n.FormConsumer,{children:()=>(0,r.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginTop:24,paddingTop:16,borderTop:"1px solid #f0f0f0"},children:1===b.length?(0,r.jsx)(a.Ay,{type:"primary",onClick:o,children:m("Complete configuration")}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.Ay,{disabled:!(null==F?void 0:F.allowBack),onClick:()=>{F&&F.back()},children:m("Previous step")}),(0,r.jsx)(a.Ay,{disabled:!(null==F?void 0:F.allowNext),type:"primary",onClick:()=>{l.validate().then(()=>{F&&F.next()}).catch(e=>{console.log(m("Form validation failed"),":",e)})},style:{display:((null==F?void 0:F.current)??0)<b.length-1?"inline-block":"none"},children:m("Next step")}),(0,r.jsx)(a.Ay,{disabled:null==F?void 0:F.allowNext,type:"primary",onClick:o,style:{display:((null==F?void 0:F.current)??0)>=b.length-1?"inline-block":"none"},children:m("Complete configuration")})]})})})]})});P.open({initialValues:(0,c.ln)(C,x)})}catch(e){o(Error(`${m("Failed to import FormDialog or FormStep")}: ${e.message}`))}})()}).catch(e=>{console.error(e)})}},23183(e,t,l){l.d(t,{openStepSettingsDialog:()=>m}),l(89773);var r=l(74848),n=l(78880),i=l(18220),o=l(95243),a=l(84626),s=l(71021),d=l(96540),u=l(16296),c=l(60182),p=l(31108),h=l(52847);let f=(0,i.createSchemaField)(),m=async e=>{var t,l,m,g,v,y,b,x;let{model:w,flowKey:S,stepKey:A,dialogWidth:M=600,dialogTitle:F,mode:k="dialog",ctx:C,uiModeProps:P,cleanup:j}=e,E=(0,c.lW)(w),R=w.context.message;if(!w)throw R.error(E("Invalid model provided")),Error(E("Invalid model provided"));let T=w.getFlow(S),I=null==T||null==(t=T.steps)?void 0:t[A];if(!T)throw R.error(E("Flow with key {{flowKey}} not found",{flowKey:S})),Error(E("Flow with key {{flowKey}} not found",{flowKey:S}));if(!I)throw R.error(E("Step with key {{stepKey}} not found",{stepKey:A})),Error(E("Step with key {{stepKey}} not found",{stepKey:A}));let _=I.title,D=I.beforeParamsSave,N=I.afterParamsSave,O={};if(I.use){let e=null==(x=w.flowEngine)||null==(b=x.getAction)?void 0:b.call(x,I.use);e&&(O=e.defaultParams||{},_=_||e.title,D=D||e.beforeParamsSave,N=N||e.afterParamsSave)}let $=w.getFlow(S),B=await (0,c.o7)(w,$,I);if(!B)return R.info(E("This step has no configurable parameters")),{};let L=C;L.currentStep&&L.currentStep===I||L.defineProperty("currentStep",{value:I});let q=w.flowEngine,V={useFlowSettingsContext:u.s,...null==(l=q.flowSettings)?void 0:l.scopes},z=w.getStepParams(S,A)||{},K=await (0,c.gG)(I.defaultParams,L),U=await (0,c.gG)(O,L),W={...(0,o.toJS)(U),...(0,o.toJS)(K),...(0,o.toJS)(z)},H={...(0,o.toJS)(z)},Y={type:"object",properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"vertical"},properties:B}}},G=w.context.viewer[k].bind(w.context.viewer),{zIndex:J,...X}=(0,o.toJS)(P)||{},Q=e=>{var t,l;return Math.max("function"==typeof(null==(t=w.context.viewer)?void 0:t.getNextZIndex)?w.context.viewer.getNextZIndex():((null==(l=w.context.themeToken)?void 0:l.zIndexPopupBase)||1e3)+1,Number(e)||0)},Z=Q(J),ee=(0,n.createForm)({initialValues:(0,c.ln)(V,W)}),et=(null==(m=w.context.view)?void 0:m.inputArgs)||{},el=(null==C||null==(g=C.view)?void 0:g.navigation)??(null==(v=w.context.view)?void 0:v.navigation),er={...et,...el?{navigation:el}:{},...(null==(y=(0,o.toJS)(P))?void 0:y.inputArgs)||{},__isSettingsPopup:!0};G({title:F||E(_),width:M,destroyOnClose:!0,...X,zIndex:Z,inputArgs:er,onClose:()=>{j&&j()},content:e=>{let t=(0,h.PA)(()=>{var t;(0,d.useEffect)(()=>(0,o.autorun)(()=>{let{zIndex:t,...l}=(0,o.toJS)(P)||{};e.update({...l,zIndex:Q(t)})}),[]);let l=(0,c.ln)(V,Y);return(0,r.jsx)(i.FormProvider,{form:ee,children:(0,r.jsxs)(u.u,{value:L,children:[(0,r.jsx)(f,{schema:l,components:{...null==(t=q.flowSettings)?void 0:t.components},scope:V}),(0,r.jsx)(e.Footer,{children:(0,r.jsxs)(a.A,{align:"end",children:[(0,r.jsx)(s.Ay,{type:"default",onClick:()=>{e.close()},children:E("Cancel")}),(0,r.jsx)(s.Ay,{type:"primary",onClick:async()=>{try{await ee.submit();let t=ee.values;w.setStepParams(S,A,t),D&&await D(L,t,H),e.close(),await w.saveStepParams(),R.success(E("Configuration saved")),N&&await N(L,t,H)}catch(t){if(t instanceof c.VD)return;if(t instanceof c.sy||t instanceof p.zz)return void e.close();console.error(E("Error saving configuration"),":",t),R.error(E("Error saving configuration, please check console"))}},children:E("OK")})]})})]})})});return(0,r.jsx)(t,{})}})}},41594(e,t,l){l.d(t,{Ls:()=>a,Qp:()=>c,jx:()=>p,yG:()=>u,z5:()=>d}),l(45336),l(23446),l(5409),l(79936);var r=l(2543),n=l.n(r),i=l(60182);async function o(e,t){return"function"==typeof e?await e(t):e}async function a(e,t){let l=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=e.meta??{};if(await o(r.hide,t)&&!l)return;let n={key:e.name,label:r.label||e.name,searchable:!!r.searchable,searchPlaceholder:r.searchPlaceholder,toggleable:r.toggleable,useModel:e.name,sort:r.sort||1e3,children:s(e,t)};return n.createModelOptions=r.createModelOptions||{use:e.name},n}function s(e,t){let l,r=e.meta??{};if(!1===r.children)return!1;if(r.children&&(l=r.children),e.defineChildren&&(l=e.defineChildren.bind(e)),"function"==typeof l){let e=l;l=async()=>{let l=await e(t),o=e=>null==e?void 0:e.map(e=>{let l={...e};if(l.children)l.children=Array.isArray(l.children)?o(l.children):l.children;else if(l.createModelOptions){let e=l.createModelOptions;l.createModelOptions=async function(){for(var l=arguments.length,o=Array(l),a=0;a<l;a++)o[a]=arguments[a];let s=o&&o.length>0?o[o.length-1]:void 0,d=await (0,i.mv)(null==r?void 0:r.createModelOptions,t,s),u=await (0,i.mv)(e,t,s);return n().merge({},n().cloneDeep(d),u)}}return l});return o(l)}}return l}function d(e){return async t=>{let l=await c([e])(t);if(0===l.length)return[];let r=l.shift().children;return"function"==typeof r?r(t):r}}function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return async l=>{var r,n;let s=l.engine.getSubclassesOf(e),d=[];for(let e of Array.from(s.values()))await o(null==(r=e.meta)?void 0:r.hide,l)||d.push(e);if(0===(d=d.filter(e=>{for(let l of t)if("string"==typeof l){if(e.name===l)return!1}else if(e===l||(0,i.FA)(e,l))return!1;return!0}).sort((e,t)=>{var l,r;return((null==(l=e.meta)?void 0:l.sort)??1e3)-((null==(r=t.meta)?void 0:r.sort)??1e3)})).length){let t="string"==typeof e?l.engine.getModelClass(e):e;t&&!await o(null==(n=t.meta)?void 0:n.hide,l)&&(d=[t])}let u=[];for(let e of d){let t=await a(e,l);t&&u.push(t)}return u}}function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return async t=>{let l=[],r=[];for(let c of e){var n,i,o,a,d;let e="string"==typeof c?t.engine.getModelClass(c):c;if(!e)continue;let p=s(e,t);p||(p=await u(c,r)(t)),r.push(e);let h=!1;if("function"==typeof p)try{let e=await p(t);h=Array.isArray(e)?e.length>0:!!e}catch(e){h=!1}else h=Array.isArray(p)?p.length>0:!!p;if(!h)continue;let f=(null==e||null==(n=e.meta)?void 0:n.label)||("string"==typeof c?c:e.name),m="string"==typeof c?c:e.name,g=(null==e||null==(i=e.meta)?void 0:i.menuType)||"group",v=(null==e||null==(o=e.meta)?void 0:o.sort)??1e3,y=!!(null==e||null==(a=e.meta)?void 0:a.searchable),b=null==e||null==(d=e.meta)?void 0:d.searchPlaceholder;"submenu"===g?l.push({key:m,label:f,sort:v,searchable:y,searchPlaceholder:b,children:p}):l.push({key:m,type:"group",label:f,sort:v,searchable:y,searchPlaceholder:b,children:p})}return l.sort((e,t)=>((null==e?void 0:e.sort)??1e3)-((null==t?void 0:t.sort)??1e3))}}function p(e,t){let{useModel:l,fieldUseModel:r,associationPathName:n,refreshTargets:i,maxAssociationFieldDepth:o=2}=t,a=t.collection||e.model.collection||e.collection,s=a.getFields(),d=[],u=n?n.split(".").filter(Boolean).length:0;for(let e of s){var c,p;if(!(null==e||null==(c=e.options)?void 0:c.interface)||u>=o&&((null==(p=e.isAssociationField)?void 0:p.call(e))||e.target||e.targetCollection))continue;let t=n?`${n}.${e.name}`:e.name,s="function"==typeof r?r(e):r??"FieldModel";if(s){let r={dataSourceKey:a.dataSourceKey,collectionName:a.name,fieldPath:e.name,associationPathName:n};d.push({key:t,label:e.title,toggleable:e=>{let{associationPathName:l,fieldPath:r}=e.getStepParams("fieldSettings","init")||{};return(l?`${l}.${r}`:r)===t},useModel:l,refreshTargets:i,createModelOptions:()=>({use:l,stepParams:{fieldSettings:{init:r}},subModels:{field:{use:s,stepParams:{fieldSettings:{init:r}}}}})})}}return[{key:`addField_${a.name}`,label:"",type:"group",searchable:!0,searchPlaceholder:e.t("Search fields"),children:d.filter(Boolean)}]}},76546(e,t,l){l.d(t,{pM:()=>v,qG:()=>g,qS:()=>m,Ns:()=>d,zA:()=>c,U1:()=>p,JL:()=>y,Xk:()=>b});var r=l(50467);l(89773),l(45336),l(79936),l(69861),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(5409),l(14324),l(23446);var n=l(95243),i=l(2543),o=l.n(i),a=l(16075),s=l.n(a);function d(e){var t;let l;switch(e.type){case"string":l=s().string();break;case"number":l=s().number();break;case"array":l=s().array();break;case"boolean":l=s().boolean();break;default:l=s().any()}let r=(e,t)=>{if(!t||0===Object.keys(t).length)return[];if(Array.isArray(t))return t;if("email"===e){var l;let e={...t};return(null==(l=e.tlds)?void 0:l.allow)===!0?e.tlds.allow=!1:e.tlds||(e.tlds={allow:!1}),[e]}if(["length","min","max"].includes(e))return[t.limit];if("pattern"===e){let e=null==t?void 0:t.regex;return e instanceof RegExp?[e]:[new RegExp(e)]}let r=Object.values(t);return r.length?r:[]},n=!1;return null==(t=e.rules)||t.forEach(e=>{let{name:t,args:i}=e;if("required"===t&&(n=!0),"function"==typeof l[t])try{l=l[t](...r(t,i))}catch(e){console.warn(`调用 Joi 方法 ${t} 失败:`,e)}else console.warn(`Joi schema 上不存在方法: ${t}`)}),n||(l=(l=l.optional().allow("")).optional().allow(null)),l}function u(e){let t=[],l=new Set,r=new Set,n=new Map;e.forEach(e=>{n.set(e.name,e)});let i=e=>{if(r.has(e.name))throw Error(`Circular dependency detected: ${e.name} inherits from itself through a chain`);if(!l.has(e.name)){for(let t of(r.add(e.name),e.inherits||[])){let l=n.get(t);if(!l){console.warn(`Warning: Collection ${t}, inherited by ${e.name}, not found.`);continue}i(l)}r.delete(e.name),l.add(e.name),t.push(e)}};for(let t of e)i(t);return t}class c{setFlowEngine(e){this.flowEngine=e}setRequester(e){this.requester=e}setCollectionFieldInterfaceManager(e){this.collectionFieldInterfaceManager=e}addFieldInterfaces(){var e,t;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];null==(t=this.collectionFieldInterfaceManager)||null==(e=t.addFieldInterfaces)||e.call(t,l)}addFieldInterfaceGroups(e){var t,l;null==(l=this.collectionFieldInterfaceManager)||null==(t=l.addFieldInterfaceGroups)||t.call(l,e)}addFieldInterfaceComponentOption(e,t){var l,r;null==(r=this.collectionFieldInterfaceManager)||null==(l=r.addFieldInterfaceComponentOption)||l.call(r,e,t)}addFieldInterfaceOperator(e,t){var l,r;null==(r=this.collectionFieldInterfaceManager)||null==(l=r.addFieldInterfaceOperator)||l.call(r,e,t)}registerFieldFilterOperator(e){var t,l;null==(l=this.collectionFieldInterfaceManager)||null==(t=l.registerFieldFilterOperator)||t.call(l,e)}registerFieldFilterOperatorGroup(e){var t,l;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];null==(l=this.collectionFieldInterfaceManager)||null==(t=l.registerFieldFilterOperatorGroup)||t.call(l,e,r)}addFieldFilterOperatorsToGroup(e){var t,l;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];null==(l=this.collectionFieldInterfaceManager)||null==(t=l.addFieldFilterOperatorsToGroup)||t.call(l,e,r)}registerLoader(e,t){this.loaders.set(e,t)}removeLoader(e){this.loaders.delete(e)}addDataSource(e){if(this.dataSources.has(e.key))throw Error(`DataSource with name ${e.key} already exists`);e instanceof m||(e=new(e.use||m)(e)),this.dataSources.set(e.key,e),e.setDataSourceManager(this)}upsertDataSource(e){if(this.dataSources.has(e.key)){var t;null==(t=this.dataSources.get(e.key))||t.patchOptions(e)}else this.addDataSource(e)}removeDataSource(e){this.dataSources.delete(e)}clearDataSources(){this.dataSources.clear()}getDataSources(){return Array.from(this.dataSources.values())}getDataSource(e){return this.dataSources.get(e)}getCollection(e,t){let l=this.getDataSource(e);if(l)return l.collectionManager.getCollection(t)}getCollectionField(e){let[t,...l]=e.split("."),r=this.getDataSource(t);if(r)return r.getCollectionField(l.join("."))}async ensureLoaded(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{force:t=!1}=e,l=this.resolveLoadKeys(e.keys),r=t?l:l.filter(e=>!this.loadedKeys.has(e));if(r.length)return this.loadingPromise||(this.loadingPromise=(async()=>{try{for(let e of r)await this.loadKey(e,{initial:!this.loadedKeys.has(e),force:t})}finally{this.loadingPromise=null}})()),this.loadingPromise}async reload(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.resolveLoadKeys(e.keys);if(t.length)return this.loadingPromise||(this.loadingPromise=(async()=>{try{for(let e of t)await this.loadKey(e,{initial:!1,force:!0})}finally{this.loadingPromise=null}})()),this.loadingPromise}async reloadDataSource(e){return this.loadingKeys.has(e)&&this.loadingPromise?this.loadingPromise:!this.loaders.has(e)&&this.loaders.has("*")?this.reload({keys:["*"]}):this.reload({keys:[e]})}resolveLoadKeys(e){let t=(null==e?void 0:e.length)?e:["main"],l=t.filter(e=>this.loaders.has(e));return this.loaders.has("*")?o().uniq(["*",...l]):l.length?l:t}getApp(){var e,t;return null==(t=this.flowEngine)||null==(e=t.context)?void 0:e.app}dispatchDataSourceEvent(e,t){var l,r;null==(r=this.getApp())||null==(l=r.eventBus)||l.dispatchEvent(new CustomEvent(e,{detail:t}))}setDataSourceState(e,t){let l=this.getDataSource(e);l&&l.patchOptions(t)}applyDataSourceLoadResult(e,t){if("*"===e)return void((null==t?void 0:t.dataSources)||[]).forEach(e=>{let{collections:t,...l}=e;if(this.upsertDataSource(l),t){var r;null==(r=this.getDataSource(l.key))||r.setCollections(t,{clearFields:!0})}});let l=this.getDataSource(e);l&&l.setCollections((null==t?void 0:t.collections)||[],{clearFields:!0})}async loadKey(e,t){let l=this.loaders.get(e);if(!l)return;this.getDataSource(e)||"*"===e||this.addDataSource({key:e});let{initial:r}=t;this.loadingKeys.add(e),"*"!==e&&this.setDataSourceState(e,{status:r?"loading":"reloading",errorMessage:void 0}),this.loadErrors.set(e,null);try{let t=await l({key:e,manager:this})||{};this.applyDataSourceLoadResult(e,t),this.loadedKeys.add(e),"*"!==e&&this.setDataSourceState(e,{status:"loaded",errorMessage:void 0}),this.dispatchDataSourceEvent("dataSource:loaded",{dataSourceKey:e,initial:r})}catch(l){let t=l instanceof Error?l:Error(String(l));throw this.loadErrors.set(e,t),"*"!==e&&this.setDataSourceState(e,{status:r?"loading-failed":"reloading-failed",errorMessage:t.message}),this.dispatchDataSourceEvent("dataSource:loadFailed",{dataSourceKey:e,initial:r,error:t}),t}finally{this.loadingKeys.delete(e)}}constructor(){(0,r._)(this,"dataSources",void 0),(0,r._)(this,"flowEngine",void 0),(0,r._)(this,"requester",void 0),(0,r._)(this,"collectionFieldInterfaceManager",void 0),(0,r._)(this,"loaders",new Map),(0,r._)(this,"loadedKeys",new Set),(0,r._)(this,"loadingKeys",new Set),(0,r._)(this,"loadErrors",new Map),(0,r._)(this,"loadingPromise",null),this.dataSources=n.observable.shallow(new Map)}}function p(e){for(var t=arguments.length,l=Array(t>1?t-1:0),r=1;r<t;r++)l[r-1]=arguments[r];if(e)for(let t of l){let l=null==t?void 0:t.collectionFieldInterfaceManager,r=null==l?void 0:l.getFieldInterface;if("function"==typeof r)return r.call(l,e)}}function h(e){return"string"==typeof e&&/\{\{\s*t\s*\(/.test(e)}function f(e,t,l){return h(t)?e.translate(t,l):t}class m{get flowEngine(){return this.dataSourceManager.flowEngine}get displayName(){return this.flowEngine.translate(this.options.displayName,{ns:"lm-collections"})||this.key}get key(){return this.options.key}get name(){return this.options.key}get status(){return this.options.status}get errorMessage(){return this.options.errorMessage}setDataSourceManager(e){this.dataSourceManager=e}getCollections(){return this.collectionManager.getCollections()}getCollection(e){return this.collectionManager.getCollection(e)}getAssocation(e){return this.getAssociation(e)}getAssociation(e){return this.collectionManager.getAssociation(e)}addCollection(e){return this.collectionManager.addCollection(e)}updateCollection(e){return this.collectionManager.updateCollection(e)}upsertCollection(e){return this.collectionManager.upsertCollection(e)}upsertCollections(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.collectionManager.upsertCollections(e,t)}setCollections(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.collectionManager.setCollections(e,t)}removeCollection(e){return this.collectionManager.removeCollection(e)}clearCollections(){this.collectionManager.clearCollections()}setOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.keys(this.options).forEach(e=>delete this.options[e]),Object.assign(this.options,e)}patchOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this.options,e)}reload(){return this.dataSourceManager.reloadDataSource(this.key)}getCollectionField(e){let[t,...l]=e.split("."),r=l.join("."),n=this.getCollection(t);if(!n)return;let i=n.getFieldByPath(r);if(i)return i}constructor(e={}){(0,r._)(this,"dataSourceManager",void 0),(0,r._)(this,"collectionManager",void 0),(0,r._)(this,"options",void 0),this.options=(0,n.observable)({...e}),this.collectionManager=new g(this)}}class g{resetCaches(){this.childrenCollectionsName={},this.allCollectionsInheritChain=void 0}get flowEngine(){return this.dataSource.flowEngine}addCollection(e){let t;(t=e instanceof v?e:new v(e)).setDataSource(this.dataSource),t.initInherits(),this.collections.set(t.name,t),this.resetCaches()}removeCollection(e){this.collections.delete(e),this.resetCaches()}updateCollection(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=this.getCollection(e.name);if(!l)throw Error(`Collection ${e.name} not found`);l.setOptions(e,t),this.resetCaches()}upsertCollection(e){return this.collections.has(e.name)?this.updateCollection(e):this.addCollection(e),this.getCollection(e.name)}upsertCollections(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(let l of u(e))this.collections.has(l.name)?this.updateCollection(l,t):this.addCollection(l);this.resetCaches()}setCollections(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.clearCollections(),this.upsertCollections(e,t)}sortCollectionsByInherits(e){let t=new Map;for(let l of e)t.set(l.name,l);let l={},r={};for(let t of e)l[t.name]=new Set,r[t.name]=0;for(let t of e)for(let e of t.inherits||[])l[e]||(l[e]=new Set),l[e].add(t.name),r[t.name]=(r[t.name]||0)+1;let n=[];for(let e in r)0===r[e]&&n.push(e);let i=[];for(;n.length;){let e=n.shift();for(let o of(t.has(e)&&i.push(t.get(e)),l[e]||[]))r[o]--,0===r[o]&&n.push(o)}if(i.length!==e.length)throw Error("Collection inherits has circular dependency!");return i}getCollection(e){if(e.includes(".")){let[t,l]=e.split("."),r=this.getCollection(t);if(!r)throw Error(`Collection ${t} not found in data source ${this.dataSource.key}`);let n=r.getField(l);if(!n)throw Error(`Field ${l} not found in collection ${t}`);return n.targetCollection}return this.collections.get(e)}getCollections(){return o().sortBy(Array.from(this.collections.values()).filter(e=>!e.hidden),"sort")}clearCollections(){this.collections.clear(),this.resetCaches()}getAssociation(e){let[t,l]=e.split("."),r=this.getCollection(t);if(!r)throw Error(`Collection ${t} not found in data source ${this.dataSource.key}`);return r.getField(l)}getChildrenCollections(e){let t=[],l=Array.from(this.collections.values()),r=e=>(l.filter(t=>{var l;return null==(l=t.options.inherits)?void 0:l.includes(e)}).forEach(e=>{let l=e.name;return t.push(e),r(l)}),t);return r(e)}getChildrenCollectionsName(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=t?"supportView":"notSupportView";if(this.childrenCollectionsName[l])return this.childrenCollectionsName[l].slice();let r=[],n=[...this.getCollections()],i=e=>(n.filter(t=>{var l;return l=[...t.inherits],l.includes(e)}).forEach(e=>{let t=e.name;return r.push(t),i(t)}),t&&n.filter(t=>{var l;return l=[...t.sources],l.length===1&&(null==t?void 0:t.sources[0])===e}).forEach(e=>{let t=e.name;return r.push(e.name),i(t)}),o().uniq(r));return this.childrenCollectionsName[l]=i(e),this.childrenCollectionsName[l]}getAllCollectionsInheritChain(e){if(this.allCollectionsInheritChain)return this.allCollectionsInheritChain.slice();let t=[e],l=e=>{let r=this.getCollection(e);if(r){let{inherits:n}=r,i=this.getChildrenCollectionsName(e);if(n)for(let e=0;e<n.length;e++){let r=n[e];t.includes(r)||(t.push(r),l(r))}if(i)for(let e=0;e<i.length;e++){let r=this.getCollection(i[e]).name;t.includes(r)||(t.push(r),l(r))}}return t};return this.allCollectionsInheritChain=l(e),this.allCollectionsInheritChain||[]}constructor(e){(0,r._)(this,"dataSource",void 0),(0,r._)(this,"collections",void 0),(0,r._)(this,"allCollectionsInheritChain",void 0),(0,r._)(this,"childrenCollectionsName",void 0),this.dataSource=e,this.childrenCollectionsName={},this.collections=n.observable.shallow(new Map)}}class v{clone(){let e=new v(o().cloneDeep(this.options));return e.setDataSource(this.dataSource),e}getFilterByTK(e){if(!e)throw Error("Record is required to get filterByTk");if(Array.isArray(e))return e.map(e=>this.getFilterByTK(e));if(!this.filterTargetKey)throw Error(`filterTargetKey is not defined for collection ${this.name}`);return"string"==typeof this.filterTargetKey?e[this.filterTargetKey]:Array.isArray(this.filterTargetKey)&&1===this.filterTargetKey.length?e[this.filterTargetKey[0]]:o().pick(e,this.filterTargetKey)}get titleableFields(){return this.getFields().filter(e=>e.titleable)}get hidden(){return this.options.hidden||!1}get flowEngine(){return this.dataSource.flowEngine}get collectionManager(){return this.dataSource.collectionManager}get sort(){return this.options.sort||0}get filterTargetKey(){return this.options.filterTargetKey}get dataSourceKey(){return this.dataSource.key}get name(){return this.options.name}get template(){return this.options.template}get storage(){return this.options.storage||"local"}get title(){return this.flowEngine.translate(this.options.title,{ns:"lm-collections"})||this.name}get titleCollectionField(){let e=this.options.titleField||this.filterTargetKey;if(Array.isArray(e)){if(1!==e.length)return;return this.getField(e[0])}return this.getField(e)}initInherits(){for(let e of(this.inherits.clear(),this.options.inherits||[])){let t=this.collectionManager.getCollection(e);if(!t){console.warn(`Warning: Collection ${e} not found for collection ${this.name}`);continue}this.inherits.set(e,t)}}setDataSource(e){this.dataSource=e}setOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object.keys(this.options).forEach(e=>delete this.options[e]),Object.assign(this.options,e),this.initInherits(),t.clearFields&&this.clearFields(),this.upsertFields(this.options.fields||[])}setOption(e,t){this.options[e]=t}getFields(){let e=new Map;for(let t of this.inherits.values())if(t&&"function"==typeof t.getFields)for(let l of t.getFields())e.set(l.name,l);for(let[t,l]of this.fields.entries())e.set(t,l);return Array.from(e.values())}getToOneAssociationFields(){return this.getAssociationFields(["one"])}getAssociationFields(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.includes("new")?this.getFields().filter(e=>["hasMany","belongsToMany","belongsToArray"].includes(e.type)):e.includes("many")&&e.includes("one")?this.getFields().filter(e=>e.isAssociationField()):e.includes("many")?this.getFields().filter(e=>["hasMany","belongsToMany","belongsToArray"].includes(e.type)):e.includes("one")?this.getFields().filter(e=>["hasOne","belongsTo"].includes(e.type)):this.getFields().filter(e=>e.isAssociationField())}mapFields(e){return this.getFields().map(e)}setFields(e){for(let t of(this.fields.clear(),e))this.addField(t)}upsertFields(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for(let t of e)this.fields.has(t.name)?this.fields.get(t.name).setOptions(t):this.addField(t)}getFieldByPath(e){let[t,...l]=e.split("."),r=this.getField(t);return 0===l.length?r:(null==r?void 0:r.targetCollection)?r.targetCollection.getFieldByPath(l.join(".")):null}getField(e){return this.fields.get(e)}getFullFieldPath(e){return this.dataSource.key+"."+this.name+"."+e}addField(e){if(e.name&&this.fields.has(e.name))throw Error(`Field with name ${e.name} already exists in collection ${this.name}`);if(e instanceof y)e.setCollection(this),this.fields.set(e.name,e);else{let t=new y(e);t.setCollection(this),this.fields.set(t.name,t)}}removeField(e){return this.fields.delete(e)}clearFields(){return this.fields.clear()}refresh(){}getRelationshipFields(){let e=["o2o","oho","obo","m2o","createdBy","updatedBy","o2m","m2m","linkTo","chinaRegion","mbm"];return this.getFields().filter(t=>e.includes(t.interface))}getRelatedCollections(){let e=this.getRelationshipFields(),t=[],l=new Set;for(let r of e)if(r.target&&!l.has(r.target)){let e=this.collectionManager.getCollection(r.target);e&&e.name!==this.name&&(t.push(e),l.add(r.target))}return t}hasRelationshipFields(){return this.getRelationshipFields().length>0}constructor(e={}){(0,r._)(this,"fields",void 0),(0,r._)(this,"options",void 0),(0,r._)(this,"inherits",void 0),(0,r._)(this,"dataSource",void 0),this.options=(0,n.observable)({...e}),this.fields=n.observable.shallow(new Map),this.inherits=n.observable.shallow(new Map),this.setFields(e.fields||[])}}class y{setOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.keys(this.options).forEach(e=>delete this.options[e]),Object.assign(this.options,e)}setCollection(e){this.collection=e}get targetCollectionTitleFieldName(){var e,t;return null==(t=this.targetCollection)||null==(e=t.titleCollectionField)?void 0:e.name}get targetCollectionTitleField(){var e;return null==(e=this.targetCollection)?void 0:e.titleCollectionField}get flowEngine(){return this.collection.flowEngine}get dataSourceKey(){var e;return null==(e=this.collection)?void 0:e.dataSourceKey}get resourceName(){return`${this.collection.name}.${this.name}`}get collectionName(){var e;return(null==(e=this.collection)?void 0:e.name)||this.options.collectionName}get readonly(){var e;return this.options.readonly||(null==(e=this.options.uiSchema)?void 0:e["x-read-pretty"])||!1}get titleable(){return!!(this.options.titleable??this.options.titleUsable)}get fullpath(){return this.collection.dataSource.key+"."+this.collection.name+"."+this.name}get name(){return this.options.name}get type(){return this.options.type}get dataType(){return this.options.dataType}get foreignKey(){return this.options.foreignKey}get targetKey(){return this.options.targetKey||this.targetCollection.filterTargetKey}get sourceKey(){return this.options.sourceKey}get target(){return this.options.target}get title(){var e,t,l;let r=(null==(t=this.options)||null==(e=t.uiSchema)?void 0:e.title)||(null==(l=this.options)?void 0:l.title);return this.flowEngine.translate(r,{ns:"lm-collections"})||this.options.name}set title(e){this.options.title=e}get enum(){var e;let t=(null==(e=this.options.uiSchema)?void 0:e.enum)||[];return"integer"===this.type?t.map(e=>"object"!=typeof e||null===e.value||void 0===e.value?e:{...e,label:f(this.flowEngine,e.label,{ns:"lm-collections"}),value:Number(e.value)}):t.map(e=>({...e,label:f(this.flowEngine,e.label,{ns:"lm-collections"})}))}get defaultValue(){return null==this.options.defaultValue?void 0:this.options.defaultValue}get interface(){return this.options.interface}get filterable(){var e;return this.options.filterable||(null==(e=this.getInterfaceOptions())?void 0:e.filterable)}get inputable(){return this.options.inputable}get uiSchema(){return this.options.uiSchema||{}}get targetCollection(){var e;return this.options.target&&(null==(e=this.collection)?void 0:e.collectionManager.getCollection(this.options.target))}get validation(){return this.options.validation}getComponentProps(){var e,t;let{type:l,target:r}=this.options,n=o().omitBy({...o().omit((null==(e=this.options.uiSchema)?void 0:e["x-component-props"])||{},"fieldNames"),options:this.enum.length?this.enum:void 0,mode:"multipleSelect"===this.interface?"multiple":void 0,multiple:r?["belongsToMany","hasMany","belongsToArray"].includes(l):void 0,maxCount:r&&!["belongsToMany","hasMany","belongsToArray"].includes(l)?1:void 0,target:r,template:null==(t=this.targetCollection)?void 0:t.template},o().isUndefined);if(this.validation){let e=[],t=d(this.validation),l=this.title;e.push({validator:(e,r)=>{let{error:n}=t.validate(r,{context:{label:l},abortEarly:!1});return n?Promise.reject(n.details.map(e=>{let t=this.flowEngine.translate(e.type,{...e.context,ns:"data-source-main",label:l});return t&&t!==e.type?t:e.message.replace(/"value"/g,`"${l}"`)}).join(", ")):Promise.resolve()}}),n.rules=e}return n}getFields(){if(!this.options.target)return[];if(!this.targetCollection)throw Error(`Target collection ${this.options.target} not found for field ${this.name}`);return this.targetCollection.getFields()}getInterfaceOptions(){var e,t,l;let r=this.flowEngine.context;return p(this.interface,null==(t=this.collection)||null==(e=t.dataSource)?void 0:e.dataSourceManager,r.dataSourceManager,null==(l=r.app)?void 0:l.dataSourceManager)}getFilterOperators(){var e;let t=this.getInterfaceOptions();return(null==t||null==(e=t.filterable)?void 0:e.operators)||[]}getSubclassesOf(e){return this.flowEngine.getSubclassesOf(e,(e,t)=>b(e.supportedFieldInterfaces,this.interface))}getFirstSubclassNameOf(e){for(let[t,l]of this.getSubclassesOf(e))if("*"!==l.supportedFieldInterfaces)return t}isAssociationField(){return["belongsToMany","belongsTo","hasMany","hasOne","belongsToArray"].includes(this.type)}isRelationshipField(){return["o2o","oho","obo","m2o","createdBy","updatedBy","o2m","m2m","linkTo","chinaRegion","mbm"].includes(this.interface)}constructor(e){(0,r._)(this,"options",void 0),(0,r._)(this,"collection",void 0),this.options=(0,n.observable)({...e})}}function b(e,t){return!!e&&("*"===e||("string"==typeof e?e===t:!!Array.isArray(e)&&(e.includes("*")||e.includes(t))))}},48036(e,t,l){l.d(t,{v:()=>n});var r=l(50467);l(5409),l(45336),l(79936),l(69861);class n{setPaused(e){this.paused=e}on(e,t){var l,r;((l=this.events)[r=e]||(l[r]=[])).push(t)}off(e,t){this.events[e]=(this.events[e]||[]).filter(e=>e!==t)}emit(e){for(var t=arguments.length,l=Array(t>1?t-1:0),r=1;r<t;r++)l[r-1]=arguments[r];this.paused||(this.events[e]||[]).forEach(e=>e(...l))}async emitAsync(e){for(var t=arguments.length,l=Array(t>1?t-1:0),r=1;r<t;r++)l[r-1]=arguments[r];if(!this.paused)for(let t of(this.events[e]||[]).slice())await t(...l)}constructor(){(0,r._)(this,"events",{}),(0,r._)(this,"paused",!1)}}},26955(e,t,l){l.d(t,{L:()=>n});var r=l(50467);l(89773),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);class n{onEventRegistered(){}registerEvents(e){for(let[,t]of Object.entries(e||{}))this.registerEvent(t)}registerEvent(e){if(!(null==e?void 0:e.name))throw Error("Event must have a name.");this.events.has(e.name)&&console.warn(`Event '${e.name}' is already registered. It will be overwritten.`),this.events.set(e.name,e),this.onEventRegistered()}constructor(){(0,r._)(this,"events",new Map)}}},84471(e,t,l){l.d(t,{j:()=>o});var r=l(50467);l(45336),l(23446),l(89773),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);var n=l(68161),i=l(95243);class o{addFlows(e){for(let[t,l]of Object.entries(e||{}))this.addFlow(t,l)}addFlow(e,t){let l=new n.G({...t,key:e},this);return this.flows.set(e,l),l}hasFlow(e){return!!this.flows.get(e)}getFlow(e){return this.flows.get(e)}getFlows(){return this.flows}removeFlow(e){this.flows.delete(e)}mapFlows(e){return[...this.getFlows().values()].map(t=>e(t))}moveStep(e,t,l){let r=this.getFlow(e);if(!r)throw Error(`Flow '${e}' not found`);r.moveStep(t,l)}constructor(){(0,r._)(this,"flows",void 0),this.flows=i.observable.shallow(new Map)}}},98837(e,t,l){l.d(t,{r:()=>o});var r=l(50467);l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);var n=l(33954),i=l(84471);class o extends i.j{removeFlow(e){console.warn(`GlobalFlowRegistry.removeFlow: removing static flow '${e}' is not supported.`)}getFlow(e){if(this.flows.has(e))return this.flows.get(e);let t=Object.getPrototypeOf(this.target);if(t!==Function.prototype&&t!==Object.prototype&&(null==t?void 0:t.globalFlowRegistry))return t.globalFlowRegistry.getFlow(e)}getFlows(){let e=new Map(this.flows),t=Object.getPrototypeOf(this.target);if(t!==Function.prototype&&t!==Object.prototype&&(null==t?void 0:t.globalFlowRegistry))for(let[l,r]of t.globalFlowRegistry.getFlows().entries())e.has(l)||e.set(l,r);let l=e=>{let t=0,l=e;for(;l&&l!==n.WD&&l!==Function.prototype&&l!==Object.prototype;)l=Object.getPrototypeOf(l),t+=1;return t};return new Map(Array.from(e.entries()).sort((e,t)=>{let[,r]=e,[,n]=t,i=r.sort??0,o=n.sort??0;if(i!==o)return i-o;let a=r.flowRegistry,s=n.flowRegistry,d=l(a.target),u=l(s.target);return d!==u?d-u:0}))}saveFlow(e){}destroyFlow(e){}constructor(e){super(),(0,r._)(this,"target",void 0),this.target=e}}(0,r._)(o,"_type","global")},96321(e,t,l){l.d(t,{R:()=>i});var r=l(50467),n=l(84471);class i extends n.j{async save(){await this.model.saveStepParams()}async saveFlow(e){await this.model.saveStepParams()}async destroyFlow(e){this.removeFlow(e),await this.model.saveStepParams()}async moveStep(e,t,l){super.moveStep(e,t,l),await this.model.saveStepParams()}constructor(e){super(),(0,r._)(this,"model",void 0),this.model=e}}(0,r._)(i,"_type","instance")},29007(e,t,l){l.d(t,{W5:()=>eR,uk:()=>eY,Hl:()=>eE,o0:()=>eP,d6:()=>ej,cB:()=>ef,Bt:()=>ez});var r=l(58587),n=l(18150),i=l(68238),o=l(88243),a=l(16213),s=l(50467);l(61874),l(1633),l(9700),l(14324),l(45336),l(34678),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(79936),l(23089),l(82855),l(17106),l(36792),l(72713),l(25779),l(58149),l(89773),l(63836),l(23446),l(5409),l(69861),l(38263),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);var d=l(95243),u=l(88909),c=l(74172),p=l(2543),h=l.n(p),f=l(55373),m=l.n(f),g=l(96540),v=l(5338),y=l.t(v,2),b=l(63128);l(91625);class x{setData(e){this.data=h().cloneDeep(e)}setMeta(e){this.meta=h().cloneDeep(e)}async load(){var e,t,l,r;let n=(null==(r=this.flowEngine)||null==(l=r.context)||null==(t=l.api)||null==(e=t.auth)?void 0:e.token)||"";this.loaded&&this.lastToken!==n&&(this.loaded=!1,this.loadingPromise=null,this.data={},this.meta={});let{data:i}=await this.flowEngine.context.api.request({url:"roles:check"});this.data=(null==i?void 0:i.data)||{},this.meta=(null==i?void 0:i.meta)||{},this.loaded=!0,this.lastToken=n,await this.loadingPromise}getActionAlias(e){var t;return(null==(t=this.data.actionAlias)?void 0:t[e])||e}inResources(e,t){var l,r,n;let{dataSources:i}=(null==(l=this)?void 0:l.meta)||{};return null==(n=({...this.data,...(0,p.omit)(null==i?void 0:i[t],"snippets")}).resources)||null==(r=n.includes)?void 0:r.call(n,e)}getResourceActionParams(e,t,l){var r,n,i;let o=this.getActionAlias(t),{dataSources:a}=(null==(r=this)?void 0:r.meta)||{},s={...this.data,...(0,p.omit)(null==a?void 0:a[l],"snippets")};return(null==(n=s.actions)?void 0:n[`${e}:${o}`])||(null==(i=s.actions)?void 0:i[t])}getStrategyActionParams(e,t){var l,r,n;let i=this.getActionAlias(e),{dataSources:o}=(null==(l=this)?void 0:l.meta)||{},a={...this.data,...(0,p.omit)(null==o?void 0:o[t],"snippets")};return(null==a||null==(n=a.strategy)||null==(r=n.actions)?void 0:r.find(e=>{let[t]=e.split(":");return t===i}))?{}:null}parseAction(e){var t;let{resourceName:l,actionName:r,dataSourceKey:n="main",recordPkValue:i,allowedActions:o}=e,a=(null==l?void 0:l.includes("."))&&(null==(t=this.flowEngine.context.dataSourceManager.getDataSource(n).collectionManager.getAssociation(l))?void 0:t.target);return this.getIgnoreScope(e)||this.verifyScope(r,i,o)?this.inResources(a,n)?this.getResourceActionParams(a,r,n):this.inResources(l,n)?this.getResourceActionParams(l,r,n):this.getStrategyActionParams(r,n):null}parseField(e){let{fields:t}=e,l=this.parseAction(e),r=[].concat((null==l?void 0:l.whitelist)||[]).concat((null==l?void 0:l.fields)||[]).concat((null==l?void 0:l.appends)||[]);return!!l&&!Object.keys(l).length||r.includes(t[0])}can(e){var t;let{allowAll:l}=this.data;if(l)return!0;let{actionName:r,allowedActions:n,recordPkValue:i}=e,o=null!=i,a=o&&n?this.verifyScope(r,i,n):null;if(o&&n&&!0!==a)return!1;let s=this.parseAction(e);if(!s||!h().isEmpty(s.filter)&&!0!==a)return!1;if(!(null==(t=e.fields)?void 0:t.length))return!0;let d=[].concat(s.whitelist||[]).concat(s.fields||[]).concat(s.appends||[]);return!d.length||e.fields.every(e=>d.includes(e))}async aclCheck(e){let{allowAll:t}=this.data;return!!t||(e.fields?this.parseField(e):this.parseAction(e))}constructor(e){(0,s._)(this,"flowEngine",void 0),(0,s._)(this,"data",void 0),(0,s._)(this,"meta",void 0),(0,s._)(this,"loaded",void 0),(0,s._)(this,"loadingPromise",void 0),(0,s._)(this,"lastToken",void 0),(0,s._)(this,"getIgnoreScope",void 0),(0,s._)(this,"verifyScope",void 0),this.flowEngine=e,this.data={},this.meta={},this.loaded=!1,this.loadingPromise=null,this.lastToken=null,this.getIgnoreScope=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{recordPkValue:t,allowedActions:l,actionName:r}=e,n=!1;return e.ignoreScope&&(n=!0),"create"===r&&(n=!0),t&&l||(n=!0),n},this.verifyScope=(e,t,l)=>{let r=this.getActionAlias(e),n=null==l?void 0:l[r];return Array.isArray(n)?n.map(e=>String(e)).includes(String(t)):null}}}let w=Symbol.toPrimitive;class S{toString(){return`{{${this.path.join(".")}}}`}valueOf(){return this.toString()}[w](){return this.toString()}static create(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["ctx"];return new Proxy(new S(e),{get(t,l,r){if("symbol"==typeof l)return;if(l in t){let e=t[l];return"function"==typeof e?e.bind(t):e}let n=[...e,l.toString()];return S.create(n)}})}constructor(e){(0,s._)(this,"path",void 0),this.path=e}}var A=l(76546),M=l(48910);class F{translate(e,t){return!e||"string"!=typeof e||(null==t?void 0:t.compareWith)&&e===t.compareWith?e:this.isTemplate(e)?this.compileTemplate(e):this.translateKey(e,t)}translateKey(e,t){var l,r;if(null==(r=this.context)||null==(l=r.i18n)?void 0:l.t){let l=this.context.i18n.t(e,t);return null==l||""===l?e:l}return e}isTemplate(e){return/\{\{\s*t\s*\(\s*(["'`])(?:\\.|(?!\1).)*?\1\s*(?:,\s*.*?)?\s*\)\s*\}\}/.test(e)}compileTemplate(e){return e.replace(/\{\{\s*t\s*\(\s*(["'`])((?:\\.|(?!\1).)*?)\1\s*(?:,\s*((?:[^{}]|\{[^}]*\})*?))?\s*\)\s*\}\}/g,(e,t,l,r)=>{try{let t={};if(r&&(r=r.trim()).startsWith("{")&&r.endsWith("}"))try{t=Function("$root",`with($root) { return (${r}); }`)({})}catch(t){return e}return this.translateKey(l,t)}catch(t){return console.warn(`FlowEngine: Failed to compile template "${e}":`,t),e}})}constructor(e){(0,s._)(this,"context",void 0),this.context=e}}var k=l(91013),C=l(27667),P=l(60182),j=l(31108),E=l(81982),R=l(22928),T=l(9297),I=l(58619),_=l(37966),D=l(62572),N=l(74353),O=l.n(N),$=l(98192),B=l(47684);async function L(e){let t,l=globalThis;l.__nocobaseRunjsModuleLoadLock=(l.__nocobaseRunjsModuleLoadLock||Promise.resolve()).catch(()=>{});let r=l.__nocobaseRunjsModuleLoadLock,n=new Promise(e=>{t=e});l.__nocobaseRunjsModuleLoadLock=r.then(()=>n),await r;try{return await e()}finally{null==t||t()}}function q(){let e=globalThis,t=null==e?void 0:e.define,l=null==t?void 0:t.amd;if(!t||!l)return()=>{};let r=Object.getOwnPropertyDescriptor(t,"amd"),n=!!r,i=l;try{(null==r?void 0:r.writable)?t.amd=void 0:(null==r?void 0:r.configurable)?delete t.amd:t.amd=void 0}catch(e){}return()=>{try{if(n&&r)return void Object.defineProperty(t,"amd",r);t.amd=i}catch(e){}}}function V(){var e,t;let l=globalThis,r=null==l||null==(e=l.requirejs)?void 0:e.requirejs,n=null==r||null==(t=r.s)?void 0:t.contexts;if(!n||"object"!=typeof n)return!1;for(let e of Object.keys(n)){let t=n[e],l=null==t?void 0:t.registry;if(l&&"object"==typeof l)for(let e of Object.keys(l)){let t=l[e];if(!t||"object"!=typeof t||!t.enabled||t.error)continue;let r=t.map;if(r&&"object"==typeof r&&!t.inited&&t.fetched&&r.isDefine)return!0}}return!1}async function z(e){let t=Math.max(0,(null==e?void 0:e.timeoutMs)??1500),l=Math.max(10,(null==e?void 0:e.pollMs)??30);if(0===t)return;let r=Date.now();for(;V();){if(Date.now()-r>=t)return;await new Promise(e=>setTimeout(e,l))}}async function K(e,t){let l="string"==typeof e?e.trim():"";if(!l)return;let r=globalThis;r.__nocobaseImportAsyncPrefetchCache=r.__nocobaseImportAsyncPrefetchCache||new Map;let n=r.__nocobaseImportAsyncPrefetchCache;if(n.has(l))return await n.get(l);let i=Math.max(0,(null==t?void 0:t.timeoutMs)??5e3),o=(async()=>{try{var e,t,r;if("u">typeof document&&(null==(e=document)?void 0:e.createElement)){let e=new URL(l,(null==(r=globalThis)||null==(t=r.location)?void 0:t.href)||void 0).toString(),n=document.head||document.getElementsByTagName("head")[0];if(n){let t=`link[rel="modulepreload"][href="${e}"]`;if(!document.querySelector(t)){let t=document.createElement("link");return t.rel="modulepreload",t.href=e,t.crossOrigin="anonymous",await new Promise(e=>{let l=!1,r=()=>{l||(l=!0,t.onload=null,t.onerror=null,e())},o=i>0?setTimeout(()=>{r()},i):void 0;t.onload=()=>{o&&clearTimeout(o),r()},t.onerror=()=>{o&&clearTimeout(o),r()},n.appendChild(t)})}}}}catch(e){}try{if("function"!=typeof fetch)return;let e="function"==typeof AbortController?new AbortController:void 0,t=e&&i>0?setTimeout(()=>{try{e.abort()}catch(e){}},i):void 0,r=await fetch(l,{method:"GET",mode:"cors",credentials:"omit",cache:"force-cache",signal:null==e?void 0:e.signal});if(t&&clearTimeout(t),r&&r.ok&&"function"==typeof r.arrayBuffer)try{await r.arrayBuffer()}catch(e){}}catch(e){}})().catch(()=>{});return n.set(l,o),await o}async function U(e,t){return await L(async()=>{let l,r;try{l=await new Promise((l,r)=>{e?e([t],function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];l(t[0])},r):r(Error("requirejs is not available"))})}catch(e){r=e}if(r)throw r;return l})}async function W(e){var t,l;if(!e||"string"!=typeof e)throw Error("invalid url");let r=e.trim(),n=!!(null==(l=globalThis)||null==(t=l.define)?void 0:t.amd);return n&&await K(r),await L(async()=>{await z();let e=n?q():()=>{};try{let e=()=>import(r),t=()=>(0,eval)("u => import(u)")(r);try{return await e()}catch(e){try{return await t()}catch(t){throw t||e}}}finally{e()}})}function H(e){let t=e.indexOf("?"),l=e.indexOf("#"),r=t>=0&&l>=0?Math.min(t,l):t>=0?t:l;return r>=0?e.slice(0,r):e}function Y(e){if(!e||"string"!=typeof e)return null;let t=H(e).trim();if(!t||t.startsWith("http://")||t.startsWith("https://"))return null;let l=t.replace(/^\//,"");if(!l)return null;if(l.startsWith("@")){let e=l.match(/^(@[^/]+\/[^/]+?)(?:@([^/]+))?(?:\/(.*))?$/);return e?{name:e[1],version:e[2],subpath:e[3]}:null}let r=l.match(/^([^/]+?)(?:@([^/]+))?(?:\/(.*))?$/);return r?{name:r[1],version:r[2],subpath:r[3]}:null}function G(e,t){if(!e||"string"!=typeof e)return e;let l=e.trim(),r=l.indexOf("#"),n=r>=0?l.slice(0,r):l,i=r>=0?l.slice(r):"",o=n.indexOf("?"),a=o>=0?n.slice(0,o):n,s=new URLSearchParams(o>=0?n.slice(o+1):"");for(let[e,l]of Object.entries(t))e&&(s.has(e)||s.set(e,l));let d=s.toString();return d?`${a}?${d}${i}`:`${a}${i}`}function J(){let e=globalThis;if("string"==typeof(null==e?void 0:e.__esm_cdn_base_url__))return e.__esm_cdn_base_url__;let t="u">typeof window?window:null==e?void 0:e.window;return"string"==typeof(null==t?void 0:t.__esm_cdn_base_url__)?t.__esm_cdn_base_url__:"https://esm.sh"}function X(e){if(e&&"object"==typeof e&&"default"in e){let t=Object.keys(e);if(1===t.length&&"default"===t[0])return e.default}return e}async function Q(e,t,l){if(!t||"string"!=typeof t)throw Error("invalid url");let r=t,n=Y(t);if((null==n?void 0:n.name)==="antd"&&!n.subpath&&"string"==typeof J()){let t={bundle:"1"},l=null==e?void 0:e.__runjsExternalReact,n=null==l?void 0:l.version;n&&"string"==typeof n&&(t.deps=`react@${n},react-dom@${n}`),r=G(r,t)}let i=(0,B.i)(r,{addSuffix:(null==l?void 0:l.addSuffix)??!0}),o=(null==l?void 0:l.importer)||W,a=globalThis;a.__nocobaseImportAsyncCache=a.__nocobaseImportAsyncCache||new Map;let s=a.__nocobaseImportAsyncCache,d=s.get(i)||(async()=>X(await o(i)))();s.set(i,d);let u=await d,c=null==e?void 0:e.libs;if(!c||"object"!=typeof c)return u;let p=Y(r);if(!p)return u;let h=p.subpath||"";if("react"!==p.name||h)"react-dom"===p.name&&("client"===h||h.startsWith("client/"))?((0,$.qf)(e,"ReactDOM",u),e.__runjsExternalReactDOM={specifier:t,version:p.version,url:i}):"antd"!==p.name||h?"@ant-design/icons"!==p.name||h||((0,$.qf)(e,"antdIcons",u,{topLevelKey:!1}),e.__runjsExternalAntdIcons={specifier:t,version:p.version,url:i}):((0,$.qf)(e,"antd",u),e.__runjsExternalAntd={specifier:t,version:p.version,url:i});else{(0,$.qf)(e,"React",u),e.__runjsExternalReact={specifier:t,version:p.version,url:i};let l=p.version?`react-dom@${p.version}/client`:"react-dom/client";try{await e.importAsync(l)}catch(r){let e=Error(`External React has been loaded via ctx.importAsync("${t}"), but auto-loading "${l}" failed.
|
|
1447
|
-
Please run: await ctx.importAsync("${l}") to ensure ctx.render uses a matching ReactDOM.`);throw e.cause=r,e}}return u}function Z(e){return e.endsWith("/")?e:`${e}/`}function ee(e,t){try{let l=new URL(e);if(!["http:","https:"].includes(l.protocol))return!1;if(!(null==t?void 0:t.getApiUrl))return!0;let r=new URL(t.getApiUrl()),n=Z(r.pathname),i=Z(l.pathname);return l.origin!==r.origin||!i.startsWith(n)}catch{return!1}}function et(e){return!!(e&&"object"==typeof e&&"collection"in e&&"filterByTk"in e)}function el(e,t){if(t&&0!==t.length){if(et(e))return e;if(e&&"object"==typeof e&&!Array.isArray(e)){let l={};for(let[r,n]of Object.entries(e))t.some(e=>e===r||e.startsWith(`${r}.`)||e.startsWith(`${r}[`))&&(l[r]=n);return l}}}function er(e){if(!e)return;let t=String(e).match(/^([^.[]+)/);return null==t?void 0:t[1]}function en(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!Array.isArray(e)||0===e.length)return{generatedAppends:void 0,generatedFields:void 0};let t=new Set,l=new Set,r=e=>{if(!e)return"";let t=String(e);return(t=(t=(t=t.replace(/\[(?:\d+)\]/g,"")).replace(/\[(?:"((?:[^"\\]|\\.)*)"|'((?:[^'\\]|\\.)*)')\]/g,(e,t,l)=>`.${t||l}`)).replace(/\.\.+/g,".")).replace(/^\./,"").replace(/\.$/,"")};for(let n of e){if(!n)continue;for(;/^\[(\d+)\](\.|$)/.test(n);)n=n.replace(/^\[(\d+)\]\.?/,"");let e=r(n);if(!e)continue;let i=e.split(".").filter(Boolean);if(0!==i.length){if(1===i.length){l.add(i[0]);continue}for(let e=0;e<i.length-1;e++)t.add(i.slice(0,e+1).join("."));l.add(i.join("."))}}return{generatedAppends:t.size?Array.from(t):void 0,generatedFields:l.size?Array.from(l):void 0}}var ei=new WeakMap,eo=new WeakSet,ea=new WeakSet,es=new WeakSet,ed=new WeakSet,eu=new WeakSet,ec=new WeakSet,ep=new WeakSet,eh=new WeakSet;class ef{createProxy(){return(0,r._)(this,ei)||(0,i._)(this,ei,new Proxy(this,{get:(e,t,l)=>{if("string"==typeof t){if(Reflect.has(e,t)){let r=Reflect.get(e,t,l);return"function"==typeof r?r.bind(e):r}if(Object.prototype.hasOwnProperty.call(e._props,t))return e._getOwnProperty(t,this.createProxy());if(Object.prototype.hasOwnProperty.call(e._methods,t))return e._getOwnMethod(t,this.createProxy());let r=this._findInDelegates(e._delegates,t);return void 0!==r?r.result:void 0}return Reflect.get(e,t,l)},has:(e,t)=>!!("string"==typeof t&&(Reflect.has(e,t)||Object.prototype.hasOwnProperty.call(e._props,t)||Object.prototype.hasOwnProperty.call(e._methods,t)||this._hasInDelegates(e._delegates,t)))||Reflect.has(e,t)})),(0,r._)(this,ei)}defineProperty(e,t){var l;if(this._props[e]&&(null==(l=this._props[e])?void 0:l.once))return;let r=this._props[e];(null==r?void 0:r.meta)&&this._clearMetaNodeCacheFor(r.meta),this._props[e]=t,delete this._observableCache[e],delete this._cache[e],Object.defineProperty(this,e,{configurable:!0,enumerable:!0,get:()=>this._getOwnProperty(e,this.createProxy())})}defineMethod(e,t,l){this._methods[e]=t,"string"==typeof l?this._methodInfos[e]={description:l}:l&&"object"==typeof l?this._methodInfos[e]=l:delete this._methodInfos[e],Object.defineProperty(this,e,{configurable:!0,enumerable:!1,writable:!1,value:t.bind(this.createProxy())})}removeCache(e){if(e in this._observableCache)return delete this._observableCache[e],!0;if(e in this._cache)return delete this._cache[e],!0;if(e in this._pending)return delete this._pending[e],!0;for(let t of this._delegates)if(t.removeCache(e))return!0}delegate(e){if(!(e instanceof ef))throw Error("Delegate must be an instance of FlowContext");this._delegates.includes(e)?console.warn(`[FlowContext] delegate - skip duplicate delegate: ${this._delegates.length}`):this._delegates.unshift(e)}addDelegate(e){if(!(e instanceof ef))throw Error("Delegate must be an instance of FlowContext");this._delegates.includes(e)||this._delegates.unshift(e)}clearDelegates(){this._delegates=[],this._metaNodeCache=new WeakMap}removeDelegate(e){if(!(e instanceof ef))throw Error("Delegate must be an instance of FlowContext");let t=this._delegates.indexOf(e);-1!==t&&this._delegates.splice(t,1)}_clearMetaNodeCacheFor(e){this._metaNodeCache.delete(e)}has(e){return!!this._props[e]}getPropertyMetaTree(e,t){let l=this._getPropertiesMeta();if(e){let l=(0,P.YB)(e);if(l&&l.length>0){let e=async(e,t,l)=>{try{let l="function"==typeof e?await e():e;if(!(null==l?void 0:l.properties))return[];let r=l.properties;if("function"==typeof r){let e=await r();l.properties=e,r=e}let n=(0,o._)(this,eo,em).call(this,r,t,[],l);return Array.isArray(n)?n:await n()}catch(e){return console.warn(`Failed to load meta for ${l}:`,e),[]}},r=(0,o._)(this,ea,eg).call(this,l);if(r){let[n,i,a]=r;if(1===l.length){if("function"==typeof i)return()=>e(i,a,n);if(i.properties){if("function"==typeof i.properties)return()=>e(i,a,n);let t=(0,o._)(this,eo,em).call(this,i.properties,a,[],i);return Array.isArray(t)?t:[]}return[]}if("function"==typeof i){if(null==t?void 0:t.flatten)return()=>e(i,a,n);let l=(0,o._)(this,ep,ex).call(this,a);return[(0,o._)(this,eh,ew).call(this,n,i,a,l)]}if(i.properties){let e=[...(0,o._)(this,ep,ex).call(this,a),i.title],t=(0,o._)(this,eo,em).call(this,i.properties,a,e,i);return Array.isArray(t)?t:[]}}return[]}if(null===l)return console.warn(`[FlowContext] getPropertyMetaTree - unsupported value format: "${e}". Only "{{ ctx.propertyName }}" format is supported. Returning empty meta tree.`),[]}return Object.entries(l).sort((e,t)=>{let[,l]=e,[,r]=t,n=("function"==typeof l?l.sort:null==l?void 0:l.sort)??0;return(("function"==typeof r?r.sort:null==r?void 0:r.sort)??0)-n}).map(e=>{let[t,l]=e;return(0,o._)(this,eh,ew).call(this,t,l,[t],[])})}async getApiInfos(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.version||"v1",l=!!e.includeCompletion,r=this.createProxy(),n=e=>"string"==typeof e&&e.startsWith("_"),i=e=>"record"===e||"formValues"===e||"popup"===e,o=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,a=(()=>{var e,l,r,n,i,o,a,s;let d=(0,_.B)(this),u=_.F.resolve(t,d)||_.F.resolve(t,"*");if(!u)return{};let c=(null==(r=this)||null==(l=r.api)||null==(e=l.auth)?void 0:e.locale)||(null==(i=this)||null==(n=i.i18n)?void 0:n.language)||(null==(o=this)?void 0:o.locale);try{if(null==u||null==(a=u.getDoc)?void 0:a.length)return u.getDoc(c)||{};return(null==u||null==(s=u.getDoc)?void 0:s.call(u))||{}}catch(e){return{}}})(),s=eN(null==a?void 0:a.methods)?a.methods:{},d=eN(null==a?void 0:a.properties)?a.properties:{},u=e=>"string"==typeof e?{description:e}:eN(e)?e:void 0,c=(e,t)=>{let l="string"==typeof t?t:eN(t)&&"string"==typeof t.description?String(t.description):void 0;return l&&l.includes(`ctx.libs.${e}`)?`libs.${e}`:e},p=e=>{let t=u(e);if(!t)return{};let r={};for(let e of["description","examples",...l?["completion"]:[],"ref","params","returns"]){let l=t[e];void 0!==l&&(r[e]=l)}return Array.isArray(r.examples)&&(r.examples=r.examples.filter(e=>"string"==typeof e&&e.trim())),r},h=e=>{let t=u(e);if(!t)return{};let r={};for(let e of["title","type","interface","description","examples",...l?["completion"]:[],"ref","params","returns"]){let l=t[e];void 0!==l&&(r[e]=l)}return Array.isArray(r.examples)&&(r.examples=r.examples.filter(e=>"string"==typeof e&&e.trim())),r},f=e=>{let t=new WeakSet,l=r=>{if(!r||"object"!=typeof r||t.has(r))return;if(t.add(r),Object.prototype.hasOwnProperty.call(r._methodInfos||{},e)){var n;return null==(n=r._methodInfos)?void 0:n[e]}let i=r._delegates;if(Array.isArray(i))for(let e of i){let t=l(e);if(t)return t}};return l(this)},m=async e=>{let t=this.getPropertyOptions(e);if(null==t?void 0:t.info)try{let e="function"==typeof t.info?t.info.call(r,r):t.info;return(o(e)?await e:e)??void 0}catch(e){return}},g=new Set,v=new Set;for(let e of Object.keys(d))g.add(e);for(let e of Object.keys(s))v.add(e);let y=(e,t)=>{if(e&&"object"==typeof e&&!t.has(e)){t.add(e);try{let t=e._props;if(t&&"object"==typeof t)for(let[e,l]of Object.entries(t))(null==l?void 0:l.info)&&g.add(e)}catch(e){}try{let t=e._methodInfos;if(t&&"object"==typeof t)for(let e of Object.keys(t))v.add(e)}catch(e){}try{let l=e._delegates;if(Array.isArray(l))for(let e of l)y(e,t)}catch(e){}}};y(this,new WeakSet);let b={};for(let e of g){if(n(e)||i(e))continue;let t=d[e],r=await m(e);if(void 0===t&&void 0===r)continue;let o=u(t),a=u(r),s={};if(s={...s={...s,...h(o)},...h(a)},delete s.properties,l||delete s.completion,!Object.keys(s).length)continue;let p=c(e,t);b[p]=b[p]?{...b[p]||{},...s||{}}:s}for(let e of v){if(n(e))continue;let t=s[e],r=f(e);if(void 0===t&&void 0===r)continue;let i=u(t),o={};o={...o={...o,...p(i)},...p(r)},delete o.properties,l||delete o.completion,Object.keys(o).length&&(o.type="function",b[e]?b[e]={...b[e]||{},...o||{}}:b[e]=o)}let x=u(d.libs),w=eN(null==x?void 0:x.properties)?x.properties:void 0;if(w)for(let[e,t]of Object.entries(w)){if(n(e))continue;let r=`libs.${e}`;if(b[r])continue;let i=u(t),o={};o={...o,...h(i)},delete o.properties,l||delete o.completion,o.description&&String(o.description).trim()&&(b[r]=o)}return b}async getEnvInfos(){var e,t,l;let r=this.createProxy(),n=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,i={},o=e=>{try{return e()}catch(e){return}},a=e=>null!=e&&("string"==typeof e?e.trim().length>0:!Array.isArray(e)||e.length>0),s=e=>{var t,l,r,n,i;let o={};if(!e)return o;let s=e;for(let e of["dataSourceKey","collectionName","associationName","filterByTk","sourceId"]){let t=null==s?void 0:s[e];a(t)&&(o[e]=t)}if(!("dataSourceKey"in o)){let e=null==(t=s.getDataSourceKey)?void 0:t.call(s);a(e)&&(o.dataSourceKey=e)}if(!("filterByTk"in o)){let e=null==(l=s.getFilterByTk)?void 0:l.call(s);a(e)&&(o.filterByTk=e)}if(!("filterByTk"in o)){let e=null==(r=s.getMeta)?void 0:r.call(s,"currentFilterByTk");a(e)&&(o.filterByTk=e)}if(!("sourceId"in o)){let e=null==(n=s.getSourceId)?void 0:n.call(s);a(e)&&(o.sourceId=e)}if(!("collectionName"in o)||!("associationName"in o)){let e=null==(i=s.getResourceName)?void 0:i.call(s),t="string"==typeof e?e.trim():"";if(t){let e=t.split(".").map(e=>e.trim()).filter(Boolean);1===e.length?"collectionName"in o||(o.collectionName=e[0]):e.length>=2&&("collectionName"in o||(o.collectionName=e[0]),"associationName"in o||(o.associationName=e.slice(1).join(".")))}}return o},d=await (async()=>{try{let e=r.popup;return n(e)?await e:e}catch(e){return}})(),u=o(()=>r.model),c=o(()=>r.blockModel),p=o(()=>{var e;return null==(e=r.view)?void 0:e.inputArgs}),h=o(()=>r.resource),f=s(null==d?void 0:d.resource),m=c,g=c?"ctx.blockModel":void 0,v=g?`${g}.resource`:void 0,y=s(null==m?void 0:m.resource),b=s(p),x=s(h),w=e=>{for(let t of e)if(a(t.value))return{value:t.value,getVar:t.getVar}},S=e=>a(e.collectionName)||a(e.dataSourceKey)||a(e.associationName),A=S(f)?"ctx.popup.resource":S(y)?v:S(b)?"ctx.view.inputArgs":S(x)?"ctx.resource":void 0,M=w([{value:null==f?void 0:f.collectionName,getVar:"ctx.popup.resource.collectionName"},{value:null==y?void 0:y.collectionName,getVar:`${v}.collectionName`},{value:null==b?void 0:b.collectionName,getVar:"ctx.view.inputArgs.collectionName"},{value:null==x?void 0:x.collectionName,getVar:"ctx.resource.collectionName"}]),F=w([{value:null==f?void 0:f.dataSourceKey,getVar:"ctx.popup.resource.dataSourceKey"},{value:null==y?void 0:y.dataSourceKey,getVar:`${v}.dataSourceKey`},{value:null==b?void 0:b.dataSourceKey,getVar:"ctx.view.inputArgs.dataSourceKey"},{value:null==x?void 0:x.dataSourceKey,getVar:"ctx.resource.dataSourceKey"}]),k=w([{value:null==f?void 0:f.associationName,getVar:"ctx.popup.resource.associationName"},{value:null==y?void 0:y.associationName,getVar:`${v}.associationName`},{value:null==b?void 0:b.associationName,getVar:"ctx.view.inputArgs.associationName"},{value:null==x?void 0:x.associationName,getVar:"ctx.resource.associationName"}]),C=w([{value:null==f?void 0:f.filterByTk,getVar:"ctx.popup.resource.filterByTk"},{value:null==y?void 0:y.filterByTk,getVar:`${v}.filterByTk`},{value:null==b?void 0:b.filterByTk,getVar:"ctx.view.inputArgs.filterByTk"},{value:null==x?void 0:x.filterByTk,getVar:"ctx.resource.filterByTk"}]),P=w([{value:null==f?void 0:f.sourceId,getVar:"ctx.popup.resource.sourceId"},{value:null==y?void 0:y.sourceId,getVar:`${v}.sourceId`},{value:null==b?void 0:b.sourceId,getVar:"ctx.view.inputArgs.sourceId"},{value:null==x?void 0:x.sourceId,getVar:"ctx.resource.sourceId"}]),j={},E=!1,R=null==M?void 0:M.value;a(R)&&(j.collectionName={description:"Collection name",getVar:(null==M?void 0:M.getVar)||(A?`${A}.collectionName`:void 0),value:R},E=!0);let T=null==F?void 0:F.value;a(T)&&(j.dataSourceKey={description:"Data source key",getVar:(null==F?void 0:F.getVar)||(A?`${A}.dataSourceKey`:void 0),value:T},E=!0);let I=null==k?void 0:k.value;a(I)&&(j.associationName={description:"Association name",getVar:(null==k?void 0:k.getVar)||(A?`${A}.associationName`:void 0),value:I},E=!0),E&&(a(null==C?void 0:C.value)&&(j.filterByTk={description:"Record filterByTk",getVar:(null==C?void 0:C.getVar)||(A?`${A}.filterByTk`:void 0)}),a(null==P?void 0:P.value)&&(j.sourceId={description:"Source record ID (sourceId)",getVar:(null==P?void 0:P.getVar)||(A?`${A}.sourceId`:void 0)}),i.resource={description:"Resource information",getVar:A,properties:j}),a(null==C?void 0:C.value)&&(i.record={description:"Current record",getVar:"ctx.record"});let _=e=>{try{let t=null==e?void 0:e.title;if("string"==typeof t&&t.trim())return t}catch(e){}try{var t,l;let r=null==e||null==(l=e.constructor)||null==(t=l.meta)?void 0:t.label;if("string"==typeof r&&r.trim())return r}catch(e){}};if(u){let t=_(u),l=u.uid,r=null==(e=u.constructor)?void 0:e.name,n=s(u.resource),o={},d=!1,c=n.collectionName;a(c)&&(o.collectionName={description:"Collection name",getVar:"ctx.model.resource.collectionName",value:c},d=!0);let p=n.dataSourceKey;a(p)&&(o.dataSourceKey={description:"Data source key",getVar:"ctx.model.resource.dataSourceKey",value:p},d=!0);let h=n.associationName;a(h)&&(o.associationName={description:"Association name",getVar:"ctx.model.resource.associationName",value:h},d=!0),i.flowModel={description:"Current FlowModel information",getVar:"ctx.model",properties:{...a(t)?{label:{description:"Flow model label",value:t}}:{},...a(r)?{modelClass:{description:"Flow model class name",value:r}}:{},...a(l)?{uid:{description:"Flow model uid",getVar:"ctx.model.uid",value:l}}:{},...d?{resource:{description:"Flow model resource",getVar:"ctx.model.resource",properties:o}}:{}}}}if((null==d?void 0:d.uid)&&(i.popup={description:"Current popup information",getVar:"ctx.popup",properties:{uid:{description:"Popup uid",getVar:"ctx.popup.uid",value:d.uid},...(null==d?void 0:d.record)?{record:{description:"Popup record",getVar:"ctx.popup.record"}}:{},...(null==d?void 0:d.sourceRecord)?{sourceRecord:{description:"Popup source record",getVar:"ctx.popup.sourceRecord"}}:{}}}),m){let e=_(m),l=m.uid,r=null==(t=m.constructor)?void 0:t.name,n={},o=!1,s=y.collectionName;a(s)&&(n.collectionName={description:"Collection name",getVar:`${v}.collectionName`,value:s},o=!0);let d=y.dataSourceKey;a(d)&&(n.dataSourceKey={description:"Data source key",getVar:`${v}.dataSourceKey`,value:d},o=!0);let u=y.associationName;a(u)&&(n.associationName={description:"Association name",getVar:`${v}.associationName`,value:u},o=!0),i.block={description:"Current block information",getVar:g,properties:{...a(e)?{label:{description:"Block label",value:e}}:{},...a(r)?{modelClass:{description:"Block model class name",value:r}}:{},...a(l)?{uid:{description:"Block uid",getVar:`${g}.uid`,value:l}}:{},...o?{resource:{description:"Block resource",getVar:v,properties:n}}:{}}}}let D=(()=>{let e=null==d?void 0:d.uid;if(a(e))return String(e).trim();let t=null==p?void 0:p.viewUid;if(a(t))return String(t).trim()})(),N=o(()=>r.engine),O=D?null==N?void 0:N.getModel(D,!0):void 0,$=e=>{var t;return(null==(t=e.context)?void 0:t.blockModel)===e};if(O){let e=[O],t=[];for(let r=0;r<e.length;r++){let n=e[r];if($(n)){let e=(null==(l=n.constructor)?void 0:l.name)||n.uid,r=_(n)||e||n.uid,i=s(n.resource),o={};a(i.dataSourceKey)&&(o.dataSourceKey=i.dataSourceKey),a(i.collectionName)&&(o.collectionName=i.collectionName),a(i.associationName)&&(o.associationName=i.associationName);let d={uid:n.uid,label:r,modelClass:e,...Object.keys(o).length>0?{resource:o}:{}};t.push(d)}let i=n.subModels;if(i&&"object"==typeof i)for(let t of Object.values(i))t&&(Array.isArray(t)?e.push(...t):e.push(t))}t.length&&(i.currentViewBlocks={description:"Current view blocks",value:t})}return i}async getVarInfos(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.maxDepth??3,l=Number.isFinite(t)?Math.max(1,Math.floor(t)):3,r="v1",n=this.createProxy(),i=e=>"string"==typeof e&&e.startsWith("_"),o=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,a=new WeakMap,s=async e=>{if(!e)return;if("function"!=typeof e)return e;let t=a.get(e);return t||(t=(async()=>{let t=e.call(n,n);return(o(t)?await t:t)||null})(),a.set(e,t)),await t||void 0},d=e=>{if("string"!=typeof e)return;let t=e.trim();if(!t)return;let l=(0,P.YB)(t);return Array.isArray(l)&&l.length>0?l.join("."):"ctx"===t?"":t.startsWith("ctx.")?t.slice(4).trim():t},u=(()=>{let t=e.path;return("string"==typeof t?[t]:Array.isArray(t)?t:[]).map(e=>d(String(e))).filter(e=>"string"==typeof e&&e.length>0)})(),c=(()=>{let t=e.path;return"string"==typeof t?""===d(t):!!Array.isArray(t)&&t.some(e=>""===d(String(e)))})(),p=(()=>{var e,t,l,n,i,o,a,s;let d=(0,_.B)(this),u=_.F.resolve(r,d)||_.F.resolve(r,"*");if(!u)return{};let c=(null==(l=this)||null==(t=l.api)||null==(e=t.auth)?void 0:e.locale)||(null==(i=this)||null==(n=i.i18n)?void 0:n.language)||(null==(o=this)?void 0:o.locale);try{if(null==u||null==(a=u.getDoc)?void 0:a.length)return u.getDoc(c)||{};return(null==u||null==(s=u.getDoc)?void 0:s.call(u))||{}}catch(e){return{}}})();eN(null==p?void 0:p.methods)&&p.methods,eN(null==p?void 0:p.properties)&&p.properties;let h=e=>"string"==typeof e?{description:e}:eN(e)?e:void 0,f=async(e,t)=>{if(void 0!==e){if("boolean"==typeof e)return e;if("function"==typeof e)try{let l=t(e);return o(l)?!!await l:!!l}catch(e){return!1}return!!e}},m=async(e,t)=>{if(null!=e){if("string"==typeof e)return e;if("function"==typeof e)try{let l=t(e),r=o(l)?await l:l;if("string"==typeof r)return r;return null==r?void 0:String(r)}catch(e){return}return String(e)}},g=async e=>{let t=!1,l=[];try{if("boolean"==typeof e)t=e;else if(Array.isArray(e))l=e;else if("function"==typeof e){let r=e(n),i=o(r)?await r:r;"boolean"==typeof i?t=i:Array.isArray(i)&&(l=i)}}catch(e){t=!1,l=[]}let r=[];if(Array.isArray(l))for(let e of l){if("string"!=typeof e)continue;let t=e.trim();!(!t||"ctx"===t||t.startsWith("ctx."))&&(/\s/.test(t)||r.push(t))}return{hideSelf:!!t,hideSubpaths:r}},v=(e,t)=>{if(!e)return!1;let l=e.split(".").filter(Boolean);for(;l.length;){if(t.has(l.join(".")))return!0;l.pop()}return!1},y=e=>{let t=h(e);if(!t)return{};let l={};for(let e of["title","type","interface","description","examples","completion","ref","params","returns"]){let r=t[e];void 0!==r&&(l[e]=r)}return Array.isArray(l.examples)&&(l.examples=l.examples.filter(e=>"string"==typeof e&&e.trim())),l},b=async e=>{let t,r,{docNode:o,metaNode:a,infoNode:d,depth:u,pathFromRoot:c,hiddenPrefixes:p}=e,x=c.join(".");if(v(x,p))return;let w=h(o),S=h(d),A=await g(null==w?void 0:w.hidden);if(A.hideSelf)return;let M=await g(null==S?void 0:S.hidden);if(M.hideSelf)return;let F=await s(a);if(await f(null==F?void 0:F.hidden,e=>e.call(F,n)))return;let k=new Set(p);for(let e of[...A.hideSubpaths,...M.hideSubpaths]){let t=e.trim();if(!t)continue;let l="ctx"===t?"":t.startsWith("ctx.")?t.slice(4):t;if(!l)continue;let r=x?`${x}.${l}`:l;k.add(r)}let C=await f(null==w?void 0:w.disabled,e=>e(n)),P=await m(null==w?void 0:w.disabledReason,e=>e(n)),j=await f(null==F?void 0:F.disabled,e=>e.call(F,n)),E=await m(null==F?void 0:F.disabledReason,e=>e.call(F,n)),R=await f(null==S?void 0:S.disabled,e=>e(n)),T=await m(null==S?void 0:S.disabledReason,e=>e(n)),I=void 0!==R?R:void 0!==j?j:C,_=void 0!==T?T:void 0!==E?E:P,D={};if(D={...D={...D={...D,...y(w)},...y(F)},...y(S)},void 0!==I&&(D.disabled=!!I),void 0!==_&&(D.disabledReason=_),u>=l)return Object.keys(D).length?D:void 0;let N=eN(null==w?void 0:w.properties)?w.properties:void 0;if(null==F?void 0:F.properties)try{let e=F.properties;if("function"==typeof e){let l=await e.call(F,n);F.properties=l,t=l}else eN(e)&&(t=e)}catch(e){t=void 0}if(eN(S)&&(null==S?void 0:S.properties))try{let e=S.properties;if("function"==typeof e){let t=await e.call(S,n);S.properties=t,r=t}else eN(e)&&(r=e)}catch(e){r=void 0}let O=new Set;if(N)for(let e of Object.keys(N))O.add(e);if(t)for(let e of Object.keys(t))O.add(e);if(r)for(let e of Object.keys(r))O.add(e);if(!O.size)return Object.keys(D).length?D:void 0;let $={};for(let e of O){if(i(e))continue;let l=await b({docNode:null==N?void 0:N[e],metaNode:null==t?void 0:t[e],infoNode:null==r?void 0:r[e],depth:u+1,pathFromRoot:[...c,e],hiddenPrefixes:k});l&&($[e]=l)}if(Object.keys($).length&&(D.properties=$),Object.keys(D).length)return D},x=async e=>{if(!e.length)return;let[t,...l]=e,r=this.getPropertyOptions(t);if(null==r?void 0:r.meta)try{if(!l.length)return r.meta;let e=await s(r.meta);if(!e)return;for(let t=0;t<l.length;t++){let r=l[t],i=null==e?void 0:e.properties;if(!i)break;if("function"==typeof i){let t=await i.call(e,n);e.properties=t,i=t}if(!i||"object"!=typeof i)break;let o=null==i?void 0:i[r];if(!o)break;if(t===l.length-1)return o;let a=await s(o);if(!a)break;e=a}return}catch(e){return}};if(!c&&u.length){let e={};for(let t of u){let l=t.split(".").map(e=>e.trim()).filter(Boolean);if(l.some(e=>i(e))||!l.length)continue;let r=await x(l),n=await b({docNode:void 0,metaNode:r,infoNode:void 0,depth:1,pathFromRoot:[],hiddenPrefixes:new Set});n&&(e[t]=n)}return e}let w=this._getPropertiesMeta(),S={};for(let[e,t]of Object.entries(w)){if(i(e))continue;let l=await b({docNode:void 0,metaNode:t,infoNode:void 0,depth:1,pathFromRoot:[e],hiddenPrefixes:new Set});l&&(S[e]=l)}return S}_getPropertiesMeta(){let e={};for(let t of this._delegates)Object.assign(e,t._getPropertiesMeta());for(let[t,l]of Object.entries(this._props))l.meta&&(e[t]=(l.meta,l.meta));return e}_getOwnProperty(e,t){let l=this._props[e];if(l){if("value"in l)return"api"===e?(0,T.kx)(l.value,t):l.value;if(l.get){if(!1===l.cache){let r=l.get(t);return"api"===e?(0,T.kx)(r,t):r}let r=l.observable?"_observableCache":"_cache";if(e in this[r])return"api"===e?(0,T.kx)(this[r][e],t):this[r][e];if(this._pending[e])return this._pending[e];let n=l.get(this.createProxy());return"object"==typeof n&&null!==n&&"function"==typeof n.then||"function"==typeof n&&"function"==typeof n.then?(this._pending[e]=n.then(l=>(this[r][e]=l,delete this._pending[e],"api"===e?(0,T.kx)(l,t):l),t=>{throw delete this._pending[e],t}),this._pending[e]):(this[r][e]=n,"api"===e?(0,T.kx)(n,t):n)}}}_getOwnMethod(e,t){let l=this._methods[e];return"function"==typeof l?l.bind(t):l}_findPropertyInDelegates(e,t){for(let l of e){if(Object.prototype.hasOwnProperty.call(l._props,t))return l._props[t];let e=this._findPropertyInDelegates(l._delegates,t);if(void 0!==e)return e}}_findInDelegates(e,t){for(let l of e){if(Object.prototype.hasOwnProperty.call(l._props,t))return{result:l._getOwnProperty(t,this.createProxy())};if(Object.prototype.hasOwnProperty.call(l._methods,t))return{result:l._getOwnMethod(t,this.createProxy())};let e=this._findInDelegates(l._delegates,t);if(void 0!==e)return e}}_hasInDelegates(e,t){for(let l of e)if(Object.prototype.hasOwnProperty.call(l._props,t)||Object.prototype.hasOwnProperty.call(l._methods,t)||this._hasInDelegates(l._delegates,t))return!0;return!1}getPropertyOptions(e){return Object.prototype.hasOwnProperty.call(this._props,e)?this._props[e]:this._findPropertyInDelegates(this._delegates,e)}constructor(){return(0,a._)(this,eo),(0,a._)(this,ea),(0,a._)(this,es),(0,a._)(this,ed),(0,a._)(this,eu),(0,a._)(this,ec),(0,a._)(this,ep),(0,a._)(this,eh),(0,s._)(this,"_props",{}),(0,s._)(this,"_methods",{}),(0,s._)(this,"_methodInfos",{}),(0,s._)(this,"_cache",{}),(0,s._)(this,"_observableCache",d.observable.shallow({})),(0,s._)(this,"_delegates",[]),(0,s._)(this,"_pending",{}),(0,n._)(this,ei,{writable:!0,value:null}),(0,s._)(this,"_metaNodeCache",new WeakMap),this.createProxy()}}function em(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3?arguments[3]:void 0;return"function"==typeof e?async()=>{let n=await e();r&&(r.properties=n);let i=Object.entries(n);return i.sort((e,t)=>{let[,l]=e,[,r]=t;return((null==r?void 0:r.sort)??0)-((null==l?void 0:l.sort)??0)}),i.map(e=>{let[r,n]=e;return(0,o._)(this,eh,ew).call(this,r,n,[...t,r],l)})}:Object.entries(e).sort((e,t)=>{let[,l]=e,[,r]=t;return((null==r?void 0:r.sort)??0)-((null==l?void 0:l.sort)??0)}).map(e=>{let[r,n]=e;return(0,o._)(this,eh,ew).call(this,r,n,[...t,r],l)})}function eg(e){if(0===e.length)return null;let[t,...l]=e,r=this._props[t];if(null==r?void 0:r.meta)return(0,o._)(this,ed,ey).call(this,t,r.meta,l,[t]);let n=(0,o._)(this,es,ev).call(this,this._delegates,t);return n?(0,o._)(this,ed,ey).call(this,t,n,l,[t]):null}function ev(e,t){for(let l of e){let e=l._props[t];if(null==e?void 0:e.meta)return e.meta;let r=(0,o._)(this,es,ev).call(this,l._delegates,t);if(r)return r}return null}function ey(e,t,l,r){if(0===l.length)return[e,t,r];if("function"==typeof t)return[l[l.length-1],async()=>{let e=await t();return await (0,o._)(this,ec,eb).call(this,e,l)},[...r,...l]];if(t.properties){let[e,...n]=l,i=[...r,e];if("function"==typeof t.properties)return[l[l.length-1],async()=>{let l=t.properties,r=await l();t.properties=r;let i=r[e];if(!i)throw Error(`Property ${e} not found in resolved properties`);return await (0,o._)(this,ec,eb).call(this,i,n)},[...r,...l]];let a=t.properties[e];if(a)return(0,o._)(this,ed,ey).call(this,e,a,n,i)}return null}async function eb(e,t){if(0===t.length)return e;let l=e;for(let e of t){let r=h().get(l,"properties");if(!r)throw Error(`Property path not found: ${t.join(".")}`);if("function"==typeof r){let e=await r();l.properties=e,r=e}let n=r[e];if(!n)throw Error(`Property ${e} not found while resolving path: ${t.join(".")}`);l=n}return l}function ex(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(0===e.length)return[];let l=t?e.slice(0,-1):e;if(0===l.length)return[];let r=[],n=this._getPropertiesMeta();for(let e=0;e<l.length;e++){let t=l[e],i=n[t];if(!i||"function"==typeof i){r.push(t);break}if(r.push(i.title||t),e<l.length-1&&i.properties&&"function"!=typeof i.properties)n=i.properties;else if(e<l.length-1){for(let t=e+1;t<l.length;t++)r.push(l[t]);break}}return r}function ew(e,t){let l,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[e],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=this._metaNodeCache.get(t);if(i)return i.paths=r,i.parentTitles=n.length>0?n:void 0,i;let a=e=>{if(!e)return{disabled:!1,hidden:!1};let t="function"==typeof e.disabled?e.disabled():e.disabled,l="function"==typeof e.disabledReason?e.disabledReason():e.disabledReason,r="function"==typeof e.hidden?e.hidden():e.hidden;return{disabled:!(t&&"function"==typeof t.then)&&!!t,reason:l&&"function"==typeof l.then?void 0:l,hidden:!(r&&"function"==typeof r.then)&&!!r}};if("function"==typeof t){let i=e,s=t.hasChildren;l={name:e,title:t.title||i,type:"object",interface:void 0,options:void 0,uiSchema:void 0,paths:r,parentTitles:n.length>0?n:void 0,disabled:()=>{let e=t();return(!e||"function"!=typeof e.then)&&a(e).disabled},disabledReason:()=>{let e=t();if(!e||"function"!=typeof e.then)return a(e).reason},hidden:()=>{let e=t();return(!e||"function"!=typeof e.then)&&a(e).hidden},children:!1===s?void 0:async()=>{try{let i=await t(),a=(null==i?void 0:i.title)||e;if(l.title=a,l.type=null==i?void 0:i.type,l.interface=null==i?void 0:i.interface,l.options=null==i?void 0:i.options,l.uiSchema=null==i?void 0:i.uiSchema,!(null==i?void 0:i.properties))return[];let s=(0,o._)(this,eo,em).call(this,i.properties,r,[...n,a],i),d=Array.isArray(s)?s:await s();return l.children=d,d}catch(t){return console.warn(`Failed to load meta for ${e}:`,t),[]}}}}else{let i=t.title,{disabled:s,reason:d,hidden:u}=a(t);l={name:e,title:i,type:t.type,interface:t.interface,options:t.options,uiSchema:t.uiSchema,paths:r,parentTitles:n.length>0?n:void 0,disabled:s,disabledReason:d,hidden:u,children:t.properties?(0,o._)(this,eo,em).call(this,t.properties,r,[...n,i],t):void 0}}return this._metaNodeCache.set(t,l),l}class eS extends ef{constructor(){super(),this.defineMethod("getModel",(e,t)=>this.engine.getModel(e,t)),this.defineMethod("request",function(e){let t=this.app;return"string"==typeof(null==e?void 0:e.url)&&ee(e.url,t)?u.A.request(e):this.api.request(e)}),this.defineMethod("runjs",async function(e,t,l){let{preprocessTemplates:r,...n}=l||{},i={...(null==n?void 0:n.globals)||{},...t||{}},o=await this.createJSRunner({...n||{},globals:i}),a=(0,k.RU)({version:null==n?void 0:n.version,preprocessTemplates:r}),s=await (0,P.ji)(String(e??""),{preprocessTemplates:a});return o.run(s)},{description:"Execute a RunJS code string in the current Flow context.",detail:"(code: string, variables?: Record<string, any>, options?: JSRunnerOptions) => Promise<RunJSResult>",params:[{name:"code",type:"string",description:"RunJS code to execute."},{name:"variables",type:"Record<string, any>",optional:!0,description:"Additional globals."},{name:"options",type:"JSRunnerOptions",optional:!0,description:"Runner options."}],returns:{type:"Promise<{ success: boolean; value?: any; error?: any; timeout?: boolean }>"},completion:{insertText:"await ctx.runjs('return 1')"}})}}class eA extends eS{}let eM=["dataSourceKey","collectionName","associationName","filterByTk","sourceId","tabUid"];function eF(e,t){let l={};for(let r of t)void 0!==(null==e?void 0:e[r])&&(l[r]=e[r]);return l}function ek(e){return eF(e,eM)}function eC(e,t){for(let[l,r]of Object.entries(t))void 0===e[l]&&(e[l]=r)}class eP extends eS{constructor(e){if(!(e instanceof M.$))throw Error("Invalid FlowEngine instance");super(),(0,s._)(this,"engine",void 0),this.engine=e,this.engine=e;let t=new A.zA;t.setFlowEngine(this.engine);let r=new A.qS({key:"main",displayName:"Main"});t.addDataSource(r),this.defineProperty("engine",{value:this.engine,info:{description:"FlowEngine instance.",detail:"FlowEngine"}}),this.defineProperty("sql",{get:e=>new C.tP(e),cache:!1,info:{description:"SQL helper (FlowSQLRepository).",detail:"FlowSQLRepository"}}),this.defineProperty("dataSourceManager",{value:t,info:{description:"DataSourceManager instance.",detail:"DataSourceManager"}});let n=new F(this);this.defineMethod("t",(e,t)=>n.translate(e,t)),this.defineProperty("locale",{get:()=>{var e,t,l;return(null==(t=this.api)||null==(e=t.auth)?void 0:e.locale)||(null==(l=this.i18n)?void 0:l.language)},cache:!1,meta:Object.assign(()=>({type:"string",title:this.t("Current language"),sort:970}),{title:(0,P.MI)("Current language"),sort:970,hasChildren:!1})}),this.defineMethod("renderJson",function(e){return this.resolveJsonTemplate(e)});let i=async function(e,t){let l=(0,P.nN)(e),r=Object.keys(l||{});if(!r.length)return(0,P.M)(e,this);let n={};for(let e of r){let t=l[e]||[],r=this.getPropertyOptions(e),i=null==r?void 0:r.resolveOnServer;if(!0===i)n[e]=t;else if("function"==typeof i){let l=t.filter(e=>{try{return!!i(e)}catch(e){return!1}});l.length&&(n[e]=l)}}let i=Object.keys(n).length>0,o=e;if(i){let l=e=>{let t=(0,I.XU)(e);if(t)return t;try{var l,r,n,i,o,a,s,d,u,c,p,h,f;let t=null==e||null==(r=e.resource)||null==(l=r.getMeta)?void 0:l.call(r,"currentFilterByTk");if(null==t)return;let m=(null==e||null==(n=e.collection)?void 0:n.name)||(null==e||null==(c=e.resource)||null==(u=c.getResourceName)||null==(d=u.call(c))||null==(s=d.split)||null==(a=s.call(d,"."))||null==(o=a.slice)||null==(i=o.call(a,-1))?void 0:i[0]);if(!m)return;let g=(null==e||null==(p=e.collection)?void 0:p.dataSourceKey)||(null==e||null==(f=e.resource)||null==(h=f.getDataSourceKey)?void 0:h.call(f));return{collection:m,dataSourceKey:g,filterByTk:t}}catch(e){return}},r=async()=>{let e={};try{var t,l;let r=null==(t=(l=this)._getPropertiesMeta)?void 0:t.call(l);if(!r||"object"!=typeof r)return e;for(let[t,l]of Object.entries(r))if(n[t])try{let r;if("function"==typeof l){let e=l;r=await e()}else r=l;if(!r||"object"!=typeof r)continue;let i=r.buildVariablesParams;if("function"!=typeof i)continue;let o=await i(this);if(!o)continue;let a=n[t]||[],s=el(o,a);s&&("object"!=typeof s||Object.keys(s).length)&&(e[t]=s)}catch(e){}}catch(e){}return e},i=await r(),u={...i},c=n.view||[];if(!u.view&&c.some(e=>"record"===e||e.startsWith("record.")||e.startsWith("record["))){let e=(0,I.Cg)(this);e&&(u.view={record:e})}try{let e="formValues",t=n[e]||[];if(t.length){let r=new Set;for(let e of t){let t=er(e);t&&r.add(t)}let n=null==i?void 0:i[e],o=new Set;if(!n||"object"!=typeof n||Array.isArray(n)||et(n)||Object.keys(n).forEach(e=>o.add(e)),[...r].filter(e=>!o.has(e)).length){let r=l(this);if(r){let{generatedFields:l,generatedAppends:n}=en(t),i={...r,fields:l,appends:n},o=u[e];if(o&&"object"==typeof o&&!Array.isArray(o)&&!et(o)){for(let[t,l]of Object.entries(o))u[`${e}.${t}`]=l;delete u[e]}u[e]=i}}}}catch(e){}let p=Object.keys(u).length?(0,R.d)(this,u):void 0;if(!p){let t=Object.keys(n);if(t.length>0&&t.every(e=>{var t;return null==(t=this.getPropertyOptions(e))?void 0:t.serverOnlyWhenContextParams}))return(0,P.M)(e,this)}if(this.api){var a,s,d;try{let l=(0,E.pk)(this,null==t?void 0:t.contractModelUid);o=await (0,E.o4)(this,{...l?{contractRd:l}:{},rd:(0,E.pk)(this,null==(a=this.model)?void 0:a.uid),template:e,contextParams:p||{}})}catch(t){null==(d=this.logger)||null==(s=d.warn)||s.call(d,{err:t},"variables:resolve failed, fallback to client-only"),o=e}}}return(0,P.M)(o,this)};this.defineMethod("resolveJsonTemplate",i),this.defineMethod("getVar",async function(e){let t=("string"==typeof e?e:String(e??"")).trim();if(t){if("ctx"!==t&&!t.startsWith("ctx."))throw Error(`ctx.getVar(path) expects an expression starting with "ctx.", got: "${t}"`);return this.resolveJsonTemplate(`{{ ${t} }}`)}},'Resolve a ctx expression value by path (expression starts with "ctx.").'),this.defineProperty("requirejs",{get:()=>{var e,t;return null==(t=this.app)||null==(e=t.requirejs)?void 0:e.requirejs}}),this.defineProperty("token",{get:()=>{var e,t;return null==(t=this.api)||null==(e=t.auth)?void 0:e.token},cache:!1,meta:Object.assign(()=>({type:"string",title:this.t("API Token"),sort:980}),{title:"API Token",sort:980,hasChildren:!1})}),this.defineProperty("role",{get:()=>{var e,t,l;let r=null==(t=this.api)||null==(e=t.auth)?void 0:e.role;if("__union__"!==r)return r;let n=null==(l=this.user)?void 0:l.roles;return Array.isArray(n)?n.map(e=>null==e?void 0:e.name).filter(e=>!!e):[]},cache:!1,meta:Object.assign(()=>({type:"string",title:this.t("Current role"),sort:990}),{title:(0,P.MI)("Current role"),sort:990,hasChildren:!1})}),this.defineProperty("urlSearchParams",{cache:!1,get:()=>{var e;let t=(null==(e=this.location)?void 0:e.search)||"",l=t.startsWith("?")?t.slice(1):t;return m().parse(l)||{}},meta:Object.assign(()=>({type:"object",title:this.t("URL search params"),sort:970,disabled:()=>{var e;let t=(null==(e=this.location)?void 0:e.search)||"",l=t.startsWith("?")?t.slice(1):t;return 0===Object.keys(m().parse(l)||{}).length},disabledReason:()=>this.t("The value of this variable is derived from the query string of the page URL. This variable can only be used normally when the page has a query string."),properties:async()=>{var e;let t=(null==(e=this.location)?void 0:e.search)||"",l=t.startsWith("?")?t.slice(1):t,r=m().parse(l)||{},n={};for(let e of Object.keys(r))n[e]={type:"string",title:e};return n}}),{title:(0,P.MI)("URL search params"),sort:970,hasChildren:!0})}),this.defineProperty("logger",{get:()=>this.engine.logger.child({module:"flow-engine"})}),this.defineProperty("auth",{get:()=>{var e,t,l,r,n,i;return{roleName:null==(t=this.api)||null==(e=t.auth)?void 0:e.role,locale:null==(r=this.api)||null==(l=r.auth)?void 0:l.locale,token:null==(i=this.api)||null==(n=i.auth)?void 0:n.token,user:this.user}},cache:!1}),this.defineProperty("date",{get:()=>{let e=t=>new Proxy({},{get:(l,r)=>{if("string"!=typeof r)return;let n=[...t,r];if(!(0,P.JE)(n))return;let i=(0,P.Vv)(n);return void 0!==i?i:e(n)}});return e(["date"])},cache:!1}),this.defineMethod("loadCSS",async e=>{let t=(0,P.i)(e);return new Promise((e,l)=>{if(document.querySelector(`link[href="${t}"]`))return void e(null);let r=document.createElement("link");r.rel="stylesheet",r.href=t,r.onload=()=>e(null),r.onerror=()=>l(Error(`Failed to load CSS: ${t}`)),document.head.appendChild(r)})},{description:"Load a CSS file by URL (browser only).",params:[{name:"href",type:"string",description:"CSS URL."}],returns:{type:"Promise<void>"},completion:{insertText:"await ctx.loadCSS('https://example.com/style.css')"},examples:["await ctx.loadCSS('https://example.com/style.css');"]}),this.defineMethod("requireAsync",async e=>{if((0,P.yp)(e))return this.loadCSS(e);let t=(0,P.i)(e,{raw:!0});return await U(this.requirejs,t)}),this.defineMethod("importAsync",async function(e){return(0,P.yp)(e)?this.loadCSS(e):await Q(this,e,{importer:W})}),this.defineMethod("createJSRunner",async function(e){try{let e=await Promise.resolve().then(l.bind(l,88828));"function"==typeof(null==e?void 0:e.setupRunJSContexts)&&await e.setupRunJSContexts()}catch(e){}let t=(null==e?void 0:e.version)||"v1",r=(0,_.B)(this),n=_.F.resolve(t,r)||eY,i=new n(this);i.defineMethod("t",(e,t)=>this.t(e,{ns:"runjs",...t}));let o={};try{var a,s,d,u,c,p,h,f;let e=(null==(d=this)||null==(s=d.api)||null==(a=s.auth)?void 0:a.locale)||(null==(c=this)||null==(u=c.i18n)?void 0:u.language)||(null==(p=this)?void 0:p.locale);o=(null==n||null==(h=n.getDoc)?void 0:h.length)?n.getDoc(e)||{}:(null==n||null==(f=n.getDoc)?void 0:f.call(n))||{}}catch(e){o={}}let m=ez(i,{doc:o}),g={};"u">typeof window&&(g.window=window,"u">typeof navigator&&(g.navigator=navigator)),"u">typeof document&&(g.document=document);let v={ctx:m,...g,...(null==e?void 0:e.globals)||{}},{timeoutMs:y}=e||{};return new k.I$({globals:v,timeoutMs:y})}),this.defineMethod("buildServerContextParams",function(e){return(0,R.d)(this,e)}),this.defineMethod("getAction",function(e){return this.engine.getAction(e)}),this.defineMethod("getActions",function(){return this.engine.getActions()}),this.defineMethod("getEvents",function(){return this.engine.getEvents()}),this.defineMethod("runAction",async function(e,t){let l=this.engine.getAction(e),r=await (0,D.v)(this,l);if(!l)throw Error(`Action '${e}' not found.`);let n={...await (0,P.gG)(l.defaultParams,r)||{},...t||{}},i=l.useRawParams;if("function"==typeof i&&(i=await i(r)),i||(n=await r.resolveJsonTemplate(n)),!l.handler)throw Error(`Action '${e}' has no handler.`);return l.handler(r,n)}),this.defineProperty("acl",{get:()=>new x(this.engine)}),this.defineMethod("aclCheck",function(e){return!!this.skipAclCheck||this.acl.aclCheck(e)}),this.defineMethod("createResource",function(e){return this.engine.createResource(e,{context:this.createProxy()})}),this.defineMethod("makeResource",function(e){return this.engine.createResource(e,{context:this.createProxy()})}),this.defineMethod("initResource",function(e){return this.has("resource")||this.defineProperty("resource",{get:()=>this.createResource(e)}),this.resource}),this.defineMethod("useResource",function(e){return this.initResource(e)})}}class ej extends eA{constructor(e){if(!e||"object"!=typeof e)throw Error("Invalid FlowModel instance");super(),this.addDelegate(e.flowEngine.context),this.defineMethod("onRefReady",(e,t,l)=>{this.engine.reactView.onRefReady(e,t,l)}),this.defineProperty("model",{value:e,info:{description:"Current FlowModel instance.",detail:"FlowModel"}});let t=(0,g.createRef)();this.defineProperty("ref",{get:()=>(this.model._refCreated=!0,t),info:{description:"Stable React ref for the view container.",detail:"React.RefObject<HTMLDivElement>"}}),this.defineMethod("openView",async function(e,t){var l,r,n,i;let o={..."function"==typeof(null==(l=this.model)?void 0:l.getInputArgs)?ek(this.model.getInputArgs()):{},...ek(this.inputArgs)},a={...t||{}};eC(a,o),(a.defineProperties||a.defineMethods)&&(a.navigation=!1);let s=null;(s=await this.engine.loadModel({uid:e}))||(s=this.engine.createModel({uid:e,use:"PopupActionModel",parentId:this.model.uid,subType:"object",subKey:e,stepParams:{popupSettings:{openView:{...eF(a,["dataSourceKey","collectionName","associationName","mode","size"])}}}}),await s.save()),s.setParent(this.model);let d=(null==a?void 0:a.routeViewUid)??(null==a?void 0:a.viewUid)??((null==(n=s.stepParams)||null==(r=n.popupSettings)?void 0:r.openView)?s.uid:this.model.uid),u=this.view,c={type:(null==a?void 0:a.isMobileLayout)?"embed":(null==a?void 0:a.mode)||"drawer",inputArgs:{...a,viewUid:d,navigation:a.navigation},navigation:null==u?void 0:u.navigation,preventClose:!!(null==a?void 0:a.preventClose),engineCtx:this.engine.context};s.context.defineProperty("view",{value:c});let p=null==(i=s.getFlow)?void 0:i.call(s,"popupSettings"),h=null==p?void 0:p.on,f="click";"string"==typeof h&&h?f=h:h&&"object"==typeof h&&"string"==typeof h.eventName&&h.eventName&&(f=h.eventName),await s.dispatchEvent(f,{...a})}),this.defineMethod("getEvents",function(){return this.model.getEvents()}),this.defineMethod("getAction",function(e){return this.model.getAction(e)}),this.defineMethod("getActions",function(){return this.model.getActions()}),this.defineMethod("runAction",async function(e,t){let l=this.model.getAction(e),r=await (0,D.v)(this,l);if(!l)throw Error(`Action '${e}' not found.`);let n={...await (0,P.gG)(l.defaultParams,r)||{},...t||{}},i=l.useRawParams;if("function"==typeof i&&(i=await i(r)),i||(n=await r.resolveJsonTemplate(n)),!l.handler)throw Error(`Action '${e}' has no handler.`);return l.handler(r,n)})}}class eE extends eA{constructor(e,t){if(!e||"object"!=typeof e)throw Error("Invalid FlowModel instance");super(),(0,s._)(this,"master",void 0),(0,s._)(this,"fork",void 0),this.master=e,this.fork=t,this.addDelegate(this.master.context),this.defineMethod("onRefReady",(e,t,l)=>{this.engine.reactView.onRefReady(e,t,l)}),this.defineProperty("model",{get:()=>this.fork,info:{description:"Current ForkFlowModel instance (as model).",detail:"ForkFlowModel"}});let l=(0,g.createRef)();this.defineProperty("ref",{get:()=>(this.fork._refCreated=!0,l),info:{description:"Stable React ref for the view container.",detail:"React.RefObject<HTMLDivElement>"}})}}class eR extends eA{_getOwnProperty(e){if("runtime"===this.mode)return super._getOwnProperty(e,this.createProxy());let t=this._props[e];if(t){if("value"in t)return S.create()[e];if(t.get){if(!1===t.cache)return S.create()[e];let l=t.observable?"_observableCache":"_cache";return e in this[l]||(this[l][e]=S.create()[e]),this[l][e]}}}exit(){throw new j.zz(this.flowKey,this.model.uid)}exitAll(){throw new j.zz(this.flowKey,this.model.uid)}get mode(){return this._mode}constructor(e,t,l="runtime"){super(),(0,s._)(this,"model",void 0),(0,s._)(this,"flowKey",void 0),(0,s._)(this,"_mode",void 0),(0,s._)(this,"stepResults",void 0),this.model=e,this.flowKey=t,this._mode=l,this.stepResults={},this.addDelegate(this.model.context),this.defineMethod("getStepParams",l=>e.getStepParams(t,l)||{}),this.defineMethod("setStepParams",(l,r)=>e.setStepParams(t,l,r)),this.defineMethod("getStepResults",e=>h().get(this.steps,[e,"result"])),this.defineMethod("initResource",t=>{e.context.has("resource")?console.log(`[FlowRuntimeContext] useResource - resource already defined in context: ${t}`):(e.context.defineProperty("resource",{get:()=>this.makeResource(t)}),e.resource||(e.resource=e.context.resource))}),this.defineMethod("useResource",e=>this.initResource(e)),this.defineProperty("resource",{get:()=>e.resource||e.context.resource,cache:!1}),this.defineMethod("onRefReady",(e,t,l)=>{this.engine.reactView.onRefReady(e,t,l)})}}let eT=new WeakMap,eI=new WeakMap,e_=new WeakMap;function eD(e,t){if(null===t)return;if(Array.isArray(e)||Array.isArray(t)||"object"!=typeof e||"object"!=typeof t)return t??e;let l={...e};for(let r of Object.keys(t)){let n=eD(null==e?void 0:e[r],t[r]);void 0===n?delete l[r]:l[r]=n}return l}function eN(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function eO(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}function e$(e){return!0===e||(e&&eN(e)?e:void 0)}function eB(e,t,l){if(!Array.isArray(t)||!t.length)return;let r=e;for(let e of t){if(!e)return;r.children=r.children||{},r.children[e]=r.children[e]||{},r=r.children[e]}r.deprecated=l}function eL(e,t){void 0!==t.deprecated&&(e.deprecated=t.deprecated);let l=t.children||{},r=Object.keys(l);if(r.length)for(let t of(e.children=e.children||{},r))e.children[t]=e.children[t]||{},eL(e.children[t],l[t])}function eq(e){let t={};if(!e)return t;let l=(e,r)=>{if(eN(e))for(let[n,i]of Object.entries(e)){if(!n||!i||"object"!=typeof i||Array.isArray(i))continue;let e=i,o=e$(e.deprecated);o&&eB(t,[...r,n],o),eN(e.properties)&&l(e.properties,[...r,n])}},r=e=>{if(eN(e))for(let[l,r]of Object.entries(e)){if(!l||!r||"object"!=typeof r||Array.isArray(r))continue;let e=e$(r.deprecated);e&&eB(t,[l],e)}};return l(e.properties,[]),r(e.methods),t}function eV(e){let t={},l=new WeakSet,r=(e,l)=>{if(eN(l))for(let[n,i]of Object.entries(l)){if(!n||"string"==typeof i||!i||"object"!=typeof i||Array.isArray(i))continue;let l=i,o=e$(l.deprecated);o&&eB(t,[...e,n],o),eN(l.properties)&&r([...e,n],l.properties)}},n=e=>{if(!e||"object"!=typeof e&&"function"!=typeof e||l.has(e))return;l.add(e);let i=e._methodInfos;if(eN(i))for(let[e,l]of Object.entries(i)){if(!e||!l||"object"!=typeof l||Array.isArray(l))continue;let r=e$(l.deprecated);r&&eB(t,[e],r)}let o=e._props;if(eN(o))for(let[e,l]of Object.entries(o)){if(!e)continue;let n=null==l?void 0:l.info;if(!n||"object"!=typeof n||Array.isArray(n))continue;let i=e$(n.deprecated);i&&eB(t,[e],i),eN(n.properties)&&r([e],n.properties)}let a=e._delegates;if(Array.isArray(a))for(let e of a)n(e)};return n(e),t}function ez(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=eq(t.doc);eL(l,eV(e));let r=new Set,n=new WeakMap,i=new WeakMap,o=new WeakMap,a=e=>{if(!e||"string"!=typeof e)return{};let t=2;for(let l of e.split("\n")){if(!l)continue;let e=l.match(/<anonymous>:(\d+):(\d+)/);if(!e)continue;let r=Number(e[1]),n=Number(e[2]);return{line:Number.isFinite(r)&&r>t?r-t:r,column:Number.isFinite(n)?n:void 0,rawLine:r,rawColumn:n}}return{}},s=(e,t)=>{if(eN(t))for(let[r,n]of Object.entries(t)){if(!r||"string"==typeof n||!n||"object"!=typeof n||Array.isArray(n))continue;let t=n,i=e$(t.deprecated);i&&eB(l,[...e,r],i),eN(t.properties)&&s([...e,r],t.properties)}},d=(e,t)=>{if(!e)return;let r=null==t?void 0:t.info;if(!r||"object"!=typeof r||Array.isArray(r))return;let n=e$(r.deprecated);n&&eB(l,[e],n),eN(r.properties)&&s([e],r.properties)},u=(e,t)=>{if(!e||!t||"object"!=typeof t||Array.isArray(t))return;let r=e$(t.deprecated);r&&eB(l,[e],r)},c=e=>{let t=e;for(;t&&("object"==typeof t||"function"==typeof t);){let e=n.get(t);if(!e)break;t=e}return t},p=e=>{if(e){if("string"==typeof e)return e.trim()||void 0;if(Array.isArray(e)){let t=e.map(e=>"string"==typeof e?e.trim():"").filter(Boolean);return t.length?t.join(", "):void 0}}},h=(t,l,n)=>{if(!t||r.has(t))return;r.add(t);let i=null==e?void 0:e.logger,o="function"==typeof(null==e?void 0:e.t)?(t,l)=>e.t(t,{ns:[P.u4,"client"],nsMode:"fallback",...l}):(e,t)=>{let l=(null==t?void 0:t.defaultValue)??e;return"string"==typeof l&&t?l.replace(/\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/g,(e,l)=>{let r=null==t?void 0:t[l];return"string"==typeof r||"number"==typeof r?String(r):""}):l},s="object"==typeof l&&l?l:{},d=p(s.replacedBy),u="string"==typeof s.since?String(s.since):void 0,c="string"==typeof s.removedIn?String(s.removedIn):void 0,h="string"==typeof s.message?String(s.message):"",f=a(n),m=f.line?`(line ${f.line}${f.column?`:${f.column}`:""})`:"",g=h.trim(),v=g?o("RunJS deprecated warning with message",{defaultValue:"[RunJS][Deprecated] {{api}} {{message}}{{location}}",api:t,message:g,location:m}):o("RunJS deprecated warning",{defaultValue:"[RunJS][Deprecated] {{api}} is deprecated{{location}}",api:t,location:m}),y=o("RunJS deprecated separator",{defaultValue:"; "}),b=[v];d&&b.push(o("RunJS deprecated replacedBy",{defaultValue:"Use {{replacedBy}} instead",replacedBy:d})),u&&b.push(o("RunJS deprecated since",{defaultValue:"since {{since}}",since:u})),c&&b.push(o("RunJS deprecated removedIn",{defaultValue:"will be removed in {{removedIn}}",removedIn:c}));let x=b.filter(Boolean).join(y);try{i&&"function"==typeof i.warn?i.warn(x):console.warn(x)}catch(e){}},f=(e,t,l)=>{let n=t.deprecated;if(!n)return e;let i=o.get(e)||new Map;if(o.set(e,i),i.has(l))return i.get(l);let a=new Proxy(e,{apply(e,t,i){let o=r.has(l)?void 0:Error().stack;return h(l,n,o),Reflect.apply(e,c(t),i)},get:(e,t,l)=>Reflect.get(e,t,l)});return i.set(l,a),a},m=(e,t,l)=>{if(!e||"object"!=typeof e&&"function"!=typeof e||eO(e)||!(t.children&&Object.keys(t.children).length>0)&&"ctx"!==l)return e;let o=i.get(e)||new Map;if(i.set(e,o),o.has(l))return o.get(l);let a=new Proxy(e,{get(e,n,i){var o;if("symbol"==typeof n)return Reflect.get(e,n,c(i));let a=String(n),s=Reflect.get(e,n,c(i));if("ctx"===l&&"defineProperty"===a&&"function"==typeof s)return function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let r=s(...t);try{d(String((null==t?void 0:t[0])??""),null==t?void 0:t[1])}catch(e){}return r};if("ctx"===l&&"defineMethod"===a&&"function"==typeof s)return function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let r=s(...t);try{u(String((null==t?void 0:t[0])??""),null==t?void 0:t[2])}catch(e){}return r};let p=null==(o=t.children)?void 0:o[a];if(!p)return s;let g=`${l}.${a}`;if("function"==typeof s&&p.deprecated)return f(s,p,g);if(p.deprecated){let e=r.has(g)?void 0:Error().stack;h(g,p.deprecated,e)}return s&&("object"==typeof s||"function"==typeof s)&&p.children?m(s,p,g):s},has:(e,t)=>Reflect.has(e,t)});return n.set(a,e),o.set(l,a),a};return m(e,l,"ctx")}function eK(e,t,l){if(!eN(t))return e;if(!eN(e))return t;let r={...e};for(let n of Object.keys(t)){let i=t[n];if(null===i){delete r[n];continue}let o=l(eN(e)?e[n]:void 0,i);void 0===o?delete r[n]:r[n]=o}return r}function eU(e,t){if(null===t)return;let l=eN(e),r=eN(t),n="string"==typeof e;if("string"==typeof t)return l?eU(e,{description:t}):t;if(r){let r=l?e:n?{description:e}:void 0,i={...r||{}};for(let e of Object.keys(t)){if("properties"===e){let e=t.properties;if(null===e){delete i.properties;continue}let l=eK(null==r?void 0:r.properties,e,eU);void 0===l?delete i.properties:i.properties=l;continue}let l=eD(null==r?void 0:r[e],t[e]);void 0===l?delete i[e]:i[e]=l}return i}return t??e}function eW(e,t){if(null===t)return;let l=eN(e),r=eN(t),n="string"==typeof e;if("string"==typeof t)return l?eW(e,{description:t}):t;if(r){let r=l?e:n?{description:e}:void 0,i={...r||{}};for(let e of Object.keys(t)){let l=eD(null==r?void 0:r[e],t[e]);void 0===l?delete i[e]:i[e]=l}return i}return t??e}function eH(e,t){let l=eN(e)?e:{},r=eN(t)?t:{},n={...l};for(let e of Object.keys(r)){if("properties"===e){let e=eK(l.properties,r.properties,eU);void 0===e?delete n.properties:n.properties=e;continue}if("methods"===e){let e=eK(l.methods,r.methods,eW);void 0===e?delete n.methods:n.methods=e;continue}let t=eD(l[e],r[e]);void 0===t?delete n[e]:n[e]=t}return n}class eY extends ef{[T.NH](e,t){var l,r,n,i,o;if("create"!==e.actionName.toLowerCase()||!t||Array.isArray(t)||Object.prototype.hasOwnProperty.call(t,"updateAssociationValues")||!this.form||"function"!=typeof(null==(l=this.blockModel)?void 0:l.submitFromRunJs))return t;let a=this.resource,s=null==a||null==(r=a.getResourceName)?void 0:r.call(a),d=(null==a||null==(n=a.getDataSourceKey)?void 0:n.call(a))||"main";if(e.resourceName!==s||(e.dataSourceKey||"main")!==d)return t;let u=null==a||null==(i=a.getSourceId)?void 0:i.call(a);if((null==s?void 0:s.includes("."))&&null!=u&&String(e.resourceOf??"")!==String(u))return t;let c=null==a||null==(o=a.getUpdateAssociationValues)?void 0:o.call(a);return Array.isArray(c)&&0!==c.length?{...t,updateAssociationValues:[...c]}:t}exit(){var e;throw new j.zz(this.flowKey,(null==(e=this.model)?void 0:e.uid)||"runjs")}exitAll(){var e;throw new j.zz(this.flowKey,(null==(e=this.model)?void 0:e.uid)||"runjs")}static define(e,t){let l=null==t?void 0:t.locale;if(l){let t=eI.get(this)||new Map,r=t.get(l)||{};t.set(l,eH(r,e)),eI.set(this,t)}else{let t=eT.get(this)||{};eT.set(this,eH(t,e))}e_.delete(this)}static getDoc(e){let t=this,l=e_.get(t),r=String(e||"default");if(l&&l.has(r))return l.get(r);let n=[],i=t;for(;i&&i.prototype;)n.unshift(i),i=Object.getPrototypeOf(i);let o={};for(let e of n)o=eH(o,eT.get(e)||{});if(e)for(let t of n){let l=eI.get(t);l&&l.has(e)&&(o=eH(o,l.get(e)))}return l||(l=new Map,e_.set(t,l)),l.set(r,o),o}constructor(e){var t,l;super(),this.addDelegate(e);let r=null==(l=e.blockModel)||null==(t=l.submitFromRunJs)?void 0:t.bind(e.blockModel);e.form&&r&&this.defineProperty("form",{value:{...e.form,submit:r}}),this.defineProperty("React",{value:g}),this.defineProperty("antd",{value:c}),this.defineProperty("dayjs",{value:O()});let n={...y,createRoot:(e,t)=>{let l=(null==e?void 0:e.__el)||e;return this.engine.reactView.createRoot(l,t)}};n.__nbRunjsInternalShim=!0,this.defineProperty("ReactDOM",{value:n}),(0,$.oJ)(this),this.defineMethod("openView",async function(t,l){let r=e.openView;if("function"!=typeof r)throw Error("ctx.openView is not available in current context.");let n=(0,P.cg)(l);return r(t,n?{...l||{},[P.sU]:n}:l)}),this.defineMethod("render",function(e,t){let l=t||this.element;if(!l)throw Error("ctx.render: container not provided and ctx.element is not available");let r=(null==l?void 0:l.__el)||l,n=globalThis;n.__nbRunjsRoots=n.__nbRunjsRoots||new WeakMap;let i=n.__nbRunjsRoots,o=e=>{if(!e)return;if(e.disposeTheme&&"function"==typeof e.disposeTheme){try{e.disposeTheme()}catch(e){}e.disposeTheme=void 0}let t=e.root||e;if(t&&"function"==typeof t.unmount)try{t.unmount()}catch(e){}},a=()=>{let e=i.get(r);e&&(o(e),i.delete(r))};if("string"==typeof e)return a(),new b.x(r).innerHTML=String(e??""),null;if(e&&e.nodeType&&(1===e.nodeType||3===e.nodeType||11===e.nodeType)){for(a();r.firstChild;)r.removeChild(r.firstChild);return r.appendChild(e),null}let s=this.ReactDOM,d=this,u=i.get(r);return u&&u.rendererKey===s&&u.ownerKey===d||(u&&(o(u),i.delete(r)),u={rendererKey:s,ownerKey:d,root:this.ReactDOM.createRoot(r),disposeTheme:void 0,lastVnode:void 0},i.set(r,u)),(0,$.$B)({ctx:this,entry:u,vnode:e,containerEl:r,rootMap:i,unmountContainerRoot:a,internalReact:g,internalAntd:c})})}}},48910(e,t,l){l.d(t,{$:()=>eD});var r=l(88243),n=l(16213),i=l(50467);l(72713),l(25779),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(45336),l(23446),l(69861),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(79936),l(5409),l(89773),l(14324),l(34678);var o=l(95243),a=l(2543),s=l.n(a),d=l(81318),u=l.n(d),c=l(64171);class p extends c.Z{getAction(e){return this.actions.get(e)}getActions(){return new Map(this.actions)}}var h=l(26955);class f extends h.L{getEvent(e){return this.events.get(e)}getEvents(){return new Map(this.events)}}var m=l(29007),g=l(60182),v=l(31108),y=l(88439),b=l(62572);class x{async emitModelEventIf(e,t,l){e&&await this.engine.emitter.emitAsync(`model:event:${e}:${t}`,l)}async withApplyFlowCache(e,t){if(!e||!this.engine)return await t();let l=this.engine.applyFlowCache.get(e);if(l){if("resolved"===l.status)return l.data;if("rejected"===l.status)throw l.error;if("pending"===l.status)return await l.promise}let r=t().then(t=>(this.engine.applyFlowCache.set(e,{status:"resolved",data:t,promise:Promise.resolve(t)}),t)).catch(t=>{throw this.engine.applyFlowCache.set(e,{status:"rejected",error:t,promise:Promise.reject(t)}),t});return this.engine.applyFlowCache.set(e,{status:"pending",promise:r}),await r}async runFlow(e,t,l,r,n){var i;let o,a=e.getFlow(t);if(!a)return e.context.logger.error(`BaseModel.applyFlow: Flow with key '${t}' not found.`),Promise.reject(Error(`Flow '${t}' not found.`));let d=new m.W5(e,t);d.defineProperty("reactView",{value:e.reactView}),d.defineProperty("inputArgs",{value:{...l}}),d.defineProperty("runId",{value:r||`run-${Date.now()}`});let u=d.stepResults,c=e.getEvent("string"==typeof a.on?a.on:null==(i=a.on)?void 0:i.eventName);c&&((c={...c}).defaultParams={...s().get(a,"on.defaultParams",{}),...c.defaultParams});let p=c?{eventStep:c,...a.steps}:a.steps;(0,y.w)(d,p,e,t);let h=d.steps,f={uid:e.uid,model:e,runId:d.runId,inputArgs:l,flowKey:t};for(let[l,r]of(await this.emitModelEventIf(n,`flow:${t}:start`,f),Object.entries(p))){let i,a,s={},c=r.useRawParams;if(r.use){let n=e.getAction(r.use);if(!n){d.logger.error(`BaseModel.applyFlow: Action '${r.use}' not found for step '${l}' in flow '${t}'. Skipping.`);continue}a=await (0,b.v)(d,{...n,...r}),i=r.handler||n.handler,c=c??n.useRawParams;let o=await (0,g.gG)(n.defaultParams,a),u=await (0,g.gG)(r.defaultParams,a);s={...o,...u}}else{if(!r.handler)continue;a=await (0,b.v)(d,r),i=r.handler,s={...await (0,g.gG)(r.defaultParams,a)}}let p=e.getStepParams(t,l);void 0!==p&&(s={...s,...p}),"function"==typeof c&&(c=await c(a)),c||(s=await a.resolveJsonTemplate(s));try{if(!i){d.logger.error(`BaseModel.applyFlow: No handler available for step '${l}' in flow '${t}'. Skipping.`);continue}await this.emitModelEventIf(n,`flow:${t}:step:${l}:start`,{...f,stepKey:l});let e=i(a,s);o=!1!==r.isAwait?await e:e,u[l]=o,h[l].result=u[l],await this.emitModelEventIf(n,`flow:${t}:step:${l}:end`,{...f,result:o,stepKey:l})}catch(e){if(e instanceof g.sy||e instanceof v.zz||await this.emitModelEventIf(n,`flow:${t}:step:${l}:error`,{...f,error:e,stepKey:l}),e instanceof g.sy)return d.logger.info(`[FlowEngine] ${e.message}`),await this.emitModelEventIf(n,`flow:${t}:step:${l}:end`,{...f,stepKey:l}),await this.emitModelEventIf(n,`flow:${t}:end`,{...f,result:u}),Promise.resolve(u);if(e instanceof v.zz)return d.logger.info(`[FlowEngine] ${e.message}`),await this.emitModelEventIf(n,`flow:${t}:step:${l}:end`,{...f,stepKey:l,aborted:!0}),await this.emitModelEventIf(n,`flow:${t}:end`,{...f,result:e,aborted:!0}),Promise.resolve(e);return await this.emitModelEventIf(n,`flow:${t}:error`,{...f,error:e}),d.logger.error({err:e},`BaseModel.applyFlow: Error executing step '${l}' in flow '${t}':`),Promise.reject(e)}}return await this.emitModelEventIf(n,`flow:${t}:end`,{...f,result:u}),Promise.resolve(u)}async dispatchEvent(e,t,l,r){var n,i,o,a;let s="beforeRender"===t,d=!!(null==r?void 0:r.sequential),u=!!(null==r?void 0:r.useCache),c=s,p=`${e.uid}-${t}-${Date.now()}`,h=e.context.logger,f={uid:e.uid,model:e,runId:p,inputArgs:l};try{await this.emitModelEventIf(t,"start",f),await (null==(n=e.onDispatchEventStart)?void 0:n.call(e,t,r,l))}catch(n){if(s&&n instanceof g.sy)return h.debug(`[FlowModel.dispatchEvent] ${n.message}`),[];try{await (null==(i=e.onDispatchEventError)?void 0:i.call(e,t,r,l,n))}finally{h.error({err:n},`BaseModel.dispatchEvent: Start hook error for event '${t}'`)}if(c)throw n;return}let m=s?e.getEventFlows("beforeRender"):Array.from(e.getFlows().values()).filter(e=>{let l=e.on;return!!l&&("string"==typeof l?l===t:"object"==typeof l&&l.eventName===t)}),y="click"===t&&(null==l?void 0:l.triggerByRouter)===!0?m.filter(e=>{var t;let l=e.flowRegistry;return"instance"!==(null==l||null==(t=l.constructor)?void 0:t._type)}):m,b=[],x=async()=>{let r=!1;if(d){let n=y.map((e,t)=>({f:e,i:t})).slice().sort((e,t)=>{var l,r;let n=e.f.flowRegistry,i=t.f.flowRegistry,o=null==n||null==(l=n.constructor)?void 0:l._type,a=null==i||null==(r=i.constructor)?void 0:r._type,s=+("instance"!==o),d=+("instance"!==a);if(s!==d)return s-d;let u=e.f.sort??0,c=t.f.sort??0;return u!==c?u-c:e.i-t.i}).map(e=>e.f),i=[],o=new Map(n.filter(e=>{var t;let l=e.flowRegistry;return"instance"!==(null==l||null==(t=l.constructor)?void 0:t._type)}).map(e=>[e.key,e])),a=new Set,s=new Map;for(let[r,d]of(n.forEach((e,l)=>{let r=e.on,n="object"==typeof r?r:void 0;if(!n)return;let i=n.phase,d=n.flowKey,u=n.stepKey;if(!i||"beforeAllFlows"===i)return;let c=null;if("afterAllFlows"===i)c=`event:${t}:end`;else if("beforeFlow"===i||"afterFlow"===i)if(d)if(o.get(String(d))){let e="beforeFlow"===i?"start":"end";c=`event:${t}:flow:${String(d)}:${e}`}else c=`event:${t}:end`;else c=`event:${t}:end`;else if("beforeStep"!==i&&"afterStep"!==i)return;else if(d&&u){var p;let e=o.get(String(d)),l=!!(null==e||null==(p=e.hasStep)?void 0:p.call(e,String(u)));if(e&&l){let e="beforeStep"===i?"start":"end";c=`event:${t}:flow:${String(d)}:step:${String(u)}:${e}`}else c=`event:${t}:end`}else c=`event:${t}:end`;if(!c)return;let h=c===`event:${t}:end`||"afterFlow"===i||"afterStep"===i;a.add(e.key);let f=s.get(c)||[];f.push({flow:e,order:l,shouldSkipOnAborted:h}),s.set(c,f)}),s.entries()))for(let n of d.slice().sort((e,t)=>{let l=e.flow.sort??0,r=t.flow.sort??0;return l!==r?l-r:e.order-t.order})){let o=n.shouldSkipOnAborted?Object.assign(e=>e.type===r&&!0!==e.aborted,{__eventType:r}):r,a=e.scheduleModelOperation(e.uid,async e=>{let r=await this.runFlow(e,n.flow.key,l,p,t);if(r instanceof v.zz)throw r;i.push(r)},{when:o});b.push(a)}for(let o of n)if(!a.has(o.key))try{h.debug(`BaseModel '${e.uid}' dispatching event '${t}' to flow '${o.key}' (sequential).`);let n=await this.runFlow(e,o.key,l,p,t);if(n instanceof v.zz){h.debug(`[FlowEngine.dispatchEvent] ${n.message}`),r=!0;break}i.push(n)}catch(e){if(e instanceof v.zz){h.debug(`[FlowEngine.dispatchEvent] ${e.message}`),r=!0;break}throw h.error({err:e},`BaseModel.dispatchEvent: Error executing event-triggered flow '${o.key}' for event '${t}' (sequential):`),e}return{result:i,abortedByExitAll:r}}let n=(await Promise.all(y.map(async r=>{h.debug(`BaseModel '${e.uid}' dispatching event '${t}' to flow '${r.key}'.`);try{return await this.runFlow(e,r.key,l,p,t)}catch(e){if(h.error({err:e},`BaseModel.dispatchEvent: Error executing event-triggered flow '${r.key}' for event '${t}':`),c)throw e;return}}))).filter(e=>void 0!==e);return n.some(e=>e instanceof v.zz)&&(r=!0),{result:n,abortedByExitAll:r}},w=u?JSON.stringify(l??{}):"",S=u?eD.generateApplyFlowCacheKey(`event:${e.getFlowCacheScope(t)}:${w}`,t,e.uid):null;try{let{result:n,abortedByExitAll:i}=await this.withApplyFlowCache(S,x);try{await (null==(o=e.onDispatchEventEnd)?void 0:o.call(e,t,r,l,n))}catch(e){h.error({err:e},`BaseModel.dispatchEvent: End hook error for event '${t}'`)}return await this.emitModelEventIf(t,"end",{...f,result:n,...i?{aborted:!0}:{}}),n&&"object"==typeof n&&Object.defineProperty(n,"__abortedByExitAll",{value:i,configurable:!0}),n}catch(n){try{await (null==(a=e.onDispatchEventError)?void 0:a.call(e,t,r,l,n))}catch(e){}if(e.context.logger.error({err:n},`BaseModel.dispatchEvent: Error executing event '${t}' for model '${e.uid}':`),await this.emitModelEventIf(t,"error",{...f,error:n}),c)throw n}finally{for(let e of b)e()}}constructor(e){(0,i._)(this,"engine",void 0),this.engine=e}}var w=l(58587),S=l(18150),A=l(68238);l(23089),l(82855),l(17106),l(36792);var M=l(78880),F=l(18220),k=l(47674),C=l(21637),P=l(71021),j=l(84626),E=l(96540);l(32699);var R=l(74848),T=l(53619),I=l(92034),_=l(98393),D=l(22803),N=l(42443),O=l(88040),$=l(35710),B=l(18182),L=l(98892),q=l(33954),V=l(57084),z=l(94313),K=l(20616),U=l(52847);let W={marginLeft:32},H=(0,U.PA)(e=>{let{title:t,onChange:l,getDefaultValue:r,disabled:n,itemKey:i,...o}=e,[a,s]=(0,E.useState)(!1),d=(0,K.Db)();(0,E.useEffect)(()=>{let e=!1;return(async()=>{if(r)try{let t=await r();if(e||!t)return;let l=Object.entries(t);if(!l.length)return;let[n,i]=l[0];s(!!i)}catch(e){console.error(e)}})(),()=>{e=!0}},[r]);let u=e=>{s(e),null==l||l({[i]:e})},c=e=>{e.stopPropagation(),n||u(!a)};return(0,R.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",cursor:n?"not-allowed":"pointer"},onClick:c,children:[t,(0,R.jsx)(z.A,{size:"small",...o,checkedChildren:o.checkedChildren?d.t(o.checkedChildren):void 0,unCheckedChildren:o.unCheckedChildren?d.t(o.unCheckedChildren):void 0,checked:a,style:W,disabled:n})]})});var Y=l(36492);let G=(e,t)=>{for(let r of e){var l;if(String((null==r?void 0:r.key)??"")===t)return r;if(null==(l=r.children)?void 0:l.length){let e=G(r.children,t);if(e)return e}}},J=(e,t,l)=>{let r=t.maxDepth,n="number"==typeof t.arrayLimit?t.arrayLimit:1/0,i=t.mode??"stack",o=new Set,a=new Set,s=(e,t,d)=>{if(!e||t>r)return;let u=()=>{l(e,{depth:t,modelKey:d}),t>=r||Object.entries(e.subModels||{}).forEach(e=>{let[l,r]=e;if(Array.isArray(r)){let e=Number.isFinite(n)?Math.min(r.length,n):r.length;for(let n=0;n<e;n++){let e=r[n];e instanceof q.WD&&s(e,t+1,`${l}[${n}]`)}return}r instanceof q.WD&&s(r,t+1,l)})};if("visited"===i){if(o.has(e))return;o.add(e),u();return}let c=e.uid||`temp-${Date.now()}`;if(!a.has(c)){a.add(c);try{u()}finally{a.delete(c)}}};s(e,1)},X=(e,t)=>{var l;if(!e||!t||"string"!=typeof t)return console.warn("Invalid input parameters"),null;let r=t.match(/^([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\[(\d+)\])?$/);if(!r)return console.warn(`Invalid subModelKey format: ${t}`),null;let[,n,i]=r,o=null==(l=e.subModels)?void 0:l[n];if(!o)return console.warn(`SubModel '${n}' not found`),null;if(void 0!==i){let e=parseInt(i,10);return Array.isArray(o)?e<0||e>=o.length?(console.warn(`Array index ${e} out of bounds for '${n}'`),null):o[e]instanceof q.WD?o[e]:null:(console.warn(`Expected array for '${n}', got ${typeof o}`),null)}return Array.isArray(o)?(console.warn(`Expected object for '${n}', got array`),null):o instanceof q.WD?o:null},Q={switch:H,select:function(e){let{title:t,getDefaultValue:l,onChange:r,options:n,fieldNames:i,itemKey:o,tooltip:a,...s}=e,[d,u]=(0,E.useState)(!1),[c,p]=(0,E.useState)(""),h=(0,K.Db)();(0,E.useEffect)(()=>{let e=!1;return(async()=>{if(l)try{let t=await l();if(e||!t)return;let r=Object.entries(t);if(!r.length)return;let[n,i]=r[0];p(i)}catch(e){console.error(e)}})(),()=>{e=!0}},[l]);let f=(0,E.useRef)(null),m=e=>{p(e),null==r||r({[o]:e})},g=(0,R.jsx)("span",{style:{whiteSpace:"nowrap",flexShrink:0},children:t});return(0,R.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},onClick:e=>{e.stopPropagation(),u(e=>!e)},onMouseLeave:()=>{f.current=setTimeout(()=>{u(!1)},200)},children:[a?(0,R.jsx)(N.A,{title:a,placement:"top",destroyTooltipOnHide:!0,children:g}):g,(0,R.jsx)(Y.A,{...s,open:d,popupMatchSelectWidth:!1,bordered:!1,value:c,onChange:m,popupClassName:`select-popup-${t.replaceAll(" ","-")}`,fieldNames:i,options:n,labelRender:e=>h.t(e.label),optionRender:e=>h.t(e.label),style:{textAlign:"right",minWidth:100},onMouseEnter:()=>{clearTimeout(f.current)},dropdownRender:e=>s.dropdownRender?s.dropdownRender(e,u,m):e})]})}},Z=e=>{let{title:t,uiMode:l,itemProps:r}=e,n=(null==l?void 0:l.type)||l,i=n?Q[n]:null,o=!!(null==r?void 0:r.disabled),a=null==r?void 0:r.disabledReason,s=null==r?void 0:r.disabledIconColor,d=i?(0,R.jsx)(i,{title:t,...r}):(0,R.jsx)(R.Fragment,{children:t});return o?(0,R.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[d,(0,R.jsx)(N.A,{title:a,placement:"right",destroyTooltipOnHide:!0,children:(0,R.jsx)(T.A,{style:{color:s}})})]}):d},ee=".nb-toolbar-container-icons",et=".nb-toolbar-container",el=(0,D.css)`
|
|
1447
|
+
Please run: await ctx.importAsync("${l}") to ensure ctx.render uses a matching ReactDOM.`);throw e.cause=r,e}}return u}function Z(e){return e.endsWith("/")?e:`${e}/`}function ee(e,t){try{let l=new URL(e);if(!["http:","https:"].includes(l.protocol))return!1;if(!(null==t?void 0:t.getApiUrl))return!0;let r=new URL(t.getApiUrl()),n=Z(r.pathname),i=Z(l.pathname);return l.origin!==r.origin||!i.startsWith(n)}catch{return!1}}function et(e){return!!(e&&"object"==typeof e&&"collection"in e&&"filterByTk"in e)}function el(e,t){if(t&&0!==t.length){if(et(e))return e;if(e&&"object"==typeof e&&!Array.isArray(e)){let l={};for(let[r,n]of Object.entries(e))t.some(e=>e===r||e.startsWith(`${r}.`)||e.startsWith(`${r}[`))&&(l[r]=n);return l}}}function er(e){if(!e)return;let t=String(e).match(/^([^.[]+)/);return null==t?void 0:t[1]}function en(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!Array.isArray(e)||0===e.length)return{generatedAppends:void 0,generatedFields:void 0};let t=new Set,l=new Set,r=e=>{if(!e)return"";let t=String(e);return(t=(t=(t=t.replace(/\[(?:\d+)\]/g,"")).replace(/\[(?:"((?:[^"\\]|\\.)*)"|'((?:[^'\\]|\\.)*)')\]/g,(e,t,l)=>`.${t||l}`)).replace(/\.\.+/g,".")).replace(/^\./,"").replace(/\.$/,"")};for(let n of e){if(!n)continue;for(;/^\[(\d+)\](\.|$)/.test(n);)n=n.replace(/^\[(\d+)\]\.?/,"");let e=r(n);if(!e)continue;let i=e.split(".").filter(Boolean);if(0!==i.length){if(1===i.length){l.add(i[0]);continue}for(let e=0;e<i.length-1;e++)t.add(i.slice(0,e+1).join("."));l.add(i.join("."))}}return{generatedAppends:t.size?Array.from(t):void 0,generatedFields:l.size?Array.from(l):void 0}}var ei=new WeakMap,eo=new WeakSet,ea=new WeakSet,es=new WeakSet,ed=new WeakSet,eu=new WeakSet,ec=new WeakSet,ep=new WeakSet,eh=new WeakSet;class ef{createProxy(){return(0,r._)(this,ei)||(0,i._)(this,ei,new Proxy(this,{get:(e,t,l)=>{if("string"==typeof t){if(Reflect.has(e,t)){let r=Reflect.get(e,t,l);return"function"==typeof r?r.bind(e):r}if(Object.prototype.hasOwnProperty.call(e._props,t))return e._getOwnProperty(t,this.createProxy());if(Object.prototype.hasOwnProperty.call(e._methods,t))return e._getOwnMethod(t,this.createProxy());let r=this._findInDelegates(e._delegates,t);return void 0!==r?r.result:void 0}return Reflect.get(e,t,l)},has:(e,t)=>!!("string"==typeof t&&(Reflect.has(e,t)||Object.prototype.hasOwnProperty.call(e._props,t)||Object.prototype.hasOwnProperty.call(e._methods,t)||this._hasInDelegates(e._delegates,t)))||Reflect.has(e,t)})),(0,r._)(this,ei)}defineProperty(e,t){var l;if(this._props[e]&&(null==(l=this._props[e])?void 0:l.once))return;let r=this._props[e];(null==r?void 0:r.meta)&&this._clearMetaNodeCacheFor(r.meta),this._props[e]=t,delete this._observableCache[e],delete this._cache[e],Object.defineProperty(this,e,{configurable:!0,enumerable:!0,get:()=>this._getOwnProperty(e,this.createProxy())})}defineMethod(e,t,l){this._methods[e]=t,"string"==typeof l?this._methodInfos[e]={description:l}:l&&"object"==typeof l?this._methodInfos[e]=l:delete this._methodInfos[e],Object.defineProperty(this,e,{configurable:!0,enumerable:!1,writable:!1,value:t.bind(this.createProxy())})}removeCache(e){if(e in this._observableCache)return delete this._observableCache[e],!0;if(e in this._cache)return delete this._cache[e],!0;if(e in this._pending)return delete this._pending[e],!0;for(let t of this._delegates)if(t.removeCache(e))return!0}delegate(e){if(!(e instanceof ef))throw Error("Delegate must be an instance of FlowContext");this._delegates.includes(e)?console.warn(`[FlowContext] delegate - skip duplicate delegate: ${this._delegates.length}`):this._delegates.unshift(e)}addDelegate(e){if(!(e instanceof ef))throw Error("Delegate must be an instance of FlowContext");this._delegates.includes(e)||this._delegates.unshift(e)}clearDelegates(){this._delegates=[],this._metaNodeCache=new WeakMap}removeDelegate(e){if(!(e instanceof ef))throw Error("Delegate must be an instance of FlowContext");let t=this._delegates.indexOf(e);-1!==t&&this._delegates.splice(t,1)}_clearMetaNodeCacheFor(e){this._metaNodeCache.delete(e)}has(e){return!!this._props[e]}getPropertyMetaTree(e,t){let l=this._getPropertiesMeta();if(e){let l=(0,P.YB)(e);if(l&&l.length>0){let e=async(e,t,l)=>{try{let l="function"==typeof e?await e():e;if(!(null==l?void 0:l.properties))return[];let r=l.properties;if("function"==typeof r){let e=await r();l.properties=e,r=e}let n=(0,o._)(this,eo,em).call(this,r,t,[],l);return Array.isArray(n)?n:await n()}catch(e){return console.warn(`Failed to load meta for ${l}:`,e),[]}},r=(0,o._)(this,ea,eg).call(this,l);if(r){let[n,i,a]=r;if(1===l.length){if("function"==typeof i)return()=>e(i,a,n);if(i.properties){if("function"==typeof i.properties)return()=>e(i,a,n);let t=(0,o._)(this,eo,em).call(this,i.properties,a,[],i);return Array.isArray(t)?t:[]}return[]}if("function"==typeof i){if(null==t?void 0:t.flatten)return()=>e(i,a,n);let l=(0,o._)(this,ep,ex).call(this,a);return[(0,o._)(this,eh,ew).call(this,n,i,a,l)]}if(i.properties){let e=[...(0,o._)(this,ep,ex).call(this,a),i.title],t=(0,o._)(this,eo,em).call(this,i.properties,a,e,i);return Array.isArray(t)?t:[]}}return[]}if(null===l)return console.warn(`[FlowContext] getPropertyMetaTree - unsupported value format: "${e}". Only "{{ ctx.propertyName }}" format is supported. Returning empty meta tree.`),[]}return Object.entries(l).sort((e,t)=>{let[,l]=e,[,r]=t,n=("function"==typeof l?l.sort:null==l?void 0:l.sort)??0;return(("function"==typeof r?r.sort:null==r?void 0:r.sort)??0)-n}).map(e=>{let[t,l]=e;return(0,o._)(this,eh,ew).call(this,t,l,[t],[])})}async getApiInfos(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.version||"v1",l=!!e.includeCompletion,r=this.createProxy(),n=e=>"string"==typeof e&&e.startsWith("_"),i=e=>"record"===e||"formValues"===e||"popup"===e,o=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,a=(()=>{var e,l,r,n,i,o,a,s;let d=(0,_.B)(this),u=_.F.resolve(t,d)||_.F.resolve(t,"*");if(!u)return{};let c=(null==(r=this)||null==(l=r.api)||null==(e=l.auth)?void 0:e.locale)||(null==(i=this)||null==(n=i.i18n)?void 0:n.language)||(null==(o=this)?void 0:o.locale);try{if(null==u||null==(a=u.getDoc)?void 0:a.length)return u.getDoc(c)||{};return(null==u||null==(s=u.getDoc)?void 0:s.call(u))||{}}catch(e){return{}}})(),s=eN(null==a?void 0:a.methods)?a.methods:{},d=eN(null==a?void 0:a.properties)?a.properties:{},u=e=>"string"==typeof e?{description:e}:eN(e)?e:void 0,c=(e,t)=>{let l="string"==typeof t?t:eN(t)&&"string"==typeof t.description?String(t.description):void 0;return l&&l.includes(`ctx.libs.${e}`)?`libs.${e}`:e},p=e=>{let t=u(e);if(!t)return{};let r={};for(let e of["description","examples",...l?["completion"]:[],"ref","params","returns"]){let l=t[e];void 0!==l&&(r[e]=l)}return Array.isArray(r.examples)&&(r.examples=r.examples.filter(e=>"string"==typeof e&&e.trim())),r},h=e=>{let t=u(e);if(!t)return{};let r={};for(let e of["title","type","interface","description","examples",...l?["completion"]:[],"ref","params","returns"]){let l=t[e];void 0!==l&&(r[e]=l)}return Array.isArray(r.examples)&&(r.examples=r.examples.filter(e=>"string"==typeof e&&e.trim())),r},f=e=>{let t=new WeakSet,l=r=>{if(!r||"object"!=typeof r||t.has(r))return;if(t.add(r),Object.prototype.hasOwnProperty.call(r._methodInfos||{},e)){var n;return null==(n=r._methodInfos)?void 0:n[e]}let i=r._delegates;if(Array.isArray(i))for(let e of i){let t=l(e);if(t)return t}};return l(this)},m=async e=>{let t=this.getPropertyOptions(e);if(null==t?void 0:t.info)try{let e="function"==typeof t.info?t.info.call(r,r):t.info;return(o(e)?await e:e)??void 0}catch(e){return}},g=new Set,v=new Set;for(let e of Object.keys(d))g.add(e);for(let e of Object.keys(s))v.add(e);let y=(e,t)=>{if(e&&"object"==typeof e&&!t.has(e)){t.add(e);try{let t=e._props;if(t&&"object"==typeof t)for(let[e,l]of Object.entries(t))(null==l?void 0:l.info)&&g.add(e)}catch(e){}try{let t=e._methodInfos;if(t&&"object"==typeof t)for(let e of Object.keys(t))v.add(e)}catch(e){}try{let l=e._delegates;if(Array.isArray(l))for(let e of l)y(e,t)}catch(e){}}};y(this,new WeakSet);let b={};for(let e of g){if(n(e)||i(e))continue;let t=d[e],r=await m(e);if(void 0===t&&void 0===r)continue;let o=u(t),a=u(r),s={};if(s={...s={...s,...h(o)},...h(a)},delete s.properties,l||delete s.completion,!Object.keys(s).length)continue;let p=c(e,t);b[p]=b[p]?{...b[p]||{},...s||{}}:s}for(let e of v){if(n(e))continue;let t=s[e],r=f(e);if(void 0===t&&void 0===r)continue;let i=u(t),o={};o={...o={...o,...p(i)},...p(r)},delete o.properties,l||delete o.completion,Object.keys(o).length&&(o.type="function",b[e]?b[e]={...b[e]||{},...o||{}}:b[e]=o)}let x=u(d.libs),w=eN(null==x?void 0:x.properties)?x.properties:void 0;if(w)for(let[e,t]of Object.entries(w)){if(n(e))continue;let r=`libs.${e}`;if(b[r])continue;let i=u(t),o={};o={...o,...h(i)},delete o.properties,l||delete o.completion,o.description&&String(o.description).trim()&&(b[r]=o)}return b}async getEnvInfos(){var e,t,l;let r=this.createProxy(),n=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,i={},o=e=>{try{return e()}catch(e){return}},a=e=>null!=e&&("string"==typeof e?e.trim().length>0:!Array.isArray(e)||e.length>0),s=e=>{var t,l,r,n,i;let o={};if(!e)return o;let s=e;for(let e of["dataSourceKey","collectionName","associationName","filterByTk","sourceId"]){let t=null==s?void 0:s[e];a(t)&&(o[e]=t)}if(!("dataSourceKey"in o)){let e=null==(t=s.getDataSourceKey)?void 0:t.call(s);a(e)&&(o.dataSourceKey=e)}if(!("filterByTk"in o)){let e=null==(l=s.getFilterByTk)?void 0:l.call(s);a(e)&&(o.filterByTk=e)}if(!("filterByTk"in o)){let e=null==(r=s.getMeta)?void 0:r.call(s,"currentFilterByTk");a(e)&&(o.filterByTk=e)}if(!("sourceId"in o)){let e=null==(n=s.getSourceId)?void 0:n.call(s);a(e)&&(o.sourceId=e)}if(!("collectionName"in o)||!("associationName"in o)){let e=null==(i=s.getResourceName)?void 0:i.call(s),t="string"==typeof e?e.trim():"";if(t){let e=t.split(".").map(e=>e.trim()).filter(Boolean);1===e.length?"collectionName"in o||(o.collectionName=e[0]):e.length>=2&&("collectionName"in o||(o.collectionName=e[0]),"associationName"in o||(o.associationName=e.slice(1).join(".")))}}return o},d=await (async()=>{try{let e=r.popup;return n(e)?await e:e}catch(e){return}})(),u=o(()=>r.model),c=o(()=>r.blockModel),p=o(()=>{var e;return null==(e=r.view)?void 0:e.inputArgs}),h=o(()=>r.resource),f=s(null==d?void 0:d.resource),m=c,g=c?"ctx.blockModel":void 0,v=g?`${g}.resource`:void 0,y=s(null==m?void 0:m.resource),b=s(p),x=s(h),w=e=>{for(let t of e)if(a(t.value))return{value:t.value,getVar:t.getVar}},S=e=>a(e.collectionName)||a(e.dataSourceKey)||a(e.associationName),A=S(f)?"ctx.popup.resource":S(y)?v:S(b)?"ctx.view.inputArgs":S(x)?"ctx.resource":void 0,M=w([{value:null==f?void 0:f.collectionName,getVar:"ctx.popup.resource.collectionName"},{value:null==y?void 0:y.collectionName,getVar:`${v}.collectionName`},{value:null==b?void 0:b.collectionName,getVar:"ctx.view.inputArgs.collectionName"},{value:null==x?void 0:x.collectionName,getVar:"ctx.resource.collectionName"}]),F=w([{value:null==f?void 0:f.dataSourceKey,getVar:"ctx.popup.resource.dataSourceKey"},{value:null==y?void 0:y.dataSourceKey,getVar:`${v}.dataSourceKey`},{value:null==b?void 0:b.dataSourceKey,getVar:"ctx.view.inputArgs.dataSourceKey"},{value:null==x?void 0:x.dataSourceKey,getVar:"ctx.resource.dataSourceKey"}]),k=w([{value:null==f?void 0:f.associationName,getVar:"ctx.popup.resource.associationName"},{value:null==y?void 0:y.associationName,getVar:`${v}.associationName`},{value:null==b?void 0:b.associationName,getVar:"ctx.view.inputArgs.associationName"},{value:null==x?void 0:x.associationName,getVar:"ctx.resource.associationName"}]),C=w([{value:null==f?void 0:f.filterByTk,getVar:"ctx.popup.resource.filterByTk"},{value:null==y?void 0:y.filterByTk,getVar:`${v}.filterByTk`},{value:null==b?void 0:b.filterByTk,getVar:"ctx.view.inputArgs.filterByTk"},{value:null==x?void 0:x.filterByTk,getVar:"ctx.resource.filterByTk"}]),P=w([{value:null==f?void 0:f.sourceId,getVar:"ctx.popup.resource.sourceId"},{value:null==y?void 0:y.sourceId,getVar:`${v}.sourceId`},{value:null==b?void 0:b.sourceId,getVar:"ctx.view.inputArgs.sourceId"},{value:null==x?void 0:x.sourceId,getVar:"ctx.resource.sourceId"}]),j={},E=!1,R=null==M?void 0:M.value;a(R)&&(j.collectionName={description:"Collection name",getVar:(null==M?void 0:M.getVar)||(A?`${A}.collectionName`:void 0),value:R},E=!0);let T=null==F?void 0:F.value;a(T)&&(j.dataSourceKey={description:"Data source key",getVar:(null==F?void 0:F.getVar)||(A?`${A}.dataSourceKey`:void 0),value:T},E=!0);let I=null==k?void 0:k.value;a(I)&&(j.associationName={description:"Association name",getVar:(null==k?void 0:k.getVar)||(A?`${A}.associationName`:void 0),value:I},E=!0),E&&(a(null==C?void 0:C.value)&&(j.filterByTk={description:"Record filterByTk",getVar:(null==C?void 0:C.getVar)||(A?`${A}.filterByTk`:void 0)}),a(null==P?void 0:P.value)&&(j.sourceId={description:"Source record ID (sourceId)",getVar:(null==P?void 0:P.getVar)||(A?`${A}.sourceId`:void 0)}),i.resource={description:"Resource information",getVar:A,properties:j}),a(null==C?void 0:C.value)&&(i.record={description:"Current record",getVar:"ctx.record"});let _=e=>{try{let t=null==e?void 0:e.title;if("string"==typeof t&&t.trim())return t}catch(e){}try{var t,l;let r=null==e||null==(l=e.constructor)||null==(t=l.meta)?void 0:t.label;if("string"==typeof r&&r.trim())return r}catch(e){}};if(u){let t=_(u),l=u.uid,r=null==(e=u.constructor)?void 0:e.name,n=s(u.resource),o={},d=!1,c=n.collectionName;a(c)&&(o.collectionName={description:"Collection name",getVar:"ctx.model.resource.collectionName",value:c},d=!0);let p=n.dataSourceKey;a(p)&&(o.dataSourceKey={description:"Data source key",getVar:"ctx.model.resource.dataSourceKey",value:p},d=!0);let h=n.associationName;a(h)&&(o.associationName={description:"Association name",getVar:"ctx.model.resource.associationName",value:h},d=!0),i.flowModel={description:"Current FlowModel information",getVar:"ctx.model",properties:{...a(t)?{label:{description:"Flow model label",value:t}}:{},...a(r)?{modelClass:{description:"Flow model class name",value:r}}:{},...a(l)?{uid:{description:"Flow model uid",getVar:"ctx.model.uid",value:l}}:{},...d?{resource:{description:"Flow model resource",getVar:"ctx.model.resource",properties:o}}:{}}}}if((null==d?void 0:d.uid)&&(i.popup={description:"Current popup information",getVar:"ctx.popup",properties:{uid:{description:"Popup uid",getVar:"ctx.popup.uid",value:d.uid},...(null==d?void 0:d.record)?{record:{description:"Popup record",getVar:"ctx.popup.record"}}:{},...(null==d?void 0:d.sourceRecord)?{sourceRecord:{description:"Popup source record",getVar:"ctx.popup.sourceRecord"}}:{}}}),m){let e=_(m),l=m.uid,r=null==(t=m.constructor)?void 0:t.name,n={},o=!1,s=y.collectionName;a(s)&&(n.collectionName={description:"Collection name",getVar:`${v}.collectionName`,value:s},o=!0);let d=y.dataSourceKey;a(d)&&(n.dataSourceKey={description:"Data source key",getVar:`${v}.dataSourceKey`,value:d},o=!0);let u=y.associationName;a(u)&&(n.associationName={description:"Association name",getVar:`${v}.associationName`,value:u},o=!0),i.block={description:"Current block information",getVar:g,properties:{...a(e)?{label:{description:"Block label",value:e}}:{},...a(r)?{modelClass:{description:"Block model class name",value:r}}:{},...a(l)?{uid:{description:"Block uid",getVar:`${g}.uid`,value:l}}:{},...o?{resource:{description:"Block resource",getVar:v,properties:n}}:{}}}}let D=(()=>{let e=null==d?void 0:d.uid;if(a(e))return String(e).trim();let t=null==p?void 0:p.viewUid;if(a(t))return String(t).trim()})(),N=o(()=>r.engine),O=D?null==N?void 0:N.getModel(D,!0):void 0,$=e=>{var t;return(null==(t=e.context)?void 0:t.blockModel)===e};if(O){let e=[O],t=[];for(let r=0;r<e.length;r++){let n=e[r];if($(n)){let e=(null==(l=n.constructor)?void 0:l.name)||n.uid,r=_(n)||e||n.uid,i=s(n.resource),o={};a(i.dataSourceKey)&&(o.dataSourceKey=i.dataSourceKey),a(i.collectionName)&&(o.collectionName=i.collectionName),a(i.associationName)&&(o.associationName=i.associationName);let d={uid:n.uid,label:r,modelClass:e,...Object.keys(o).length>0?{resource:o}:{}};t.push(d)}let i=n.subModels;if(i&&"object"==typeof i)for(let t of Object.values(i))t&&(Array.isArray(t)?e.push(...t):e.push(t))}t.length&&(i.currentViewBlocks={description:"Current view blocks",value:t})}return i}async getVarInfos(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.maxDepth??3,l=Number.isFinite(t)?Math.max(1,Math.floor(t)):3,r="v1",n=this.createProxy(),i=e=>"string"==typeof e&&e.startsWith("_"),o=e=>!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then,a=new WeakMap,s=async e=>{if(!e)return;if("function"!=typeof e)return e;let t=a.get(e);return t||(t=(async()=>{let t=e.call(n,n);return(o(t)?await t:t)||null})(),a.set(e,t)),await t||void 0},d=e=>{if("string"!=typeof e)return;let t=e.trim();if(!t)return;let l=(0,P.YB)(t);return Array.isArray(l)&&l.length>0?l.join("."):"ctx"===t?"":t.startsWith("ctx.")?t.slice(4).trim():t},u=(()=>{let t=e.path;return("string"==typeof t?[t]:Array.isArray(t)?t:[]).map(e=>d(String(e))).filter(e=>"string"==typeof e&&e.length>0)})(),c=(()=>{let t=e.path;return"string"==typeof t?""===d(t):!!Array.isArray(t)&&t.some(e=>""===d(String(e)))})(),p=(()=>{var e,t,l,n,i,o,a,s;let d=(0,_.B)(this),u=_.F.resolve(r,d)||_.F.resolve(r,"*");if(!u)return{};let c=(null==(l=this)||null==(t=l.api)||null==(e=t.auth)?void 0:e.locale)||(null==(i=this)||null==(n=i.i18n)?void 0:n.language)||(null==(o=this)?void 0:o.locale);try{if(null==u||null==(a=u.getDoc)?void 0:a.length)return u.getDoc(c)||{};return(null==u||null==(s=u.getDoc)?void 0:s.call(u))||{}}catch(e){return{}}})();eN(null==p?void 0:p.methods)&&p.methods,eN(null==p?void 0:p.properties)&&p.properties;let h=e=>"string"==typeof e?{description:e}:eN(e)?e:void 0,f=async(e,t)=>{if(void 0!==e){if("boolean"==typeof e)return e;if("function"==typeof e)try{let l=t(e);return o(l)?!!await l:!!l}catch(e){return!1}return!!e}},m=async(e,t)=>{if(null!=e){if("string"==typeof e)return e;if("function"==typeof e)try{let l=t(e),r=o(l)?await l:l;if("string"==typeof r)return r;return null==r?void 0:String(r)}catch(e){return}return String(e)}},g=async e=>{let t=!1,l=[];try{if("boolean"==typeof e)t=e;else if(Array.isArray(e))l=e;else if("function"==typeof e){let r=e(n),i=o(r)?await r:r;"boolean"==typeof i?t=i:Array.isArray(i)&&(l=i)}}catch(e){t=!1,l=[]}let r=[];if(Array.isArray(l))for(let e of l){if("string"!=typeof e)continue;let t=e.trim();!(!t||"ctx"===t||t.startsWith("ctx."))&&(/\s/.test(t)||r.push(t))}return{hideSelf:!!t,hideSubpaths:r}},v=(e,t)=>{if(!e)return!1;let l=e.split(".").filter(Boolean);for(;l.length;){if(t.has(l.join(".")))return!0;l.pop()}return!1},y=e=>{let t=h(e);if(!t)return{};let l={};for(let e of["title","type","interface","description","examples","completion","ref","params","returns"]){let r=t[e];void 0!==r&&(l[e]=r)}return Array.isArray(l.examples)&&(l.examples=l.examples.filter(e=>"string"==typeof e&&e.trim())),l},b=async e=>{let t,r,{docNode:o,metaNode:a,infoNode:d,depth:u,pathFromRoot:c,hiddenPrefixes:p}=e,x=c.join(".");if(v(x,p))return;let w=h(o),S=h(d),A=await g(null==w?void 0:w.hidden);if(A.hideSelf)return;let M=await g(null==S?void 0:S.hidden);if(M.hideSelf)return;let F=await s(a);if(await f(null==F?void 0:F.hidden,e=>e.call(F,n)))return;let k=new Set(p);for(let e of[...A.hideSubpaths,...M.hideSubpaths]){let t=e.trim();if(!t)continue;let l="ctx"===t?"":t.startsWith("ctx.")?t.slice(4):t;if(!l)continue;let r=x?`${x}.${l}`:l;k.add(r)}let C=await f(null==w?void 0:w.disabled,e=>e(n)),P=await m(null==w?void 0:w.disabledReason,e=>e(n)),j=await f(null==F?void 0:F.disabled,e=>e.call(F,n)),E=await m(null==F?void 0:F.disabledReason,e=>e.call(F,n)),R=await f(null==S?void 0:S.disabled,e=>e(n)),T=await m(null==S?void 0:S.disabledReason,e=>e(n)),I=void 0!==R?R:void 0!==j?j:C,_=void 0!==T?T:void 0!==E?E:P,D={};if(D={...D={...D={...D,...y(w)},...y(F)},...y(S)},void 0!==I&&(D.disabled=!!I),void 0!==_&&(D.disabledReason=_),u>=l)return Object.keys(D).length?D:void 0;let N=eN(null==w?void 0:w.properties)?w.properties:void 0;if(null==F?void 0:F.properties)try{let e=F.properties;if("function"==typeof e){let l=await e.call(F,n);F.properties=l,t=l}else eN(e)&&(t=e)}catch(e){t=void 0}if(eN(S)&&(null==S?void 0:S.properties))try{let e=S.properties;if("function"==typeof e){let t=await e.call(S,n);S.properties=t,r=t}else eN(e)&&(r=e)}catch(e){r=void 0}let O=new Set;if(N)for(let e of Object.keys(N))O.add(e);if(t)for(let e of Object.keys(t))O.add(e);if(r)for(let e of Object.keys(r))O.add(e);if(!O.size)return Object.keys(D).length?D:void 0;let $={};for(let e of O){if(i(e))continue;let l=await b({docNode:null==N?void 0:N[e],metaNode:null==t?void 0:t[e],infoNode:null==r?void 0:r[e],depth:u+1,pathFromRoot:[...c,e],hiddenPrefixes:k});l&&($[e]=l)}if(Object.keys($).length&&(D.properties=$),Object.keys(D).length)return D},x=async e=>{if(!e.length)return;let[t,...l]=e,r=this.getPropertyOptions(t);if(null==r?void 0:r.meta)try{if(!l.length)return r.meta;let e=await s(r.meta);if(!e)return;for(let t=0;t<l.length;t++){let r=l[t],i=null==e?void 0:e.properties;if(!i)break;if("function"==typeof i){let t=await i.call(e,n);e.properties=t,i=t}if(!i||"object"!=typeof i)break;let o=null==i?void 0:i[r];if(!o)break;if(t===l.length-1)return o;let a=await s(o);if(!a)break;e=a}return}catch(e){return}};if(!c&&u.length){let e={};for(let t of u){let l=t.split(".").map(e=>e.trim()).filter(Boolean);if(l.some(e=>i(e))||!l.length)continue;let r=await x(l),n=await b({docNode:void 0,metaNode:r,infoNode:void 0,depth:1,pathFromRoot:[],hiddenPrefixes:new Set});n&&(e[t]=n)}return e}let w=this._getPropertiesMeta(),S={};for(let[e,t]of Object.entries(w)){if(i(e))continue;let l=await b({docNode:void 0,metaNode:t,infoNode:void 0,depth:1,pathFromRoot:[e],hiddenPrefixes:new Set});l&&(S[e]=l)}return S}_getPropertiesMeta(){let e={};for(let t of this._delegates)Object.assign(e,t._getPropertiesMeta());for(let[t,l]of Object.entries(this._props))l.meta&&(e[t]=(l.meta,l.meta));return e}_getOwnProperty(e,t){let l=this._props[e];if(l){if("value"in l)return"api"===e?(0,T.kx)(l.value,t):l.value;if(l.get){if(!1===l.cache){let r=l.get(t);return"api"===e?(0,T.kx)(r,t):r}let r=l.observable?"_observableCache":"_cache";if(e in this[r])return"api"===e?(0,T.kx)(this[r][e],t):this[r][e];if(this._pending[e])return this._pending[e];let n=l.get(this.createProxy());return"object"==typeof n&&null!==n&&"function"==typeof n.then||"function"==typeof n&&"function"==typeof n.then?(this._pending[e]=n.then(l=>(this[r][e]=l,delete this._pending[e],"api"===e?(0,T.kx)(l,t):l),t=>{throw delete this._pending[e],t}),this._pending[e]):(this[r][e]=n,"api"===e?(0,T.kx)(n,t):n)}}}_getOwnMethod(e,t){let l=this._methods[e];return"function"==typeof l?l.bind(t):l}_findPropertyInDelegates(e,t){for(let l of e){if(Object.prototype.hasOwnProperty.call(l._props,t))return l._props[t];let e=this._findPropertyInDelegates(l._delegates,t);if(void 0!==e)return e}}_findInDelegates(e,t){for(let l of e){if(Object.prototype.hasOwnProperty.call(l._props,t))return{result:l._getOwnProperty(t,this.createProxy())};if(Object.prototype.hasOwnProperty.call(l._methods,t))return{result:l._getOwnMethod(t,this.createProxy())};let e=this._findInDelegates(l._delegates,t);if(void 0!==e)return e}}_hasInDelegates(e,t){for(let l of e)if(Object.prototype.hasOwnProperty.call(l._props,t)||Object.prototype.hasOwnProperty.call(l._methods,t)||this._hasInDelegates(l._delegates,t))return!0;return!1}getPropertyOptions(e){return Object.prototype.hasOwnProperty.call(this._props,e)?this._props[e]:this._findPropertyInDelegates(this._delegates,e)}constructor(){return(0,a._)(this,eo),(0,a._)(this,ea),(0,a._)(this,es),(0,a._)(this,ed),(0,a._)(this,eu),(0,a._)(this,ec),(0,a._)(this,ep),(0,a._)(this,eh),(0,s._)(this,"_props",{}),(0,s._)(this,"_methods",{}),(0,s._)(this,"_methodInfos",{}),(0,s._)(this,"_cache",{}),(0,s._)(this,"_observableCache",d.observable.shallow({})),(0,s._)(this,"_delegates",[]),(0,s._)(this,"_pending",{}),(0,n._)(this,ei,{writable:!0,value:null}),(0,s._)(this,"_metaNodeCache",new WeakMap),this.createProxy()}}function em(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3?arguments[3]:void 0;return"function"==typeof e?async()=>{let n=await e();r&&(r.properties=n);let i=Object.entries(n);return i.sort((e,t)=>{let[,l]=e,[,r]=t;return((null==r?void 0:r.sort)??0)-((null==l?void 0:l.sort)??0)}),i.map(e=>{let[r,n]=e;return(0,o._)(this,eh,ew).call(this,r,n,[...t,r],l)})}:Object.entries(e).sort((e,t)=>{let[,l]=e,[,r]=t;return((null==r?void 0:r.sort)??0)-((null==l?void 0:l.sort)??0)}).map(e=>{let[r,n]=e;return(0,o._)(this,eh,ew).call(this,r,n,[...t,r],l)})}function eg(e){if(0===e.length)return null;let[t,...l]=e,r=this._props[t];if(null==r?void 0:r.meta)return(0,o._)(this,ed,ey).call(this,t,r.meta,l,[t]);let n=(0,o._)(this,es,ev).call(this,this._delegates,t);return n?(0,o._)(this,ed,ey).call(this,t,n,l,[t]):null}function ev(e,t){for(let l of e){let e=l._props[t];if(null==e?void 0:e.meta)return e.meta;let r=(0,o._)(this,es,ev).call(this,l._delegates,t);if(r)return r}return null}function ey(e,t,l,r){if(0===l.length)return[e,t,r];if("function"==typeof t)return[l[l.length-1],async()=>{let e=await t();return await (0,o._)(this,ec,eb).call(this,e,l)},[...r,...l]];if(t.properties){let[e,...n]=l,i=[...r,e];if("function"==typeof t.properties)return[l[l.length-1],async()=>{let l=t.properties,r=await l();t.properties=r;let i=r[e];if(!i)throw Error(`Property ${e} not found in resolved properties`);return await (0,o._)(this,ec,eb).call(this,i,n)},[...r,...l]];let a=t.properties[e];if(a)return(0,o._)(this,ed,ey).call(this,e,a,n,i)}return null}async function eb(e,t){if(0===t.length)return e;let l=e;for(let e of t){let r=h().get(l,"properties");if(!r)throw Error(`Property path not found: ${t.join(".")}`);if("function"==typeof r){let e=await r();l.properties=e,r=e}let n=r[e];if(!n)throw Error(`Property ${e} not found while resolving path: ${t.join(".")}`);l=n}return l}function ex(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(0===e.length)return[];let l=t?e.slice(0,-1):e;if(0===l.length)return[];let r=[],n=this._getPropertiesMeta();for(let e=0;e<l.length;e++){let t=l[e],i=n[t];if(!i||"function"==typeof i){r.push(t);break}if(r.push(i.title||t),e<l.length-1&&i.properties&&"function"!=typeof i.properties)n=i.properties;else if(e<l.length-1){for(let t=e+1;t<l.length;t++)r.push(l[t]);break}}return r}function ew(e,t){let l,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[e],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=this._metaNodeCache.get(t);if(i)return i.paths=r,i.parentTitles=n.length>0?n:void 0,i;let a=e=>{if(!e)return{disabled:!1,hidden:!1};let t="function"==typeof e.disabled?e.disabled():e.disabled,l="function"==typeof e.disabledReason?e.disabledReason():e.disabledReason,r="function"==typeof e.hidden?e.hidden():e.hidden;return{disabled:!(t&&"function"==typeof t.then)&&!!t,reason:l&&"function"==typeof l.then?void 0:l,hidden:!(r&&"function"==typeof r.then)&&!!r}};if("function"==typeof t){let i=e,s=t.hasChildren;l={name:e,title:t.title||i,type:"object",interface:void 0,options:void 0,uiSchema:void 0,paths:r,parentTitles:n.length>0?n:void 0,disabled:()=>{let e=t();return(!e||"function"!=typeof e.then)&&a(e).disabled},disabledReason:()=>{let e=t();if(!e||"function"!=typeof e.then)return a(e).reason},hidden:()=>{let e=t();return(!e||"function"!=typeof e.then)&&a(e).hidden},children:!1===s?void 0:async()=>{try{let i=await t(),a=(null==i?void 0:i.title)||e;if(l.title=a,l.type=null==i?void 0:i.type,l.interface=null==i?void 0:i.interface,l.options=null==i?void 0:i.options,l.uiSchema=null==i?void 0:i.uiSchema,!(null==i?void 0:i.properties))return[];let s=(0,o._)(this,eo,em).call(this,i.properties,r,[...n,a],i),d=Array.isArray(s)?s:await s();return l.children=d,d}catch(t){return console.warn(`Failed to load meta for ${e}:`,t),[]}}}}else{let i=t.title,{disabled:s,reason:d,hidden:u}=a(t);l={name:e,title:i,type:t.type,interface:t.interface,options:t.options,uiSchema:t.uiSchema,paths:r,parentTitles:n.length>0?n:void 0,disabled:s,disabledReason:d,hidden:u,children:t.properties?(0,o._)(this,eo,em).call(this,t.properties,r,[...n,i],t):void 0}}return this._metaNodeCache.set(t,l),l}class eS extends ef{constructor(){super(),this.defineMethod("getModel",(e,t)=>this.engine.getModel(e,t)),this.defineMethod("request",function(e){let t=this.app;return"string"==typeof(null==e?void 0:e.url)&&ee(e.url,t)?u.A.request(e):this.api.request(e)}),this.defineMethod("runjs",async function(e,t,l){let{preprocessTemplates:r,...n}=l||{},i={...(null==n?void 0:n.globals)||{},...t||{}},o=await this.createJSRunner({...n||{},globals:i}),a=(0,k.RU)({version:null==n?void 0:n.version,preprocessTemplates:r}),s=await (0,P.ji)(String(e??""),{preprocessTemplates:a});return o.run(s)},{description:"Execute a RunJS code string in the current Flow context.",detail:"(code: string, variables?: Record<string, any>, options?: JSRunnerOptions) => Promise<RunJSResult>",params:[{name:"code",type:"string",description:"RunJS code to execute."},{name:"variables",type:"Record<string, any>",optional:!0,description:"Additional globals."},{name:"options",type:"JSRunnerOptions",optional:!0,description:"Runner options."}],returns:{type:"Promise<{ success: boolean; value?: any; error?: any; timeout?: boolean }>"},completion:{insertText:"await ctx.runjs('return 1')"}})}}class eA extends eS{}let eM=["dataSourceKey","collectionName","associationName","filterByTk","sourceId","tabUid"];function eF(e,t){let l={};for(let r of t)void 0!==(null==e?void 0:e[r])&&(l[r]=e[r]);return l}function ek(e){return eF(e,eM)}function eC(e,t){for(let[l,r]of Object.entries(t))void 0===e[l]&&(e[l]=r)}class eP extends eS{constructor(e){if(!(e instanceof M.$))throw Error("Invalid FlowEngine instance");super(),(0,s._)(this,"engine",void 0),this.engine=e,this.engine=e;let t=new A.zA;t.setFlowEngine(this.engine);let r=new A.qS({key:"main",displayName:"Main"});t.addDataSource(r),this.defineProperty("engine",{value:this.engine,info:{description:"FlowEngine instance.",detail:"FlowEngine"}}),this.defineProperty("sql",{get:e=>new C.tP(e),cache:!1,info:{description:"SQL helper (FlowSQLRepository).",detail:"FlowSQLRepository"}}),this.defineProperty("dataSourceManager",{value:t,info:{description:"DataSourceManager instance.",detail:"DataSourceManager"}});let n=new F(this);this.defineMethod("t",(e,t)=>n.translate(e,t)),this.defineProperty("locale",{get:()=>{var e,t,l;return(null==(t=this.api)||null==(e=t.auth)?void 0:e.locale)||(null==(l=this.i18n)?void 0:l.language)},cache:!1,meta:Object.assign(()=>({type:"string",title:this.t("Current language"),sort:970}),{title:(0,P.MI)("Current language"),sort:970,hasChildren:!1})}),this.defineMethod("renderJson",function(e){return this.resolveJsonTemplate(e)});let i=async function(e,t){let l=(0,P.nN)(e),r=Object.keys(l||{});if(!r.length)return(0,P.M)(e,this);let n={};for(let e of r){let t=l[e]||[],r=this.getPropertyOptions(e),i=null==r?void 0:r.resolveOnServer;if(!0===i)n[e]=t;else if("function"==typeof i){let l=t.filter(e=>{try{return!!i(e)}catch(e){return!1}});l.length&&(n[e]=l)}}let i=Object.keys(n).length>0,o=e;if(i){let l=e=>{let t=(0,I.XU)(e);if(t)return t;try{var l,r,n,i,o,a,s,d,u,c,p,h,f;let t=null==e||null==(r=e.resource)||null==(l=r.getMeta)?void 0:l.call(r,"currentFilterByTk");if(null==t)return;let m=(null==e||null==(n=e.collection)?void 0:n.name)||(null==e||null==(c=e.resource)||null==(u=c.getResourceName)||null==(d=u.call(c))||null==(s=d.split)||null==(a=s.call(d,"."))||null==(o=a.slice)||null==(i=o.call(a,-1))?void 0:i[0]);if(!m)return;let g=(null==e||null==(p=e.collection)?void 0:p.dataSourceKey)||(null==e||null==(f=e.resource)||null==(h=f.getDataSourceKey)?void 0:h.call(f));return{collection:m,dataSourceKey:g,filterByTk:t}}catch(e){return}},r=async()=>{let e={};try{var t,l;let r=null==(t=(l=this)._getPropertiesMeta)?void 0:t.call(l);if(!r||"object"!=typeof r)return e;for(let[t,l]of Object.entries(r))if(n[t])try{let r;if("function"==typeof l){let e=l;r=await e()}else r=l;if(!r||"object"!=typeof r)continue;let i=r.buildVariablesParams;if("function"!=typeof i)continue;let o=await i(this);if(!o)continue;let a=n[t]||[],s=el(o,a);s&&("object"!=typeof s||Object.keys(s).length)&&(e[t]=s)}catch(e){}}catch(e){}return e},i=await r(),u={...i},c=n.view||[];if(!u.view&&c.some(e=>"record"===e||e.startsWith("record.")||e.startsWith("record["))){let e=(0,I.Cg)(this);e&&(u.view={record:e})}try{let e="formValues",t=n[e]||[];if(t.length){let r=new Set;for(let e of t){let t=er(e);t&&r.add(t)}let n=null==i?void 0:i[e],o=new Set;if(!n||"object"!=typeof n||Array.isArray(n)||et(n)||Object.keys(n).forEach(e=>o.add(e)),[...r].filter(e=>!o.has(e)).length){let r=l(this);if(r){let{generatedFields:l,generatedAppends:n}=en(t),i={...r,fields:l,appends:n},o=u[e];if(o&&"object"==typeof o&&!Array.isArray(o)&&!et(o)){for(let[t,l]of Object.entries(o))u[`${e}.${t}`]=l;delete u[e]}u[e]=i}}}}catch(e){}let p=Object.keys(u).length?(0,R.d)(this,u):void 0;if(!p){let t=Object.keys(n);if(t.length>0&&t.every(e=>{var t;return null==(t=this.getPropertyOptions(e))?void 0:t.serverOnlyWhenContextParams}))return(0,P.M)(e,this)}if(this.api){var a,s,d;try{let l=(0,E.pk)(this,(null==t?void 0:t.contractModelUid)??this.variableContractModelUid);o=await (0,E.o4)(this,{...l?{contractRd:l}:{},rd:(0,E.pk)(this,null==(a=this.model)?void 0:a.uid),template:e,contextParams:p||{}})}catch(t){null==(d=this.logger)||null==(s=d.warn)||s.call(d,{err:t},"variables:resolve failed, fallback to client-only"),o=e}}}return(0,P.M)(o,this)};this.defineMethod("resolveJsonTemplate",i),this.defineMethod("getVar",async function(e){let t=("string"==typeof e?e:String(e??"")).trim();if(t){if("ctx"!==t&&!t.startsWith("ctx."))throw Error(`ctx.getVar(path) expects an expression starting with "ctx.", got: "${t}"`);return this.resolveJsonTemplate(`{{ ${t} }}`)}},'Resolve a ctx expression value by path (expression starts with "ctx.").'),this.defineProperty("requirejs",{get:()=>{var e,t;return null==(t=this.app)||null==(e=t.requirejs)?void 0:e.requirejs}}),this.defineProperty("token",{get:()=>{var e,t;return null==(t=this.api)||null==(e=t.auth)?void 0:e.token},cache:!1,meta:Object.assign(()=>({type:"string",title:this.t("API Token"),sort:980}),{title:"API Token",sort:980,hasChildren:!1})}),this.defineProperty("role",{get:()=>{var e,t,l;let r=null==(t=this.api)||null==(e=t.auth)?void 0:e.role;if("__union__"!==r)return r;let n=null==(l=this.user)?void 0:l.roles;return Array.isArray(n)?n.map(e=>null==e?void 0:e.name).filter(e=>!!e):[]},cache:!1,meta:Object.assign(()=>({type:"string",title:this.t("Current role"),sort:990}),{title:(0,P.MI)("Current role"),sort:990,hasChildren:!1})}),this.defineProperty("urlSearchParams",{cache:!1,get:()=>{var e;let t=(null==(e=this.location)?void 0:e.search)||"",l=t.startsWith("?")?t.slice(1):t;return m().parse(l)||{}},meta:Object.assign(()=>({type:"object",title:this.t("URL search params"),sort:970,disabled:()=>{var e;let t=(null==(e=this.location)?void 0:e.search)||"",l=t.startsWith("?")?t.slice(1):t;return 0===Object.keys(m().parse(l)||{}).length},disabledReason:()=>this.t("The value of this variable is derived from the query string of the page URL. This variable can only be used normally when the page has a query string."),properties:async()=>{var e;let t=(null==(e=this.location)?void 0:e.search)||"",l=t.startsWith("?")?t.slice(1):t,r=m().parse(l)||{},n={};for(let e of Object.keys(r))n[e]={type:"string",title:e};return n}}),{title:(0,P.MI)("URL search params"),sort:970,hasChildren:!0})}),this.defineProperty("logger",{get:()=>this.engine.logger.child({module:"flow-engine"})}),this.defineProperty("auth",{get:()=>{var e,t,l,r,n,i;return{roleName:null==(t=this.api)||null==(e=t.auth)?void 0:e.role,locale:null==(r=this.api)||null==(l=r.auth)?void 0:l.locale,token:null==(i=this.api)||null==(n=i.auth)?void 0:n.token,user:this.user}},cache:!1}),this.defineProperty("date",{get:()=>{let e=t=>new Proxy({},{get:(l,r)=>{if("string"!=typeof r)return;let n=[...t,r];if(!(0,P.JE)(n))return;let i=(0,P.Vv)(n);return void 0!==i?i:e(n)}});return e(["date"])},cache:!1}),this.defineMethod("loadCSS",async e=>{let t=(0,P.i)(e);return new Promise((e,l)=>{if(document.querySelector(`link[href="${t}"]`))return void e(null);let r=document.createElement("link");r.rel="stylesheet",r.href=t,r.onload=()=>e(null),r.onerror=()=>l(Error(`Failed to load CSS: ${t}`)),document.head.appendChild(r)})},{description:"Load a CSS file by URL (browser only).",params:[{name:"href",type:"string",description:"CSS URL."}],returns:{type:"Promise<void>"},completion:{insertText:"await ctx.loadCSS('https://example.com/style.css')"},examples:["await ctx.loadCSS('https://example.com/style.css');"]}),this.defineMethod("requireAsync",async e=>{if((0,P.yp)(e))return this.loadCSS(e);let t=(0,P.i)(e,{raw:!0});return await U(this.requirejs,t)}),this.defineMethod("importAsync",async function(e){return(0,P.yp)(e)?this.loadCSS(e):await Q(this,e,{importer:W})}),this.defineMethod("createJSRunner",async function(e){try{let e=await Promise.resolve().then(l.bind(l,88828));"function"==typeof(null==e?void 0:e.setupRunJSContexts)&&await e.setupRunJSContexts()}catch(e){}let t=(null==e?void 0:e.version)||"v1",r=(0,_.B)(this),n=_.F.resolve(t,r)||eY,i=new n(this);i.defineMethod("t",(e,t)=>this.t(e,{ns:"runjs",...t}));let o={};try{var a,s,d,u,c,p,h,f;let e=(null==(d=this)||null==(s=d.api)||null==(a=s.auth)?void 0:a.locale)||(null==(c=this)||null==(u=c.i18n)?void 0:u.language)||(null==(p=this)?void 0:p.locale);o=(null==n||null==(h=n.getDoc)?void 0:h.length)?n.getDoc(e)||{}:(null==n||null==(f=n.getDoc)?void 0:f.call(n))||{}}catch(e){o={}}let m=ez(i,{doc:o}),g={};"u">typeof window&&(g.window=window,"u">typeof navigator&&(g.navigator=navigator)),"u">typeof document&&(g.document=document);let v={ctx:m,...g,...(null==e?void 0:e.globals)||{}},{timeoutMs:y}=e||{};return new k.I$({globals:v,timeoutMs:y})}),this.defineMethod("buildServerContextParams",function(e){return(0,R.d)(this,e)}),this.defineMethod("getAction",function(e){return this.engine.getAction(e)}),this.defineMethod("getActions",function(){return this.engine.getActions()}),this.defineMethod("getEvents",function(){return this.engine.getEvents()}),this.defineMethod("runAction",async function(e,t){let l=this.engine.getAction(e),r=await (0,D.v)(this,l);if(!l)throw Error(`Action '${e}' not found.`);let n={...await (0,P.gG)(l.defaultParams,r)||{},...t||{}},i=l.useRawParams;if("function"==typeof i&&(i=await i(r)),i||(n=await r.resolveJsonTemplate(n)),!l.handler)throw Error(`Action '${e}' has no handler.`);return l.handler(r,n)}),this.defineProperty("acl",{get:()=>new x(this.engine)}),this.defineMethod("aclCheck",function(e){return!!this.skipAclCheck||this.acl.aclCheck(e)}),this.defineMethod("createResource",function(e){return this.engine.createResource(e,{context:this.createProxy()})}),this.defineMethod("makeResource",function(e){return this.engine.createResource(e,{context:this.createProxy()})}),this.defineMethod("initResource",function(e){return this.has("resource")||this.defineProperty("resource",{get:()=>this.createResource(e)}),this.resource}),this.defineMethod("useResource",function(e){return this.initResource(e)})}}class ej extends eA{constructor(e){if(!e||"object"!=typeof e)throw Error("Invalid FlowModel instance");super(),this.addDelegate(e.flowEngine.context),this.defineMethod("onRefReady",(e,t,l)=>{this.engine.reactView.onRefReady(e,t,l)}),this.defineProperty("model",{value:e,info:{description:"Current FlowModel instance.",detail:"FlowModel"}});let t=(0,g.createRef)();this.defineProperty("ref",{get:()=>(this.model._refCreated=!0,t),info:{description:"Stable React ref for the view container.",detail:"React.RefObject<HTMLDivElement>"}}),this.defineMethod("openView",async function(e,t){var l,r,n,i;let o={..."function"==typeof(null==(l=this.model)?void 0:l.getInputArgs)?ek(this.model.getInputArgs()):{},...ek(this.inputArgs)},a={...t||{}};eC(a,o),(a.defineProperties||a.defineMethods)&&(a.navigation=!1);let s=null;(s=await this.engine.loadModel({uid:e}))||(s=this.engine.createModel({uid:e,use:"PopupActionModel",parentId:this.model.uid,subType:"object",subKey:e,stepParams:{popupSettings:{openView:{...eF(a,["dataSourceKey","collectionName","associationName","mode","size"])}}}}),await s.save()),s.setParent(this.model);let d=(null==a?void 0:a.routeViewUid)??(null==a?void 0:a.viewUid)??((null==(n=s.stepParams)||null==(r=n.popupSettings)?void 0:r.openView)?s.uid:this.model.uid),u=this.view,c={type:(null==a?void 0:a.isMobileLayout)?"embed":(null==a?void 0:a.mode)||"drawer",inputArgs:{...a,viewUid:d,navigation:a.navigation},navigation:null==u?void 0:u.navigation,preventClose:!!(null==a?void 0:a.preventClose),engineCtx:this.engine.context};s.context.defineProperty("view",{value:c});let p=null==(i=s.getFlow)?void 0:i.call(s,"popupSettings"),h=null==p?void 0:p.on,f="click";"string"==typeof h&&h?f=h:h&&"object"==typeof h&&"string"==typeof h.eventName&&h.eventName&&(f=h.eventName),await s.dispatchEvent(f,{...a})}),this.defineMethod("getEvents",function(){return this.model.getEvents()}),this.defineMethod("getAction",function(e){return this.model.getAction(e)}),this.defineMethod("getActions",function(){return this.model.getActions()}),this.defineMethod("runAction",async function(e,t){let l=this.model.getAction(e),r=await (0,D.v)(this,l);if(!l)throw Error(`Action '${e}' not found.`);let n={...await (0,P.gG)(l.defaultParams,r)||{},...t||{}},i=l.useRawParams;if("function"==typeof i&&(i=await i(r)),i||(n=await r.resolveJsonTemplate(n)),!l.handler)throw Error(`Action '${e}' has no handler.`);return l.handler(r,n)})}}class eE extends eA{constructor(e,t){if(!e||"object"!=typeof e)throw Error("Invalid FlowModel instance");super(),(0,s._)(this,"master",void 0),(0,s._)(this,"fork",void 0),this.master=e,this.fork=t,this.addDelegate(this.master.context),this.defineMethod("onRefReady",(e,t,l)=>{this.engine.reactView.onRefReady(e,t,l)}),this.defineProperty("model",{get:()=>this.fork,info:{description:"Current ForkFlowModel instance (as model).",detail:"ForkFlowModel"}});let l=(0,g.createRef)();this.defineProperty("ref",{get:()=>(this.fork._refCreated=!0,l),info:{description:"Stable React ref for the view container.",detail:"React.RefObject<HTMLDivElement>"}})}}class eR extends eA{_getOwnProperty(e){if("runtime"===this.mode)return super._getOwnProperty(e,this.createProxy());let t=this._props[e];if(t){if("value"in t)return S.create()[e];if(t.get){if(!1===t.cache)return S.create()[e];let l=t.observable?"_observableCache":"_cache";return e in this[l]||(this[l][e]=S.create()[e]),this[l][e]}}}exit(){throw new j.zz(this.flowKey,this.model.uid)}exitAll(){throw new j.zz(this.flowKey,this.model.uid)}get mode(){return this._mode}constructor(e,t,l="runtime"){var r,n;super(),(0,s._)(this,"model",void 0),(0,s._)(this,"flowKey",void 0),(0,s._)(this,"_mode",void 0),(0,s._)(this,"stepResults",void 0),this.model=e,this.flowKey=t,this._mode=l,this.stepResults={},this.addDelegate(this.model.context);let i=null==(n=e.getFlow)||null==(r=n.call(e,t))?void 0:r.model;i&&i.uid!==e.uid&&this.defineProperty("variableContractModelUid",{value:i.uid}),this.defineMethod("getStepParams",l=>e.getStepParams(t,l)||{}),this.defineMethod("setStepParams",(l,r)=>e.setStepParams(t,l,r)),this.defineMethod("getStepResults",e=>h().get(this.steps,[e,"result"])),this.defineMethod("initResource",t=>{e.context.has("resource")?console.log(`[FlowRuntimeContext] useResource - resource already defined in context: ${t}`):(e.context.defineProperty("resource",{get:()=>this.makeResource(t)}),e.resource||(e.resource=e.context.resource))}),this.defineMethod("useResource",e=>this.initResource(e)),this.defineProperty("resource",{get:()=>e.resource||e.context.resource,cache:!1}),this.defineMethod("onRefReady",(e,t,l)=>{this.engine.reactView.onRefReady(e,t,l)})}}let eT=new WeakMap,eI=new WeakMap,e_=new WeakMap;function eD(e,t){if(null===t)return;if(Array.isArray(e)||Array.isArray(t)||"object"!=typeof e||"object"!=typeof t)return t??e;let l={...e};for(let r of Object.keys(t)){let n=eD(null==e?void 0:e[r],t[r]);void 0===n?delete l[r]:l[r]=n}return l}function eN(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function eO(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}function e$(e){return!0===e||(e&&eN(e)?e:void 0)}function eB(e,t,l){if(!Array.isArray(t)||!t.length)return;let r=e;for(let e of t){if(!e)return;r.children=r.children||{},r.children[e]=r.children[e]||{},r=r.children[e]}r.deprecated=l}function eL(e,t){void 0!==t.deprecated&&(e.deprecated=t.deprecated);let l=t.children||{},r=Object.keys(l);if(r.length)for(let t of(e.children=e.children||{},r))e.children[t]=e.children[t]||{},eL(e.children[t],l[t])}function eq(e){let t={};if(!e)return t;let l=(e,r)=>{if(eN(e))for(let[n,i]of Object.entries(e)){if(!n||!i||"object"!=typeof i||Array.isArray(i))continue;let e=i,o=e$(e.deprecated);o&&eB(t,[...r,n],o),eN(e.properties)&&l(e.properties,[...r,n])}},r=e=>{if(eN(e))for(let[l,r]of Object.entries(e)){if(!l||!r||"object"!=typeof r||Array.isArray(r))continue;let e=e$(r.deprecated);e&&eB(t,[l],e)}};return l(e.properties,[]),r(e.methods),t}function eV(e){let t={},l=new WeakSet,r=(e,l)=>{if(eN(l))for(let[n,i]of Object.entries(l)){if(!n||"string"==typeof i||!i||"object"!=typeof i||Array.isArray(i))continue;let l=i,o=e$(l.deprecated);o&&eB(t,[...e,n],o),eN(l.properties)&&r([...e,n],l.properties)}},n=e=>{if(!e||"object"!=typeof e&&"function"!=typeof e||l.has(e))return;l.add(e);let i=e._methodInfos;if(eN(i))for(let[e,l]of Object.entries(i)){if(!e||!l||"object"!=typeof l||Array.isArray(l))continue;let r=e$(l.deprecated);r&&eB(t,[e],r)}let o=e._props;if(eN(o))for(let[e,l]of Object.entries(o)){if(!e)continue;let n=null==l?void 0:l.info;if(!n||"object"!=typeof n||Array.isArray(n))continue;let i=e$(n.deprecated);i&&eB(t,[e],i),eN(n.properties)&&r([e],n.properties)}let a=e._delegates;if(Array.isArray(a))for(let e of a)n(e)};return n(e),t}function ez(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=eq(t.doc);eL(l,eV(e));let r=new Set,n=new WeakMap,i=new WeakMap,o=new WeakMap,a=e=>{if(!e||"string"!=typeof e)return{};let t=2;for(let l of e.split("\n")){if(!l)continue;let e=l.match(/<anonymous>:(\d+):(\d+)/);if(!e)continue;let r=Number(e[1]),n=Number(e[2]);return{line:Number.isFinite(r)&&r>t?r-t:r,column:Number.isFinite(n)?n:void 0,rawLine:r,rawColumn:n}}return{}},s=(e,t)=>{if(eN(t))for(let[r,n]of Object.entries(t)){if(!r||"string"==typeof n||!n||"object"!=typeof n||Array.isArray(n))continue;let t=n,i=e$(t.deprecated);i&&eB(l,[...e,r],i),eN(t.properties)&&s([...e,r],t.properties)}},d=(e,t)=>{if(!e)return;let r=null==t?void 0:t.info;if(!r||"object"!=typeof r||Array.isArray(r))return;let n=e$(r.deprecated);n&&eB(l,[e],n),eN(r.properties)&&s([e],r.properties)},u=(e,t)=>{if(!e||!t||"object"!=typeof t||Array.isArray(t))return;let r=e$(t.deprecated);r&&eB(l,[e],r)},c=e=>{let t=e;for(;t&&("object"==typeof t||"function"==typeof t);){let e=n.get(t);if(!e)break;t=e}return t},p=e=>{if(e){if("string"==typeof e)return e.trim()||void 0;if(Array.isArray(e)){let t=e.map(e=>"string"==typeof e?e.trim():"").filter(Boolean);return t.length?t.join(", "):void 0}}},h=(t,l,n)=>{if(!t||r.has(t))return;r.add(t);let i=null==e?void 0:e.logger,o="function"==typeof(null==e?void 0:e.t)?(t,l)=>e.t(t,{ns:[P.u4,"client"],nsMode:"fallback",...l}):(e,t)=>{let l=(null==t?void 0:t.defaultValue)??e;return"string"==typeof l&&t?l.replace(/\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/g,(e,l)=>{let r=null==t?void 0:t[l];return"string"==typeof r||"number"==typeof r?String(r):""}):l},s="object"==typeof l&&l?l:{},d=p(s.replacedBy),u="string"==typeof s.since?String(s.since):void 0,c="string"==typeof s.removedIn?String(s.removedIn):void 0,h="string"==typeof s.message?String(s.message):"",f=a(n),m=f.line?`(line ${f.line}${f.column?`:${f.column}`:""})`:"",g=h.trim(),v=g?o("RunJS deprecated warning with message",{defaultValue:"[RunJS][Deprecated] {{api}} {{message}}{{location}}",api:t,message:g,location:m}):o("RunJS deprecated warning",{defaultValue:"[RunJS][Deprecated] {{api}} is deprecated{{location}}",api:t,location:m}),y=o("RunJS deprecated separator",{defaultValue:"; "}),b=[v];d&&b.push(o("RunJS deprecated replacedBy",{defaultValue:"Use {{replacedBy}} instead",replacedBy:d})),u&&b.push(o("RunJS deprecated since",{defaultValue:"since {{since}}",since:u})),c&&b.push(o("RunJS deprecated removedIn",{defaultValue:"will be removed in {{removedIn}}",removedIn:c}));let x=b.filter(Boolean).join(y);try{i&&"function"==typeof i.warn?i.warn(x):console.warn(x)}catch(e){}},f=(e,t,l)=>{let n=t.deprecated;if(!n)return e;let i=o.get(e)||new Map;if(o.set(e,i),i.has(l))return i.get(l);let a=new Proxy(e,{apply(e,t,i){let o=r.has(l)?void 0:Error().stack;return h(l,n,o),Reflect.apply(e,c(t),i)},get:(e,t,l)=>Reflect.get(e,t,l)});return i.set(l,a),a},m=(e,t,l)=>{if(!e||"object"!=typeof e&&"function"!=typeof e||eO(e)||!(t.children&&Object.keys(t.children).length>0)&&"ctx"!==l)return e;let o=i.get(e)||new Map;if(i.set(e,o),o.has(l))return o.get(l);let a=new Proxy(e,{get(e,n,i){var o;if("symbol"==typeof n)return Reflect.get(e,n,c(i));let a=String(n),s=Reflect.get(e,n,c(i));if("ctx"===l&&"defineProperty"===a&&"function"==typeof s)return function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let r=s(...t);try{d(String((null==t?void 0:t[0])??""),null==t?void 0:t[1])}catch(e){}return r};if("ctx"===l&&"defineMethod"===a&&"function"==typeof s)return function(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let r=s(...t);try{u(String((null==t?void 0:t[0])??""),null==t?void 0:t[2])}catch(e){}return r};let p=null==(o=t.children)?void 0:o[a];if(!p)return s;let g=`${l}.${a}`;if("function"==typeof s&&p.deprecated)return f(s,p,g);if(p.deprecated){let e=r.has(g)?void 0:Error().stack;h(g,p.deprecated,e)}return s&&("object"==typeof s||"function"==typeof s)&&p.children?m(s,p,g):s},has:(e,t)=>Reflect.has(e,t)});return n.set(a,e),o.set(l,a),a};return m(e,l,"ctx")}function eK(e,t,l){if(!eN(t))return e;if(!eN(e))return t;let r={...e};for(let n of Object.keys(t)){let i=t[n];if(null===i){delete r[n];continue}let o=l(eN(e)?e[n]:void 0,i);void 0===o?delete r[n]:r[n]=o}return r}function eU(e,t){if(null===t)return;let l=eN(e),r=eN(t),n="string"==typeof e;if("string"==typeof t)return l?eU(e,{description:t}):t;if(r){let r=l?e:n?{description:e}:void 0,i={...r||{}};for(let e of Object.keys(t)){if("properties"===e){let e=t.properties;if(null===e){delete i.properties;continue}let l=eK(null==r?void 0:r.properties,e,eU);void 0===l?delete i.properties:i.properties=l;continue}let l=eD(null==r?void 0:r[e],t[e]);void 0===l?delete i[e]:i[e]=l}return i}return t??e}function eW(e,t){if(null===t)return;let l=eN(e),r=eN(t),n="string"==typeof e;if("string"==typeof t)return l?eW(e,{description:t}):t;if(r){let r=l?e:n?{description:e}:void 0,i={...r||{}};for(let e of Object.keys(t)){let l=eD(null==r?void 0:r[e],t[e]);void 0===l?delete i[e]:i[e]=l}return i}return t??e}function eH(e,t){let l=eN(e)?e:{},r=eN(t)?t:{},n={...l};for(let e of Object.keys(r)){if("properties"===e){let e=eK(l.properties,r.properties,eU);void 0===e?delete n.properties:n.properties=e;continue}if("methods"===e){let e=eK(l.methods,r.methods,eW);void 0===e?delete n.methods:n.methods=e;continue}let t=eD(l[e],r[e]);void 0===t?delete n[e]:n[e]=t}return n}class eY extends ef{[T.NH](e,t){var l,r,n,i,o;if("create"!==e.actionName.toLowerCase()||!t||Array.isArray(t)||Object.prototype.hasOwnProperty.call(t,"updateAssociationValues")||!this.form||"function"!=typeof(null==(l=this.blockModel)?void 0:l.submitFromRunJs))return t;let a=this.resource,s=null==a||null==(r=a.getResourceName)?void 0:r.call(a),d=(null==a||null==(n=a.getDataSourceKey)?void 0:n.call(a))||"main";if(e.resourceName!==s||(e.dataSourceKey||"main")!==d)return t;let u=null==a||null==(i=a.getSourceId)?void 0:i.call(a);if((null==s?void 0:s.includes("."))&&null!=u&&String(e.resourceOf??"")!==String(u))return t;let c=null==a||null==(o=a.getUpdateAssociationValues)?void 0:o.call(a);return Array.isArray(c)&&0!==c.length?{...t,updateAssociationValues:[...c]}:t}exit(){var e;throw new j.zz(this.flowKey,(null==(e=this.model)?void 0:e.uid)||"runjs")}exitAll(){var e;throw new j.zz(this.flowKey,(null==(e=this.model)?void 0:e.uid)||"runjs")}static define(e,t){let l=null==t?void 0:t.locale;if(l){let t=eI.get(this)||new Map,r=t.get(l)||{};t.set(l,eH(r,e)),eI.set(this,t)}else{let t=eT.get(this)||{};eT.set(this,eH(t,e))}e_.delete(this)}static getDoc(e){let t=this,l=e_.get(t),r=String(e||"default");if(l&&l.has(r))return l.get(r);let n=[],i=t;for(;i&&i.prototype;)n.unshift(i),i=Object.getPrototypeOf(i);let o={};for(let e of n)o=eH(o,eT.get(e)||{});if(e)for(let t of n){let l=eI.get(t);l&&l.has(e)&&(o=eH(o,l.get(e)))}return l||(l=new Map,e_.set(t,l)),l.set(r,o),o}constructor(e){var t,l;super(),this.addDelegate(e);let r=null==(l=e.blockModel)||null==(t=l.submitFromRunJs)?void 0:t.bind(e.blockModel);e.form&&r&&this.defineProperty("form",{value:{...e.form,submit:r}}),this.defineProperty("React",{value:g}),this.defineProperty("antd",{value:c}),this.defineProperty("dayjs",{value:O()});let n={...y,createRoot:(e,t)=>{let l=(null==e?void 0:e.__el)||e;return this.engine.reactView.createRoot(l,t)}};n.__nbRunjsInternalShim=!0,this.defineProperty("ReactDOM",{value:n}),(0,$.oJ)(this),this.defineMethod("openView",async function(t,l){let r=e.openView;if("function"!=typeof r)throw Error("ctx.openView is not available in current context.");let n=(0,P.cg)(l);return r(t,n?{...l||{},[P.sU]:n}:l)}),this.defineMethod("render",function(e,t){let l=t||this.element;if(!l)throw Error("ctx.render: container not provided and ctx.element is not available");let r=(null==l?void 0:l.__el)||l,n=globalThis;n.__nbRunjsRoots=n.__nbRunjsRoots||new WeakMap;let i=n.__nbRunjsRoots,o=e=>{if(!e)return;if(e.disposeTheme&&"function"==typeof e.disposeTheme){try{e.disposeTheme()}catch(e){}e.disposeTheme=void 0}let t=e.root||e;if(t&&"function"==typeof t.unmount)try{t.unmount()}catch(e){}},a=()=>{let e=i.get(r);e&&(o(e),i.delete(r))};if("string"==typeof e)return a(),new b.x(r).innerHTML=String(e??""),null;if(e&&e.nodeType&&(1===e.nodeType||3===e.nodeType||11===e.nodeType)){for(a();r.firstChild;)r.removeChild(r.firstChild);return r.appendChild(e),null}let s=this.ReactDOM,d=this,u=i.get(r);return u&&u.rendererKey===s&&u.ownerKey===d||(u&&(o(u),i.delete(r)),u={rendererKey:s,ownerKey:d,root:this.ReactDOM.createRoot(r),disposeTheme:void 0,lastVnode:void 0},i.set(r,u)),(0,$.$B)({ctx:this,entry:u,vnode:e,containerEl:r,rootMap:i,unmountContainerRoot:a,internalReact:g,internalAntd:c})})}}},48910(e,t,l){l.d(t,{$:()=>eD});var r=l(88243),n=l(16213),i=l(50467);l(72713),l(25779),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(45336),l(23446),l(69861),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(79936),l(5409),l(89773),l(14324),l(34678);var o=l(95243),a=l(2543),s=l.n(a),d=l(81318),u=l.n(d),c=l(64171);class p extends c.Z{getAction(e){return this.actions.get(e)}getActions(){return new Map(this.actions)}}var h=l(26955);class f extends h.L{getEvent(e){return this.events.get(e)}getEvents(){return new Map(this.events)}}var m=l(29007),g=l(60182),v=l(31108),y=l(88439),b=l(62572);class x{async emitModelEventIf(e,t,l){e&&await this.engine.emitter.emitAsync(`model:event:${e}:${t}`,l)}async withApplyFlowCache(e,t){if(!e||!this.engine)return await t();let l=this.engine.applyFlowCache.get(e);if(l){if("resolved"===l.status)return l.data;if("rejected"===l.status)throw l.error;if("pending"===l.status)return await l.promise}let r=t().then(t=>(this.engine.applyFlowCache.set(e,{status:"resolved",data:t,promise:Promise.resolve(t)}),t)).catch(t=>{throw this.engine.applyFlowCache.set(e,{status:"rejected",error:t,promise:Promise.reject(t)}),t});return this.engine.applyFlowCache.set(e,{status:"pending",promise:r}),await r}async runFlow(e,t,l,r,n){var i;let o,a=e.getFlow(t);if(!a)return e.context.logger.error(`BaseModel.applyFlow: Flow with key '${t}' not found.`),Promise.reject(Error(`Flow '${t}' not found.`));let d=new m.W5(e,t);d.defineProperty("reactView",{value:e.reactView}),d.defineProperty("inputArgs",{value:{...l}}),d.defineProperty("runId",{value:r||`run-${Date.now()}`});let u=d.stepResults,c=e.getEvent("string"==typeof a.on?a.on:null==(i=a.on)?void 0:i.eventName);c&&((c={...c}).defaultParams={...s().get(a,"on.defaultParams",{}),...c.defaultParams});let p=c?{eventStep:c,...a.steps}:a.steps;(0,y.w)(d,p,e,t);let h=d.steps,f={uid:e.uid,model:e,runId:d.runId,inputArgs:l,flowKey:t};for(let[l,r]of(await this.emitModelEventIf(n,`flow:${t}:start`,f),Object.entries(p))){let i,a,s={},c=r.useRawParams;if(r.use){let n=e.getAction(r.use);if(!n){d.logger.error(`BaseModel.applyFlow: Action '${r.use}' not found for step '${l}' in flow '${t}'. Skipping.`);continue}a=await (0,b.v)(d,{...n,...r}),i=r.handler||n.handler,c=c??n.useRawParams;let o=await (0,g.gG)(n.defaultParams,a),u=await (0,g.gG)(r.defaultParams,a);s={...o,...u}}else{if(!r.handler)continue;a=await (0,b.v)(d,r),i=r.handler,s={...await (0,g.gG)(r.defaultParams,a)}}let p=e.getStepParams(t,l);void 0!==p&&(s={...s,...p}),"function"==typeof c&&(c=await c(a)),c||(s=await a.resolveJsonTemplate(s));try{if(!i){d.logger.error(`BaseModel.applyFlow: No handler available for step '${l}' in flow '${t}'. Skipping.`);continue}await this.emitModelEventIf(n,`flow:${t}:step:${l}:start`,{...f,stepKey:l});let e=i(a,s);o=!1!==r.isAwait?await e:e,u[l]=o,h[l].result=u[l],await this.emitModelEventIf(n,`flow:${t}:step:${l}:end`,{...f,result:o,stepKey:l})}catch(e){if(e instanceof g.sy||e instanceof v.zz||await this.emitModelEventIf(n,`flow:${t}:step:${l}:error`,{...f,error:e,stepKey:l}),e instanceof g.sy)return d.logger.info(`[FlowEngine] ${e.message}`),await this.emitModelEventIf(n,`flow:${t}:step:${l}:end`,{...f,stepKey:l}),await this.emitModelEventIf(n,`flow:${t}:end`,{...f,result:u}),Promise.resolve(u);if(e instanceof v.zz)return d.logger.info(`[FlowEngine] ${e.message}`),await this.emitModelEventIf(n,`flow:${t}:step:${l}:end`,{...f,stepKey:l,aborted:!0}),await this.emitModelEventIf(n,`flow:${t}:end`,{...f,result:e,aborted:!0}),Promise.resolve(e);return await this.emitModelEventIf(n,`flow:${t}:error`,{...f,error:e}),d.logger.error({err:e},`BaseModel.applyFlow: Error executing step '${l}' in flow '${t}':`),Promise.reject(e)}}return await this.emitModelEventIf(n,`flow:${t}:end`,{...f,result:u}),Promise.resolve(u)}async dispatchEvent(e,t,l,r){var n,i,o,a;let s="beforeRender"===t,d=!!(null==r?void 0:r.sequential),u=!!(null==r?void 0:r.useCache),c=s,p=`${e.uid}-${t}-${Date.now()}`,h=e.context.logger,f={uid:e.uid,model:e,runId:p,inputArgs:l};try{await this.emitModelEventIf(t,"start",f),await (null==(n=e.onDispatchEventStart)?void 0:n.call(e,t,r,l))}catch(n){if(s&&n instanceof g.sy)return h.debug(`[FlowModel.dispatchEvent] ${n.message}`),[];try{await (null==(i=e.onDispatchEventError)?void 0:i.call(e,t,r,l,n))}finally{h.error({err:n},`BaseModel.dispatchEvent: Start hook error for event '${t}'`)}if(c)throw n;return}let m=s?e.getEventFlows("beforeRender"):Array.from(e.getFlows().values()).filter(e=>{let l=e.on;return!!l&&("string"==typeof l?l===t:"object"==typeof l&&l.eventName===t)}),y="click"===t&&(null==l?void 0:l.triggerByRouter)===!0?m.filter(e=>{var t;let l=e.flowRegistry;return"instance"!==(null==l||null==(t=l.constructor)?void 0:t._type)}):m,b=[],x=async()=>{let r=!1;if(d){let n=y.map((e,t)=>({f:e,i:t})).slice().sort((e,t)=>{var l,r;let n=e.f.flowRegistry,i=t.f.flowRegistry,o=null==n||null==(l=n.constructor)?void 0:l._type,a=null==i||null==(r=i.constructor)?void 0:r._type,s=+("instance"!==o),d=+("instance"!==a);if(s!==d)return s-d;let u=e.f.sort??0,c=t.f.sort??0;return u!==c?u-c:e.i-t.i}).map(e=>e.f),i=[],o=new Map(n.filter(e=>{var t;let l=e.flowRegistry;return"instance"!==(null==l||null==(t=l.constructor)?void 0:t._type)}).map(e=>[e.key,e])),a=new Set,s=new Map;for(let[r,d]of(n.forEach((e,l)=>{let r=e.on,n="object"==typeof r?r:void 0;if(!n)return;let i=n.phase,d=n.flowKey,u=n.stepKey;if(!i||"beforeAllFlows"===i)return;let c=null;if("afterAllFlows"===i)c=`event:${t}:end`;else if("beforeFlow"===i||"afterFlow"===i)if(d)if(o.get(String(d))){let e="beforeFlow"===i?"start":"end";c=`event:${t}:flow:${String(d)}:${e}`}else c=`event:${t}:end`;else c=`event:${t}:end`;else if("beforeStep"!==i&&"afterStep"!==i)return;else if(d&&u){var p;let e=o.get(String(d)),l=!!(null==e||null==(p=e.hasStep)?void 0:p.call(e,String(u)));if(e&&l){let e="beforeStep"===i?"start":"end";c=`event:${t}:flow:${String(d)}:step:${String(u)}:${e}`}else c=`event:${t}:end`}else c=`event:${t}:end`;if(!c)return;let h=c===`event:${t}:end`||"afterFlow"===i||"afterStep"===i;a.add(e.key);let f=s.get(c)||[];f.push({flow:e,order:l,shouldSkipOnAborted:h}),s.set(c,f)}),s.entries()))for(let n of d.slice().sort((e,t)=>{let l=e.flow.sort??0,r=t.flow.sort??0;return l!==r?l-r:e.order-t.order})){let o=n.shouldSkipOnAborted?Object.assign(e=>e.type===r&&!0!==e.aborted,{__eventType:r}):r,a=e.scheduleModelOperation(e.uid,async e=>{let r=await this.runFlow(e,n.flow.key,l,p,t);if(r instanceof v.zz)throw r;i.push(r)},{when:o});b.push(a)}for(let o of n)if(!a.has(o.key))try{h.debug(`BaseModel '${e.uid}' dispatching event '${t}' to flow '${o.key}' (sequential).`);let n=await this.runFlow(e,o.key,l,p,t);if(n instanceof v.zz){h.debug(`[FlowEngine.dispatchEvent] ${n.message}`),r=!0;break}i.push(n)}catch(e){if(e instanceof v.zz){h.debug(`[FlowEngine.dispatchEvent] ${e.message}`),r=!0;break}throw h.error({err:e},`BaseModel.dispatchEvent: Error executing event-triggered flow '${o.key}' for event '${t}' (sequential):`),e}return{result:i,abortedByExitAll:r}}let n=(await Promise.all(y.map(async r=>{h.debug(`BaseModel '${e.uid}' dispatching event '${t}' to flow '${r.key}'.`);try{return await this.runFlow(e,r.key,l,p,t)}catch(e){if(h.error({err:e},`BaseModel.dispatchEvent: Error executing event-triggered flow '${r.key}' for event '${t}':`),c)throw e;return}}))).filter(e=>void 0!==e);return n.some(e=>e instanceof v.zz)&&(r=!0),{result:n,abortedByExitAll:r}},w=u?JSON.stringify(l??{}):"",S=u?eD.generateApplyFlowCacheKey(`event:${e.getFlowCacheScope(t)}:${w}`,t,e.uid):null;try{let{result:n,abortedByExitAll:i}=await this.withApplyFlowCache(S,x);try{await (null==(o=e.onDispatchEventEnd)?void 0:o.call(e,t,r,l,n))}catch(e){h.error({err:e},`BaseModel.dispatchEvent: End hook error for event '${t}'`)}return await this.emitModelEventIf(t,"end",{...f,result:n,...i?{aborted:!0}:{}}),n&&"object"==typeof n&&Object.defineProperty(n,"__abortedByExitAll",{value:i,configurable:!0}),n}catch(n){try{await (null==(a=e.onDispatchEventError)?void 0:a.call(e,t,r,l,n))}catch(e){}if(e.context.logger.error({err:n},`BaseModel.dispatchEvent: Error executing event '${t}' for model '${e.uid}':`),await this.emitModelEventIf(t,"error",{...f,error:n}),c)throw n}finally{for(let e of b)e()}}constructor(e){(0,i._)(this,"engine",void 0),this.engine=e}}var w=l(58587),S=l(18150),A=l(68238);l(23089),l(82855),l(17106),l(36792);var M=l(78880),F=l(18220),k=l(47674),C=l(21637),P=l(71021),j=l(84626),E=l(96540);l(32699);var R=l(74848),T=l(53619),I=l(92034),_=l(98393),D=l(22803),N=l(42443),O=l(88040),$=l(35710),B=l(18182),L=l(98892),q=l(33954),V=l(57084),z=l(94313),K=l(20616),U=l(52847);let W={marginLeft:32},H=(0,U.PA)(e=>{let{title:t,onChange:l,getDefaultValue:r,disabled:n,itemKey:i,...o}=e,[a,s]=(0,E.useState)(!1),d=(0,K.Db)();(0,E.useEffect)(()=>{let e=!1;return(async()=>{if(r)try{let t=await r();if(e||!t)return;let l=Object.entries(t);if(!l.length)return;let[n,i]=l[0];s(!!i)}catch(e){console.error(e)}})(),()=>{e=!0}},[r]);let u=e=>{s(e),null==l||l({[i]:e})},c=e=>{e.stopPropagation(),n||u(!a)};return(0,R.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",cursor:n?"not-allowed":"pointer"},onClick:c,children:[t,(0,R.jsx)(z.A,{size:"small",...o,checkedChildren:o.checkedChildren?d.t(o.checkedChildren):void 0,unCheckedChildren:o.unCheckedChildren?d.t(o.unCheckedChildren):void 0,checked:a,style:W,disabled:n})]})});var Y=l(36492);let G=(e,t)=>{for(let r of e){var l;if(String((null==r?void 0:r.key)??"")===t)return r;if(null==(l=r.children)?void 0:l.length){let e=G(r.children,t);if(e)return e}}},J=(e,t,l)=>{let r=t.maxDepth,n="number"==typeof t.arrayLimit?t.arrayLimit:1/0,i=t.mode??"stack",o=new Set,a=new Set,s=(e,t,d)=>{if(!e||t>r)return;let u=()=>{l(e,{depth:t,modelKey:d}),t>=r||Object.entries(e.subModels||{}).forEach(e=>{let[l,r]=e;if(Array.isArray(r)){let e=Number.isFinite(n)?Math.min(r.length,n):r.length;for(let n=0;n<e;n++){let e=r[n];e instanceof q.WD&&s(e,t+1,`${l}[${n}]`)}return}r instanceof q.WD&&s(r,t+1,l)})};if("visited"===i){if(o.has(e))return;o.add(e),u();return}let c=e.uid||`temp-${Date.now()}`;if(!a.has(c)){a.add(c);try{u()}finally{a.delete(c)}}};s(e,1)},X=(e,t)=>{var l;if(!e||!t||"string"!=typeof t)return console.warn("Invalid input parameters"),null;let r=t.match(/^([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\[(\d+)\])?$/);if(!r)return console.warn(`Invalid subModelKey format: ${t}`),null;let[,n,i]=r,o=null==(l=e.subModels)?void 0:l[n];if(!o)return console.warn(`SubModel '${n}' not found`),null;if(void 0!==i){let e=parseInt(i,10);return Array.isArray(o)?e<0||e>=o.length?(console.warn(`Array index ${e} out of bounds for '${n}'`),null):o[e]instanceof q.WD?o[e]:null:(console.warn(`Expected array for '${n}', got ${typeof o}`),null)}return Array.isArray(o)?(console.warn(`Expected object for '${n}', got array`),null):o instanceof q.WD?o:null},Q={switch:H,select:function(e){let{title:t,getDefaultValue:l,onChange:r,options:n,fieldNames:i,itemKey:o,tooltip:a,...s}=e,[d,u]=(0,E.useState)(!1),[c,p]=(0,E.useState)(""),h=(0,K.Db)();(0,E.useEffect)(()=>{let e=!1;return(async()=>{if(l)try{let t=await l();if(e||!t)return;let r=Object.entries(t);if(!r.length)return;let[n,i]=r[0];p(i)}catch(e){console.error(e)}})(),()=>{e=!0}},[l]);let f=(0,E.useRef)(null),m=e=>{p(e),null==r||r({[o]:e})},g=(0,R.jsx)("span",{style:{whiteSpace:"nowrap",flexShrink:0},children:t});return(0,R.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},onClick:e=>{e.stopPropagation(),u(e=>!e)},onMouseLeave:()=>{f.current=setTimeout(()=>{u(!1)},200)},children:[a?(0,R.jsx)(N.A,{title:a,placement:"top",destroyTooltipOnHide:!0,children:g}):g,(0,R.jsx)(Y.A,{...s,open:d,popupMatchSelectWidth:!1,bordered:!1,value:c,onChange:m,popupClassName:`select-popup-${t.replaceAll(" ","-")}`,fieldNames:i,options:n,labelRender:e=>h.t(e.label),optionRender:e=>h.t(e.label),style:{textAlign:"right",minWidth:100},onMouseEnter:()=>{clearTimeout(f.current)},dropdownRender:e=>s.dropdownRender?s.dropdownRender(e,u,m):e})]})}},Z=e=>{let{title:t,uiMode:l,itemProps:r}=e,n=(null==l?void 0:l.type)||l,i=n?Q[n]:null,o=!!(null==r?void 0:r.disabled),a=null==r?void 0:r.disabledReason,s=null==r?void 0:r.disabledIconColor,d=i?(0,R.jsx)(i,{title:t,...r}):(0,R.jsx)(R.Fragment,{children:t});return o?(0,R.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[d,(0,R.jsx)(N.A,{title:a,placement:"right",destroyTooltipOnHide:!0,children:(0,R.jsx)(T.A,{style:{color:s}})})]}):d},ee=".nb-toolbar-container-icons",et=".nb-toolbar-container",el=(0,D.css)`
|
|
1448
1448
|
width: max-content;
|
|
1449
1449
|
min-width: max-content;
|
|
1450
1450
|
|
|
@@ -1817,7 +1817,7 @@ Please run: await ctx.importAsync("${l}") to ensure ctx.render uses a matching R
|
|
|
1817
1817
|
min-width: auto !important;
|
|
1818
1818
|
}
|
|
1819
1819
|
.variable-trigger-popover .ant-cascader-menus { width: fit-content !important; }
|
|
1820
|
-
`}),(0,h.jsx)(ls,{metaTree:n,onChange:d,open:!0,showSearch:!1,dropdownStyle:{boxShadow:"none",border:"none"},style:{display:"none"},children:(0,h.jsx)("div",{})})]}),open:a,trigger:"click",placement:"bottomLeft",onOpenChange:u,overlayClassName:"variable-trigger-popover",destroyTooltipOnHide:!0,children:(0,h.jsxs)("span",{...t,contentEditable:!1,style:{backgroundColor:"#e6f7ff",border:"1px dashed #1890ff",borderRadius:4,padding:"1px 4px",margin:"0 1px",cursor:"pointer",display:"inline-block",fontSize:"12px",color:"#1890ff",userSelect:"none"},"data-slate-void":!0,children:["{{}}",(0,h.jsx)("span",{style:{display:"none"},children:l})]})})},rU=e=>{let{value:t="",onChange:l,metaTree:r,multiline:n=!1,placeholder:i="输入文本,使用 {{ 插入变量",style:o={},...a}=e,s=(0,m.useMemo)(()=>{let e=(0,rB.o$)((0,rL.$k)((0,r$.ie)())),{isInline:t,isVoid:l}=e;return e.isInline=e=>"variable"===e.type||"variable-trigger"===e.type||t(e),e.isVoid=e=>"variable"===e.type||"variable-trigger"===e.type||l(e),e},[]),[d,u]=m.useState(null);m.useEffect(()=>{(async()=>{if(!r)return u(null);try{if("function"==typeof r){let e=await r();u(e)}else u(r)}catch(e){console.warn("Failed to resolve metaTree:",e),u(null)}})()},[r]);let c=(0,m.useCallback)(function(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(!t)return[{type:"paragraph",children:[{text:""}]}];let l=/\{\{[^}]+\}\}/g,r=0,n=[];for(;null!==(e=l.exec(t));){e.index>r&&n.push({text:t.slice(r,e.index)});let l=e[0],i=t1(l),o;n.push({type:"variable",value:l,meta:o,children:[{text:""}]}),r=e.index+e[0].length}return r<t.length&&n.push({text:t.slice(r)}),0===n.length&&n.push({text:""}),[{type:"paragraph",children:n}]},[d]),p=(0,m.useMemo)(()=>c(t||""),[t,c]),f=(0,m.useCallback)(e=>e.map(e=>r$.Hg.isElement(e)?"variable"===e.type?e.value:f(e.children):e.text).join(""),[]),g=(0,m.useCallback)(e=>{let t=f(e);null==l||l(t)},[l,f]),v=(0,m.useCallback)((e,t,l)=>{let[r]=r$.KE.nodes(s,{match:t=>r$.Hg.isElement(t)&&"variable-trigger"===t.type&&t.triggerId===e});if(r){let[,e]=r,n={type:"variable",value:t,meta:l,children:[{text:""}]};r$.gB.setNodes(s,n,{at:e});let i=r$.KE.after(s,e);i&&r$.gB.select(s,i),rB.rL.focus(s)}},[s]),y=(0,m.useCallback)(e=>{let[t]=r$.KE.nodes(s,{match:t=>r$.Hg.isElement(t)&&"variable-trigger"===t.type&&t.triggerId===e});if(t){let[,e]=t;r$.gB.select(s,e),r$.gB.removeNodes(s,{at:e}),r$.gB.insertText(s,"{{"),rB.rL.focus(s)}},[s]),b=(0,m.useCallback)(e=>{switch(e.element.type){case"variable":return(0,h.jsx)(rW,{...e,metaTree:d});case"variable-trigger":return(0,h.jsx)(rK,{...e,element:e.element,metaTree:r,onVariableSelect:v,onTriggerClose:y});default:return(0,h.jsx)("p",{...e.attributes,children:e.children})}},[r,d,v,y]),x=(0,m.useCallback)(e=>(0,h.jsx)("span",{...e.attributes,style:{fontWeight:e.leaf.bold?"bold":"normal"},children:e.children}),[]),w=(0,m.useCallback)(e=>{if("{"===e.key){let{selection:t}=s;if(t&&r$.Q6.isCollapsed(t)){let[l]=r$.Q6.edges(t),r=r$.KE.before(s,l);if(r){let t=r$.KE.range(s,r,l);if("{"===r$.KE.string(s,t)){e.preventDefault(),r$.gB.delete(s,{at:t});let l={type:"variable-trigger",triggerId:(0,A.uid)(),children:[{text:""}]};r$.gB.insertNodes(s,l)}}}}},[s]);return(0,h.jsx)(rB.A,{editor:s,initialValue:p,onChange:g,children:(0,h.jsx)(rB.Fo,{renderElement:b,renderLeaf:x,placeholder:i,onKeyDown:w,style:{minHeight:n?100:32,padding:"4px 11px",border:"1px solid #d9d9d9",borderRadius:6,fontSize:14,lineHeight:1.5714285714285714,...o},...a})})},rW=e=>{let{attributes:t,children:l,element:r,metaTree:n}=e,i=r,o=m.useMemo(()=>i.meta?i.meta:(n&&i.value&&t1(i.value),null),[i.meta,i.value,n]);return(0,h.jsxs)("span",{...t,contentEditable:!1,children:[(0,h.jsx)(rV,{value:i.value,metaTreeNode:o,metaTree:n,style:{marginLeft:2,marginRight:2,verticalAlign:"baseline",display:"inline-block"}}),l]})};var rH=l(61793),rY=l(76546);function rG(){return function(e){e.isLargeField=!0}}var rJ=l(63128),rX=l(91013),rQ=l(37966);function rZ(e){var t,l,r;return(null==e||null==(l=e.api)||null==(t=l.auth)?void 0:t.locale)||(null==e||null==(r=e.i18n)?void 0:r.language)||(null==e?void 0:e.locale)}function r0(e){var t,l;let{version:r="v1"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,rQ.B)(e),i=rQ.F.resolve(r,n)||rQ.F.resolve(r,"*"),o=rZ(e);return(null==i||null==(t=i.getDoc)?void 0:t.length)?i.getDoc(o)||{}:(null==i||null==(l=i.getDoc)?void 0:l.call(i))||{}}function r1(e){let t=(null==e?void 0:e.version)||"v1",l=(0,rQ.B)(this),r=e=>e,n=rQ.F.resolve(t,l)||rQ.F.resolve(t,"*");if(!n)throw Error("[RunJS] No RunJSContext registered for version/model.");let i=new n(r(this)),o={};try{var a,s;let e=rZ(this);o=(null==n||null==(a=n.getDoc)?void 0:a.length)?n.getDoc(e)||{}:(null==n||null==(s=n.getDoc)?void 0:s.call(n))||{}}catch(e){o={}}let d=(0,e0.Bt)(i,{doc:o}),u={};"u">typeof window&&(u.window=window,"u">typeof navigator&&(u.navigator=navigator)),"u">typeof document&&(u.document=document);let c={ctx:d,...u,...(null==e?void 0:e.globals)||{}},{timeoutMs:p}=e||{};return new rX.I$({globals:c,timeoutMs:p})}function r2(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=rQ.F.getMeta(t,e),r=null==l?void 0:l.scenes;return Array.isArray(r)?[...r]:[]}function r4(e){let{version:t="v1"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return r2((0,rQ.B)(e),t)}var r6=l(88828),r3=l(19258);let r5={"global/message-success":()=>l.e("3937").then(l.bind(l,75432)),"global/message-error":()=>l.e("3018").then(l.bind(l,19505)),"global/api-request":()=>l.e("7946").then(l.bind(l,66321)),"global/require-amd":()=>l.e("4222").then(l.bind(l,25789)),"global/import-esm":()=>l.e("6373").then(l.bind(l,25716)),"global/notification-open":()=>l.e("7876").then(l.bind(l,52191)),"global/window-open":()=>l.e("2203").then(l.bind(l,27142)),"global/open-view-drawer":()=>l.e("1676").then(l.bind(l,6551)),"global/open-view-dialog":()=>l.e("7211").then(l.bind(l,29846)),"global/query-selector":()=>l.e("2958").then(l.bind(l,93117)),"global/clipboard-copy-text":()=>l.e("754").then(l.bind(l,38937)),"scene/block/echarts-init":()=>l.e("2726").then(l.bind(l,37285)),"scene/block/render-react":()=>l.e("5501").then(l.bind(l,71868)),"scene/block/render-react-jsx":()=>l.e("5721").then(l.bind(l,91296)),"scene/block/render-antd-icons":()=>l.e("8434").then(l.bind(l,84953)),"scene/block/render-button-handler":()=>l.e("7201").then(l.bind(l,93512)),"scene/block/add-event-listener":()=>l.e("212").then(l.bind(l,97487)),"scene/block/chartjs-bar":()=>l.e("1310").then(l.bind(l,39101)),"scene/block/vue-component":()=>l.e("1725").then(l.bind(l,40812)),"scene/block/resource-example":()=>l.e("6738").then(l.bind(l,25481)),"scene/block/api-fetch-render-list":()=>l.e("8138").then(l.bind(l,26177)),"scene/block/render-info-card":()=>l.e("2555").then(l.bind(l,53494)),"scene/block/render-statistics":()=>l.e("1951").then(l.bind(l,47890)),"scene/block/render-timeline":()=>l.e("3727").then(l.bind(l,80626)),"scene/block/render-iframe":()=>l.e("8562").then(l.bind(l,25417)),"scene/detail/innerHTML-value":()=>l.e("700").then(l.bind(l,99287)),"scene/detail/format-number":()=>l.e("1786").then(l.bind(l,84529)),"scene/detail/color-by-value":()=>l.e("2898").then(l.bind(l,17689)),"scene/detail/copy-to-clipboard":()=>l.e("1425").then(l.bind(l,57064)),"scene/detail/status-tag":()=>l.e("8438").then(l.bind(l,7765)),"scene/detail/relative-time":()=>l.e("7021").then(l.bind(l,37420)),"scene/detail/percentage-bar":()=>l.e("5759").then(l.bind(l,73330)),"scene/detail/set-field-style":()=>l.e("7492").then(l.bind(l,40959)),"scene/form/render-basic":()=>l.e("6437").then(l.bind(l,29924)),"scene/form/set-field-value":()=>l.e("3989").then(l.bind(l,35876)),"scene/form/toggle-visible":()=>l.e("5761").then(l.bind(l,30008)),"scene/form/set-disabled":()=>l.e("4313").then(l.bind(l,66656)),"scene/form/set-required":()=>l.e("3662").then(l.bind(l,44637)),"scene/form/calculate-total":()=>l.e("2335").then(l.bind(l,74354)),"scene/form/conditional-required":()=>l.e("158").then(l.bind(l,37517)),"scene/form/cascade-select":()=>l.e("7959").then(l.bind(l,79242)),"scene/form/toggle-multiple-fields":()=>l.e("2017").then(l.bind(l,57768)),"scene/form/copy-field-values":()=>l.e("3117").then(l.bind(l,80236)),"scene/table/cell-open-dialog":()=>l.e("9836").then(l.bind(l,72103)),"scene/table/concat-fields":()=>l.e("2710").then(l.bind(l,27733)),"scene/table/collection-selected-count":()=>l.e("5064").then(l.bind(l,35803)),"scene/table/iterate-selected-rows":()=>l.e("8262").then(l.bind(l,86949)),"scene/table/destroy-selected":()=>l.e("3690").then(l.bind(l,92625)),"scene/table/export-selected-json":()=>l.e("6581").then(l.bind(l,56100)),"scene/table/set-cell-style":()=>l.e("9827").then(l.bind(l,10782))};function r8(e,t,l){if("string"!=typeof e||!e.trim())throw Error("[flow-engine] registerRunJSSnippet: ref must be a non-empty string");if("function"!=typeof t)throw Error("[flow-engine] registerRunJSSnippet: loader must be a function returning a Promise");let r=e.trim();return("function"!=typeof r5[r]||!!(null==l?void 0:l.override))&&(r5[r]=t,!0)}function r9(e){let t=e.split("/");return t[t.length-1]||e}function r7(e,t){if(Array.isArray(null==e?void 0:e.scenes)&&e.scenes.length)return e.scenes.map(e=>String(e).trim()).filter(e=>e.length>0);let l=t.split("/");return"scene"===l[0]&&l[1]?[l[1]]:[]}function ne(e){return({detailFieldEvent:"detail",tableFieldEvent:"table",formFieldEvent:"form"})[e]||e}function nt(e,t){let l=r7(e,t);if(l.length)return Array.from(new Set(l.map(e=>`scene/${ne(e)}`)));let r=t.split("/");if(!r.length)return[];let n=r[0];return"global"===n||"libs"===n?[n]:"scene"===n&&r.length>=2?[`${n}/${r[1]}`]:r.length>=2?[`${r[0]}/${r[1]}`]:[r[0]]}function nl(e,t){if(!t||!(null==e?void 0:e.locales))return{};let l=e.locales[t];if(l)return l;let r=t.toLowerCase();if(r!==t&&e.locales[r])return e.locales[r];let n=t.split("-")[0];if(n&&e.locales[n])return e.locales[n];if(n){let t=n.toLowerCase();if(e.locales[t])return e.locales[t]}return{}}async function nr(e){let t=r5[e];if("function"!=typeof t)throw Error(`[flow-engine] snippet not found: ${e}`);let l=await t(),r=null==l?void 0:l.default,n=(null==r?void 0:r.content)??(null==l?void 0:l.content)??(null==l?void 0:l.body)??"";return"string"==typeof n?n:String(n??"")}async function nn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=arguments.length>2?arguments[2]:void 0,r=[],n=new Set;"string"==typeof e&&e&&n.add(e);try{let l=rQ.F.resolve(t,e);(null==l?void 0:l.name)&&n.add(l.name)}catch(e){}return await Promise.all(Object.entries(r5).map(async i=>{let[o,a]=i;if("function"==typeof a)try{let i=await a(),s=(null==i?void 0:i.default)||{},d=(null==s?void 0:s.content)??(null==i?void 0:i.content);if("string"!=typeof d)return;let u=!0;if(Array.isArray(null==s?void 0:s.contexts)&&s.contexts.length){let t=s.contexts.map(e=>"*"===e?"*":"string"==typeof e?e:"function"==typeof e?e.name||"*":e&&"object"==typeof e&&"string"==typeof e.name?e.name:String(e??""));u="*"===e||t.includes("*")||t.some(e=>n.has(e))}if(u&&Array.isArray(null==s?void 0:s.versions)&&s.versions.length&&(u=s.versions.includes("*")||s.versions.includes(t)),!u)return;let c=nl(s,l),p=c.label||(null==s?void 0:s.label)||r9(o),h=c.description??(null==s?void 0:s.description),f=(null==s?void 0:s.prefix)||p,m=nt(s,o),g=r7(s,o);r.push({name:p,prefix:f,description:h,body:d,ref:o,group:m[0],groups:m,scenes:g})}catch(e){return}})),r}var ni=l(67778),no=l(16639),na=l(68161),ns=l(84471);l(96321),l(98837);class nd extends ns.j{saveFlow(e){}destroyFlow(e){this.removeFlow(e)}constructor(e={}){super(),this.addFlows(F().cloneDeep(e))}}function nu(e){let t={};for(let[l,r]of e.getFlows())t[l]=F().cloneDeep(r.toData());return t}function nc(e,t){for(let t of Array.from(e.getFlows().keys()))e.removeFlow(t);e.addFlows(F().cloneDeep(t))}var np=l(47451);function nh(e){let t=new s.$;e.modelRepository&&t.setModelRepository(e.modelRepository),t.context.addDelegate(e.context),t.unlinkFromStack=function(){let e=t._previousEngine,l=t._nextEngine;e&&(e._nextEngine=l),l&&(l._previousEngine=e),t._previousEngine=void 0,t._nextEngine=void 0};let l=new Set(["_modelInstances","_applyFlowCache","executor","context","previousEngine","nextEngine","unlinkFromStack","linkAfter","_previousEngine","_nextEngine","getModel"]),r={get(t,r,n){if(l.has(r))return Reflect.get(t,r,n);let i=Reflect.get(e,r,n);return"registerModels"===r&&"function"==typeof i?i.bind(e):i},set:(t,r,n)=>l.has(r)?Reflect.set(t,r,n):Reflect.set(e,r,n),has:(t,l)=>l in t||l in e};return t.linkAfter(e),new Proxy(t,r)}l(58149)},22505(e,t,l){l.d(t,{R:()=>i}),l(45336),l(84560);var r=l(74848),n=l(96540);function i(e){for(var t=arguments.length,l=Array(t>1?t-1:0),i=1;i<t;i++)l[i-1]=arguments[i];if(0===l.length){let t=(0,n.lazy)(()=>e().then(e=>({default:e.default})));return e=>(0,r.jsx)(n.Suspense,{fallback:null,children:(0,r.jsx)(t,{...e})})}return l.reduce((t,l)=>{let i=(0,n.lazy)(()=>e().then(e=>({default:e[l]})));return t[l]=e=>(0,r.jsx)(n.Suspense,{fallback:null,children:(0,r.jsx)(i,{...e})}),t},{})}},33954(e,t,l){l.d(t,{xI:()=>Q,WD:()=>q,jG:()=>el,NK:()=>B,B3:()=>er,yN:()=>k,_f:()=>V,WE:()=>X,bt:()=>en,oY:()=>z,yW:()=>et});var r=l(58587),n=l(18150),i=l(68238),o=l(50467);l(23089),l(82855),l(17106),l(36792),l(45336),l(23446),l(32699),l(79936),l(69861),l(34678),l(14324),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(89773),l(5409),l(91625);var a=l(74848),s=l(95243),d=l(2543),u=l.n(d),c=l(96540),p=l(38950),h=l(48036),f=l(96321),m=l(29007),g=l(60182),v=l(84359),y=l(11869),b=l(64171);class x extends b.Z{onActionRegistered(){this.changeMarker={}}getActions(){var e;let t=null==(e=this.parentRegistry)?void 0:e.getActions();if(this.mergedCache&&this.mergedCache.parentSnapshot===t&&this.mergedCache.localMarker===this.changeMarker)return this.mergedCache.mergedMap;let l=new Map(t??[]);for(let[e,t]of this.actions)l.set(e,t);return this.mergedCache={parentSnapshot:t,localMarker:this.changeMarker,mergedMap:l},l}getAction(e){var t;let l=this.actions.get(e);return l||(null==(t=this.parentRegistry)?void 0:t.getAction(e))}constructor(e,t){super(),(0,o._)(this,"modelClass",void 0),(0,o._)(this,"parentRegistry",void 0),(0,o._)(this,"changeMarker",{}),(0,o._)(this,"mergedCache",void 0),this.modelClass=e,this.parentRegistry=t??null}}var w=l(41594),S=l(26955);class A extends S.L{onEventRegistered(){this.changeMarker={}}getEvents(){var e;let t=null==(e=this.parentRegistry)?void 0:e.getEvents();if(this.mergedCache&&this.mergedCache.parentSnapshot===t&&this.mergedCache.localMarker===this.changeMarker)return this.mergedCache.mergedMap;let l=new Map(t??[]);for(let[e,t]of this.events)l.set(e,t);return this.mergedCache={parentSnapshot:t,localMarker:this.changeMarker,mergedMap:l},l}getEvent(e){var t;let l=this.events.get(e);return l||(null==(t=this.parentRegistry)?void 0:t.getEvent(e))}constructor(e,t){super(),(0,o._)(this,"modelClass",void 0),(0,o._)(this,"parentRegistry",void 0),(0,o._)(this,"changeMarker",{}),(0,o._)(this,"mergedCache",void 0),this.modelClass=e,this.parentRegistry=t??null}}var M=l(98837);l(58149);var F=new WeakMap;class k{static setSharedProperties(e){this.SHARED_PROPERTIES=[...e]}static getSharedProperties(){return[...this.SHARED_PROPERTIES]}get context(){return this["#flowContext"]||(this["#flowContext"]=new m.Hl(this.master,this)),this["#flowContext"]}getPropertyDescriptor(e,t){let l=e;for(;l;){let e=Object.getOwnPropertyDescriptor(l,t);if(e)return e;l=Object.getPrototypeOf(l)}}setProps(e,t){this.disposed||("string"==typeof e?this.localProps[e]=t:this.localProps={...this.localProps,...e})}clearProps(){return this.localProps={}}render(){if(this.disposed)return null;let e={...this.master.getProps(),...this.localProps},t=this.props;this.props=e;try{return this.master.render.call(this)}finally{this.props=t}}getFlowCacheScope(e){return`${String(e)}:${String(this.forkId)}`}dispose(){if(!this.disposed){this.disposed=!0;try{var e;let t=null==(e=this.flowEngine)?void 0:e.applyFlowCache;if(t&&t.size>0){let e=[`:${this.uid}`,`-${this.uid}`],l=`:${this.forkId}:`,r=`-${this.forkId}-`;for(let n of t.keys()){if(!(n.startsWith("event:")||n.startsWith("event-"))||!e.some(e=>n.endsWith(e)))continue;let i=n;for(let t of e)if(i.endsWith(t)){i=i.slice(0,-t.length);break}(i.includes(l)||i.includes(r))&&t.delete(n)}}}catch{}if(this.master&&this.master.forks&&this.master.forks.delete(this),this.master&&this.master.forkCache){let e=this.master.forkCache;for(let[t,l]of e.entries())if(l===this){e.delete(t);break}}}}getProps(){return{...this.master.getProps(),...this.localProps}}isSharedProperty(e){return k.SHARED_PROPERTIES.includes(e)}constructor(e,t={},l){return(0,o._)(this,"uid",void 0),(0,o._)(this,"isFork",!0),(0,o._)(this,"localProps",void 0),(0,o._)(this,"master",void 0),(0,o._)(this,"disposed",!1),(0,o._)(this,"forkId",void 0),(0,o._)(this,"localProperties",{}),(0,n._)(this,F,{writable:!0,value:void 0}),this.localProperties,this.master=e,this.uid=e.uid,this.localProps={...t},this.forkId=l||(0,p.L)(),this.hidden=this.master.hidden,(0,s.define)(this,{localProps:s.observable,hidden:s.observable,setProps:s.action}),new Proxy(this,{get:(e,t,l)=>{var r;if("disposed"===t)return e.disposed;if("constructor"===t)return e.master.constructor;if("props"===t)return{...e.master.getProps(),...e.localProps};if(t in e)return Reflect.get(e,t,l);if(Object.prototype.hasOwnProperty.call(e.localProperties,t))return e.localProperties[t];let n=null==(r=e.master)?void 0:r[t];if("function"==typeof n){let t=e.master.constructor;return(function(){for(var e=arguments.length,l=Array(e),r=0;r<e;r++)l[r]=arguments[r];let i=Object.create(this);return Object.defineProperty(i,"constructor",{value:t,configurable:!0,enumerable:!1,writable:!1}),n.apply(i,l)}).bind(l)}return n},set:(e,t,l,r)=>{if("props"===t)return!0;if(t in e)return Reflect.set(e,t,l,r);let n=String(t);if(k.SHARED_PROPERTIES.includes(n)){let n=this.getPropertyDescriptor(e.master,t);return n&&n.set?n.set.call(r,l):e.master[t]=l,!0}{let n=this.getPropertyDescriptor(e.master,t);return n&&n.set?n.set.call(r,l):e.localProperties[t]=l,!0}}})}}(0,o._)(k,"SHARED_PROPERTIES",["stepParams","sortIndex"]);let C=new WeakMap,P=new WeakMap,j=new WeakMap;function E(e,t){return"number"==typeof(null==e?void 0:e.sortIndex)&&Number.isFinite(e.sortIndex)?e.sortIndex:t+1}function R(e){return e.map((e,t)=>({item:e,index:t,sortIndex:E(e,t)})).sort((e,t)=>e.sortIndex-t.sortIndex||e.index-t.index).map(e=>{let{item:t}=e;return t})}let T=new WeakMap,I=new WeakMap,_=e=>[...e].sort((e,t)=>(e.sort??0)-(t.sort??0)),D=e=>null!==e,N=(e,t)=>{let{group:l,sort:r,prefix:n,path:i}=t;if(!e)return null;let o=e.group||l,a="number"==typeof e.sort?e.sort:r,s=_((e.children||[]).map((e,t)=>N(e,{group:o,sort:a,prefix:n,path:`${i}-${t}`})).filter(D));return{...e,key:e.key??`${n}-${o}-${i}`,group:o,sort:a,children:s.length?s:void 0}};async function O(){return(await Promise.resolve().then(l.bind(l,23183))).openStepSettingsDialog}async function $(){return(await Promise.resolve().then(l.bind(l,96332))).openRequiredParamsStepFormDialog}var B=function(e){return e.ReactElement="reactElement",e.RenderFunction="renderFunction",e}({}),L=new WeakMap;class q{renderHiddenInConfig(){var e,t;return(0,a.jsx)("span",{style:{opacity:.5},children:(null==(e=(t=this).translate)?void 0:e.call(t,"Hidden"))||"Hidden"})}renderOriginal(){return this._originalRender()}get context(){return(0,r._)(this,L)||(0,i._)(this,L,new m.d6(this)),(0,r._)(this,L)}on(e,t){this.emitter.on(e,t)}onInit(e){}async afterAddAsSubModel(){}get async(){return this._options.async||!1}get use(){return this._options.use}get subKey(){return this._options.subKey}get subType(){return this._options.subType}get reactView(){return this.flowEngine.reactView}get parentId(){return this._options.parentId}scheduleModelOperation(e,t,l){var r;return null==(r=this.flowEngine)?void 0:r.scheduleModelOperation(this,e,t,l)}static get meta(){return j.get(this)}static get globalFlowRegistry(){let e=this,t=T.get(e);return t||(t=new M.r(e),T.set(e,t)),t}static get actionRegistry(){let e=this,t=C.get(e);if(!t){let l=null,r=Object.getPrototypeOf(e);r&&r!==Function.prototype&&r!==Object.prototype&&(r===q||(0,g.FA)(r,q))&&(l=r.actionRegistry),t=new x(e,l),C.set(e,t)}return t}static get eventRegistry(){let e=this,t=P.get(e);if(!t){let l=null,r=Object.getPrototypeOf(e);r&&r!==Function.prototype&&r!==Object.prototype&&(r===q||(0,g.FA)(r,q))&&(l=r.eventRegistry),t=new A(e,l),P.set(e,t)}return t}static registerAction(e){this.actionRegistry.registerAction(e)}static registerActions(e){this.actionRegistry.registerActions(e)}static registerEvent(e){this.eventRegistry.registerEvent(e)}static registerEvents(e){this.eventRegistry.registerEvents(e)}static async buildChildrenFromModels(e,t){return Promise.all(t.map(t=>(0,w.Ls)(t,e,!0)))}get title(){var e;return this.translate(this._title)||this.translate(null==(e=this.constructor.meta)?void 0:e.label)}get extraTitle(){return this._extraTitle?this.translate(this._extraTitle):""}setTitle(e){this._title=e}setExtraTitle(e){this._extraTitle=e||""}setHidden(e){this.hidden=!!e}_createSubModels(e){let t=e||{};try{let l=this.constructor.meta,r=null==l?void 0:l.createModelOptions;if(r&&"object"==typeof r&&r.subModels){let l=(e,t)=>{if(Array.isArray(e)&&Array.isArray(t))return t};t=u().mergeWith({},u().cloneDeep(r.subModels||{}),u().cloneDeep(e||{}),l)}}catch(e){}Object.entries(t||{}).forEach(e=>{let[t,l]=e;Array.isArray(l)?R(l).forEach(e=>{this.addSubModel(t,e)}):this.setSubModel(t,l)})}invalidateFlowCache(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.flowEngine){let t=`event:${this.getFlowCacheScope(e||"beforeRender")}`,l=this.flowEngine.applyFlowCache;if(e){let r=t.replace(/:/g,"-"),n=[`:${this.uid}`,`-${this.uid}`],i=[`:${e}:`,`-${e}-`];for(let e of l.keys()){let o=e.startsWith(t)||e.startsWith(r),a=n.some(t=>e.endsWith(t)),s=i.some(t=>e.includes(t));o&&a&&s&&l.delete(e)}}else{let e=`${t}:`.replace(/:/g,"-"),r=[`${t}:`,e],n=[`:${this.uid}`,`-${this.uid}`];for(let e of l.keys()){let t=r.some(t=>e.startsWith(t)),i=n.some(t=>e.endsWith(t));t&&i&&l.delete(e)}}this.forks.forEach(t=>{var l;let r=`event:${(null==(l=t.getFlowCacheScope)?void 0:l.call(t,e||"beforeRender"))??String(t.forkId)}`,n=r.replace(/:/g,"-"),i=[`:${this.uid}`,`-${this.uid}`];if(e){let t=[`:${e}:`,`-${e}-`];for(let e of this.flowEngine.applyFlowCache.keys()){let l=e.startsWith(r)||e.startsWith(n),o=i.some(t=>e.endsWith(t)),a=t.some(t=>e.includes(t));l&&o&&a&&this.flowEngine.applyFlowCache.delete(e)}}else{let e=[`${r}:`,`${n}-`];for(let t of this.flowEngine.applyFlowCache.keys()){let l=e.some(e=>t.startsWith(e)),r=i.some(e=>t.endsWith(e));l&&r&&this.flowEngine.applyFlowCache.delete(t)}}})}if(t)for(let l of Object.keys(this.subModels)){let r=this.subModels[l];if(Array.isArray(r))for(let l of r)l.invalidateFlowCache(e,t);else r instanceof q&&r.invalidateFlowCache(e,t)}}setFlowEngine(e){}static define(e){j.set(this,e)}static registerFlow(e,t){let l=this;"string"==typeof e?l.globalFlowRegistry.addFlow(e,t):l.globalFlowRegistry.addFlow(e.key,e)}getFlow(e){return this.flowRegistry.hasFlow(e)?this.flowRegistry.getFlow(e):this.constructor.globalFlowRegistry.getFlow(e)}registerFlow(e,t){return"string"==typeof e?this.flowRegistry.addFlow(e,t):this.flowRegistry.addFlow(e.key,e)}getActions(){var e;let t=this.constructor.actionRegistry.getActions(),l=new Map,r=null==(e=this.flowEngine)?void 0:e.getActions();if(r)for(let[e,t]of r)l.set(e,t);for(let[e,r]of t)l.set(e,r);return l}getEvents(){var e;let t=this.constructor.eventRegistry.getEvents(),l=new Map,r=null==(e=this.flowEngine)?void 0:e.getEvents();if(r)for(let[e,t]of r)l.set(e,t);for(let[e,r]of t)l.set(e,r);return l}getEvent(e){var t;let l=this.constructor.eventRegistry.getEvent(e);return l||(null==(t=this.flowEngine)?void 0:t.getEvent(e))}getAction(e){var t;let l=this.constructor.actionRegistry.getAction(e);return l||(null==(t=this.flowEngine)?void 0:t.getAction(e))}getFlows(){let e=this.flowRegistry.getFlows(),t=this.constructor.globalFlowRegistry.getFlows(),l=new Set(e.keys()),r=Array.from(t.entries()).filter(e=>{let[t]=e;return!l.has(t)}),n=Array.from(e.entries()).map((e,t)=>({e,i:t}));return n.sort((e,t)=>{let l=e.e[1].sort??0,r=t.e[1].sort??0;return l!==r?l-r:e.i-t.i}),new Map([...n.map(e=>{let{e:t}=e;return t}),...r])}setProps(e,t){"string"==typeof e?this.props[e]=t:this.props={...this.props,...e},this._options.props={...this.props}}getProps(){return this.props}setStepParams(e,t,l){let r=!1;if("string"==typeof e){let i=e;if("string"==typeof t&&void 0!==l){var n;let e=(null==(n=this.stepParams[i])?void 0:n[t])||{},o={...e,...l};u().isEqual(e,o)||(this.stepParams[i]||(this.stepParams[i]={}),this.stepParams[i][t]=o,r=!0)}else if("object"==typeof t&&null!==t){let e=this.stepParams[i]||{},l={...e,...t};u().isEqual(e,l)||(this.stepParams[i]=l,r=!0)}}else if("object"==typeof e&&null!==e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let l=this.stepParams[t]||{},n={...l,...e[t]};u().isEqual(l,n)||(this.stepParams[t]=n,r=!0)}}r&&this.emitter.emit("onStepParamsChanged")}getStepParams(e,t){if(e&&t){var l;return null==(l=this.stepParams[e])?void 0:l[t]}return e?this.stepParams[e]:this.stepParams}async applyFlow(e,t,l){let r=this.flowEngine;if(!r)return console.warn("FlowEngine not available on this model for applyFlow. Check and model.flowEngine setup."),Promise.reject(Error("FlowEngine not available for applyFlow. Please set flowEngine on the model."));let n=!0===this.isFork,i=this;return r.logger.debug(`[FlowModel] applyFlow: uid=${this.uid}, flowKey=${e}, isFork=${n}, cleanRun=${this.cleanRun}, targetIsFork=${(null==i?void 0:i.isFork)===!0}`),r.executor.runFlow(i,e,t,l)}async _dispatchEvent(e,t,l){let r=this.flowEngine;if(!r)return void console.warn("FlowEngine not available on this model for dispatchEvent. Please set flowEngine on the model.");let n=!0===this.isFork,i=this;return r.logger.debug(`[FlowModel] dispatchEvent: uid=${this.uid}, event=${e}, isFork=${n}, cleanRun=${this.cleanRun}, targetIsFork=${(null==i?void 0:i.isFork)===!0}`),await r.executor.dispatchEvent(i,e,t,l)}async dispatchEvent(e,t,l){let r="beforeRender"===e,n=r?{sequential:!0,useCache:!0}:{sequential:!0},i={sequential:(null==l?void 0:l.sequential)??n.sequential,useCache:(null==l?void 0:l.useCache)??n.useCache};return(r&&(this._lastAutoRunParams=[t,i.useCache]),null==l?void 0:l.debounce)?this._dispatchEventWithDebounce(e,t,i):this._dispatchEvent(e,t,i)}getEventFlows(e){let t=this.getFlows(),l="beforeRender"===e,r=t=>{if(l){var r;return!0!==t.manual&&(!t.on||("string"==typeof t.on?"beforeRender"===t.on:(null==(r=t.on)?void 0:r.eventName)==="beforeRender"))}let n=t.on;return!!n&&("string"==typeof n?n===e:(null==n?void 0:n.eventName)===e)};return Array.from(t.values()).filter(r)}resetAutoRunState(){var e,t;null==(t=this._rerunLastAutoRun)||null==(e=t.cancel)||e.call(t),this._lastAutoRunParams=null}async onDispatchEventStart(e,t,l){}async onDispatchEventEnd(e,t,l,r){}async onDispatchEventError(e,t,l,r){}useHooksBeforeRender(){}shouldSkipReactiveWrapping(){return!!this.render.__isReactiveWrapped||"renderFunction"===this.constructor.renderMode}setupReactiveRender(){if("function"==typeof this.render)try{let e=this.render;if(this._originalRender=e,"function"!=typeof e)return void console.error(`FlowModel ${this.constructor.name}: original render method is not a function`,e);if(this.shouldSkipReactiveWrapping()){let t=function(){var t,l,r,n;let i=!!(null==(l=this)||null==(t=l.context)?void 0:t.flowSettingsEnabled);if(this.hidden){if(!i)return null;let e=null==(r=(n=this).renderHiddenInConfig)?void 0:r.call(n),t=this.constructor;return"renderFunction"===t.renderMode?"function"==typeof e?e:()=>e:e}return e.call(this)};t.__originalRender=e,this.render=t;return}let t=t=>{let l=(0,y.observer)(()=>{var l,r;let n=t;n!==t&&(null==n?void 0:n.localProps)!==void 0&&n.localProps,t.props,c.useEffect(()=>{var e,t;return"function"==typeof n.onMount&&n.onMount(),null==(t=n.flowEngine)||null==(e=t.emitter)||e.emitAsync("model:mounted",{uid:n.uid,model:n}),()=>{var e,t;n.resetAutoRunState(),"function"==typeof n.onUnmount&&n.onUnmount(),null==(t=n.flowEngine)||null==(e=t.emitter)||e.emitAsync("model:unmounted",{uid:n.uid,model:n})}},[n]);let i=!!(null==t||null==(l=t.context)?void 0:l.flowSettingsEnabled);return t.hidden?i?null==(r=t.renderHiddenInConfig)?void 0:r.call(t):null:(t.stepParams,e.call(n))});return l.displayName=`ReactiveWrapper(${t.constructor.name})`,l},l=function(){return this._reactiveWrapperCache||(this._reactiveWrapperCache=t(this)),c.createElement(this._reactiveWrapperCache)};l.__isReactiveWrapped=!0,l.__originalRender=e,this.render=l}catch(e){console.error(`FlowModel ${this.constructor.name}: Error during render method wrapping:`,e)}}get cleanRun(){return!0}setCleanRun(e){this._cleanRun,this._cleanRun=!!e}onMount(){}onUnmount(){}render(){return(0,a.jsx)("div",{...this.props})}async rerender(){var e;await this.dispatchEvent("beforeRender",null==(e=this._lastAutoRunParams)?void 0:e[0],{useCache:!1})}getFlowCacheScope(e){return String(e)}setParent(e){if(!(e&&(e.constructor===q||(0,g.FA)(e.constructor,q))))throw Error("Parent must be an instance of FlowModel.");this.parent=e,this._options.parentId=e.uid,!1!==this._options.delegateToParent&&this.context.addDelegate(this.parent.context)}removeParentDelegate(){this.parent&&this.context.removeDelegate(this.parent.context)}addSubModel(e,t){var l,r,n;let i,o=this.master||this;if(t instanceof q){let e=!!t.parent,l=null==(n=t.parent)?void 0:n.uid;if(e&&l&&l!==o.uid)throw Error("Sub model already has a parent.");i=t}else i=o.flowEngine.createModel({...t,parentId:o.uid,subKey:e,subType:"array"});i.setParent(o);let a=o.subModels;Array.isArray(a[e])||(a[e]=s.observable.shallow([]));let d=Math.max(...a[e].map((e,t)=>E(e,t)),0);return i.sortIndex=d+1,a[e].push(i),o.emitter.emit("onSubModelAdded",i),null==(r=o.flowEngine)||null==(l=r.emitter)||l.emit("model:subModel:added",{parentUid:o.uid,parent:o,subKey:e,model:i}),i}setSubModel(e,t){var l,r,n;let i,o=this.master||this;if(t instanceof q){let e=!!t.parent,l=null==(n=t.parent)?void 0:n.uid;if(e&&l&&l!==o.uid)throw Error("Sub model already has a parent.");i=t}else i=o.flowEngine.createModel({...t,parentId:o.uid,subKey:e,subType:"object"});return i.setParent(o),o.subModels[e]=i,o.emitter.emit("onSubModelAdded",i),null==(r=o.flowEngine)||null==(l=r.emitter)||l.emit("model:subModel:added",{parentUid:o.uid,parent:o,subKey:e,model:i}),i}filterSubModels(e,t){let l=this.subModels[e];if(!l)return[];let r=[];return R(u().castArray(l)).forEach((e,l)=>{t(e,l)&&r.push(e)}),r}mapSubModels(e,t){let l=this.subModels[e];if(!l)return[];let r=[];return R(u().castArray(l)).forEach((e,l)=>{let n=t(e,l);r.push(n)}),r}hasSubModel(e){let t=this.subModels[e];return!!t&&u().castArray(t).length>0}findSubModel(e,t){let l=this.subModels[e];return l&&u().castArray(l).find(e=>t(e))||null}createRootModel(e){return this.flowEngine.createModel(e)}async applySubModelsBeforeRenderFlows(e,t,l){await Promise.all(this.mapSubModels(e,async e=>{await e.dispatchEvent("beforeRender",t)}))}createFork(e,t,l){if(t){let l=this.forkCache.get(t);if(l&&!l.disposed)return l.setProps(e||{}),l}let r=new k(this,e,(0,p.L)());return(null==l?void 0:l.register)!==!1&&this.forks.add(r),t&&(null==l?void 0:l.register)!==!1&&this.forkCache.set(t,r),r}clearForks(){var e;this.flowEngine.logger.debug(`FlowModel ${this.uid} clearing all forks.`),(null==(e=this.forks)?void 0:e.size)&&(this.forks.forEach(e=>e.dispose()),this.forks.clear()),this.forkCache.clear()}getFork(e){return this.forkCache.get(e)}moveTo(e,t){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before saving.");return this.flowEngine.moveModel(this.uid,e.uid,t)}remove(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before saving.");return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.removeModel(this.uid)}async save(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before saving.");return this.flowEngine.saveModel(this)}async saveStepParams(){return this.flowEngine.saveModel(this,{onlyStepParams:!0})}async destroy(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before deleting.");return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.destroyModel(this.uid)}async openStepSettingsDialog(e,t){var l;let r=this.getFlow(e),n=null==r||null==(l=r.steps)?void 0:l[t];if(!r||!n)return void console.error(`Flow ${e} or step ${t} not found`);let i=new m.W5(this,e,"settings");return(0,g.wx)(i,r.steps,this,e),i.defineProperty("currentStep",{value:n}),(await O())({model:this,flowKey:e,stepKey:t,ctx:i})}async configureRequiredSteps(e,t){return(await $())({model:this,dialogWidth:e,dialogTitle:t})}async openPresetStepSettingsDialog(e,t){return this.configureRequiredSteps(e,t)}async openFlowStepSettingsDialog(e){}get translate(){return this.flowEngine.translate.bind(this.flowEngine)}serialize(){let e={uid:this.uid,...u().omit(this._options,["flowEngine"]),props:{...this.props},stepParams:this.stepParams,sortIndex:this.sortIndex,flowRegistry:{}},t=this.subModels;for(let l in t)e.subModels=e.subModels||{},Array.isArray(t[l])?e.subModels[l]=t[l].map((e,t)=>({...e.serialize(),sortIndex:t})):t[l]instanceof q&&(e.subModels[l]=t[l].serialize());for(let[t,l]of this.flowRegistry.getFlows())e.flowRegistry[t]=l.toData();return e}clone(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before cloning.");let e=this.serialize(),t=new Map,l=e=>{if(e.uid&&"string"==typeof e.uid&&t.set(e.uid,(0,p.L)()),e.subModels)for(let t in e.subModels){let r=e.subModels[t];Array.isArray(r)?r.forEach(e=>l(e)):r&&"object"==typeof r&&l(r)}};l(e);let r=function(e){let l=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return e;if("string"==typeof e)return t.get(e)??e;if(Array.isArray(e))return e.map(e=>r(e,!1));if("object"==typeof e){let t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(l&&"parentId"===n||(t[n]=r(e[n],!1)));return t}return e},n=r(e,!0);return this.flowEngine.createModel(n)}async openFlowSettings(e){return this.flowEngine.flowSettings.open({model:this,...e})}static registerExtraMenuItems(e){let t,l=this,r=I.get(l)||new Set;return t="function"==typeof e?{items:e}:e,r.add(t),I.set(l,r),()=>{let e=I.get(l);null==e||e.delete(t)}}static async getExtraMenuItems(e,t){let l=this,r=[],n=new Set,i=async l=>{if(!l||n.has(l))return;n.add(l);let o=I.get(l);if(o){let n=0;for(let i of o){if(i.matcher&&!i.matcher(e))continue;let o="function"==typeof i.items?await i.items(e,t):await Promise.resolve(i.items||[]),a=i.group||"common-actions",s=i.sort??0,d=i.keyPrefix||l.name||"extra";_((o||[]).map((e,t)=>N(e,{group:a,sort:s,prefix:d,path:`${n}-${t}`})).filter(D)).forEach(e=>{r.push(e)}),n+=1}}let a=Object.getPrototypeOf(l);(a===q||(null==a?void 0:a.prototype)instanceof q)&&await i(a)};return await i(l),r}refresh(){return this.rerender()}constructor(e){if((0,o._)(this,"uid",void 0),(0,o._)(this,"sortIndex",void 0),(0,o._)(this,"hidden",!1),(0,o._)(this,"props",{}),(0,o._)(this,"stepParams",{}),(0,o._)(this,"flowEngine",void 0),(0,o._)(this,"parent",void 0),(0,o._)(this,"subModels",void 0),(0,o._)(this,"_options",void 0),(0,o._)(this,"_title",void 0),(0,o._)(this,"_extraTitle",void 0),(0,o._)(this,"isNew",!1),(0,o._)(this,"skeleton",null),(0,o._)(this,"forbidden",null),(0,o._)(this,"forks",new Set),(0,o._)(this,"emitter",new h.v),(0,o._)(this,"forkCache",new Map),(0,o._)(this,"_lastAutoRunParams",null),(0,o._)(this,"observerDispose",void 0),(0,n._)(this,L,{writable:!0,value:void 0}),(0,o._)(this,"_originalRender",null),(0,o._)(this,"_reactiveWrapperCache",void 0),(0,o._)(this,"flowRegistry",void 0),(0,o._)(this,"_cleanRun",void 0),(0,o._)(this,"_dispatchEventWithDebounce",u().debounce(async function(e,t,l){return this._dispatchEvent(e,t,l)},500,{leading:!0})),(0,o._)(this,"_rerunLastAutoRun",u().debounce(async()=>{if(this._lastAutoRunParams)try{let[e]=this._lastAutoRunParams;await this.dispatchEvent("beforeRender",e)}catch(e){console.error("FlowModel._rerunLastAutoRun: Error during rerun:",e)}},100)),!e.flowEngine)throw Error("FlowModel must be initialized with a FlowEngine instance.");if(this.flowEngine=e.flowEngine,this.flowEngine.getModel(e.uid))return this.flowEngine.getModel(e.uid);e.uid||(e.uid=(0,p.L)()),this.uid=e.uid,this.props={...e.props},this.stepParams=e.stepParams||{},this.subModels={},this.sortIndex=E({sortIndex:e.sortIndex},-1),this._options=e,this._title="",this._extraTitle="",(0,s.define)(this,{hidden:s.observable,props:s.observable,subModels:s.observable.shallow,stepParams:s.observable,_title:s.observable,_extraTitle:s.observable,setProps:s.batch,setStepParams:s.batch}),this.flowRegistry=new f.R(this),this.flowRegistry.addFlows(e.flowRegistry),this.observerDispose=(0,s.observe)(this.stepParams,e=>{if("set"===e.type&&u().isEqual(e.value,e.oldValue))return;let t=!!this._lastAutoRunParams;this.flowEngine&&this.invalidateFlowCache("beforeRender"),t&&this._rerunLastAutoRun(),this.forks.forEach(e=>{e.rerender()})});try{this.setupReactiveRender()}catch(e){console.error(`Failed to setup reactive render for ${this.constructor.name}:`,e),"function"!=typeof this.render&&(this.render=()=>c.createElement("div",null,"Render method not available"))}this._cleanRun=!!e.cleanRun}}(0,o._)(q,"renderMode","reactElement");class V extends q{setErrorMessage(e){this.errorMessage=e}render(){return(0,a.jsx)(v.A.Text,{type:"danger",children:this.errorMessage})}constructor(...e){super(...e),(0,o._)(this,"errorMessage",void 0)}}function z(e){return e}l(63836);var K=l(16629),U=l(89013),W=l(42443),H=l(13415),Y=l(18492),G=l(57084),J=l(31102);function X(e){let{title:t}=e,{t:l}=(0,Y.B)();return(0,a.jsx)(J.eI,{label:t,showLabel:!0,children:(0,a.jsx)(K.A,{size:"small",styles:{body:{color:"rgba(0,0,0,0.45)"}},children:l("This field has been hidden and you cannot view it (this content is only visible when the UI Editor is activated).")})})}function Q(){var e;let{t}=(0,Y.B)(),l=(0,G.PZ)(),r=l.context.blockModel,n=null==(e=r.collection)?void 0:e.dataSource,i=r.collection,o=l.fieldPath,s=(0,c.useMemo)(()=>{let e=n?`${t(n.displayName||n.key)} > `:"",l=i?`${t(i.title)||i.name||i.tableName} > `:"";return`${e}${l}${o}`},[]);return(0,a.jsx)(U.A.Item,{children:(0,a.jsx)("div",{style:{color:"rgba(0,0,0,0.45)"},children:t('The {{type}} "{{name}}" may have been deleted. Please remove this {{blockType}}.',{type:t("Field"),name:s,blockType:t("Field")}).replaceAll(">",">")})})}function Z(){var e,t;let{t:l}=(0,Y.B)(),r=(0,G.PZ)(),n=r.context.blockModel,i=(null==(e=r.context.collectionField)?void 0:e.collection)||n.collection,o=i.dataSource,s=(null==(t=r.context.collectionField)?void 0:t.name)||r.fieldPath,d=(0,c.useMemo)(()=>{let e=`${l(o.displayName||o.key)} > `,t=i?`${l(i.title)||i.name||i.tableName} > `:"";return`${e}${t}${s}`},[]),{actionName:p}=r.forbidden,h=(0,c.useMemo)(()=>l('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:d,actionName:l(u().capitalize(p))}).replaceAll(">",">"),[d,l]);return(0,a.jsx)(W.A,{title:h,children:(0,a.jsx)(J.eI,{showLabel:!0,label:r.context.collectionField.title||s,style:{opacity:"0.4"},children:(0,a.jsx)(H.A,{})})})}let ee=()=>!0;class et extends q{renderHiddenInConfig(){return this.forbidden?(0,a.jsx)(Z,{}):(0,a.jsx)(W.A,{title:this.context.t("The field is hidden and only visible when the UI Editor is active"),children:(0,a.jsx)("div",{style:{opacity:.3},children:this.renderOriginal.call(this)})})}get title(){}onInit(e){this.context.defineProperty("collectionField",{get:()=>{let e=this.getFieldSettingsInitParams();return this.context.dataSourceManager.getCollectionField(`${e.dataSourceKey}.${e.collectionName}.${e.fieldPath}`)},cache:!1}),this.context.defineProperty("fieldPath",{get:()=>this.fieldPath}),this.context.blockModel&&(this.context.blockModel.addAppends(this.fieldPath),this.context.blockModel.addAppends(this.associationPathName))}getFieldSettingsInitParams(){return this.getStepParams("fieldSettings","init")||{}}get fieldPath(){return this.getFieldSettingsInitParams().fieldPath}get associationPathName(){return this.getFieldSettingsInitParams().associationPathName}get collectionField(){return this.context.collectionField}async afterAddAsSubModel(){this.context.resource&&await this.context.resource.refresh()}static getBindingsByField(e,t){if(!t)return;let l=t.interface;return this.bindings.has(l)?this.bindings.get(l).sort((e,t)=>e.order-t.order).filter(l=>e.engine.getModelClass(l.modelName)&&l.when(e,t)):[]}static getDefaultBindingByField(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(l.fallbackToTargetTitleField){let r=this.getDefaultBindingByField(e,t,{useStrict:!0});return!r&&(t.isAssociationField()&&(null==l?void 0:l.targetCollectionTitleField)||t.targetCollectionTitleField)?this.getDefaultBindingByField(e,(null==l?void 0:l.targetCollectionTitleField)||t.targetCollectionTitleField):r}let r=t.interface;if(!r||!this.bindings.has(r))return null;let n=this.bindings.get(r),i=n.filter(l=>l.isDefault&&e.engine.getModelClass(l.modelName)&&l.when(e,t));if(1===i.length)return i[0];if(i.length>0){let e=null;if((e=i.find(e=>e.when!==ee))||(e=i.find(e=>e.when===ee)))return e}return l.useStrict?null:n.find(l=>e.engine.getModelClass(l.modelName)&&l.when(e,t))}static bindModelToInterface(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(Array.isArray(t))return void t.forEach(t=>this.bindModelToInterface(e,t,l));this.currentBindings.has(t)||this.currentBindings.set(t,[]);let r=this.currentBindings.get(t);r.push({modelName:e,isDefault:l.isDefault||!1,defaultProps:l.defaultProps||null,when:l.when||ee,order:l.order}),this.currentBindings.set(t,r)}static get currentBindings(){return Object.prototype.hasOwnProperty.call(this,"_bindings")&&this._bindings||(this._bindings=new Map),this._bindings}static getAllParentClasses(){let e=[],t=this;for(;t&&t!==Object;)(null==(t=Object.getPrototypeOf(t))?void 0:t.currentBindings)&&e.push(t);return e}static get bindings(){let e=new Map;for(let t of this.getAllParentClasses())for(let[l,r]of t.currentBindings)e.has(l)||e.set(l,[]),e.get(l).unshift(...r);for(let[t,l]of this.currentBindings)e.has(t)||e.set(t,[]),e.get(t).unshift(...l);return e}renderItem(){return null}render(){return this.collectionField?this.renderItem():(0,a.jsx)(Q,{})}}(0,o._)(et,"_bindings",new Map),et.registerFlow({key:"fieldSettings",title:(0,g.MI)("Field settings"),steps:{init:{handler(e,t){let{dataSourceKey:l,collectionName:r,fieldPath:n}=t;if(!l)throw Error("dataSourceKey is a required parameter");if(!r)throw Error("collectionName is a required parameter");if(!n)throw Error("fieldPath is a required parameter")}}}});class el extends et{}class er extends et{}class en extends et{}},20616(e,t,l){l.d(t,{I6:()=>f,Db:()=>v,uf:()=>g,f7:()=>m}),l(89773),l(14324);var r=l(74848),n=l(88040),i=l(4888),o=l(35710),a=l(96540),s=l(52568),d=l(67778),u=l(50467);let c=0;class p{getNextZIndex(){return this.zIndex+1}open(e){let{type:t,...l}=e;if(this.types[t]){c+=1;let e=l.onClose,r=!1,n=()=>{r||(r=!0,c-=1)},i=l.zIndex;return l.onClose=function(){for(var t=arguments.length,l=Array(t),r=0;r<t;r++)l[r]=arguments[r];null==e||e(...l),n()},"embed"===t&&(l.onOpenCancelled=n),"embed"!==t&&(l.zIndex=i??this.getNextZIndex()),this.types[t].open(l,this.ctx)}throw Error(`Unknown view type: ${t}`)}dialog(e){return this.open({type:"dialog",...e})}drawer(e){return this.open({type:"drawer",...e})}popover(e){return this.open({type:"popover",...e})}embed(e){return this.open({type:"embed",...e})}constructor(e,t){var l;(0,u._)(this,"ctx",void 0),(0,u._)(this,"types",void 0),(0,u._)(this,"zIndex",void 0),this.ctx=e,this.types=t,this.zIndex=c+((null==(l=e.themeToken)?void 0:l.zIndexPopupBase)||1e3)}}let h=(0,a.createContext)(null),f=a.memo(e=>{let{engine:t,children:l}=e;if(!t)throw Error("FlowEngineProvider must be supplied with an engine.");return(0,r.jsx)(h.Provider,{value:t,children:(0,r.jsx)(s.Dv,{context:t.context,children:l})})});f.displayName="FlowEngineProvider";let m=e=>{var t;let{children:l}=e,{modal:s,message:u,notification:c}=n.A.useApp(),[h,f]=(0,d.bt)(),[m,v]=(0,d.N5)(),[y,b]=(0,d.fP)(),[x,w]=(0,d.sp)(),S=g(),A=(0,a.useContext)(i.Ay.ConfigContext),{token:M}=o.A.useToken(),F=a.useMemo(()=>{var e;let t=null==A||null==(e=A.theme)?void 0:e.algorithm;return Array.isArray(t)?t.includes(o.A.darkAlgorithm):t===o.A.darkAlgorithm},[A]);for(let e of(S.context.defineProperty("viewer",{cache:!1,get:e=>new p(e,{drawer:h,embed:m,popover:y,dialog:x})}),Object.entries({antdConfig:A,modal:s,message:u,notification:c}))){let[t,l]=e;l&&S.context.defineProperty(t,{value:l})}return S.context.defineProperty("themeToken",{get:()=>M,observable:!0,cache:!0}),S.context.defineProperty("isDarkTheme",{get:()=>F,observable:!0,cache:!0,info:{description:"Whether current theme algorithm is dark mode.",detail:"boolean"}}),(0,a.useEffect)(()=>{S.reactView.refresh()},[S,h,s,u,c,A,y,M,x,m,F]),(0,r.jsxs)(i.Ay,{...A,locale:null==(t=S.context.locales)?void 0:t.antd,popupMatchSelectWidth:!1,children:[l,f,b,v,w]})},g=function(){let{throwError:e=!0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,a.useContext)(h);return!t&&e?void console.warn("useFlowEngine must be used within a FlowEngineProvider, and FlowEngineProvider must be supplied with an engine."):t},v=()=>g().context},52847(e,t,l){l.d(t,{vA:()=>r.batch,lB:()=>r.observe,po:()=>r.markObservable,dw:()=>r.DataNode,XI:()=>r.action,SL:()=>d,KP:()=>r.hasCollected,Jv:()=>r.setDataNode,r5:()=>r.DataChange,O8:()=>r.untracked,JD:()=>r.Tracker,H_:()=>r.buildDataTree,gR:()=>r.contains,E8:()=>r.define,Rq:()=>r.isSupportObservable,IG:()=>r.markRaw,PA:()=>s,D:()=>r.getDataNode,ge:()=>r.model,AT:()=>r.isObservable,fm:()=>r.autorun,sH:()=>r.observable,lS:()=>r.raw,Ir:()=>r.isAnnotation,mJ:()=>r.reaction,HO:()=>r.toJS});var r=l(95243),n=l(74848),i=l(69804),o=l(96540),a=l(52568);let s=(e,t)=>{let l=o.memo(l=>{let s=(0,a.$K)(),u=(0,o.useRef)(s);u.current=s;let c=(0,o.useRef)(null),p=(0,o.useRef)(null),h=()=>{c.current&&(c.current(),c.current=null)},f=()=>{p.current&&(clearTimeout(p.current),p.current=null)},m=()=>{var e,t;let l=d(u.current),r=null==(t=u.current)||null==(e=t.tabActive)?void 0:e.value;return!1!==l&&!1!==r};(0,o.useEffect)(()=>()=>{p.current&&(clearTimeout(p.current),p.current=null),c.current&&(c.current(),c.current=null)},[]);let g=(0,o.useMemo)(()=>(0,i.PA)(e,{scheduler(e){if(!m()){if(p.current||c.current)return;p.current=setTimeout(()=>{if(p.current=null,!c.current){if(m())return void e();c.current=(0,r.reaction)(()=>m(),t=>{t&&(h(),e())},{name:"FlowObserverPendingUpdate"})}});return}f(),h(),e()},...t}),[]);return(0,n.jsx)(g,{...l})});return l.displayName="ComponentWithDefaultScheduler",l};function d(e){var t,l,r;return"boolean"==typeof(null==e||null==(t=e.pageActive)?void 0:t.value)?null==e||null==(l=e.pageActive)?void 0:l.value:null==e||null==(r=e.view)?void 0:r.inputArgs.pageActive}},27667(e,t,l){l.d(t,{tP:()=>x,sB:()=>y,I8:()=>f,qi:()=>h,Rn:()=>v,BS:()=>s,hR:()=>u,vB:()=>g,l2:()=>d,BH:()=>w});var r=l(50467);l(89773);var n=l(9297);l(14324),l(5409),l(45336),l(79936),l(69861);var i=l(95243),o=l(29007);function a(e){var t,l,r,n,i,o,a,s,d,u,c;if("string"==typeof(null==e||null==(t=e.response)?void 0:t.data)){let t=document.createElement("div");t.innerHTML=null==e||null==(d=e.response)?void 0:d.data;let l=t.textContent||t.innerText;return l.includes("Error occurred while trying")||l.includes("502 Bad Gateway")?[{code:"APP_WARNING",message:l="The application may be starting up. Please try again later."}]:[{message:l}]}return(null==e||null==(r=e.response)||null==(l=r.data)?void 0:l.error)?[null==e||null==(c=e.response)||null==(u=c.data)?void 0:u.error]:(null==e||null==(i=e.response)||null==(n=i.data)?void 0:n.errors)||(null==e||null==(a=e.response)||null==(o=a.data)?void 0:o.messages)||(null==e||null==(s=e.response)?void 0:s.error)||[{message:e.message||"Server error"}]}class s extends Error{get code(){var e;return(null==(e=this.data)?void 0:e.code)||"UNKNOWN_ERROR"}get message(){var e;return(null==(e=this.data)?void 0:e.message)||"An unknown error occurred"}constructor(e){let t=a(e).shift();super(t.message),(0,r._)(this,"data",void 0),this.data=t,this.name="ResponseError"}}class d{getData(){return this._data.value}hasData(){let e=this.getData();return Array.isArray(e)?e.length>0:!!e&&"object"==typeof e&&Object.keys(e).length>0}setData(e){return this._data.value=e,this}getMeta(e){return e?this._meta.value[e]:this._meta.value}setMeta(e){return this._meta.value={...this._meta.value,...e},this}get error(){return this._error.value}getError(){return this._error.value}setError(e){return this._error.value=e,this}clearError(){return this._error.value=null,this}on(e,t){var l,r;((l=this.events)[r=e]||(l[r]=[])).push(t)}once(e,t){var l=this;let r=function(){for(var n=arguments.length,i=Array(n),o=0;o<n;o++)i[o]=arguments[o];t(...i),l.off(e,r)};this.on(e,r)}off(e,t){this.events[e]=(this.events[e]||[]).filter(e=>e!==t)}emit(e){for(var t=arguments.length,l=Array(t>1?t-1:0),r=1;r<t;r++)l[r-1]=arguments[r];(this.events[e]||[]).forEach(e=>e(...l))}constructor(e){(0,r._)(this,"_data",i.observable.ref(null)),(0,r._)(this,"_meta",i.observable.ref({})),(0,r._)(this,"_error",i.observable.ref(null)),(0,r._)(this,"context",void 0),(0,r._)(this,"events",{}),this.context=new o.cB,this.context.addDelegate(e)}}class u extends d{setAPIClient(e){return this.api=(0,n.kx)(e,this.context),this}getURL(){return this.request.url}setURL(e){return this.request.url=e,this}get loading(){return this.getMeta("loading")||!1}set loading(e){this.setMeta({loading:e})}clearRequestParameters(){return this.request.params={},this}setRequestParameters(e){return this.request.params={...this.request.params,...e},this}setRequestMethod(e){return this.request.method=e,this}addRequestHeader(e,t){return this.request.headers||(this.request.headers={}),this.request.headers[e]=t,this}removeRequestHeader(e){return this.request.headers&&e in this.request.headers&&delete this.request.headers[e],this}addRequestParameter(e,t){return this.request.params||(this.request.params={}),this.request.params[e]=t,this}getRequestParameter(e){return this.request.params&&e in this.request.params?this.request.params[e]:null}removeRequestParameter(e){return this.request.params&&e in this.request.params&&delete this.request.params[e],this}setRequestBody(e){return this.request.data=e,this}setRequestOptions(e,t){return this.request[e]=t,this}getRequestOptions(){return this.request}async refresh(){if(!this.api)throw Error("API client not set");this.clearError();try{let{data:e}=await this.api.request({url:this.getURL(),...this.getRefreshRequestOptions()});this.setData(e),this.emit("refresh")}catch(t){let e=new s(t);throw this.setError(e),e}}getRefreshRequestOptions(){return{...this.request}}constructor(e){super(e),(0,r._)(this,"request",{headers:{},params:{},method:"get",data:null}),(0,r._)(this,"api",void 0),e&&(this.api=e.api)}}l(84560),l(23446),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);var c=l(2543),p=l.n(c);class h{toJSON(){return this.options.operator?{[this.options.path]:{[this.options.operator]:this.options.value}}:{[this.options.path]:this.options.value}}constructor(e){if((0,r._)(this,"options",void 0),this.options=e,e instanceof h)return e;this.options=e}}class f{toJSON(){return{[this.options.logic]:this.options.items.map(e=>e.toJSON())}}constructor(e){if((0,r._)(this,"options",void 0),e instanceof f)return e;if("$and"!==e.logic&&"$or"!==e.logic)throw Error("Logic must be either $and or $or");if(!Array.isArray(e.items))throw Error("Items must be an array");this.options={logic:e.logic,items:e.items.map(e=>e.logic?new f(e):new h(e))}}}var m=l(44951);class g extends u{get supportsFilter(){return!0}setRefreshAction(e){this._refreshActionName=e}mergeRequestConfig(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let r={},n=(e,t,l,r,n,i)=>{let o=i.size;if(Array.isArray(t)||o>1)return t};return t.reduce((e,t)=>p().mergeWith(e,t,n),r)}setRunActionOptions(e,t){return this.runActionOptions[e]=t,this}splitValue(e){return"string"==typeof e?e.split(",").map(e=>e.trim()):Array.isArray(e)?e:[]}buildURL(e){let t="";if(this.resourceName)if(this.sourceId&&this.resourceName.includes(".")){let[l,r]=this.resourceName.split(".");t=`${l}/${this.sourceId}/${r}:${e||"get"}`}else t=`${this.resourceName}:${e||"get"}`;return t}async runAction(e,t){var l;let{rawResponse:r,...n}=t,i=this.mergeRequestConfig(p().omit(this.request,["params","data","method"]),{method:"post",url:this.buildURL(e)},null==(l=this.runActionOptions)?void 0:l[e],n);["create","update","firstOrCreate","updateOrCreate"].includes(e)&&(i.params=i.params||{},i.params.updateAssociationValues=this.getUpdateAssociationValues());try{let e=await this.api.request(i);if(r)return e;let{data:t}=e;if(!(null==t?void 0:t.data))return t;return{data:t.data,meta:t.meta}}catch(e){throw new s(e)}}setResourceName(e){return this.resourceName=e,this}getResourceName(){return this.resourceName}markDataSourceDirty(e){(0,m.BL)({engine:this.context.engine,dataSourceKey:this.getDataSourceKey(),resourceName:e||this.getResourceName(),includePreviousEngines:!0})}setSourceId(e){return this.sourceId=e,this}getSourceId(){return this.sourceId}setDataSourceKey(e){return this.addRequestHeader("X-Data-Source",e)}getDataSourceKey(){return this.request.headers["X-Data-Source"]}setFilter(e){return this.addRequestParameter("filter",JSON.stringify(e))}getFilter(){let e=[...this.filterGroups.values()].filter(Boolean);if(0!==e.length)return{$and:e}}resetFilter(){this.setFilter(this.getFilter())}addFilterGroup(e,t){t instanceof h&&(t=t.toJSON()),this.filterGroups.set(e,t),this.resetFilter()}removeFilterGroup(e){this.filterGroups.delete(e),this.resetFilter()}setAppends(e){return this.addRequestParameter("appends",e)}getAppends(){return this.request.params.appends||[]}addAppends(e){let t=this.getAppends();return this.splitValue(e).forEach(e=>{t.includes(e)||t.push(e)}),this.request.params.appends=t,this}removeAppends(e){if(!this.request.params.appends)return this;let t=this.getAppends(),l=this.splitValue(e);return this.request.params.appends=t.filter(e=>!l.includes(e)),this}getUpdateAssociationValues(){return this.updateAssociationValues||[]}addUpdateAssociationValues(e){let t=this.getUpdateAssociationValues();return this.splitValue(e).forEach(e=>{t.includes(e)||t.push(e)}),this.updateAssociationValues=t,this}jsonStringify(e){return null!==e&&"object"==typeof e?JSON.stringify(e):e}setFilterByTk(e){return this.addRequestParameter("filterByTk",this.jsonStringify(e))}getFilterByTk(){return this.request.params.filterByTk}setFields(e){return this.addRequestParameter("fields",this.splitValue(e))}getFields(){return this.request.params.fields||[]}setSort(e){return this.addRequestParameter("sort",this.splitValue(e))}getSort(){return this.request.params.sort||[]}setExcept(e){return this.addRequestParameter("except",this.splitValue(e))}getExcept(){return this.request.params.except||[]}setWhitelist(e){return this.addRequestParameter("whitelist",this.splitValue(e))}getWhitelist(){return this.request.params.whitelist||[]}setBlacklist(e){return this.addRequestParameter("blacklist",this.splitValue(e))}getBlacklist(){return this.request.params.blacklist||[]}constructor(...e){super(...e),(0,r._)(this,"resourceName",void 0),(0,r._)(this,"sourceId",null),(0,r._)(this,"request",{method:"get",params:{},headers:{}}),(0,r._)(this,"updateAssociationValues",[]),(0,r._)(this,"runActionOptions",{}),(0,r._)(this,"filterGroups",new Map),(0,r._)(this,"_refreshActionName","list")}}class v extends g{get supportsFilter(){return!0}setCreateActionOptions(e){return this.createActionOptions=e,this}setUpdateActionOptions(e){return this.updateActionOptions=e,this}setSelectedRows(e){return this.setMeta({selectedRows:e}),this}getSelectedRows(){return this.getMeta("selectedRows")||[]}getCount(){return this.getMeta("count")}setPage(e){return this.addRequestParameter("page",e),this.setMeta({page:e})}getPage(){return this.getMeta("page")}setPageSize(e){return this.addRequestParameter("pageSize",e),this.setMeta({pageSize:e})}getPageSize(){return this.getMeta("pageSize")}getTotalPage(){return this.getMeta("totalPage")}getCell(e,t){var l;let r=this.getData();return null==r||null==(l=r[e])?void 0:l[t]}async next(){this.request.params.page+=1,await this.refresh()}async previous(){this.request.params.page>1&&(this.request.params.page-=1,await this.refresh())}async goto(e){e>0&&(this.request.params.page=e,await this.refresh())}async create(e,t){let l=this.mergeRequestConfig({data:e},this.createActionOptions,t),r=await this.runAction("create",{...l,[n.q3]:!0});return this.markDataSourceDirty(),this.emit("saved",e),(null==t?void 0:t.refresh)!==!1&&await this.refresh(),r}async get(e){let t={params:{filterByTk:e}},{data:l}=await this.runAction("get",{...t});return l}async update(e,t,l){let r=t,i=this.mergeRequestConfig({params:{filterByTk:e},data:r},this.updateActionOptions,l);await this.runAction("update",{...i,[n.q3]:!0}),this.markDataSourceDirty(),this.emit("saved",t),await this.refresh()}async destroySelectedRows(){let e=this.getSelectedRows();if(0===e.length)throw Error("No rows selected for deletion.");await this.destroy(e)}async destroy(e,t){let l=this.mergeRequestConfig({params:{filterByTk:this.jsonStringify(e)}},t);await this.runAction("destroy",{...l,[n.q3]:!0}),this.markDataSourceDirty();let r=this.getPage(),i=Math.ceil((this.getCount()-p().castArray(e).length)/this.getPageSize());r>i&&this.setPage(i||1),await this.refresh()}setItem(e,t){let l=this.getData().slice();l[e]={...t},this.setData(l)}async refresh(){return this.refreshTimer&&clearTimeout(this.refreshTimer),new Promise((e,t)=>{this.refreshWaiters.push({resolve:e,reject:t}),this.refreshTimer=setTimeout(async()=>{let e=this.refreshWaiters;this.refreshWaiters=[],this.refreshTimer=null;try{this.clearError(),this.loading=!0;let{data:t,meta:l}=await this.runAction(this._refreshActionName,{method:"get",...this.getRefreshRequestOptions()});this.setData(t).setMeta(l),(null==l?void 0:l.page)&&this.setPage(l.page),(null==l?void 0:l.pageSize)&&this.setPageSize(l.pageSize),this.emit("refresh"),e.forEach(e=>e.resolve())}catch(l){this.setError(l);let t=l instanceof Error?l:Error(String(l));e.forEach(e=>e.reject(t))}finally{this.loading=!1}})})}constructor(...e){super(...e),(0,r._)(this,"_data",i.observable.ref([])),(0,r._)(this,"_meta",i.observable.ref({})),(0,r._)(this,"refreshTimer",null),(0,r._)(this,"refreshWaiters",[]),(0,r._)(this,"createActionOptions",{}),(0,r._)(this,"updateActionOptions",{}),(0,r._)(this,"_refreshActionName","list"),(0,r._)(this,"request",{method:"get",params:{filter:{},filterByTk:null,appends:[],fields:[],sort:null,except:null,whitelist:null,blacklist:null,page:1,pageSize:20},headers:{}})}}class y extends g{get supportsFilter(){return!this.isNewRecord}setSaveActionOptions(e){return this.saveActionOptions=e,this}setFilterByTk(e){return this.isNewRecord=!1,super.setFilterByTk(e)}async save(e,t){let l=this.mergeRequestConfig(this.saveActionOptions,p().omit(t,["refresh"])),r="create",i=e;this.isNewRecord||(l.params=l.params||{},l.params.filterByTk=this.getFilterByTk(),r="update");let o=await this.runAction(r,{...l,data:i,[n.q3]:!0});return this.markDataSourceDirty(),this.emit("saved",e),(null==t?void 0:t.refresh)!==!1&&await this.refresh(),o}async destroy(e){let t=this.mergeRequestConfig({params:{filterByTk:this.jsonStringify(this.request.params.filterByTk)}},e);await this.runAction("destroy",{...t,[n.q3]:!0}),this.markDataSourceDirty(),this.setData(null)}async refresh(){if(this.clearError(),!this.isNewRecord)try{let{data:e,meta:t}=await this.runAction(this._refreshActionName,{method:"get",...this.getRefreshRequestOptions()});this.setData(e).setMeta(t),this.emit("refresh")}catch(e){throw this.setError(e),e}}constructor(...e){super(...e),(0,r._)(this,"isNewRecord",!1),(0,r._)(this,"saveActionOptions",{}),(0,r._)(this,"_refreshActionName","get")}}var b=l(87710);class x{async run(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{sql:l,bind:r,liquidContext:n}=await (0,b.transformSQL)(e),i=await this.ctx.resolveJsonTemplate({bind:r,liquidContext:n}),o=await (0,b.parseLiquidContext)(l,i.liquidContext),{data:a}=await this.ctx.api.request({method:"POST",url:"flowSql:run",data:{sql:o,...t,bind:{...i.bind,...t.bind}}});return null==a?void 0:a.data}async save(e){await this.ctx.api.request({method:"POST",url:"flowSql:save",data:{...e}})}async runById(e,t){let l=await this.ctx.api.request({method:"GET",url:"flowSql:getBind",params:{uid:e}}),{bind:r,liquidContext:n}=await this.ctx.resolveJsonTemplate(l.data.data||{}),{data:i}=await this.ctx.api.request({method:"POST",url:"flowSql:runById",data:{uid:e,...t,bind:{...r,...null==t?void 0:t.bind},liquidContext:n}});return null==i?void 0:i.data}async destroy(e){await this.ctx.api.request({url:"flowSql:destroy",params:{filterByTk:e}})}constructor(e){(0,r._)(this,"ctx",void 0),this.ctx=new o.cB,this.ctx.addDelegate(e),this.ctx.defineProperty("offset",{get:()=>0,cache:!1}),this.ctx.defineProperty("limit",{get:()=>20,cache:!1})}}class w extends g{get refreshActionName(){return this._debugEnabled?"run":"runById"}get supportsFilter(){return!0}buildURL(e){return`flowSql:${e||this.refreshActionName}`}setPage(e){return this.addRequestParameter("page",e),this.setMeta({page:e})}getPage(){return this.getMeta("page")||1}setPageSize(e){return this.addRequestParameter("pageSize",e),this.setMeta({pageSize:e})}setDebug(e){return this._debugEnabled=e,this}getPageSize(){return this.getMeta("pageSize")||20}async next(){this.setPage(this.getPage()+1),await this.refresh()}async previous(){this.getPage()>1&&(this.setPage(this.getPage()-1),await this.refresh())}async goto(e){e>0&&(this.request.params.page=e,await this.refresh())}setDataSourceKey(e){return this.request.data.dataSourceKey=e,this}setSQLType(e){return this.request.data.type=e,this}setSQL(e){return this._sql=e,this}setFilterByTk(e){return this.request.data.uid=e,this}setFilter(e){return this.request.data.filter=e,this}setBind(e){return this.request.data.bind=e,this}setLiquidContext(e){return this.request.data.liquidContext=e,this}async run(){return this._debugEnabled?await this.runBySQL():await this.runById()}async runBySQL(){let e=this._sql,{sql:t,bind:l,liquidContext:r}=await (0,b.transformSQL)(e),n=await this.context.resolveJsonTemplate({bind:l,liquidContext:r}),i=p().cloneDeep({method:"post",...this.getRefreshRequestOptions()});return i.data.sql=await (0,b.parseLiquidContext)(t,n.liquidContext),i.data.bind=n.bind,await this.runAction("run",i)}async runById(){let{data:e}=await this.runAction("getBind",{method:"get",params:{uid:this.request.data.uid}}),{bind:t,liquidContext:l}=await this.context.resolveJsonTemplate(e);return this.setBind(t),this.setLiquidContext(l),await this.runAction("runById",{method:"post",...this.getRefreshRequestOptions()})}async refresh(){return this.refreshTimer&&clearTimeout(this.refreshTimer),new Promise((e,t)=>{this.refreshWaiters.push({resolve:e,reject:t}),this.refreshTimer=setTimeout(async()=>{let e=this.refreshWaiters;this.refreshWaiters=[],this.refreshTimer=null;try{this.clearError(),this.loading=!0,this.emit("loading");let{data:t,meta:l}=await this.run();this.setData(t).setMeta(l),this.loading=!1,this.emit("refresh"),e.forEach(e=>e.resolve())}catch(l){this.setError(l);let t=l instanceof Error?l:Error(String(l));e.forEach(e=>e.reject(t))}finally{this.loading=!1}})})}constructor(e){super(e),(0,r._)(this,"_data",i.observable.ref(null)),(0,r._)(this,"_meta",i.observable.ref({})),(0,r._)(this,"refreshTimer",null),(0,r._)(this,"refreshWaiters",[]),(0,r._)(this,"_debugEnabled",!1),(0,r._)(this,"_sql",void 0),(0,r._)(this,"request",{method:"post",params:{},data:{},headers:{}}),e.defineProperty("limit",{get:()=>this.getPageSize(),cache:!1}),e.defineProperty("offset",{get:()=>(this.getPage()-1)*this.getPageSize(),cache:!1})}}},19258(e,t,l){l.d(t,{JF:()=>d,Jq:()=>u,R5:()=>c}),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(89773);var r=l(29007),n=l(37966);let i=new Set,o=new Map,a=new Set;async function s(e,t){let l=o.get(e)||new Set;if(o.set(e,l),!l.has(t)){l.add(t);try{await t({version:e,RunJSContextRegistry:n.F,FlowRunJSContext:r.uk})}catch(e){throw l.delete(t),e}}}function d(e){if("function"!=typeof e)throw Error("[flow-engine] registerRunJSContextContribution: contribution must be a function");if(!i.has(e))for(let t of(i.add(e),a))s(t,e).catch(e=>{try{console.error("[flow-engine] RunJS context contribution failed:",e)}catch(e){}})}async function u(e){for(let t of i)await s(e,t)}function c(e){a.add(e)}},37966(e,t,l){l.d(t,{B:()=>i,F:()=>n});var r=l(50467);l(45336),l(23446),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);class n{static register(e,t,l,r){this.map.set(`${e}:${t}`,{ctor:l,meta:r})}static resolve(e,t){var l,r;return(null==(l=this.map.get(`${e}:${t}`))?void 0:l.ctor)||(null==(r=this.map.get(`${e}:*`))?void 0:r.ctor)}static getMeta(e,t){var l,r;return(null==(l=this.map.get(`${e}:${t}`))?void 0:l.meta)||(null==(r=this.map.get(`${e}:*`))?void 0:r.meta)}}function i(e){var t,l;return(null==e||null==(l=e.model)||null==(t=l.constructor)?void 0:t.name)||"*"}(0,r._)(n,"map",new Map)},88828(e,t,l){l.r(t),l.d(t,{setupRunJSContexts:()=>s});var r=l(37966),n=l(29007);function i(){n.uk.define({label:"RunJS base",properties:{logger:{description:'Pino logger instance for structured logging. Example: `ctx.logger.info({ foo: 1 }, "message")`',detail:"Logger",properties:{info:{type:"function",description:"Write an info-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.info({ foo: 1 }, 'message')"}},warn:{type:"function",description:"Write a warn-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.warn({ foo: 1 }, 'message')"}},error:{type:"function",description:"Write an error-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.error({ err }, 'message')"}},debug:{type:"function",description:"Write a debug-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.debug({ foo: 1 }, 'message')"}},child:{type:"function",description:"Create a child logger with bindings.",detail:"(bindings: object) => Logger",completion:{insertText:"ctx.logger.child({ module: 'runjs' })"}}}},message:{description:"Ant Design global message API for displaying temporary messages.",detail:"MessageInstance",hidden:e=>!(null==e?void 0:e.message),examples:['ctx.message.success("Operation completed")'],properties:{info:{type:"function",description:"Show an info message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.info('Info')"}},success:{type:"function",description:"Show a success message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.success('Success')"}},error:{type:"function",description:"Show an error message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.error('Error')"}},warning:{type:"function",description:"Show a warning message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.warning('Warning')"}},loading:{type:"function",description:"Show a loading message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.loading('Loading...')"}},open:{type:"function",description:"Open a message with custom config.",detail:"(config: any) => void",completion:{insertText:"ctx.message.open({ type: 'info', content: 'Hello' })"}},destroy:{type:"function",description:"Destroy all messages.",detail:"() => void",completion:{insertText:"ctx.message.destroy()"}}}},notification:{description:"Ant Design notification API for displaying notification boxes.",detail:"NotificationInstance",hidden:e=>!(null==e?void 0:e.notification),examples:['ctx.notification.open({ message: "Title", description: "Content" })'],properties:{open:{type:"function",description:"Open a notification with config.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.open({ message: 'Title', description: 'Content' })"}},success:{type:"function",description:"Open a success notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.success({ message: 'Success' })"}},info:{type:"function",description:"Open an info notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.info({ message: 'Info' })"}},warning:{type:"function",description:"Open a warning notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.warning({ message: 'Warning' })"}},error:{type:"function",description:"Open an error notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.error({ message: 'Error' })"}},destroy:{type:"function",description:"Destroy all notifications.",detail:"(key?: string) => void",completion:{insertText:"ctx.notification.destroy()"}}}},modal:{description:"Ant Design modal API (HookAPI) for opening modal dialogs.",detail:"HookAPI",hidden:e=>!(null==e?void 0:e.modal),examples:["ctx.modal.confirm({ title: 'Confirm', content: 'Are you sure?' })"],properties:{info:{type:"function",description:"Open an info modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.info({ title: 'Info', content: '...' })"}},success:{type:"function",description:"Open a success modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.success({ title: 'Success', content: '...' })"}},error:{type:"function",description:"Open an error modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.error({ title: 'Error', content: '...' })"}},warning:{type:"function",description:"Open a warning modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.warning({ title: 'Warning', content: '...' })"}},confirm:{type:"function",description:"Open a confirm modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.confirm({ title: 'Confirm', content: '...' })"}}}},resource:{description:"The current FlowResource instance in this context, used to access and manipulate data. In most block/popup scenarios it is pre-bound by the runtime (no need to call ctx.initResource). In contexts like plain JS blocks where no resource is bound, you can call ctx.initResource(type) first and then use ctx.resource.",detail:"FlowResource",examples:["await ctx.resource.refresh();"],properties:{getData:{description:"Get current resource data.",detail:"() => any",completion:{insertText:"ctx.resource.getData()"}},setData:{description:"Set current resource data (client-side only).",detail:"(value: any) => this",completion:{insertText:"ctx.resource.setData(value)"}},refresh:{description:"Refresh data from server (available on API-backed resources).",detail:"() => Promise<any>",completion:{insertText:"await ctx.resource.refresh()"}},on:{description:"Subscribe resource events (e.g., refresh).",detail:"(event: string, callback: (...args) => void) => void",completion:{insertText:"ctx.resource.on('refresh', () => {})"}},off:{description:"Unsubscribe resource events.",detail:"(event: string, callback: (...args) => void) => void",completion:{insertText:"ctx.resource.off('refresh', handler)"}},setResourceName:{description:'Set resource name (e.g., "users" or "users.profile").',detail:"(resourceName: string) => this",completion:{insertText:"ctx.resource.setResourceName('users')"}},setFilterByTk:{description:"Set primary key or filterByTk for record resources.",detail:"(filterByTk: any) => this",completion:{insertText:"ctx.resource.setFilterByTk(filterByTk)"}},runAction:{description:"Run a resource action (create/update/destroy/custom actions).",detail:"(action: string, options: any) => Promise<any>",completion:{insertText:"await ctx.resource.runAction('create', { data: {} })"}},selectedRows:{description:"Selected rows in table resources (typically for collection/table actions). Availability depends on resource type.",detail:"any[]"},pagination:{description:"Pagination info in list resources. Availability depends on resource type (e.g., MultiRecordResource).",detail:"Record<string, any>"}}},urlSearchParams:"URLSearchParams object containing query parameters from the current URL",token:"API authentication token for the current session",role:"Current user role information",auth:{description:"Authentication context containing locale, role, user, and token information.",detail:"AuthContext",properties:{locale:'Current locale code (e.g., "en-US", "zh-CN").',roleName:"Current role name.",token:"Current API token.",user:"Current user info object (if available)."}},viewer:{description:"FlowViewer instance providing view helpers (drawer/dialog/popover/embed). ",detail:"FlowViewer",examples:["await ctx.viewer.drawer({ width: '56%', content: <div>Hello</div> });","await ctx.viewer.dialog({ content: <div>Confirm</div> });"],properties:{drawer:{description:"Open a drawer view. Parameters: (props: ViewProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.drawer({ width: '56%', content: <div /> })"}},dialog:{description:"Open a dialog/modal view. Parameters: (props: ViewProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.dialog({ content: <div /> })"}},popover:{description:"Open a popover view. Parameters: (props: PopoverProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.popover({ target: ctx.element?.__el, content: <div /> })",requires:["element"]}},embed:{description:"Open an embed view. Parameters: (props: ViewProps & TargetProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.embed({ target: ctx.element?.__el, content: <div /> })",requires:["element"]}}}},popup:{description:'Popup context when current view is opened as a popup/drawer. Recommended: `const popup = await ctx.getVar("ctx.popup")`.',detail:"Promise<PopupContext | undefined>",hidden:async e=>{try{let t=await (null==e?void 0:e.popup);return!(null==t?void 0:t.uid)}catch(e){return!1}},examples:['const popup = await ctx.getVar("ctx.popup");',"const id = popup?.record?.id;","const parentId = popup?.parent?.record?.id;"],properties:{uid:"Popup view uid (string).",record:"Current popup record (object).",sourceRecord:"Parent/source record inferred from sourceId/associationName (object).",resource:{description:"Data source info of the popup record.",detail:"PopupResourceInfo",properties:{dataSourceKey:'Data source key (e.g., "main").',collectionName:"Collection name.",associationName:"Association resource name (optional).",filterByTk:"Record primary key / filterByTk.",sourceId:"Source id (optional)."}},parent:"Parent popup info (object). You can access parent.parent... at runtime if available."}},i18n:{description:"An instance of i18next for managing internationalization.",detail:"i18next",properties:{language:"Current active language code."}},sql:{description:"SQL helper (FlowSQLRepository).",detail:"FlowSQLRepository",properties:{run:{type:"function",description:"Run ad-hoc SQL with optional bind/result options.",detail:"(sql: string, options?: SQLRunOptions) => Promise<any>",completion:{insertText:"await ctx.sql.run('SELECT 1', { type: 'selectRows' })"}},save:{type:"function",description:"Save a SQL template.",detail:"(data: { uid: string; sql: string; dataSourceKey?: string }) => Promise<void>",completion:{insertText:"await ctx.sql.save({ uid: 'sql-uid', sql: 'SELECT 1' })"}},runById:{type:"function",description:"Run a saved SQL template by uid.",detail:"(uid: string, options?: SQLRunOptions) => Promise<any>",completion:{insertText:"await ctx.sql.runById('sql-uid', { type: 'selectRows' })"}},destroy:{type:"function",description:"Delete a saved SQL template by uid.",detail:"(uid: string) => Promise<void>",completion:{insertText:"await ctx.sql.destroy('sql-uid')"}}}},libs:{properties:{React:{description:"React namespace (same as ctx.React).",properties:{createElement:{type:"function",description:"Create a React element.",detail:"React.createElement",completion:{insertText:"ctx.libs.React.createElement('div', null, 'Hello')"}},useState:{type:"function",description:"React state hook.",detail:"React.useState",completion:{insertText:"ctx.libs.React.useState(initialValue)"}},useEffect:{type:"function",description:"React effect hook.",detail:"React.useEffect",completion:{insertText:"ctx.libs.React.useEffect(() => {}, [])"}},useMemo:{type:"function",description:"React memo hook.",detail:"React.useMemo",completion:{insertText:"ctx.libs.React.useMemo(() => value, [])"}},useCallback:{type:"function",description:"React callback hook.",detail:"React.useCallback",completion:{insertText:"ctx.libs.React.useCallback(() => {}, [])"}}}},ReactDOM:{description:"ReactDOM client API (same as ctx.ReactDOM).",properties:{createRoot:{type:"function",description:"Create a React root.",detail:"ReactDOM.createRoot",completion:{insertText:"ctx.libs.ReactDOM.createRoot(ctx.element.__el)",requires:["element"]}}}},antd:{description:"Ant Design component library (same as ctx.antd).",properties:{Button:"Ant Design Button component.",Table:"Ant Design Table component.",Form:"Ant Design Form component.",Input:"Ant Design Input component.",Select:"Ant Design Select component.",Modal:"Ant Design Modal API/component."}},dayjs:{type:"function",description:"dayjs date-time utility library.",detail:"dayjs",completion:{insertText:"ctx.libs.dayjs()"}},antdIcons:"Ant Design icons library. Example: `ctx.libs.antdIcons.PlusOutlined`.",lodash:{description:'Lodash utility library. Example: `ctx.libs.lodash.get(obj, "a.b")`.',properties:{get:{type:"function",description:"Read a nested value by path.",detail:"lodash.get",completion:{insertText:"ctx.libs.lodash.get(obj, 'a.b')"}},set:{type:"function",description:"Set a nested value by path.",detail:"lodash.set",completion:{insertText:"ctx.libs.lodash.set(obj, 'a.b', value)"}},debounce:{type:"function",description:"Create a debounced function.",detail:"lodash.debounce",completion:{insertText:"ctx.libs.lodash.debounce(() => {}, 300)"}},cloneDeep:{type:"function",description:"Deep clone a value.",detail:"lodash.cloneDeep",completion:{insertText:"ctx.libs.lodash.cloneDeep(value)"}}}},formula:{description:"Formula.js library (spreadsheet-like functions). Example: `ctx.libs.formula.SUM(1, 2, 3)`.",properties:{SUM:{type:"function",description:"Sum values.",detail:"formula.SUM",completion:{insertText:"ctx.libs.formula.SUM(1, 2, 3)"}},AVERAGE:{type:"function",description:"Average values.",detail:"formula.AVERAGE",completion:{insertText:"ctx.libs.formula.AVERAGE(1, 2, 3)"}}}},math:{description:'mathjs library. Example: `ctx.libs.math.evaluate("2 + 3")`.',properties:{evaluate:{type:"function",description:"Evaluate a math expression.",detail:"math.evaluate",completion:{insertText:"ctx.libs.math.evaluate('2 + 3')"}},round:{type:"function",description:"Round a number.",detail:"math.round",completion:{insertText:"ctx.libs.math.round(value, 2)"}}}}}}},methods:{request:{description:"Make an HTTP request using the APIClient instance. Parameters: (options: RequestOptions) => Promise<any>.",detail:"(options: RequestOptions) => Promise<any>",completion:{insertText:"await ctx.request({ url: '', method: 'get', params: {} })"}},getModel:{description:"Get a model instance by uid. By default, it searches across the current view stack and returns the first matched model.",detail:"(uid: string, searchInPreviousEngines?: boolean) => FlowModel | undefined",completion:{insertText:"ctx.getModel('block-uid-xxx')"},params:[{name:"uid",type:"string",description:"Target model uid."},{name:"searchInPreviousEngines",type:"boolean",description:"Whether to search in parent engines (default: false)."}],returns:{type:"FlowModel | undefined"},examples:["const model = ctx.getModel('block-uid-xxx');"]},t:{description:"Internationalization function for translating text. Parameters: (key: string, variables?: object) => string.",detail:"(key: string, variables?: object) => string",completion:{insertText:"ctx.t('Hello')"},examples:['ctx.t("Hello {{name}}", { name: "World" })']},initResource:{description:'Initialize ctx.resource as a FlowResource instance by class name. Common values: "MultiRecordResource", "SingleRecordResource", "SQLResource".',detail:"(resourceType: ResourceType) => void",completion:{insertText:"ctx.initResource('MultiRecordResource')"},examples:["ctx.initResource('MultiRecordResource'); ctx.resource.setResourceName('users');"]},makeResource:{description:'Create a new resource instance without binding it to ctx.resource. Useful when you need multiple independent or temporary resources. Common values: "MultiRecordResource", "SingleRecordResource", "SQLResource".',detail:"(resourceType) => FlowResource",completion:{insertText:"const resource = ctx.makeResource('SingleRecordResource')"},examples:["const resource = ctx.makeResource('SingleRecordResource'); resource.setResourceName('users');"]},render:{description:'Render into container. Accepts ReactElement, DOM Node/Fragment, or HTML string. Parameters: (vnode: ReactElement | Node | DocumentFragment | string, container?: HTMLElement|ElementProxy) => Root|null. Example: `ctx.render(<div>Hello</div>)` or `ctx.render("<b>hi</b>")`',detail:"ReactDOM Root",completion:{insertText:"ctx.render(<div />)",requires:["element"]}},requireAsync:{description:'Load UMD/AMD/global scripts or CSS asynchronously from URL. Accepts shorthand like "echarts@5/dist/echarts.min.js" (resolved via ESM CDN with ?raw) or full URLs, and returns a Promise of the loaded library.',detail:"(url: string) => Promise<any>",completion:{insertText:"const lib = await ctx.requireAsync('https://cdn.example.com/lib.umd.js')"}},importAsync:{description:'Dynamically import ESM modules or CSS by URL. Accepts shorthand like "vue@3.4.0" or "dayjs@1/plugin/relativeTime.js" (resolved via configured ESM CDN) or full URLs, and returns a Promise of the module namespace.',detail:"(url: string) => Promise<any>",completion:{insertText:"const mod = await ctx.importAsync('lodash-es')"}},resolveJsonTemplate:{description:"Resolve a JSON template containing {{ }} variable expressions.",detail:"(template: any) => Promise<any>",params:[{name:"template",type:"any",description:"JSON-compatible value containing {{ ctx.* }} expressions."}],returns:{type:"Promise<any>"},completion:{insertText:"await ctx.resolveJsonTemplate({ value: '{{ctx.record.id}}' })"},examples:["const data = await ctx.resolveJsonTemplate({ id: '{{ctx.record.id}}' });"]},getVar:{description:'Resolve a ctx expression value by path string (expression starts with "ctx.").',detail:"(path: string) => Promise<any>",completion:{insertText:"await ctx.getVar('ctx.record.id')"},params:[{name:"path",type:"string",description:'Expression path starts with "ctx." (e.g. "ctx.record.id", "ctx.record.roles[0].id").'}],returns:{type:"Promise<any>"},examples:["const id = await ctx.getVar('ctx.record.id');"]},getApiInfos:{description:"All available APIs under context namespace",detail:"(options?: { version?: string }) => Promise<Record<string, any>>",completion:{insertText:"await ctx.getApiInfos()"},params:[{name:"options",type:"{ version?: string }",optional:!0,description:"Options (e.g. version)."}],returns:{type:"Promise<Record<string, any>>"},examples:["const apis = await ctx.getApiInfos();"]},getVarInfos:{description:"All available variables could be used to get deeper data.",detail:"(options?: { path?: string|string[]; maxDepth?: number }) => Promise<Record<string, any>>",completion:{insertText:"await ctx.getVarInfos({ path: 'record', maxDepth: 3 })"},params:[{name:"options",type:"{ path?: string|string[]; maxDepth?: number }",optional:!0,description:"Options for path trimming and maxDepth expansion."}],returns:{type:"Promise<Record<string, any>>"},examples:["const vars = await ctx.getVarInfos({ path: 'record', maxDepth: 3 });"]},getEnvInfos:{description:"current runtime environment",detail:"() => Promise<Record<string, any>>",completion:{insertText:"await ctx.getEnvInfos()"},returns:{type:"Promise<Record<string, any>>"},examples:["const envs = await ctx.getEnvInfos();"]},runAction:{description:'Execute a data action on the current resource. Parameters: (actionName: string, params: object) => Promise<any>. Example: `await ctx.runAction("create", { values: { name: "test" } })`',detail:"Promise<any>",completion:{insertText:"await ctx.runAction('create', { values: {} })"}},openView:{description:`Open a view component (page, modal, or drawer) by its unique identifier.
|
|
1820
|
+
`}),(0,h.jsx)(ls,{metaTree:n,onChange:d,open:!0,showSearch:!1,dropdownStyle:{boxShadow:"none",border:"none"},style:{display:"none"},children:(0,h.jsx)("div",{})})]}),open:a,trigger:"click",placement:"bottomLeft",onOpenChange:u,overlayClassName:"variable-trigger-popover",destroyTooltipOnHide:!0,children:(0,h.jsxs)("span",{...t,contentEditable:!1,style:{backgroundColor:"#e6f7ff",border:"1px dashed #1890ff",borderRadius:4,padding:"1px 4px",margin:"0 1px",cursor:"pointer",display:"inline-block",fontSize:"12px",color:"#1890ff",userSelect:"none"},"data-slate-void":!0,children:["{{}}",(0,h.jsx)("span",{style:{display:"none"},children:l})]})})},rU=e=>{let{value:t="",onChange:l,metaTree:r,multiline:n=!1,placeholder:i="输入文本,使用 {{ 插入变量",style:o={},...a}=e,s=(0,m.useMemo)(()=>{let e=(0,rB.o$)((0,rL.$k)((0,r$.ie)())),{isInline:t,isVoid:l}=e;return e.isInline=e=>"variable"===e.type||"variable-trigger"===e.type||t(e),e.isVoid=e=>"variable"===e.type||"variable-trigger"===e.type||l(e),e},[]),[d,u]=m.useState(null);m.useEffect(()=>{(async()=>{if(!r)return u(null);try{if("function"==typeof r){let e=await r();u(e)}else u(r)}catch(e){console.warn("Failed to resolve metaTree:",e),u(null)}})()},[r]);let c=(0,m.useCallback)(function(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(!t)return[{type:"paragraph",children:[{text:""}]}];let l=/\{\{[^}]+\}\}/g,r=0,n=[];for(;null!==(e=l.exec(t));){e.index>r&&n.push({text:t.slice(r,e.index)});let l=e[0],i=t1(l),o;n.push({type:"variable",value:l,meta:o,children:[{text:""}]}),r=e.index+e[0].length}return r<t.length&&n.push({text:t.slice(r)}),0===n.length&&n.push({text:""}),[{type:"paragraph",children:n}]},[d]),p=(0,m.useMemo)(()=>c(t||""),[t,c]),f=(0,m.useCallback)(e=>e.map(e=>r$.Hg.isElement(e)?"variable"===e.type?e.value:f(e.children):e.text).join(""),[]),g=(0,m.useCallback)(e=>{let t=f(e);null==l||l(t)},[l,f]),v=(0,m.useCallback)((e,t,l)=>{let[r]=r$.KE.nodes(s,{match:t=>r$.Hg.isElement(t)&&"variable-trigger"===t.type&&t.triggerId===e});if(r){let[,e]=r,n={type:"variable",value:t,meta:l,children:[{text:""}]};r$.gB.setNodes(s,n,{at:e});let i=r$.KE.after(s,e);i&&r$.gB.select(s,i),rB.rL.focus(s)}},[s]),y=(0,m.useCallback)(e=>{let[t]=r$.KE.nodes(s,{match:t=>r$.Hg.isElement(t)&&"variable-trigger"===t.type&&t.triggerId===e});if(t){let[,e]=t;r$.gB.select(s,e),r$.gB.removeNodes(s,{at:e}),r$.gB.insertText(s,"{{"),rB.rL.focus(s)}},[s]),b=(0,m.useCallback)(e=>{switch(e.element.type){case"variable":return(0,h.jsx)(rW,{...e,metaTree:d});case"variable-trigger":return(0,h.jsx)(rK,{...e,element:e.element,metaTree:r,onVariableSelect:v,onTriggerClose:y});default:return(0,h.jsx)("p",{...e.attributes,children:e.children})}},[r,d,v,y]),x=(0,m.useCallback)(e=>(0,h.jsx)("span",{...e.attributes,style:{fontWeight:e.leaf.bold?"bold":"normal"},children:e.children}),[]),w=(0,m.useCallback)(e=>{if("{"===e.key){let{selection:t}=s;if(t&&r$.Q6.isCollapsed(t)){let[l]=r$.Q6.edges(t),r=r$.KE.before(s,l);if(r){let t=r$.KE.range(s,r,l);if("{"===r$.KE.string(s,t)){e.preventDefault(),r$.gB.delete(s,{at:t});let l={type:"variable-trigger",triggerId:(0,A.uid)(),children:[{text:""}]};r$.gB.insertNodes(s,l)}}}}},[s]);return(0,h.jsx)(rB.A,{editor:s,initialValue:p,onChange:g,children:(0,h.jsx)(rB.Fo,{renderElement:b,renderLeaf:x,placeholder:i,onKeyDown:w,style:{minHeight:n?100:32,padding:"4px 11px",border:"1px solid #d9d9d9",borderRadius:6,fontSize:14,lineHeight:1.5714285714285714,...o},...a})})},rW=e=>{let{attributes:t,children:l,element:r,metaTree:n}=e,i=r,o=m.useMemo(()=>i.meta?i.meta:(n&&i.value&&t1(i.value),null),[i.meta,i.value,n]);return(0,h.jsxs)("span",{...t,contentEditable:!1,children:[(0,h.jsx)(rV,{value:i.value,metaTreeNode:o,metaTree:n,style:{marginLeft:2,marginRight:2,verticalAlign:"baseline",display:"inline-block"}}),l]})};var rH=l(61793),rY=l(76546);function rG(){return function(e){e.isLargeField=!0}}var rJ=l(63128),rX=l(91013),rQ=l(37966);function rZ(e){var t,l,r;return(null==e||null==(l=e.api)||null==(t=l.auth)?void 0:t.locale)||(null==e||null==(r=e.i18n)?void 0:r.language)||(null==e?void 0:e.locale)}function r0(e){var t,l;let{version:r="v1"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,rQ.B)(e),i=rQ.F.resolve(r,n)||rQ.F.resolve(r,"*"),o=rZ(e);return(null==i||null==(t=i.getDoc)?void 0:t.length)?i.getDoc(o)||{}:(null==i||null==(l=i.getDoc)?void 0:l.call(i))||{}}function r1(e){let t=(null==e?void 0:e.version)||"v1",l=(0,rQ.B)(this),r=e=>e,n=rQ.F.resolve(t,l)||rQ.F.resolve(t,"*");if(!n)throw Error("[RunJS] No RunJSContext registered for version/model.");let i=new n(r(this)),o={};try{var a,s;let e=rZ(this);o=(null==n||null==(a=n.getDoc)?void 0:a.length)?n.getDoc(e)||{}:(null==n||null==(s=n.getDoc)?void 0:s.call(n))||{}}catch(e){o={}}let d=(0,e0.Bt)(i,{doc:o}),u={};"u">typeof window&&(u.window=window,"u">typeof navigator&&(u.navigator=navigator)),"u">typeof document&&(u.document=document);let c={ctx:d,...u,...(null==e?void 0:e.globals)||{}},{timeoutMs:p}=e||{};return new rX.I$({globals:c,timeoutMs:p})}function r2(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=rQ.F.getMeta(t,e),r=null==l?void 0:l.scenes;return Array.isArray(r)?[...r]:[]}function r4(e){let{version:t="v1"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return r2((0,rQ.B)(e),t)}var r6=l(88828),r3=l(19258);let r5={"global/message-success":()=>l.e("3937").then(l.bind(l,75432)),"global/message-error":()=>l.e("3018").then(l.bind(l,19505)),"global/api-request":()=>l.e("7946").then(l.bind(l,66321)),"global/require-amd":()=>l.e("4222").then(l.bind(l,25789)),"global/import-esm":()=>l.e("6373").then(l.bind(l,25716)),"global/notification-open":()=>l.e("7876").then(l.bind(l,52191)),"global/window-open":()=>l.e("2203").then(l.bind(l,27142)),"global/open-view-drawer":()=>l.e("1676").then(l.bind(l,6551)),"global/open-view-dialog":()=>l.e("7211").then(l.bind(l,29846)),"global/query-selector":()=>l.e("2958").then(l.bind(l,93117)),"global/clipboard-copy-text":()=>l.e("754").then(l.bind(l,38937)),"scene/block/echarts-init":()=>l.e("2726").then(l.bind(l,37285)),"scene/block/render-react":()=>l.e("5501").then(l.bind(l,71868)),"scene/block/render-react-jsx":()=>l.e("5721").then(l.bind(l,91296)),"scene/block/render-antd-icons":()=>l.e("8434").then(l.bind(l,84953)),"scene/block/render-button-handler":()=>l.e("7201").then(l.bind(l,93512)),"scene/block/add-event-listener":()=>l.e("212").then(l.bind(l,97487)),"scene/block/chartjs-bar":()=>l.e("1310").then(l.bind(l,39101)),"scene/block/vue-component":()=>l.e("1725").then(l.bind(l,40812)),"scene/block/resource-example":()=>l.e("6738").then(l.bind(l,25481)),"scene/block/api-fetch-render-list":()=>l.e("8138").then(l.bind(l,26177)),"scene/block/render-info-card":()=>l.e("2555").then(l.bind(l,53494)),"scene/block/render-statistics":()=>l.e("1951").then(l.bind(l,47890)),"scene/block/render-timeline":()=>l.e("3727").then(l.bind(l,80626)),"scene/block/render-iframe":()=>l.e("8562").then(l.bind(l,25417)),"scene/detail/innerHTML-value":()=>l.e("700").then(l.bind(l,99287)),"scene/detail/format-number":()=>l.e("1786").then(l.bind(l,84529)),"scene/detail/color-by-value":()=>l.e("2898").then(l.bind(l,17689)),"scene/detail/copy-to-clipboard":()=>l.e("1425").then(l.bind(l,57064)),"scene/detail/status-tag":()=>l.e("8438").then(l.bind(l,7765)),"scene/detail/relative-time":()=>l.e("7021").then(l.bind(l,37420)),"scene/detail/percentage-bar":()=>l.e("5759").then(l.bind(l,73330)),"scene/detail/set-field-style":()=>l.e("7492").then(l.bind(l,40959)),"scene/form/render-basic":()=>l.e("6437").then(l.bind(l,29924)),"scene/form/set-field-value":()=>l.e("3989").then(l.bind(l,35876)),"scene/form/toggle-visible":()=>l.e("5761").then(l.bind(l,30008)),"scene/form/set-disabled":()=>l.e("4313").then(l.bind(l,66656)),"scene/form/set-required":()=>l.e("3662").then(l.bind(l,44637)),"scene/form/calculate-total":()=>l.e("2335").then(l.bind(l,74354)),"scene/form/conditional-required":()=>l.e("158").then(l.bind(l,37517)),"scene/form/cascade-select":()=>l.e("7959").then(l.bind(l,79242)),"scene/form/toggle-multiple-fields":()=>l.e("2017").then(l.bind(l,57768)),"scene/form/copy-field-values":()=>l.e("3117").then(l.bind(l,80236)),"scene/table/cell-open-dialog":()=>l.e("9836").then(l.bind(l,72103)),"scene/table/concat-fields":()=>l.e("2710").then(l.bind(l,27733)),"scene/table/collection-selected-count":()=>l.e("5064").then(l.bind(l,35803)),"scene/table/iterate-selected-rows":()=>l.e("8262").then(l.bind(l,86949)),"scene/table/destroy-selected":()=>l.e("3690").then(l.bind(l,92625)),"scene/table/export-selected-json":()=>l.e("6581").then(l.bind(l,56100)),"scene/table/set-cell-style":()=>l.e("9827").then(l.bind(l,10782))};function r8(e,t,l){if("string"!=typeof e||!e.trim())throw Error("[flow-engine] registerRunJSSnippet: ref must be a non-empty string");if("function"!=typeof t)throw Error("[flow-engine] registerRunJSSnippet: loader must be a function returning a Promise");let r=e.trim();return("function"!=typeof r5[r]||!!(null==l?void 0:l.override))&&(r5[r]=t,!0)}function r9(e){let t=e.split("/");return t[t.length-1]||e}function r7(e,t){if(Array.isArray(null==e?void 0:e.scenes)&&e.scenes.length)return e.scenes.map(e=>String(e).trim()).filter(e=>e.length>0);let l=t.split("/");return"scene"===l[0]&&l[1]?[l[1]]:[]}function ne(e){return({detailFieldEvent:"detail",tableFieldEvent:"table",formFieldEvent:"form"})[e]||e}function nt(e,t){let l=r7(e,t);if(l.length)return Array.from(new Set(l.map(e=>`scene/${ne(e)}`)));let r=t.split("/");if(!r.length)return[];let n=r[0];return"global"===n||"libs"===n?[n]:"scene"===n&&r.length>=2?[`${n}/${r[1]}`]:r.length>=2?[`${r[0]}/${r[1]}`]:[r[0]]}function nl(e,t){if(!t||!(null==e?void 0:e.locales))return{};let l=e.locales[t];if(l)return l;let r=t.toLowerCase();if(r!==t&&e.locales[r])return e.locales[r];let n=t.split("-")[0];if(n&&e.locales[n])return e.locales[n];if(n){let t=n.toLowerCase();if(e.locales[t])return e.locales[t]}return{}}async function nr(e){let t=r5[e];if("function"!=typeof t)throw Error(`[flow-engine] snippet not found: ${e}`);let l=await t(),r=null==l?void 0:l.default,n=(null==r?void 0:r.content)??(null==l?void 0:l.content)??(null==l?void 0:l.body)??"";return"string"==typeof n?n:String(n??"")}async function nn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"v1",l=arguments.length>2?arguments[2]:void 0,r=[],n=new Set;"string"==typeof e&&e&&n.add(e);try{let l=rQ.F.resolve(t,e);(null==l?void 0:l.name)&&n.add(l.name)}catch(e){}return await Promise.all(Object.entries(r5).map(async i=>{let[o,a]=i;if("function"==typeof a)try{let i=await a(),s=(null==i?void 0:i.default)||{},d=(null==s?void 0:s.content)??(null==i?void 0:i.content);if("string"!=typeof d)return;let u=!0;if(Array.isArray(null==s?void 0:s.contexts)&&s.contexts.length){let t=s.contexts.map(e=>"*"===e?"*":"string"==typeof e?e:"function"==typeof e?e.name||"*":e&&"object"==typeof e&&"string"==typeof e.name?e.name:String(e??""));u="*"===e||t.includes("*")||t.some(e=>n.has(e))}if(u&&Array.isArray(null==s?void 0:s.versions)&&s.versions.length&&(u=s.versions.includes("*")||s.versions.includes(t)),!u)return;let c=nl(s,l),p=c.label||(null==s?void 0:s.label)||r9(o),h=c.description??(null==s?void 0:s.description),f=(null==s?void 0:s.prefix)||p,m=nt(s,o),g=r7(s,o);r.push({name:p,prefix:f,description:h,body:d,ref:o,group:m[0],groups:m,scenes:g})}catch(e){return}})),r}var ni=l(67778),no=l(16639),na=l(68161),ns=l(84471);l(96321),l(98837);class nd extends ns.j{saveFlow(e){}destroyFlow(e){this.removeFlow(e)}constructor(e={}){super(),this.addFlows(F().cloneDeep(e))}}function nu(e){let t={};for(let[l,r]of e.getFlows())t[l]=F().cloneDeep(r.toData());return t}function nc(e,t){for(let t of Array.from(e.getFlows().keys()))e.removeFlow(t);e.addFlows(F().cloneDeep(t))}var np=l(47451);function nh(e){let t=new s.$;e.modelRepository&&t.setModelRepository(e.modelRepository),t.context.addDelegate(e.context),t.unlinkFromStack=function(){let e=t._previousEngine,l=t._nextEngine;e&&(e._nextEngine=l),l&&(l._previousEngine=e),t._previousEngine=void 0,t._nextEngine=void 0};let l=new Set(["_modelInstances","_applyFlowCache","executor","context","previousEngine","nextEngine","unlinkFromStack","linkAfter","_previousEngine","_nextEngine","getModel"]),r={get(t,r,n){if(l.has(r))return Reflect.get(t,r,n);let i=Reflect.get(e,r,n);return"registerModels"===r&&"function"==typeof i?i.bind(e):i},set:(t,r,n)=>l.has(r)?Reflect.set(t,r,n):Reflect.set(e,r,n),has:(t,l)=>l in t||l in e};return t.linkAfter(e),new Proxy(t,r)}l(58149)},22505(e,t,l){l.d(t,{R:()=>i}),l(45336),l(84560);var r=l(74848),n=l(96540);function i(e){for(var t=arguments.length,l=Array(t>1?t-1:0),i=1;i<t;i++)l[i-1]=arguments[i];if(0===l.length){let t=(0,n.lazy)(()=>e().then(e=>({default:e.default})));return e=>(0,r.jsx)(n.Suspense,{fallback:null,children:(0,r.jsx)(t,{...e})})}return l.reduce((t,l)=>{let i=(0,n.lazy)(()=>e().then(e=>({default:e[l]})));return t[l]=e=>(0,r.jsx)(n.Suspense,{fallback:null,children:(0,r.jsx)(i,{...e})}),t},{})}},33954(e,t,l){l.d(t,{xI:()=>Q,WD:()=>q,jG:()=>el,NK:()=>B,B3:()=>er,yN:()=>k,_f:()=>V,WE:()=>X,bt:()=>en,oY:()=>z,yW:()=>et});var r=l(58587),n=l(18150),i=l(68238),o=l(50467);l(23089),l(82855),l(17106),l(36792),l(45336),l(23446),l(32699),l(79936),l(69861),l(34678),l(14324),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(89773),l(5409),l(91625);var a=l(74848),s=l(95243),d=l(2543),u=l.n(d),c=l(96540),p=l(38950),h=l(48036),f=l(96321),m=l(29007),g=l(60182),v=l(84359),y=l(11869),b=l(64171);class x extends b.Z{onActionRegistered(){this.changeMarker={}}getActions(){var e;let t=null==(e=this.parentRegistry)?void 0:e.getActions();if(this.mergedCache&&this.mergedCache.parentSnapshot===t&&this.mergedCache.localMarker===this.changeMarker)return this.mergedCache.mergedMap;let l=new Map(t??[]);for(let[e,t]of this.actions)l.set(e,t);return this.mergedCache={parentSnapshot:t,localMarker:this.changeMarker,mergedMap:l},l}getAction(e){var t;let l=this.actions.get(e);return l||(null==(t=this.parentRegistry)?void 0:t.getAction(e))}constructor(e,t){super(),(0,o._)(this,"modelClass",void 0),(0,o._)(this,"parentRegistry",void 0),(0,o._)(this,"changeMarker",{}),(0,o._)(this,"mergedCache",void 0),this.modelClass=e,this.parentRegistry=t??null}}var w=l(41594),S=l(26955);class A extends S.L{onEventRegistered(){this.changeMarker={}}getEvents(){var e;let t=null==(e=this.parentRegistry)?void 0:e.getEvents();if(this.mergedCache&&this.mergedCache.parentSnapshot===t&&this.mergedCache.localMarker===this.changeMarker)return this.mergedCache.mergedMap;let l=new Map(t??[]);for(let[e,t]of this.events)l.set(e,t);return this.mergedCache={parentSnapshot:t,localMarker:this.changeMarker,mergedMap:l},l}getEvent(e){var t;let l=this.events.get(e);return l||(null==(t=this.parentRegistry)?void 0:t.getEvent(e))}constructor(e,t){super(),(0,o._)(this,"modelClass",void 0),(0,o._)(this,"parentRegistry",void 0),(0,o._)(this,"changeMarker",{}),(0,o._)(this,"mergedCache",void 0),this.modelClass=e,this.parentRegistry=t??null}}var M=l(98837);l(58149);var F=new WeakMap;class k{static setSharedProperties(e){this.SHARED_PROPERTIES=[...e]}static getSharedProperties(){return[...this.SHARED_PROPERTIES]}get context(){return this["#flowContext"]||(this["#flowContext"]=new m.Hl(this.master,this)),this["#flowContext"]}getPropertyDescriptor(e,t){let l=e;for(;l;){let e=Object.getOwnPropertyDescriptor(l,t);if(e)return e;l=Object.getPrototypeOf(l)}}setProps(e,t){this.disposed||("string"==typeof e?this.localProps[e]=t:this.localProps={...this.localProps,...e})}clearProps(){return this.localProps={}}render(){if(this.disposed)return null;let e={...this.master.getProps(),...this.localProps},t=this.props;this.props=e;try{return this.master.render.call(this)}finally{this.props=t}}getFlowCacheScope(e){return`${String(e)}:${String(this.forkId)}`}dispose(){if(!this.disposed){this.disposed=!0;try{var e;let t=null==(e=this.flowEngine)?void 0:e.applyFlowCache;if(t&&t.size>0){let e=[`:${this.uid}`,`-${this.uid}`],l=`:${this.forkId}:`,r=`-${this.forkId}-`;for(let n of t.keys()){if(!(n.startsWith("event:")||n.startsWith("event-"))||!e.some(e=>n.endsWith(e)))continue;let i=n;for(let t of e)if(i.endsWith(t)){i=i.slice(0,-t.length);break}(i.includes(l)||i.includes(r))&&t.delete(n)}}}catch{}if(this.master&&this.master.forks&&this.master.forks.delete(this),this.master&&this.master.forkCache){let e=this.master.forkCache;for(let[t,l]of e.entries())if(l===this){e.delete(t);break}}}}getProps(){return{...this.master.getProps(),...this.localProps}}isSharedProperty(e){return k.SHARED_PROPERTIES.includes(e)}constructor(e,t={},l){return(0,o._)(this,"uid",void 0),(0,o._)(this,"isFork",!0),(0,o._)(this,"localProps",void 0),(0,o._)(this,"master",void 0),(0,o._)(this,"disposed",!1),(0,o._)(this,"forkId",void 0),(0,o._)(this,"localProperties",{}),(0,n._)(this,F,{writable:!0,value:void 0}),this.localProperties,this.master=e,this.uid=e.uid,this.localProps={...t},this.forkId=l||(0,p.L)(),this.hidden=this.master.hidden,(0,s.define)(this,{localProps:s.observable,hidden:s.observable,setProps:s.action}),new Proxy(this,{get:(e,t,l)=>{var r;if("disposed"===t)return e.disposed;if("constructor"===t)return e.master.constructor;if("props"===t)return{...e.master.getProps(),...e.localProps};if(t in e)return Reflect.get(e,t,l);if(Object.prototype.hasOwnProperty.call(e.localProperties,t))return e.localProperties[t];let n=null==(r=e.master)?void 0:r[t];if("function"==typeof n){let t=e.master.constructor;return(function(){for(var e=arguments.length,l=Array(e),r=0;r<e;r++)l[r]=arguments[r];let i=Object.create(this);return Object.defineProperty(i,"constructor",{value:t,configurable:!0,enumerable:!1,writable:!1}),n.apply(i,l)}).bind(l)}return n},set:(e,t,l,r)=>{if("props"===t)return!0;if(t in e)return Reflect.set(e,t,l,r);let n=String(t);if(k.SHARED_PROPERTIES.includes(n)){let n=this.getPropertyDescriptor(e.master,t);return n&&n.set?n.set.call(r,l):e.master[t]=l,!0}{let n=this.getPropertyDescriptor(e.master,t);return n&&n.set?n.set.call(r,l):e.localProperties[t]=l,!0}}})}}(0,o._)(k,"SHARED_PROPERTIES",["stepParams","sortIndex"]);let C=new WeakMap,P=new WeakMap,j=new WeakMap;function E(e,t){return"number"==typeof(null==e?void 0:e.sortIndex)&&Number.isFinite(e.sortIndex)?e.sortIndex:t+1}function R(e){return e.map((e,t)=>({item:e,index:t,sortIndex:E(e,t)})).sort((e,t)=>e.sortIndex-t.sortIndex||e.index-t.index).map(e=>{let{item:t}=e;return t})}let T=new WeakMap,I=new WeakMap,_=e=>[...e].sort((e,t)=>(e.sort??0)-(t.sort??0)),D=e=>null!==e,N=(e,t)=>{let{group:l,sort:r,prefix:n,path:i}=t;if(!e)return null;let o=e.group||l,a="number"==typeof e.sort?e.sort:r,s=_((e.children||[]).map((e,t)=>N(e,{group:o,sort:a,prefix:n,path:`${i}-${t}`})).filter(D));return{...e,key:e.key??`${n}-${o}-${i}`,group:o,sort:a,children:s.length?s:void 0}};async function O(){return(await Promise.resolve().then(l.bind(l,23183))).openStepSettingsDialog}async function $(){return(await Promise.resolve().then(l.bind(l,96332))).openRequiredParamsStepFormDialog}var B=function(e){return e.ReactElement="reactElement",e.RenderFunction="renderFunction",e}({}),L=new WeakMap;class q{renderHiddenInConfig(){var e,t;return(0,a.jsx)("span",{style:{opacity:.5},children:(null==(e=(t=this).translate)?void 0:e.call(t,"Hidden"))||"Hidden"})}renderOriginal(){return this._originalRender()}get context(){return(0,r._)(this,L)||(0,i._)(this,L,new m.d6(this)),(0,r._)(this,L)}on(e,t){this.emitter.on(e,t)}onInit(e){}async afterAddAsSubModel(){}get async(){return this._options.async||!1}get use(){return this._options.use}get subKey(){return this._options.subKey}get subType(){return this._options.subType}get reactView(){return this.flowEngine.reactView}get parentId(){return this._options.parentId}scheduleModelOperation(e,t,l){var r;return null==(r=this.flowEngine)?void 0:r.scheduleModelOperation(this,e,t,l)}static get meta(){return j.get(this)}static get globalFlowRegistry(){let e=this,t=T.get(e);return t||(t=new M.r(e),T.set(e,t)),t}static get actionRegistry(){let e=this,t=C.get(e);if(!t){let l=null,r=Object.getPrototypeOf(e);r&&r!==Function.prototype&&r!==Object.prototype&&(r===q||(0,g.FA)(r,q))&&(l=r.actionRegistry),t=new x(e,l),C.set(e,t)}return t}static get eventRegistry(){let e=this,t=P.get(e);if(!t){let l=null,r=Object.getPrototypeOf(e);r&&r!==Function.prototype&&r!==Object.prototype&&(r===q||(0,g.FA)(r,q))&&(l=r.eventRegistry),t=new A(e,l),P.set(e,t)}return t}static registerAction(e){this.actionRegistry.registerAction(e)}static registerActions(e){this.actionRegistry.registerActions(e)}static registerEvent(e){this.eventRegistry.registerEvent(e)}static registerEvents(e){this.eventRegistry.registerEvents(e)}static async buildChildrenFromModels(e,t){return Promise.all(t.map(t=>(0,w.Ls)(t,e,!0)))}get title(){var e;return this.translate(this._title)||this.translate(null==(e=this.constructor.meta)?void 0:e.label)}get extraTitle(){return this._extraTitle?this.translate(this._extraTitle):""}setTitle(e){this._title=e}setExtraTitle(e){this._extraTitle=e||""}setHidden(e){this.hidden=!!e}_createSubModels(e){let t=e||{};try{let l=this.constructor.meta,r=null==l?void 0:l.createModelOptions;if(r&&"object"==typeof r&&r.subModels){let l=(e,t)=>{if(Array.isArray(e)&&Array.isArray(t))return t};t=u().mergeWith({},u().cloneDeep(r.subModels||{}),u().cloneDeep(e||{}),l)}}catch(e){}Object.entries(t||{}).forEach(e=>{let[t,l]=e;Array.isArray(l)?R(l).forEach(e=>{this.addSubModel(t,e)}):this.setSubModel(t,l)})}invalidateFlowCache(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.flowEngine){let t=`event:${this.getFlowCacheScope(e||"beforeRender")}`,l=this.flowEngine.applyFlowCache;if(e){let r=t.replace(/:/g,"-"),n=[`:${this.uid}`,`-${this.uid}`],i=[`:${e}:`,`-${e}-`];for(let e of l.keys()){let o=e.startsWith(t)||e.startsWith(r),a=n.some(t=>e.endsWith(t)),s=i.some(t=>e.includes(t));o&&a&&s&&l.delete(e)}}else{let e=`${t}:`.replace(/:/g,"-"),r=[`${t}:`,e],n=[`:${this.uid}`,`-${this.uid}`];for(let e of l.keys()){let t=r.some(t=>e.startsWith(t)),i=n.some(t=>e.endsWith(t));t&&i&&l.delete(e)}}this.forks.forEach(t=>{var l;let r=`event:${(null==(l=t.getFlowCacheScope)?void 0:l.call(t,e||"beforeRender"))??String(t.forkId)}`,n=r.replace(/:/g,"-"),i=[`:${this.uid}`,`-${this.uid}`];if(e){let t=[`:${e}:`,`-${e}-`];for(let e of this.flowEngine.applyFlowCache.keys()){let l=e.startsWith(r)||e.startsWith(n),o=i.some(t=>e.endsWith(t)),a=t.some(t=>e.includes(t));l&&o&&a&&this.flowEngine.applyFlowCache.delete(e)}}else{let e=[`${r}:`,`${n}-`];for(let t of this.flowEngine.applyFlowCache.keys()){let l=e.some(e=>t.startsWith(e)),r=i.some(e=>t.endsWith(e));l&&r&&this.flowEngine.applyFlowCache.delete(t)}}})}if(t)for(let l of Object.keys(this.subModels)){let r=this.subModels[l];if(Array.isArray(r))for(let l of r)l.invalidateFlowCache(e,t);else r instanceof q&&r.invalidateFlowCache(e,t)}}setFlowEngine(e){}static define(e){j.set(this,e)}static registerFlow(e,t){let l=this;"string"==typeof e?l.globalFlowRegistry.addFlow(e,t):l.globalFlowRegistry.addFlow(e.key,e)}getFlow(e){return this.flowRegistry.hasFlow(e)?this.flowRegistry.getFlow(e):this.constructor.globalFlowRegistry.getFlow(e)}registerFlow(e,t){return"string"==typeof e?this.flowRegistry.addFlow(e,t):this.flowRegistry.addFlow(e.key,e)}getActions(){var e;let t=this.constructor.actionRegistry.getActions(),l=new Map,r=null==(e=this.flowEngine)?void 0:e.getActions();if(r)for(let[e,t]of r)l.set(e,t);for(let[e,r]of t)l.set(e,r);return l}getEvents(){var e;let t=this.constructor.eventRegistry.getEvents(),l=new Map,r=null==(e=this.flowEngine)?void 0:e.getEvents();if(r)for(let[e,t]of r)l.set(e,t);for(let[e,r]of t)l.set(e,r);return l}getEvent(e){var t;let l=this.constructor.eventRegistry.getEvent(e);return l||(null==(t=this.flowEngine)?void 0:t.getEvent(e))}getAction(e){var t;let l=this.constructor.actionRegistry.getAction(e);return l||(null==(t=this.flowEngine)?void 0:t.getAction(e))}getFlows(){let e=this.flowRegistry.getFlows(),t=this.constructor.globalFlowRegistry.getFlows(),l=new Set(e.keys()),r=Array.from(t.entries()).filter(e=>{let[t]=e;return!l.has(t)}),n=Array.from(e.entries()).map((e,t)=>({e,i:t}));return n.sort((e,t)=>{let l=e.e[1].sort??0,r=t.e[1].sort??0;return l!==r?l-r:e.i-t.i}),new Map([...n.map(e=>{let{e:t}=e;return t}),...r])}setProps(e,t){"string"==typeof e?this.props[e]=t:this.props={...this.props,...e},this._options.props={...this.props}}getProps(){return this.props}setStepParams(e,t,l){let r=!1;if("string"==typeof e){let i=e;if("string"==typeof t&&void 0!==l){var n;let e=(null==(n=this.stepParams[i])?void 0:n[t])||{},o={...e,...l};u().isEqual(e,o)||(this.stepParams[i]||(this.stepParams[i]={}),this.stepParams[i][t]=o,r=!0)}else if("object"==typeof t&&null!==t){let e=this.stepParams[i]||{},l={...e,...t};u().isEqual(e,l)||(this.stepParams[i]=l,r=!0)}}else if("object"==typeof e&&null!==e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let l=this.stepParams[t]||{},n={...l,...e[t]};u().isEqual(l,n)||(this.stepParams[t]=n,r=!0)}}r&&this.emitter.emit("onStepParamsChanged")}getStepParams(e,t){if(e&&t){var l;return null==(l=this.stepParams[e])?void 0:l[t]}return e?this.stepParams[e]:this.stepParams}async applyFlow(e,t,l){let r=this.flowEngine;if(!r)return console.warn("FlowEngine not available on this model for applyFlow. Check and model.flowEngine setup."),Promise.reject(Error("FlowEngine not available for applyFlow. Please set flowEngine on the model."));let n=!0===this.isFork,i=this;return r.logger.debug(`[FlowModel] applyFlow: uid=${this.uid}, flowKey=${e}, isFork=${n}, cleanRun=${this.cleanRun}, targetIsFork=${(null==i?void 0:i.isFork)===!0}`),r.executor.runFlow(i,e,t,l)}async _dispatchEvent(e,t,l){let r=this.flowEngine;if(!r)return void console.warn("FlowEngine not available on this model for dispatchEvent. Please set flowEngine on the model.");let n=!0===this.isFork,i=this;return r.logger.debug(`[FlowModel] dispatchEvent: uid=${this.uid}, event=${e}, isFork=${n}, cleanRun=${this.cleanRun}, targetIsFork=${(null==i?void 0:i.isFork)===!0}`),await r.executor.dispatchEvent(i,e,t,l)}async dispatchEvent(e,t,l){let r="beforeRender"===e,n=r?{sequential:!0,useCache:!0}:{sequential:!0},i={sequential:(null==l?void 0:l.sequential)??n.sequential,useCache:(null==l?void 0:l.useCache)??n.useCache};return(r&&(this._lastAutoRunParams=[t,i.useCache]),null==l?void 0:l.debounce)?this._dispatchEventWithDebounce(e,t,i):this._dispatchEvent(e,t,i)}getEventFlows(e){let t=this.getFlows(),l="beforeRender"===e,r=t=>{if(l){var r;return!0!==t.manual&&(!t.on||("string"==typeof t.on?"beforeRender"===t.on:(null==(r=t.on)?void 0:r.eventName)==="beforeRender"))}let n=t.on;return!!n&&("string"==typeof n?n===e:(null==n?void 0:n.eventName)===e)};return Array.from(t.values()).filter(r)}resetAutoRunState(){var e,t;null==(t=this._rerunLastAutoRun)||null==(e=t.cancel)||e.call(t),this._lastAutoRunParams=null}async onDispatchEventStart(e,t,l){}async onDispatchEventEnd(e,t,l,r){}async onDispatchEventError(e,t,l,r){}useHooksBeforeRender(){}shouldSkipReactiveWrapping(){return!!this.render.__isReactiveWrapped||"renderFunction"===this.constructor.renderMode}setupReactiveRender(){if("function"==typeof this.render)try{let e=this.render;if(this._originalRender=e,"function"!=typeof e)return void console.error(`FlowModel ${this.constructor.name}: original render method is not a function`,e);if(this.shouldSkipReactiveWrapping()){let t=function(){var t,l,r,n;let i=!!(null==(l=this)||null==(t=l.context)?void 0:t.flowSettingsEnabled);if(this.hidden){if(!i)return null;let e=null==(r=(n=this).renderHiddenInConfig)?void 0:r.call(n),t=this.constructor;return"renderFunction"===t.renderMode?"function"==typeof e?e:()=>e:e}return e.call(this)};t.__originalRender=e,this.render=t;return}let t=t=>{let l=(0,y.observer)(()=>{var l,r;let n=t;n!==t&&(null==n?void 0:n.localProps)!==void 0&&n.localProps,t.props,c.useEffect(()=>{var e,t;return"function"==typeof n.onMount&&n.onMount(),null==(t=n.flowEngine)||null==(e=t.emitter)||e.emitAsync("model:mounted",{uid:n.uid,model:n}),()=>{var e,t;n.resetAutoRunState(),"function"==typeof n.onUnmount&&n.onUnmount(),null==(t=n.flowEngine)||null==(e=t.emitter)||e.emitAsync("model:unmounted",{uid:n.uid,model:n})}},[n]);let i=!!(null==t||null==(l=t.context)?void 0:l.flowSettingsEnabled);return t.hidden?i?null==(r=t.renderHiddenInConfig)?void 0:r.call(t):null:(t.stepParams,e.call(n))});return l.displayName=`ReactiveWrapper(${t.constructor.name})`,l},l=function(){return this._reactiveWrapperCache||(this._reactiveWrapperCache=t(this)),c.createElement(this._reactiveWrapperCache)};l.__isReactiveWrapped=!0,l.__originalRender=e,this.render=l}catch(e){console.error(`FlowModel ${this.constructor.name}: Error during render method wrapping:`,e)}}get cleanRun(){return!0}setCleanRun(e){this._cleanRun,this._cleanRun=!!e}onMount(){}onUnmount(){}render(){return(0,a.jsx)("div",{...this.props})}async rerender(){var e;await this.dispatchEvent("beforeRender",null==(e=this._lastAutoRunParams)?void 0:e[0],{useCache:!1})}getFlowCacheScope(e){return String(e)}setParent(e){if(!(e&&(e.constructor===q||(0,g.FA)(e.constructor,q))))throw Error("Parent must be an instance of FlowModel.");this.parent=e,this._options.parentId=e.uid,!1!==this._options.delegateToParent&&this.context.addDelegate(this.parent.context)}removeParentDelegate(){this.parent&&this.context.removeDelegate(this.parent.context)}addSubModel(e,t){var l,r,n;let i,o=this.master||this;if(t instanceof q){let e=!!t.parent,l=null==(n=t.parent)?void 0:n.uid;if(e&&l&&l!==o.uid)throw Error("Sub model already has a parent.");i=t}else i=o.flowEngine.createModel({...t,parentId:o.uid,subKey:e,subType:"array"});i.setParent(o);let a=o.subModels;Array.isArray(a[e])||(a[e]=s.observable.shallow([]));let d=Math.max(...a[e].map((e,t)=>E(e,t)),0);return i.sortIndex=d+1,a[e].push(i),o.emitter.emit("onSubModelAdded",i),null==(r=o.flowEngine)||null==(l=r.emitter)||l.emit("model:subModel:added",{parentUid:o.uid,parent:o,subKey:e,model:i}),i}setSubModel(e,t){var l,r,n;let i,o=this.master||this;if(t instanceof q){let e=!!t.parent,l=null==(n=t.parent)?void 0:n.uid;if(e&&l&&l!==o.uid)throw Error("Sub model already has a parent.");i=t}else i=o.flowEngine.createModel({...t,parentId:o.uid,subKey:e,subType:"object"});return i.setParent(o),o.subModels[e]=i,o.emitter.emit("onSubModelAdded",i),null==(r=o.flowEngine)||null==(l=r.emitter)||l.emit("model:subModel:added",{parentUid:o.uid,parent:o,subKey:e,model:i}),i}filterSubModels(e,t){let l=this.subModels[e];if(!l)return[];let r=[];return R(u().castArray(l)).forEach((e,l)=>{t(e,l)&&r.push(e)}),r}mapSubModels(e,t){let l=this.subModels[e];if(!l)return[];let r=[];return R(u().castArray(l)).forEach((e,l)=>{let n=t(e,l);r.push(n)}),r}hasSubModel(e){let t=this.subModels[e];return!!t&&u().castArray(t).length>0}findSubModel(e,t){let l=this.subModels[e];return l&&u().castArray(l).find(e=>t(e))||null}createRootModel(e){return this.flowEngine.createModel(e)}async applySubModelsBeforeRenderFlows(e,t,l){await Promise.all(this.mapSubModels(e,async e=>{await e.dispatchEvent("beforeRender",t)}))}createFork(e,t,l){if(t){let l=this.forkCache.get(t);if(l&&!l.disposed)return l.setProps(e||{}),l}let r=new k(this,e,(0,p.L)());return(null==l?void 0:l.register)!==!1&&this.forks.add(r),t&&(null==l?void 0:l.register)!==!1&&this.forkCache.set(t,r),r}clearForks(){var e;this.flowEngine.logger.debug(`FlowModel ${this.uid} clearing all forks.`),(null==(e=this.forks)?void 0:e.size)&&(this.forks.forEach(e=>e.dispose()),this.forks.clear()),this.forkCache.clear()}getFork(e){return this.forkCache.get(e)}moveTo(e,t){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before saving.");return this.flowEngine.moveModel(this.uid,e.uid,t)}remove(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before saving.");return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.removeModel(this.uid)}async save(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before saving.");return this.flowEngine.saveModel(this)}async saveStepParams(){return this.flowEngine.saveModel(this,{onlyStepParams:!0})}async destroy(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before deleting.");return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.destroyModel(this.uid)}async openStepSettingsDialog(e,t){var l;let r=this.getFlow(e),n=null==r||null==(l=r.steps)?void 0:l[t];if(!r||!n)return void console.error(`Flow ${e} or step ${t} not found`);let i=new m.W5(this,e,"settings");return(0,g.wx)(i,r.steps,this,e),i.defineProperty("currentStep",{value:n}),(await O())({model:this,flowKey:e,stepKey:t,ctx:i})}async configureRequiredSteps(e,t){return(await $())({model:this,dialogWidth:e,dialogTitle:t})}async openPresetStepSettingsDialog(e,t){return this.configureRequiredSteps(e,t)}async openFlowStepSettingsDialog(e){}get translate(){return this.flowEngine.translate.bind(this.flowEngine)}serialize(){let e={uid:this.uid,...u().omit(this._options,["flowEngine"]),props:{...this.props},stepParams:this.stepParams,sortIndex:this.sortIndex,flowRegistry:{}},t=this.subModels;for(let l in t)e.subModels=e.subModels||{},Array.isArray(t[l])?e.subModels[l]=t[l].map((e,t)=>({...e.serialize(),sortIndex:t})):t[l]instanceof q&&(e.subModels[l]=t[l].serialize());for(let[t,l]of this.flowRegistry.getFlows())e.flowRegistry[t]=l.toData();return e}clone(){if(!this.flowEngine)throw Error("FlowEngine is not set on this model. Please set flowEngine before cloning.");let e=this.serialize(),t=new Map,l=e=>{if(e.uid&&"string"==typeof e.uid&&t.set(e.uid,(0,p.L)()),e.subModels)for(let t in e.subModels){let r=e.subModels[t];Array.isArray(r)?r.forEach(e=>l(e)):r&&"object"==typeof r&&l(r)}};l(e);let r=function(e){let l=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return e;if("string"==typeof e)return t.get(e)??e;if(Array.isArray(e))return e.map(e=>r(e,!1));if("object"==typeof e){let t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(l&&"parentId"===n||(t[n]=r(e[n],!1)));return t}return e},n=r(e,!0);return this.flowEngine.createModel(n)}async openFlowSettings(e){return this.flowEngine.flowSettings.open({model:this,...e})}static registerExtraMenuItems(e){let t,l=this,r=I.get(l)||new Set;return t="function"==typeof e?{items:e}:e,r.add(t),I.set(l,r),()=>{let e=I.get(l);null==e||e.delete(t)}}static async getExtraMenuItems(e,t){let l=this,r=[],n=new Set,i=async l=>{if(!l||n.has(l))return;n.add(l);let o=I.get(l);if(o){let n=0;for(let i of o){if(i.matcher&&!i.matcher(e))continue;let o="function"==typeof i.items?await i.items(e,t):await Promise.resolve(i.items||[]),a=i.group||"common-actions",s=i.sort??0,d=i.keyPrefix||l.name||"extra";_((o||[]).map((e,t)=>N(e,{group:a,sort:s,prefix:d,path:`${n}-${t}`})).filter(D)).forEach(e=>{r.push(e)}),n+=1}}let a=Object.getPrototypeOf(l);(a===q||(null==a?void 0:a.prototype)instanceof q)&&await i(a)};return await i(l),r}refresh(){return this.rerender()}constructor(e){if((0,o._)(this,"uid",void 0),(0,o._)(this,"sortIndex",void 0),(0,o._)(this,"hidden",!1),(0,o._)(this,"props",{}),(0,o._)(this,"stepParams",{}),(0,o._)(this,"flowEngine",void 0),(0,o._)(this,"parent",void 0),(0,o._)(this,"subModels",void 0),(0,o._)(this,"_options",void 0),(0,o._)(this,"_title",void 0),(0,o._)(this,"_extraTitle",void 0),(0,o._)(this,"isNew",!1),(0,o._)(this,"skeleton",null),(0,o._)(this,"forbidden",null),(0,o._)(this,"forks",new Set),(0,o._)(this,"emitter",new h.v),(0,o._)(this,"forkCache",new Map),(0,o._)(this,"_lastAutoRunParams",null),(0,o._)(this,"observerDispose",void 0),(0,n._)(this,L,{writable:!0,value:void 0}),(0,o._)(this,"_originalRender",null),(0,o._)(this,"_reactiveWrapperCache",void 0),(0,o._)(this,"flowRegistry",void 0),(0,o._)(this,"_cleanRun",void 0),(0,o._)(this,"_dispatchEventWithDebounce",u().debounce(async function(e,t,l){return this._dispatchEvent(e,t,l)},500,{leading:!0})),(0,o._)(this,"_rerunLastAutoRun",u().debounce(async()=>{if(this._lastAutoRunParams)try{let[e]=this._lastAutoRunParams;await this.dispatchEvent("beforeRender",e)}catch(e){console.error("FlowModel._rerunLastAutoRun: Error during rerun:",e)}},100)),!e.flowEngine)throw Error("FlowModel must be initialized with a FlowEngine instance.");if(this.flowEngine=e.flowEngine,this.flowEngine.getModel(e.uid))return this.flowEngine.getModel(e.uid);e.uid||(e.uid=(0,p.L)()),this.uid=e.uid,this.props={...e.props},this.stepParams=e.stepParams||{},this.subModels={},this.sortIndex=E({sortIndex:e.sortIndex},-1),this._options=e,this._title="",this._extraTitle="",(0,s.define)(this,{hidden:s.observable,props:s.observable,subModels:s.observable.shallow,stepParams:s.observable,_title:s.observable,_extraTitle:s.observable,setProps:s.batch,setStepParams:s.batch}),this.flowRegistry=new f.R(this),this.flowRegistry.addFlows(e.flowRegistry),this.observerDispose=(0,s.observe)(this.stepParams,e=>{if("set"===e.type&&u().isEqual(e.value,e.oldValue))return;let t=!!this._lastAutoRunParams;this.flowEngine&&this.invalidateFlowCache("beforeRender"),t&&this._rerunLastAutoRun(),this.forks.forEach(e=>{e.rerender()})});try{this.setupReactiveRender()}catch(e){console.error(`Failed to setup reactive render for ${this.constructor.name}:`,e),"function"!=typeof this.render&&(this.render=()=>c.createElement("div",null,"Render method not available"))}this._cleanRun=!!e.cleanRun}}(0,o._)(q,"renderMode","reactElement");class V extends q{setErrorMessage(e){this.errorMessage=e}render(){return(0,a.jsx)(v.A.Text,{type:"danger",children:this.errorMessage})}constructor(...e){super(...e),(0,o._)(this,"errorMessage",void 0)}}function z(e){return e}l(63836);var K=l(16629),U=l(89013),W=l(42443),H=l(13415),Y=l(18492),G=l(57084),J=l(31102);function X(e){let{title:t}=e,{t:l}=(0,Y.B)();return(0,a.jsx)(J.eI,{label:t,showLabel:!0,children:(0,a.jsx)(K.A,{size:"small",styles:{body:{color:"rgba(0,0,0,0.45)"}},children:l("This field has been hidden and you cannot view it (this content is only visible when the UI Editor is activated).")})})}function Q(){var e;let{t}=(0,Y.B)(),l=(0,G.PZ)(),r=l.context.blockModel,n=null==(e=r.collection)?void 0:e.dataSource,i=r.collection,o=l.fieldPath,s=(0,c.useMemo)(()=>{let e=n?`${t(n.displayName||n.key)} > `:"",l=i?`${t(i.title)||i.name||i.tableName} > `:"";return`${e}${l}${o}`},[i,n,o,t]);return(0,a.jsx)(U.A.Item,{children:(0,a.jsx)("div",{style:{color:"rgba(0,0,0,0.45)"},children:t('The {{type}} "{{name}}" may have been deleted. Please remove this {{blockType}}.',{type:t("Field"),name:s,blockType:t("Field")}).replaceAll(">",">")})})}function Z(){var e,t;let{t:l}=(0,Y.B)(),r=(0,G.PZ)(),n=r.context.blockModel,i=(null==(e=r.context.collectionField)?void 0:e.collection)||n.collection,o=i.dataSource,s=(null==(t=r.context.collectionField)?void 0:t.name)||r.fieldPath,d=(0,c.useMemo)(()=>{let e=`${l(o.displayName||o.key)} > `,t=i?`${l(i.title)||i.name||i.tableName} > `:"";return`${e}${t}${s}`},[i,o.displayName,o.key,s,l]),{actionName:p}=r.forbidden,h=(0,c.useMemo)(()=>l('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:d,actionName:l(u().capitalize(p))}).replaceAll(">",">"),[p,d,l]);return(0,a.jsx)(W.A,{title:h,children:(0,a.jsx)(J.eI,{showLabel:!0,label:r.context.collectionField.title||s,style:{opacity:"0.4"},children:(0,a.jsx)(H.A,{})})})}let ee=()=>!0;class et extends q{renderHiddenInConfig(){return this.forbidden?(0,a.jsx)(Z,{}):(0,a.jsx)(W.A,{title:this.context.t("The field is hidden and only visible when the UI Editor is active"),children:(0,a.jsx)("div",{style:{opacity:.3},children:this.renderOriginal.call(this)})})}get title(){}onInit(e){this.context.defineProperty("collectionField",{get:()=>{let e=this.getFieldSettingsInitParams();return this.context.dataSourceManager.getCollectionField(`${e.dataSourceKey}.${e.collectionName}.${e.fieldPath}`)},cache:!1}),this.context.defineProperty("fieldPath",{get:()=>this.fieldPath}),this.context.blockModel&&(this.context.blockModel.addAppends(this.fieldPath),this.context.blockModel.addAppends(this.associationPathName))}getFieldSettingsInitParams(){return this.getStepParams("fieldSettings","init")||{}}get fieldPath(){return this.getFieldSettingsInitParams().fieldPath}get associationPathName(){return this.getFieldSettingsInitParams().associationPathName}get collectionField(){return this.context.collectionField}async afterAddAsSubModel(){this.context.resource&&await this.context.resource.refresh()}static getBindingsByField(e,t){if(!t)return;let l=t.interface;return this.bindings.has(l)?this.bindings.get(l).sort((e,t)=>e.order-t.order).filter(l=>e.engine.getModelClass(l.modelName)&&l.when(e,t)):[]}static getDefaultBindingByField(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return null;if(l.fallbackToTargetTitleField){let r=this.getDefaultBindingByField(e,t,{useStrict:!0});return!r&&(t.isAssociationField()&&(null==l?void 0:l.targetCollectionTitleField)||t.targetCollectionTitleField)?this.getDefaultBindingByField(e,(null==l?void 0:l.targetCollectionTitleField)||t.targetCollectionTitleField):r}let r=t.interface;if(!r||!this.bindings.has(r))return null;let n=this.bindings.get(r),i=n.filter(l=>l.isDefault&&e.engine.getModelClass(l.modelName)&&l.when(e,t));if(1===i.length)return i[0];if(i.length>0){let e=null;if((e=i.find(e=>e.when!==ee))||(e=i.find(e=>e.when===ee)))return e}return l.useStrict?null:n.find(l=>e.engine.getModelClass(l.modelName)&&l.when(e,t))}static bindModelToInterface(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(Array.isArray(t))return void t.forEach(t=>this.bindModelToInterface(e,t,l));this.currentBindings.has(t)||this.currentBindings.set(t,[]);let r=this.currentBindings.get(t);r.push({modelName:e,isDefault:l.isDefault||!1,defaultProps:l.defaultProps||null,when:l.when||ee,order:l.order}),this.currentBindings.set(t,r)}static get currentBindings(){return Object.prototype.hasOwnProperty.call(this,"_bindings")&&this._bindings||(this._bindings=new Map),this._bindings}static getAllParentClasses(){let e=[],t=this;for(;t&&t!==Object;)(null==(t=Object.getPrototypeOf(t))?void 0:t.currentBindings)&&e.push(t);return e}static get bindings(){let e=new Map;for(let t of this.getAllParentClasses())for(let[l,r]of t.currentBindings)e.has(l)||e.set(l,[]),e.get(l).unshift(...r);for(let[t,l]of this.currentBindings)e.has(t)||e.set(t,[]),e.get(t).unshift(...l);return e}renderItem(){return null}render(){return this.collectionField?this.renderItem():(0,a.jsx)(Q,{})}}(0,o._)(et,"_bindings",new Map),et.registerFlow({key:"fieldSettings",title:(0,g.MI)("Field settings"),steps:{init:{handler(e,t){let{dataSourceKey:l,collectionName:r,fieldPath:n}=t;if(!l)throw Error("dataSourceKey is a required parameter");if(!r)throw Error("collectionName is a required parameter");if(!n)throw Error("fieldPath is a required parameter")}}}});class el extends et{}class er extends et{}class en extends et{}},20616(e,t,l){l.d(t,{I6:()=>f,Db:()=>v,uf:()=>g,f7:()=>m}),l(89773),l(14324);var r=l(74848),n=l(88040),i=l(4888),o=l(35710),a=l(96540),s=l(52568),d=l(67778),u=l(50467);let c=0;class p{getNextZIndex(){return this.zIndex+1}open(e){let{type:t,...l}=e;if(this.types[t]){c+=1;let e=l.onClose,r=!1,n=()=>{r||(r=!0,c-=1)},i=l.zIndex;return l.onClose=function(){for(var t=arguments.length,l=Array(t),r=0;r<t;r++)l[r]=arguments[r];null==e||e(...l),n()},"embed"===t&&(l.onOpenCancelled=n),"embed"!==t&&(l.zIndex=i??this.getNextZIndex()),this.types[t].open(l,this.ctx)}throw Error(`Unknown view type: ${t}`)}dialog(e){return this.open({type:"dialog",...e})}drawer(e){return this.open({type:"drawer",...e})}popover(e){return this.open({type:"popover",...e})}embed(e){return this.open({type:"embed",...e})}constructor(e,t){var l;(0,u._)(this,"ctx",void 0),(0,u._)(this,"types",void 0),(0,u._)(this,"zIndex",void 0),this.ctx=e,this.types=t,this.zIndex=c+((null==(l=e.themeToken)?void 0:l.zIndexPopupBase)||1e3)}}let h=(0,a.createContext)(null),f=a.memo(e=>{let{engine:t,children:l}=e;if(!t)throw Error("FlowEngineProvider must be supplied with an engine.");return(0,r.jsx)(h.Provider,{value:t,children:(0,r.jsx)(s.Dv,{context:t.context,children:l})})});f.displayName="FlowEngineProvider";let m=e=>{var t;let{children:l}=e,{modal:s,message:u,notification:c}=n.A.useApp(),[h,f]=(0,d.bt)(),[m,v]=(0,d.N5)(),[y,b]=(0,d.fP)(),[x,w]=(0,d.sp)(),S=g(),A=(0,a.useContext)(i.Ay.ConfigContext),{token:M}=o.A.useToken(),F=a.useMemo(()=>{var e;let t=null==A||null==(e=A.theme)?void 0:e.algorithm;return Array.isArray(t)?t.includes(o.A.darkAlgorithm):t===o.A.darkAlgorithm},[A]);for(let e of(S.context.defineProperty("viewer",{cache:!1,get:e=>new p(e,{drawer:h,embed:m,popover:y,dialog:x})}),Object.entries({antdConfig:A,modal:s,message:u,notification:c}))){let[t,l]=e;l&&S.context.defineProperty(t,{value:l})}return S.context.defineProperty("themeToken",{get:()=>M,observable:!0,cache:!0}),S.context.defineProperty("isDarkTheme",{get:()=>F,observable:!0,cache:!0,info:{description:"Whether current theme algorithm is dark mode.",detail:"boolean"}}),(0,a.useEffect)(()=>{S.reactView.refresh()},[S,h,s,u,c,A,y,M,x,m,F]),(0,r.jsxs)(i.Ay,{...A,locale:null==(t=S.context.locales)?void 0:t.antd,popupMatchSelectWidth:!1,children:[l,f,b,v,w]})},g=function(){let{throwError:e=!0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,a.useContext)(h);return!t&&e?void console.warn("useFlowEngine must be used within a FlowEngineProvider, and FlowEngineProvider must be supplied with an engine."):t},v=()=>g().context},52847(e,t,l){l.d(t,{vA:()=>r.batch,lB:()=>r.observe,po:()=>r.markObservable,dw:()=>r.DataNode,XI:()=>r.action,SL:()=>d,KP:()=>r.hasCollected,Jv:()=>r.setDataNode,r5:()=>r.DataChange,O8:()=>r.untracked,JD:()=>r.Tracker,H_:()=>r.buildDataTree,gR:()=>r.contains,E8:()=>r.define,Rq:()=>r.isSupportObservable,IG:()=>r.markRaw,PA:()=>s,D:()=>r.getDataNode,ge:()=>r.model,AT:()=>r.isObservable,fm:()=>r.autorun,sH:()=>r.observable,lS:()=>r.raw,Ir:()=>r.isAnnotation,mJ:()=>r.reaction,HO:()=>r.toJS});var r=l(95243),n=l(74848),i=l(69804),o=l(96540),a=l(52568);let s=(e,t)=>{let l=o.memo(l=>{let s=(0,a.$K)(),u=(0,o.useRef)(s);u.current=s;let c=(0,o.useRef)(null),p=(0,o.useRef)(null),h=()=>{c.current&&(c.current(),c.current=null)},f=()=>{p.current&&(clearTimeout(p.current),p.current=null)},m=()=>{var e,t;let l=d(u.current),r=null==(t=u.current)||null==(e=t.tabActive)?void 0:e.value;return!1!==l&&!1!==r};(0,o.useEffect)(()=>()=>{p.current&&(clearTimeout(p.current),p.current=null),c.current&&(c.current(),c.current=null)},[]);let g=(0,o.useMemo)(()=>(0,i.PA)(e,{scheduler(e){if(!m()){if(p.current||c.current)return;p.current=setTimeout(()=>{if(p.current=null,!c.current){if(m())return void e();c.current=(0,r.reaction)(()=>m(),t=>{t&&(h(),e())},{name:"FlowObserverPendingUpdate"})}});return}f(),h(),e()},...t}),[]);return(0,n.jsx)(g,{...l})});return l.displayName="ComponentWithDefaultScheduler",l};function d(e){var t,l,r;return"boolean"==typeof(null==e||null==(t=e.pageActive)?void 0:t.value)?null==e||null==(l=e.pageActive)?void 0:l.value:null==e||null==(r=e.view)?void 0:r.inputArgs.pageActive}},27667(e,t,l){l.d(t,{tP:()=>x,sB:()=>y,I8:()=>f,qi:()=>h,Rn:()=>v,BS:()=>s,hR:()=>u,vB:()=>g,l2:()=>d,BH:()=>w});var r=l(50467);l(89773);var n=l(9297);l(14324),l(5409),l(45336),l(79936),l(69861);var i=l(95243),o=l(29007);function a(e){var t,l,r,n,i,o,a,s,d,u,c;if("string"==typeof(null==e||null==(t=e.response)?void 0:t.data)){let t=document.createElement("div");t.innerHTML=null==e||null==(d=e.response)?void 0:d.data;let l=t.textContent||t.innerText;return l.includes("Error occurred while trying")||l.includes("502 Bad Gateway")?[{code:"APP_WARNING",message:l="The application may be starting up. Please try again later."}]:[{message:l}]}return(null==e||null==(r=e.response)||null==(l=r.data)?void 0:l.error)?[null==e||null==(c=e.response)||null==(u=c.data)?void 0:u.error]:(null==e||null==(i=e.response)||null==(n=i.data)?void 0:n.errors)||(null==e||null==(a=e.response)||null==(o=a.data)?void 0:o.messages)||(null==e||null==(s=e.response)?void 0:s.error)||[{message:e.message||"Server error"}]}class s extends Error{get code(){var e;return(null==(e=this.data)?void 0:e.code)||"UNKNOWN_ERROR"}get message(){var e;return(null==(e=this.data)?void 0:e.message)||"An unknown error occurred"}constructor(e){let t=a(e).shift();super(t.message),(0,r._)(this,"data",void 0),this.data=t,this.name="ResponseError"}}class d{getData(){return this._data.value}hasData(){let e=this.getData();return Array.isArray(e)?e.length>0:!!e&&"object"==typeof e&&Object.keys(e).length>0}setData(e){return this._data.value=e,this}getMeta(e){return e?this._meta.value[e]:this._meta.value}setMeta(e){return this._meta.value={...this._meta.value,...e},this}get error(){return this._error.value}getError(){return this._error.value}setError(e){return this._error.value=e,this}clearError(){return this._error.value=null,this}on(e,t){var l,r;((l=this.events)[r=e]||(l[r]=[])).push(t)}once(e,t){var l=this;let r=function(){for(var n=arguments.length,i=Array(n),o=0;o<n;o++)i[o]=arguments[o];t(...i),l.off(e,r)};this.on(e,r)}off(e,t){this.events[e]=(this.events[e]||[]).filter(e=>e!==t)}emit(e){for(var t=arguments.length,l=Array(t>1?t-1:0),r=1;r<t;r++)l[r-1]=arguments[r];(this.events[e]||[]).forEach(e=>e(...l))}constructor(e){(0,r._)(this,"_data",i.observable.ref(null)),(0,r._)(this,"_meta",i.observable.ref({})),(0,r._)(this,"_error",i.observable.ref(null)),(0,r._)(this,"context",void 0),(0,r._)(this,"events",{}),this.context=new o.cB,this.context.addDelegate(e)}}class u extends d{setAPIClient(e){return this.api=(0,n.kx)(e,this.context),this}getURL(){return this.request.url}setURL(e){return this.request.url=e,this}get loading(){return this.getMeta("loading")||!1}set loading(e){this.setMeta({loading:e})}clearRequestParameters(){return this.request.params={},this}setRequestParameters(e){return this.request.params={...this.request.params,...e},this}setRequestMethod(e){return this.request.method=e,this}addRequestHeader(e,t){return this.request.headers||(this.request.headers={}),this.request.headers[e]=t,this}removeRequestHeader(e){return this.request.headers&&e in this.request.headers&&delete this.request.headers[e],this}addRequestParameter(e,t){return this.request.params||(this.request.params={}),this.request.params[e]=t,this}getRequestParameter(e){return this.request.params&&e in this.request.params?this.request.params[e]:null}removeRequestParameter(e){return this.request.params&&e in this.request.params&&delete this.request.params[e],this}setRequestBody(e){return this.request.data=e,this}setRequestOptions(e,t){return this.request[e]=t,this}getRequestOptions(){return this.request}async refresh(){if(!this.api)throw Error("API client not set");this.clearError();try{let{data:e}=await this.api.request({url:this.getURL(),...this.getRefreshRequestOptions()});this.setData(e),this.emit("refresh")}catch(t){let e=new s(t);throw this.setError(e),e}}getRefreshRequestOptions(){return{...this.request}}constructor(e){super(e),(0,r._)(this,"request",{headers:{},params:{},method:"get",data:null}),(0,r._)(this,"api",void 0),e&&(this.api=e.api)}}l(84560),l(23446),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);var c=l(2543),p=l.n(c);class h{toJSON(){return this.options.operator?{[this.options.path]:{[this.options.operator]:this.options.value}}:{[this.options.path]:this.options.value}}constructor(e){if((0,r._)(this,"options",void 0),this.options=e,e instanceof h)return e;this.options=e}}class f{toJSON(){return{[this.options.logic]:this.options.items.map(e=>e.toJSON())}}constructor(e){if((0,r._)(this,"options",void 0),e instanceof f)return e;if("$and"!==e.logic&&"$or"!==e.logic)throw Error("Logic must be either $and or $or");if(!Array.isArray(e.items))throw Error("Items must be an array");this.options={logic:e.logic,items:e.items.map(e=>e.logic?new f(e):new h(e))}}}var m=l(44951);class g extends u{get supportsFilter(){return!0}setRefreshAction(e){this._refreshActionName=e}mergeRequestConfig(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];let r={},n=(e,t,l,r,n,i)=>{let o=i.size;if(Array.isArray(t)||o>1)return t};return t.reduce((e,t)=>p().mergeWith(e,t,n),r)}setRunActionOptions(e,t){return this.runActionOptions[e]=t,this}splitValue(e){return"string"==typeof e?e.split(",").map(e=>e.trim()):Array.isArray(e)?e:[]}buildURL(e){let t="";if(this.resourceName)if(this.sourceId&&this.resourceName.includes(".")){let[l,r]=this.resourceName.split(".");t=`${l}/${this.sourceId}/${r}:${e||"get"}`}else t=`${this.resourceName}:${e||"get"}`;return t}async runAction(e,t){var l;let{rawResponse:r,...n}=t,i=this.mergeRequestConfig(p().omit(this.request,["params","data","method"]),{method:"post",url:this.buildURL(e)},null==(l=this.runActionOptions)?void 0:l[e],n);["create","update","firstOrCreate","updateOrCreate"].includes(e)&&(i.params=i.params||{},i.params.updateAssociationValues=this.getUpdateAssociationValues());try{let e=await this.api.request(i);if(r)return e;let{data:t}=e;if(!(null==t?void 0:t.data))return t;return{data:t.data,meta:t.meta}}catch(e){throw new s(e)}}setResourceName(e){return this.resourceName=e,this}getResourceName(){return this.resourceName}markDataSourceDirty(e){(0,m.BL)({engine:this.context.engine,dataSourceKey:this.getDataSourceKey(),resourceName:e||this.getResourceName(),includePreviousEngines:!0})}setSourceId(e){return this.sourceId=e,this}getSourceId(){return this.sourceId}setDataSourceKey(e){return this.addRequestHeader("X-Data-Source",e)}getDataSourceKey(){return this.request.headers["X-Data-Source"]}setFilter(e){return this.addRequestParameter("filter",JSON.stringify(e))}getFilter(){let e=[...this.filterGroups.values()].filter(Boolean);if(0!==e.length)return{$and:e}}resetFilter(){this.setFilter(this.getFilter())}addFilterGroup(e,t){t instanceof h&&(t=t.toJSON()),this.filterGroups.set(e,t),this.resetFilter()}removeFilterGroup(e){this.filterGroups.delete(e),this.resetFilter()}setAppends(e){return this.addRequestParameter("appends",e)}getAppends(){return this.request.params.appends||[]}addAppends(e){let t=this.getAppends();return this.splitValue(e).forEach(e=>{t.includes(e)||t.push(e)}),this.request.params.appends=t,this}removeAppends(e){if(!this.request.params.appends)return this;let t=this.getAppends(),l=this.splitValue(e);return this.request.params.appends=t.filter(e=>!l.includes(e)),this}getUpdateAssociationValues(){return this.updateAssociationValues||[]}addUpdateAssociationValues(e){let t=this.getUpdateAssociationValues();return this.splitValue(e).forEach(e=>{t.includes(e)||t.push(e)}),this.updateAssociationValues=t,this}jsonStringify(e){return null!==e&&"object"==typeof e?JSON.stringify(e):e}setFilterByTk(e){return this.addRequestParameter("filterByTk",this.jsonStringify(e))}getFilterByTk(){return this.request.params.filterByTk}setFields(e){return this.addRequestParameter("fields",this.splitValue(e))}getFields(){return this.request.params.fields||[]}setSort(e){return this.addRequestParameter("sort",this.splitValue(e))}getSort(){return this.request.params.sort||[]}setExcept(e){return this.addRequestParameter("except",this.splitValue(e))}getExcept(){return this.request.params.except||[]}setWhitelist(e){return this.addRequestParameter("whitelist",this.splitValue(e))}getWhitelist(){return this.request.params.whitelist||[]}setBlacklist(e){return this.addRequestParameter("blacklist",this.splitValue(e))}getBlacklist(){return this.request.params.blacklist||[]}constructor(...e){super(...e),(0,r._)(this,"resourceName",void 0),(0,r._)(this,"sourceId",null),(0,r._)(this,"request",{method:"get",params:{},headers:{}}),(0,r._)(this,"updateAssociationValues",[]),(0,r._)(this,"runActionOptions",{}),(0,r._)(this,"filterGroups",new Map),(0,r._)(this,"_refreshActionName","list")}}class v extends g{get supportsFilter(){return!0}setCreateActionOptions(e){return this.createActionOptions=e,this}setUpdateActionOptions(e){return this.updateActionOptions=e,this}setSelectedRows(e){return this.setMeta({selectedRows:e}),this}getSelectedRows(){return this.getMeta("selectedRows")||[]}getCount(){return this.getMeta("count")}setPage(e){return this.addRequestParameter("page",e),this.setMeta({page:e})}getPage(){return this.getMeta("page")}setPageSize(e){return this.addRequestParameter("pageSize",e),this.setMeta({pageSize:e})}getPageSize(){return this.getMeta("pageSize")}getTotalPage(){return this.getMeta("totalPage")}getCell(e,t){var l;let r=this.getData();return null==r||null==(l=r[e])?void 0:l[t]}async next(){this.request.params.page+=1,await this.refresh()}async previous(){this.request.params.page>1&&(this.request.params.page-=1,await this.refresh())}async goto(e){e>0&&(this.request.params.page=e,await this.refresh())}async create(e,t){let l=this.mergeRequestConfig({data:e},this.createActionOptions,t),r=await this.runAction("create",{...l,[n.q3]:!0});return this.markDataSourceDirty(),this.emit("saved",e),(null==t?void 0:t.refresh)!==!1&&await this.refresh(),r}async get(e){let t={params:{filterByTk:e}},{data:l}=await this.runAction("get",{...t});return l}async update(e,t,l){let r=t,i=this.mergeRequestConfig({params:{filterByTk:e},data:r},this.updateActionOptions,l);await this.runAction("update",{...i,[n.q3]:!0}),this.markDataSourceDirty(),this.emit("saved",t),await this.refresh()}async destroySelectedRows(){let e=this.getSelectedRows();if(0===e.length)throw Error("No rows selected for deletion.");await this.destroy(e)}async destroy(e,t){let l=this.mergeRequestConfig({params:{filterByTk:this.jsonStringify(e)}},t);await this.runAction("destroy",{...l,[n.q3]:!0}),this.markDataSourceDirty();let r=this.getPage(),i=Math.ceil((this.getCount()-p().castArray(e).length)/this.getPageSize());r>i&&this.setPage(i||1),await this.refresh()}setItem(e,t){let l=this.getData().slice();l[e]={...t},this.setData(l)}async refresh(){return this.refreshTimer&&clearTimeout(this.refreshTimer),new Promise((e,t)=>{this.refreshWaiters.push({resolve:e,reject:t}),this.refreshTimer=setTimeout(async()=>{let e=this.refreshWaiters;this.refreshWaiters=[],this.refreshTimer=null;try{this.clearError(),this.loading=!0;let{data:t,meta:l}=await this.runAction(this._refreshActionName,{method:"get",...this.getRefreshRequestOptions()});this.setData(t).setMeta(l),(null==l?void 0:l.page)&&this.setPage(l.page),(null==l?void 0:l.pageSize)&&this.setPageSize(l.pageSize),this.emit("refresh"),e.forEach(e=>e.resolve())}catch(l){this.setError(l);let t=l instanceof Error?l:Error(String(l));e.forEach(e=>e.reject(t))}finally{this.loading=!1}})})}constructor(...e){super(...e),(0,r._)(this,"_data",i.observable.ref([])),(0,r._)(this,"_meta",i.observable.ref({})),(0,r._)(this,"refreshTimer",null),(0,r._)(this,"refreshWaiters",[]),(0,r._)(this,"createActionOptions",{}),(0,r._)(this,"updateActionOptions",{}),(0,r._)(this,"_refreshActionName","list"),(0,r._)(this,"request",{method:"get",params:{filter:{},filterByTk:null,appends:[],fields:[],sort:null,except:null,whitelist:null,blacklist:null,page:1,pageSize:20},headers:{}})}}class y extends g{get supportsFilter(){return!this.isNewRecord}setSaveActionOptions(e){return this.saveActionOptions=e,this}setFilterByTk(e){return this.isNewRecord=!1,super.setFilterByTk(e)}async save(e,t){let l=this.mergeRequestConfig(this.saveActionOptions,p().omit(t,["refresh"])),r="create",i=e;this.isNewRecord||(l.params=l.params||{},l.params.filterByTk=this.getFilterByTk(),r="update");let o=await this.runAction(r,{...l,data:i,[n.q3]:!0});return this.markDataSourceDirty(),this.emit("saved",e),(null==t?void 0:t.refresh)!==!1&&await this.refresh(),o}async destroy(e){let t=this.mergeRequestConfig({params:{filterByTk:this.jsonStringify(this.request.params.filterByTk)}},e);await this.runAction("destroy",{...t,[n.q3]:!0}),this.markDataSourceDirty(),this.setData(null)}async refresh(){if(this.clearError(),!this.isNewRecord)try{let{data:e,meta:t}=await this.runAction(this._refreshActionName,{method:"get",...this.getRefreshRequestOptions()});this.setData(e).setMeta(t),this.emit("refresh")}catch(e){throw this.setError(e),e}}constructor(...e){super(...e),(0,r._)(this,"isNewRecord",!1),(0,r._)(this,"saveActionOptions",{}),(0,r._)(this,"_refreshActionName","get")}}var b=l(87710);class x{async run(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{sql:l,bind:r,liquidContext:n}=await (0,b.transformSQL)(e),i=await this.ctx.resolveJsonTemplate({bind:r,liquidContext:n}),o=await (0,b.parseLiquidContext)(l,i.liquidContext),{data:a}=await this.ctx.api.request({method:"POST",url:"flowSql:run",data:{sql:o,...t,bind:{...i.bind,...t.bind}}});return null==a?void 0:a.data}async save(e){await this.ctx.api.request({method:"POST",url:"flowSql:save",data:{...e}})}async runById(e,t){let l=await this.ctx.api.request({method:"GET",url:"flowSql:getBind",params:{uid:e}}),{bind:r,liquidContext:n}=await this.ctx.resolveJsonTemplate(l.data.data||{}),{data:i}=await this.ctx.api.request({method:"POST",url:"flowSql:runById",data:{uid:e,...t,bind:{...r,...null==t?void 0:t.bind},liquidContext:n}});return null==i?void 0:i.data}async destroy(e){await this.ctx.api.request({url:"flowSql:destroy",params:{filterByTk:e}})}constructor(e){(0,r._)(this,"ctx",void 0),this.ctx=new o.cB,this.ctx.addDelegate(e),this.ctx.defineProperty("offset",{get:()=>0,cache:!1}),this.ctx.defineProperty("limit",{get:()=>20,cache:!1})}}class w extends g{get refreshActionName(){return this._debugEnabled?"run":"runById"}get supportsFilter(){return!0}buildURL(e){return`flowSql:${e||this.refreshActionName}`}setPage(e){return this.addRequestParameter("page",e),this.setMeta({page:e})}getPage(){return this.getMeta("page")||1}setPageSize(e){return this.addRequestParameter("pageSize",e),this.setMeta({pageSize:e})}setDebug(e){return this._debugEnabled=e,this}getPageSize(){return this.getMeta("pageSize")||20}async next(){this.setPage(this.getPage()+1),await this.refresh()}async previous(){this.getPage()>1&&(this.setPage(this.getPage()-1),await this.refresh())}async goto(e){e>0&&(this.request.params.page=e,await this.refresh())}setDataSourceKey(e){return this.request.data.dataSourceKey=e,this}setSQLType(e){return this.request.data.type=e,this}setSQL(e){return this._sql=e,this}setFilterByTk(e){return this.request.data.uid=e,this}setFilter(e){return this.request.data.filter=e,this}setBind(e){return this.request.data.bind=e,this}setLiquidContext(e){return this.request.data.liquidContext=e,this}async run(){return this._debugEnabled?await this.runBySQL():await this.runById()}async runBySQL(){let e=this._sql,{sql:t,bind:l,liquidContext:r}=await (0,b.transformSQL)(e),n=await this.context.resolveJsonTemplate({bind:l,liquidContext:r}),i=p().cloneDeep({method:"post",...this.getRefreshRequestOptions()});return i.data.sql=await (0,b.parseLiquidContext)(t,n.liquidContext),i.data.bind=n.bind,await this.runAction("run",i)}async runById(){let{data:e}=await this.runAction("getBind",{method:"get",params:{uid:this.request.data.uid}}),{bind:t,liquidContext:l}=await this.context.resolveJsonTemplate(e);return this.setBind(t),this.setLiquidContext(l),await this.runAction("runById",{method:"post",...this.getRefreshRequestOptions()})}async refresh(){return this.refreshTimer&&clearTimeout(this.refreshTimer),new Promise((e,t)=>{this.refreshWaiters.push({resolve:e,reject:t}),this.refreshTimer=setTimeout(async()=>{let e=this.refreshWaiters;this.refreshWaiters=[],this.refreshTimer=null;try{this.clearError(),this.loading=!0,this.emit("loading");let{data:t,meta:l}=await this.run();this.setData(t).setMeta(l),this.loading=!1,this.emit("refresh"),e.forEach(e=>e.resolve())}catch(l){this.setError(l);let t=l instanceof Error?l:Error(String(l));e.forEach(e=>e.reject(t))}finally{this.loading=!1}})})}constructor(e){super(e),(0,r._)(this,"_data",i.observable.ref(null)),(0,r._)(this,"_meta",i.observable.ref({})),(0,r._)(this,"refreshTimer",null),(0,r._)(this,"refreshWaiters",[]),(0,r._)(this,"_debugEnabled",!1),(0,r._)(this,"_sql",void 0),(0,r._)(this,"request",{method:"post",params:{},data:{},headers:{}}),e.defineProperty("limit",{get:()=>this.getPageSize(),cache:!1}),e.defineProperty("offset",{get:()=>(this.getPage()-1)*this.getPageSize(),cache:!1})}}},19258(e,t,l){l.d(t,{JF:()=>d,Jq:()=>u,R5:()=>c}),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(89773);var r=l(29007),n=l(37966);let i=new Set,o=new Map,a=new Set;async function s(e,t){let l=o.get(e)||new Set;if(o.set(e,l),!l.has(t)){l.add(t);try{await t({version:e,RunJSContextRegistry:n.F,FlowRunJSContext:r.uk})}catch(e){throw l.delete(t),e}}}function d(e){if("function"!=typeof e)throw Error("[flow-engine] registerRunJSContextContribution: contribution must be a function");if(!i.has(e))for(let t of(i.add(e),a))s(t,e).catch(e=>{try{console.error("[flow-engine] RunJS context contribution failed:",e)}catch(e){}})}async function u(e){for(let t of i)await s(e,t)}function c(e){a.add(e)}},37966(e,t,l){l.d(t,{B:()=>i,F:()=>n});var r=l(50467);l(45336),l(23446),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);class n{static register(e,t,l,r){this.map.set(`${e}:${t}`,{ctor:l,meta:r})}static resolve(e,t){var l,r;return(null==(l=this.map.get(`${e}:${t}`))?void 0:l.ctor)||(null==(r=this.map.get(`${e}:*`))?void 0:r.ctor)}static getMeta(e,t){var l,r;return(null==(l=this.map.get(`${e}:${t}`))?void 0:l.meta)||(null==(r=this.map.get(`${e}:*`))?void 0:r.meta)}}function i(e){var t,l;return(null==e||null==(l=e.model)||null==(t=l.constructor)?void 0:t.name)||"*"}(0,r._)(n,"map",new Map)},88828(e,t,l){l.r(t),l.d(t,{setupRunJSContexts:()=>s});var r=l(37966),n=l(29007);function i(){n.uk.define({label:"RunJS base",properties:{logger:{description:'Pino logger instance for structured logging. Example: `ctx.logger.info({ foo: 1 }, "message")`',detail:"Logger",properties:{info:{type:"function",description:"Write an info-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.info({ foo: 1 }, 'message')"}},warn:{type:"function",description:"Write a warn-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.warn({ foo: 1 }, 'message')"}},error:{type:"function",description:"Write an error-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.error({ err }, 'message')"}},debug:{type:"function",description:"Write a debug-level log.",detail:"(...args: any[]) => void",completion:{insertText:"ctx.logger.debug({ foo: 1 }, 'message')"}},child:{type:"function",description:"Create a child logger with bindings.",detail:"(bindings: object) => Logger",completion:{insertText:"ctx.logger.child({ module: 'runjs' })"}}}},message:{description:"Ant Design global message API for displaying temporary messages.",detail:"MessageInstance",hidden:e=>!(null==e?void 0:e.message),examples:['ctx.message.success("Operation completed")'],properties:{info:{type:"function",description:"Show an info message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.info('Info')"}},success:{type:"function",description:"Show a success message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.success('Success')"}},error:{type:"function",description:"Show an error message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.error('Error')"}},warning:{type:"function",description:"Show a warning message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.warning('Warning')"}},loading:{type:"function",description:"Show a loading message.",detail:"(content: any, duration?: number) => void",completion:{insertText:"ctx.message.loading('Loading...')"}},open:{type:"function",description:"Open a message with custom config.",detail:"(config: any) => void",completion:{insertText:"ctx.message.open({ type: 'info', content: 'Hello' })"}},destroy:{type:"function",description:"Destroy all messages.",detail:"() => void",completion:{insertText:"ctx.message.destroy()"}}}},notification:{description:"Ant Design notification API for displaying notification boxes.",detail:"NotificationInstance",hidden:e=>!(null==e?void 0:e.notification),examples:['ctx.notification.open({ message: "Title", description: "Content" })'],properties:{open:{type:"function",description:"Open a notification with config.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.open({ message: 'Title', description: 'Content' })"}},success:{type:"function",description:"Open a success notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.success({ message: 'Success' })"}},info:{type:"function",description:"Open an info notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.info({ message: 'Info' })"}},warning:{type:"function",description:"Open a warning notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.warning({ message: 'Warning' })"}},error:{type:"function",description:"Open an error notification.",detail:"(config: any) => void",completion:{insertText:"ctx.notification.error({ message: 'Error' })"}},destroy:{type:"function",description:"Destroy all notifications.",detail:"(key?: string) => void",completion:{insertText:"ctx.notification.destroy()"}}}},modal:{description:"Ant Design modal API (HookAPI) for opening modal dialogs.",detail:"HookAPI",hidden:e=>!(null==e?void 0:e.modal),examples:["ctx.modal.confirm({ title: 'Confirm', content: 'Are you sure?' })"],properties:{info:{type:"function",description:"Open an info modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.info({ title: 'Info', content: '...' })"}},success:{type:"function",description:"Open a success modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.success({ title: 'Success', content: '...' })"}},error:{type:"function",description:"Open an error modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.error({ title: 'Error', content: '...' })"}},warning:{type:"function",description:"Open a warning modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.warning({ title: 'Warning', content: '...' })"}},confirm:{type:"function",description:"Open a confirm modal.",detail:"(config: any) => void",completion:{insertText:"ctx.modal.confirm({ title: 'Confirm', content: '...' })"}}}},resource:{description:"The current FlowResource instance in this context, used to access and manipulate data. In most block/popup scenarios it is pre-bound by the runtime (no need to call ctx.initResource). In contexts like plain JS blocks where no resource is bound, you can call ctx.initResource(type) first and then use ctx.resource.",detail:"FlowResource",examples:["await ctx.resource.refresh();"],properties:{getData:{description:"Get current resource data.",detail:"() => any",completion:{insertText:"ctx.resource.getData()"}},setData:{description:"Set current resource data (client-side only).",detail:"(value: any) => this",completion:{insertText:"ctx.resource.setData(value)"}},refresh:{description:"Refresh data from server (available on API-backed resources).",detail:"() => Promise<any>",completion:{insertText:"await ctx.resource.refresh()"}},on:{description:"Subscribe resource events (e.g., refresh).",detail:"(event: string, callback: (...args) => void) => void",completion:{insertText:"ctx.resource.on('refresh', () => {})"}},off:{description:"Unsubscribe resource events.",detail:"(event: string, callback: (...args) => void) => void",completion:{insertText:"ctx.resource.off('refresh', handler)"}},setResourceName:{description:'Set resource name (e.g., "users" or "users.profile").',detail:"(resourceName: string) => this",completion:{insertText:"ctx.resource.setResourceName('users')"}},setFilterByTk:{description:"Set primary key or filterByTk for record resources.",detail:"(filterByTk: any) => this",completion:{insertText:"ctx.resource.setFilterByTk(filterByTk)"}},runAction:{description:"Run a resource action (create/update/destroy/custom actions).",detail:"(action: string, options: any) => Promise<any>",completion:{insertText:"await ctx.resource.runAction('create', { data: {} })"}},selectedRows:{description:"Selected rows in table resources (typically for collection/table actions). Availability depends on resource type.",detail:"any[]"},pagination:{description:"Pagination info in list resources. Availability depends on resource type (e.g., MultiRecordResource).",detail:"Record<string, any>"}}},urlSearchParams:"URLSearchParams object containing query parameters from the current URL",token:"API authentication token for the current session",role:"Current user role information",auth:{description:"Authentication context containing locale, role, user, and token information.",detail:"AuthContext",properties:{locale:'Current locale code (e.g., "en-US", "zh-CN").',roleName:"Current role name.",token:"Current API token.",user:"Current user info object (if available)."}},viewer:{description:"FlowViewer instance providing view helpers (drawer/dialog/popover/embed). ",detail:"FlowViewer",examples:["await ctx.viewer.drawer({ width: '56%', content: <div>Hello</div> });","await ctx.viewer.dialog({ content: <div>Confirm</div> });"],properties:{drawer:{description:"Open a drawer view. Parameters: (props: ViewProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.drawer({ width: '56%', content: <div /> })"}},dialog:{description:"Open a dialog/modal view. Parameters: (props: ViewProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.dialog({ content: <div /> })"}},popover:{description:"Open a popover view. Parameters: (props: PopoverProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.popover({ target: ctx.element?.__el, content: <div /> })",requires:["element"]}},embed:{description:"Open an embed view. Parameters: (props: ViewProps & TargetProps) => any",detail:"(props) => any",completion:{insertText:"await ctx.viewer.embed({ target: ctx.element?.__el, content: <div /> })",requires:["element"]}}}},popup:{description:'Popup context when current view is opened as a popup/drawer. Recommended: `const popup = await ctx.getVar("ctx.popup")`.',detail:"Promise<PopupContext | undefined>",hidden:async e=>{try{let t=await (null==e?void 0:e.popup);return!(null==t?void 0:t.uid)}catch(e){return!1}},examples:['const popup = await ctx.getVar("ctx.popup");',"const id = popup?.record?.id;","const parentId = popup?.parent?.record?.id;"],properties:{uid:"Popup view uid (string).",record:"Current popup record (object).",sourceRecord:"Parent/source record inferred from sourceId/associationName (object).",resource:{description:"Data source info of the popup record.",detail:"PopupResourceInfo",properties:{dataSourceKey:'Data source key (e.g., "main").',collectionName:"Collection name.",associationName:"Association resource name (optional).",filterByTk:"Record primary key / filterByTk.",sourceId:"Source id (optional)."}},parent:"Parent popup info (object). You can access parent.parent... at runtime if available."}},i18n:{description:"An instance of i18next for managing internationalization.",detail:"i18next",properties:{language:"Current active language code."}},sql:{description:"SQL helper (FlowSQLRepository).",detail:"FlowSQLRepository",properties:{run:{type:"function",description:"Run ad-hoc SQL with optional bind/result options.",detail:"(sql: string, options?: SQLRunOptions) => Promise<any>",completion:{insertText:"await ctx.sql.run('SELECT 1', { type: 'selectRows' })"}},save:{type:"function",description:"Save a SQL template.",detail:"(data: { uid: string; sql: string; dataSourceKey?: string }) => Promise<void>",completion:{insertText:"await ctx.sql.save({ uid: 'sql-uid', sql: 'SELECT 1' })"}},runById:{type:"function",description:"Run a saved SQL template by uid.",detail:"(uid: string, options?: SQLRunOptions) => Promise<any>",completion:{insertText:"await ctx.sql.runById('sql-uid', { type: 'selectRows' })"}},destroy:{type:"function",description:"Delete a saved SQL template by uid.",detail:"(uid: string) => Promise<void>",completion:{insertText:"await ctx.sql.destroy('sql-uid')"}}}},libs:{properties:{React:{description:"React namespace (same as ctx.React).",properties:{createElement:{type:"function",description:"Create a React element.",detail:"React.createElement",completion:{insertText:"ctx.libs.React.createElement('div', null, 'Hello')"}},useState:{type:"function",description:"React state hook.",detail:"React.useState",completion:{insertText:"ctx.libs.React.useState(initialValue)"}},useEffect:{type:"function",description:"React effect hook.",detail:"React.useEffect",completion:{insertText:"ctx.libs.React.useEffect(() => {}, [])"}},useMemo:{type:"function",description:"React memo hook.",detail:"React.useMemo",completion:{insertText:"ctx.libs.React.useMemo(() => value, [])"}},useCallback:{type:"function",description:"React callback hook.",detail:"React.useCallback",completion:{insertText:"ctx.libs.React.useCallback(() => {}, [])"}}}},ReactDOM:{description:"ReactDOM client API (same as ctx.ReactDOM).",properties:{createRoot:{type:"function",description:"Create a React root.",detail:"ReactDOM.createRoot",completion:{insertText:"ctx.libs.ReactDOM.createRoot(ctx.element.__el)",requires:["element"]}}}},antd:{description:"Ant Design component library (same as ctx.antd).",properties:{Button:"Ant Design Button component.",Table:"Ant Design Table component.",Form:"Ant Design Form component.",Input:"Ant Design Input component.",Select:"Ant Design Select component.",Modal:"Ant Design Modal API/component."}},dayjs:{type:"function",description:"dayjs date-time utility library.",detail:"dayjs",completion:{insertText:"ctx.libs.dayjs()"}},antdIcons:"Ant Design icons library. Example: `ctx.libs.antdIcons.PlusOutlined`.",lodash:{description:'Lodash utility library. Example: `ctx.libs.lodash.get(obj, "a.b")`.',properties:{get:{type:"function",description:"Read a nested value by path.",detail:"lodash.get",completion:{insertText:"ctx.libs.lodash.get(obj, 'a.b')"}},set:{type:"function",description:"Set a nested value by path.",detail:"lodash.set",completion:{insertText:"ctx.libs.lodash.set(obj, 'a.b', value)"}},debounce:{type:"function",description:"Create a debounced function.",detail:"lodash.debounce",completion:{insertText:"ctx.libs.lodash.debounce(() => {}, 300)"}},cloneDeep:{type:"function",description:"Deep clone a value.",detail:"lodash.cloneDeep",completion:{insertText:"ctx.libs.lodash.cloneDeep(value)"}}}},formula:{description:"Formula.js library (spreadsheet-like functions). Example: `ctx.libs.formula.SUM(1, 2, 3)`.",properties:{SUM:{type:"function",description:"Sum values.",detail:"formula.SUM",completion:{insertText:"ctx.libs.formula.SUM(1, 2, 3)"}},AVERAGE:{type:"function",description:"Average values.",detail:"formula.AVERAGE",completion:{insertText:"ctx.libs.formula.AVERAGE(1, 2, 3)"}}}},math:{description:'mathjs library. Example: `ctx.libs.math.evaluate("2 + 3")`.',properties:{evaluate:{type:"function",description:"Evaluate a math expression.",detail:"math.evaluate",completion:{insertText:"ctx.libs.math.evaluate('2 + 3')"}},round:{type:"function",description:"Round a number.",detail:"math.round",completion:{insertText:"ctx.libs.math.round(value, 2)"}}}}}}},methods:{request:{description:"Make an HTTP request using the APIClient instance. Parameters: (options: RequestOptions) => Promise<any>.",detail:"(options: RequestOptions) => Promise<any>",completion:{insertText:"await ctx.request({ url: '', method: 'get', params: {} })"}},getModel:{description:"Get a model instance by uid. By default, it searches across the current view stack and returns the first matched model.",detail:"(uid: string, searchInPreviousEngines?: boolean) => FlowModel | undefined",completion:{insertText:"ctx.getModel('block-uid-xxx')"},params:[{name:"uid",type:"string",description:"Target model uid."},{name:"searchInPreviousEngines",type:"boolean",description:"Whether to search in parent engines (default: false)."}],returns:{type:"FlowModel | undefined"},examples:["const model = ctx.getModel('block-uid-xxx');"]},t:{description:"Internationalization function for translating text. Parameters: (key: string, variables?: object) => string.",detail:"(key: string, variables?: object) => string",completion:{insertText:"ctx.t('Hello')"},examples:['ctx.t("Hello {{name}}", { name: "World" })']},initResource:{description:'Initialize ctx.resource as a FlowResource instance by class name. Common values: "MultiRecordResource", "SingleRecordResource", "SQLResource".',detail:"(resourceType: ResourceType) => void",completion:{insertText:"ctx.initResource('MultiRecordResource')"},examples:["ctx.initResource('MultiRecordResource'); ctx.resource.setResourceName('users');"]},makeResource:{description:'Create a new resource instance without binding it to ctx.resource. Useful when you need multiple independent or temporary resources. Common values: "MultiRecordResource", "SingleRecordResource", "SQLResource".',detail:"(resourceType) => FlowResource",completion:{insertText:"const resource = ctx.makeResource('SingleRecordResource')"},examples:["const resource = ctx.makeResource('SingleRecordResource'); resource.setResourceName('users');"]},render:{description:'Render into container. Accepts ReactElement, DOM Node/Fragment, or HTML string. Parameters: (vnode: ReactElement | Node | DocumentFragment | string, container?: HTMLElement|ElementProxy) => Root|null. Example: `ctx.render(<div>Hello</div>)` or `ctx.render("<b>hi</b>")`',detail:"ReactDOM Root",completion:{insertText:"ctx.render(<div />)",requires:["element"]}},requireAsync:{description:'Load UMD/AMD/global scripts or CSS asynchronously from URL. Accepts shorthand like "echarts@5/dist/echarts.min.js" (resolved via ESM CDN with ?raw) or full URLs, and returns a Promise of the loaded library.',detail:"(url: string) => Promise<any>",completion:{insertText:"const lib = await ctx.requireAsync('https://cdn.example.com/lib.umd.js')"}},importAsync:{description:'Dynamically import ESM modules or CSS by URL. Accepts shorthand like "vue@3.4.0" or "dayjs@1/plugin/relativeTime.js" (resolved via configured ESM CDN) or full URLs, and returns a Promise of the module namespace.',detail:"(url: string) => Promise<any>",completion:{insertText:"const mod = await ctx.importAsync('lodash-es')"}},resolveJsonTemplate:{description:"Resolve a JSON template containing {{ }} variable expressions.",detail:"(template: any) => Promise<any>",params:[{name:"template",type:"any",description:"JSON-compatible value containing {{ ctx.* }} expressions."}],returns:{type:"Promise<any>"},completion:{insertText:"await ctx.resolveJsonTemplate({ value: '{{ctx.record.id}}' })"},examples:["const data = await ctx.resolveJsonTemplate({ id: '{{ctx.record.id}}' });"]},getVar:{description:'Resolve a ctx expression value by path string (expression starts with "ctx.").',detail:"(path: string) => Promise<any>",completion:{insertText:"await ctx.getVar('ctx.record.id')"},params:[{name:"path",type:"string",description:'Expression path starts with "ctx." (e.g. "ctx.record.id", "ctx.record.roles[0].id").'}],returns:{type:"Promise<any>"},examples:["const id = await ctx.getVar('ctx.record.id');"]},getApiInfos:{description:"All available APIs under context namespace",detail:"(options?: { version?: string }) => Promise<Record<string, any>>",completion:{insertText:"await ctx.getApiInfos()"},params:[{name:"options",type:"{ version?: string }",optional:!0,description:"Options (e.g. version)."}],returns:{type:"Promise<Record<string, any>>"},examples:["const apis = await ctx.getApiInfos();"]},getVarInfos:{description:"All available variables could be used to get deeper data.",detail:"(options?: { path?: string|string[]; maxDepth?: number }) => Promise<Record<string, any>>",completion:{insertText:"await ctx.getVarInfos({ path: 'record', maxDepth: 3 })"},params:[{name:"options",type:"{ path?: string|string[]; maxDepth?: number }",optional:!0,description:"Options for path trimming and maxDepth expansion."}],returns:{type:"Promise<Record<string, any>>"},examples:["const vars = await ctx.getVarInfos({ path: 'record', maxDepth: 3 });"]},getEnvInfos:{description:"current runtime environment",detail:"() => Promise<Record<string, any>>",completion:{insertText:"await ctx.getEnvInfos()"},returns:{type:"Promise<Record<string, any>>"},examples:["const envs = await ctx.getEnvInfos();"]},runAction:{description:'Execute a data action on the current resource. Parameters: (actionName: string, params: object) => Promise<any>. Example: `await ctx.runAction("create", { values: { name: "test" } })`',detail:"Promise<any>",completion:{insertText:"await ctx.runAction('create', { values: {} })"}},openView:{description:`Open a view component (page, modal, or drawer) by its unique identifier.
|
|
1821
1821
|
Parameters: (viewId: string, options?: OpenViewOptions) => Promise<void>
|
|
1822
1822
|
Options:
|
|
1823
1823
|
- params: Record<string, any> - Parameters passed to the view component
|
|
@@ -1841,4 +1841,4 @@ ${o.join("\n")}`:""}function j(e,t){let l=Error(t);l.cause=e;try{let t="string"=
|
|
|
1841
1841
|
await ctx.__ensureLibs(${JSON.stringify(t)});
|
|
1842
1842
|
${e}`:e}function ts(e,t,l){let r=e8(e,l);if(":"!==e[r])return!1;let n=e9(e,t-1),i=n>=0?e[n]:"";return"{"===i||","===i}function td(e,t,l,r){let n=Array.from(new Set(t));if(!n.length)return e;let i=e;for(let e of n){let t=l(e);i=`(${i}).split(${JSON.stringify(e)}).join(${r}(${t}, ${JSON.stringify(e)}))`}return i}function tu(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!eV.test(e))return e;let l=!1!==t.processBarePlaceholders,r=!1!==t.processStringLiterals;if(l&&r&&eH.test(e)||l&&!r&&eU.test(e)||!l&&r&&eW.test(e))return e;let n=new Map,i=[],o=!1,a=new Set,s=(t=>{if(!e.includes(t)&&!a.has(t))return a.add(t),t;let l=1;for(;e.includes(`${t}_${l}`)||a.has(`${t}_${l}`);)l+=1;let r=`${t}_${l}`;return a.add(r),r})(eK),d=0,u=()=>{for(;;){let t=`__runjs_ctx_tpl_${d}`;if(d+=1,!(e.includes(t)||a.has(t)))return a.add(t),t}},c=e=>{let t=n.get(e);if(t)return t;let l=u();return n.set(e,l),i.push(`const ${l} = await ctx.resolveJsonTemplate(${JSON.stringify(e)});`),l},p="",h=0,f=!1,m=0;for(;h<e.length;){let t=e[h],n=e[h+1];if("/"===t&&"/"===n){let t=e2(e,h);p+=e.slice(h,t),h=t;continue}if("/"===t&&"*"===n){let t=e4(e,h);p+=e.slice(h,t),h=t;continue}if("'"===t||'"'===t){let l=e6(e,h,t),n=e.slice(h,l);if(r&&0===m){let t=e5(n);if(t.length){o=!0;let r=td(n,t,c,s);p+=ts(e,h,l)?`[${r}]`:r}else p+=n}else p+=n;h=l;continue}if("`"===t){let t=e3(e,h),l=e.slice(h,t);if(r&&0===m){let r=e5(l);if(r.length){o=!0;let n=td(l,r,c,s);p+=ts(e,h,t)?`[${n}]`:n}else p+=l}else p+=l;h=t;continue}if(0===m&&!f&&e1(e,h)){p+=eq,h+=eq.length,f=!0;continue}if(f){if(/\s/.test(t)){p+=t,h+=1;continue}if("("===t){p+=t,h+=1,f=!1,m=1;continue}f=!1;continue}if(m>0){"("===t?m+=1:")"===t&&(m-=1),p+=t,h+=1;continue}if(l&&"{"===t&&"{"===n){let t=e.indexOf("}}",h+2);if(-1!==t){let l=e.slice(h,t+2);if(e0(l)){p+=c(l),h=t+2;continue}}}p+=t,h+=1}if(!i.length)return p;let g=[];return o&&g.push(`const ${s} = (value, placeholder) => {`," if (typeof value === 'undefined') return placeholder;"," if (typeof value === 'object' && value !== null) {"," try {"," return JSON.stringify(value);"," } catch (e) {"," return String(value);"," }"," }"," return String(value);","};"),g.push(...i),`${g.join("\n")}
|
|
1843
1843
|
${p}`}async function tc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l="string"==typeof e?e:String(e??""),r=!!t.preprocessTemplates,n=r?eJ.withTemplates:eJ.withoutTemplates,i=eX(n,l);if(i)return await i;let o=(async()=>{if(!r)return ta(await (0,eL.W)(l));let e=tu(l,{processStringLiterals:!1});return ta(tu(await (0,eL.W)(e),{processBarePlaceholders:!1}))})();eQ(n,l,o,eG);try{return await o}catch(e){throw n.delete(l),e}}var tp=l(62572);function th(e){if(Array.isArray(e)){let t=e.map(e=>th(e)).filter(e=>void 0!==e);return t.length?t:void 0}if(e&&"object"==typeof e){let t={};return Object.keys(e).forEach(l=>{let r=th(e[l]);void 0!==r&&(t[l]=r)}),Object.keys(t).length?t:void 0}return null==e||"string"==typeof e&&""===e?void 0:e}let tf=e=>"string"==typeof e.on?"beforeRender"===e.on:"object"==typeof e.on?"beforeRender"===e.on.eventName:!e.on&&!0!==e.manual;var tm=l(47684);let tg="0123456789abcdefghijklmnopqrstuvwxyz";function tv(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:11,l="";for(let e=0;e<t;e++)l+=tg[Math.random()*tg.length|0];return`${e}${l}`}},49773(e,t,l){l.d(t,{W:()=>r});async function r(e){if(!/<[A-Za-z]|<\//.test(e))return e;try{var t;let r=await l.e("7761").then(l.bind(l,1608)),n=(null==r?void 0:r.transform)||(null==r||null==(t=r.default)?void 0:t.transform);if("function"!=typeof n)return e;let i=n(e,{transforms:["jsx"],jsxPragma:"ctx.React.createElement",jsxFragmentPragma:"ctx.React.Fragment",disableESTransforms:!0,production:!0});return(i&&(i.code||(null==i?void 0:i.output)))??e}catch(t){return e}}},81982(e,t,l){l.d(t,{M:()=>m,gG:()=>a,mv:()=>s,o4:()=>h,pk:()=>f}),l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(45336),l(23446),l(5409),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(14324);var r=l(46629),n=l(87710),i=l(2543),o=l.n(i);async function a(e,t){if(!e)return{};if("function"==typeof e)try{return await e(t)||{}}catch(e){return console.error("Error resolving defaultParams function:",e),{}}return e}async function s(e,t,l){if(!e)return{};if("function"==typeof e)try{return await e(t,l)||{}}catch(e){return console.error("Error resolving createModelOptions function:",e),{}}return e}let d={queue:[],timer:null,inflightByRun:new Map},u=10;function c(e){if(Array.isArray(e))return e.map(c);if(o().isPlainObject(e)){let t=Object.entries(e).map(e=>{let[t,l]=e;return[t,c(l)]});return Object.fromEntries(o().sortBy(t,e=>{let[t]=e;return t}))}return e}function p(e){try{return JSON.stringify(c(e))}catch{try{return JSON.stringify(e)}catch{return String(e)}}}function h(e,t){let l,r,n=d,i=e.runId||"GLOBAL",o=p(t),a=n.inflightByRun.get(i);a||(a=new Map,n.inflightByRun.set(i,a));let s=a.get(o);if(s)return s;let c=new Promise((e,t)=>{l=e,r=t});a.set(o,c);let h={id:`${Date.now()}-${Math.random().toString(36).slice(2)}`,ctx:e,payload:t,resolve:l,reject:r,runId:i,dedupKey:o};n.queue.push(h);let f=async()=>{var t,l,r,i,o,a;let s=n.queue.splice(0,n.queue.length);if(n.timer=null,!s.length)return;let d=null==(t=s[0].ctx)?void 0:t.api;if(!d){for(let e of s)try{e.resolve(e.payload.template)}catch(t){e.reject(t)}finally{null==(l=n.inflightByRun.get(e.runId))||l.delete(e.dedupKey)}return}try{let e=s.map(e=>({id:e.id,contractRd:e.payload.contractRd,rd:e.payload.rd,template:e.payload.template,contextParams:e.payload.contextParams||{}})),t=await d.request({method:"POST",url:"variables:resolve",data:{values:{batch:e}}}),l=t.data??t,i=l.data??l,o=null==i?void 0:i.results,a=Array.isArray(o)?o:Array.isArray(i)?i:[],u=new Map;for(let e of a){let t=(null==e?void 0:e.id)!=null?String(e.id):"";t&&u.set(t,null==e?void 0:e.data)}for(let e of s)try{let t=String(e.id),l=u.has(t)?u.get(t):e.payload.template;e.resolve(l)}catch(t){e.reject(t)}finally{null==(r=n.inflightByRun.get(e.runId))||r.delete(e.dedupKey)}}catch(t){for(let l of s)try{null==e||null==(o=e.logger)||null==(i=o.warn)||i.call(o,{err:t},"variables:resolve(batch) failed, fallback"),l.resolve(l.payload.template)}catch(e){l.reject(e)}finally{null==(a=n.inflightByRun.get(l.runId))||a.delete(l.dedupKey)}}};return n.timer||(n.timer=setTimeout(f,u)),c}function f(e,t){var l,r;return(0,n.generateFlowModelRdFromToken)(t,null==e||null==(r=e.api)||null==(l=r.auth)?void 0:l.token)}async function m(e,t){let l=async e=>{if("string"==typeof e&&/\{\{.*?\}\}/.test(e))return await y(e,t);if(Array.isArray(e))return Promise.all(e.map(l));if(e&&"object"==typeof e){let t={};for(let[r,n]of Object.entries(e))t[r]=await l(n);return t}return e};return l(e)}async function g(e,t){let l=await v(e.trim(),t),r=await t.runjs(`return ${l}`,{t:t.t});return(null==r?void 0:r.success)?r.value:void 0}async function v(e,t){let l,r=/ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*(?:(?:\.[a-zA-Z_$][a-zA-Z0-9_$]*)|(?:\[[^\]]+\]))*)(?!\s*\()/g,n=[],i=new Set;for(;null!==(l=r.exec(e));){let e=l[0],t=l[1],r=t.match(/^([a-zA-Z_$][a-zA-Z0-9_$]*)/);if(r){let l=r[1],o=t.substring(l.length);n.push({fullPath:e,firstKey:l,restPath:o}),i.add(l)}}if(0===n.length)return e;let o=new Map;for(let e of i)try{let l=await t[e],r=l&&!0===l.__isRecordProxy__;o.set(e,r)}catch(t){o.set(e,!1)}n.sort((e,t)=>t.fullPath.length-e.fullPath.length);let a=e;for(let{fullPath:e,firstKey:t,restPath:l}of n){let r,n=o.get(t)||!1;r=""===l?`await ctx.${t}`:n?`await (await ctx.${t})${l}`:`(await ctx.${t})${l}`;let i=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=RegExp(`\\b${i}\\b`,"g");a=a.replace(s,r)}return a}async function y(e,t){let l=e=>{let t=e.trim().match(/^ctx\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\.([a-zA-Z_$][a-zA-Z0-9_$-]*(?:\.[a-zA-Z_$][a-zA-Z0-9_$-]*)*))?$/);return t?t[2]?`${t[1]}.${t[2]}`:t[1]:null},n=async e=>{let l=e.split("."),n=l.shift();if(!n)return;let i=await t[n];return 0===l.length?i:(0,r.Dw)(i,l.join("."))},i=async e=>{let r=l(e);if(r){let l=await n(r);return void 0===l&&r.includes("-")?await g(e,t):l}return await g(e,t)},o=e.match(/^\s*\{\{\s*([^{}]+?)\s*\}\}\s*$/);if(o){let e=o[1];return await i(e)}let a=[...e.matchAll(/\{\{\s*(.+?)\s*\}\}/g)],s=e;for(let[e,t]of a){let l=await i(t);if(void 0!==l){let t="object"==typeof l&&null!==l?JSON.stringify(l):String(l);s=s.replace(e,t)}}return s}},47684(e,t,l){function r(e,t){if(!e||"string"!=typeof e)throw Error("invalid url");let l=e.trim();if(l.startsWith("http://")||l.startsWith("https://"))return l;let r=window.__esm_cdn_base_url__||"https://esm.sh",n=(null==t?void 0:t.addSuffix)&&window.__esm_cdn_suffix__||"",i=r.replace(/\/$/,""),o=l.replace(/^\//,"");if(null==t?void 0:t.raw){let e=o.includes("?")?"&":"?";return`${i}/${o}${e}raw`}return`${i}/${o}${n}`}function n(e){return!!e&&"string"==typeof e&&e.split("?")[0].split("#")[0].endsWith(".css")}l.d(t,{i:()=>r,y:()=>n}),l(89773),l(14324)},22928(e,t,l){function r(e){let t={};return Object.entries(e||{}).forEach(e=>{let[l,r]=e;null!=r&&(t[l]=r)}),t}function n(e,t,l){try{var r,n,i,o,a;let s=null==(n=e.dataSourceManager)||null==(r=n.getDataSource)?void 0:r.call(n,t||"main"),d=null==s||null==(o=s.collectionManager)||null==(i=o.getCollection)?void 0:i.call(o,l);return(null==d||null==(a=d.getPrimaryKey)?void 0:a.call(d))||"id"}catch(e){return"id"}}function i(e,t){var l,i;if(!t)return;let o=t.dataSourceKey||"main",a=t.collection||(null==(l=t.record)?void 0:l.__collectionName);if(!a)return;let s=n(e,o,a)||"id",d=void 0!==t.filterByTk?t.filterByTk:void 0!==t.id?t.id:null==(i=t.record)?void 0:i[s];if(void 0!==d)return r({collection:a,filterByTk:d,dataSourceKey:o,associationName:t.associationName,sourceId:t.sourceId,fields:t.fields,appends:t.appends})}function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=e=>!!e&&"object"==typeof e&&"string"==typeof e.collection&&(void 0!==e.filterByTk||void 0!==e.id||e.record),r={},n=(t,o)=>{if(l(t)){let l=i(e,t);l&&(r[o.join(".")]=l);return}if(Array.isArray(t)){for(let e=0;e<t.length;e++)n(t[e],[...o,String(e)]);return}if(t&&"object"==typeof t){for(let[e,l]of Object.entries(t))n(l,[...o,e]);return}};return n(t,[]),Object.keys(r).length?r:void 0}l.d(t,{d:()=>o}),l(45336),l(69861)},88439(e,t,l){l.d(t,{w:()=>r});function r(e,t,l,r){let n={},i={};for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){let s=t[a],d={};if(s.uiSchema&&"object"==typeof s.uiSchema){for(let[e,t]of Object.entries(s.uiSchema))if(t&&"object"==typeof t){var o;let l=t;d[e]={type:l.type||"any",title:l.title||(null==(o=l["x-decorator-props"])?void 0:o.label)||e,interface:l["x-component"],uiSchema:l}}}let u=Object.keys(d).length>0;i[a]={type:"object",title:e.t(s.title)||a,display:u?"default":"none",properties:u?{params:{type:"object",title:"Parameters",display:"flatten",properties:d}}:void 0},n[a]={get params(){return l.getStepParams(r,a)||{}},get uiSchema(){return s.uiSchema},result:void 0}}e.defineProperty("steps",{get:()=>n})}},58619(e,t,l){l.d(t,{$S:()=>f,Cg:()=>u,UX:()=>g,XU:()=>d,Xx:()=>p,ju:()=>b,nN:()=>y,pc:()=>m,vE:()=>c,vP:()=>v,xI:()=>h}),l(14324),l(45336),l(91625),l(34678);var r=l(46629),n=l(22928),i=l(35846),o=l(44476),a=l(2543),s=l.n(a);function d(e){var t,l,r,n;let i=e.resource,o=e.collection,a=e.record,s=(null==o?void 0:o.name)||(null==i||null==(t=i.getResourceName)?void 0:t.call(i)),d=(null==o?void 0:o.dataSourceKey)||(null==i||null==(l=i.getDataSourceKey)?void 0:l.call(i)),u=(null==i||null==(r=i.getFilterByTk)?void 0:r.call(i))??(null==o||null==(n=o.getFilterByTK)?void 0:n.call(o,a));if(!s||null==u)return;let c=String(s).split(".");return{collection:c[c.length-1],dataSourceKey:d,filterByTk:u}}function u(e){var t,l,r;let n=e.view;if(!n)return;let i=(null==n?void 0:n.inputArgs)||{},o=(null==i?void 0:i.collectionName)||(null==n||null==(t=n.record)?void 0:t.collection),a=(null==i?void 0:i.dataSourceKey)||(null==n||null==(l=n.record)?void 0:l.dataSourceKey)||"main",s=(null==i?void 0:i.filterByTk)||(null==n||null==(r=n.record)?void 0:r.filterByTk),d=null==i?void 0:i.associationName,u=null==i?void 0:i.sourceId;if(o&&null!=s)return{collection:o,dataSourceKey:a,filterByTk:s,sourceId:u,associationName:d}}function c(e,t){var l,r,n;let i=null==(l=e.inputArgs)?void 0:l.record,o=null==(r=e.collection)?void 0:r.filterTargetKey;if(!i||!o)return;let a=t.view,d=null==a||null==(n=a.inputArgs)?void 0:n.filterByTk,u=i[o];if(null!=d&&null!=u&&d===u)return s().cloneDeep(i)}function p(e,t){return l=>{var r,n,i,a;if(!("record"===l||l.startsWith("record.")))return!1;let s=t();if(!s)return!0;if("record"===l)return!1;let d=u(e),c=null==d?void 0:d.collection,p=(null==d?void 0:d.dataSourceKey)||"main";if(!c)return!0;let h=null==(n=e.dataSourceManager)||null==(r=n.getDataSource)?void 0:r.call(n,p),f=null==h||null==(a=h.collectionManager)||null==(i=a.getCollection)?void 0:i.call(a,c);if(!f)return!0;let m=(0,o.Hi)(()=>f,()=>s),g=l.startsWith("record.")?l.slice(7):"";return!!g&&m(g)}}function h(e,t){let l=(0,o.Hi)(e,()=>t());return r=>{let n=t();if(!n)return!0;if(!r)return!1;let i=e();if(!r.includes(".")){var o;let e,t=r;return i&&("function"==typeof i.getField&&(e=i.getField(t)),e||"function"!=typeof i.getFields||(e=(i.getFields()||[]).find(e=>(null==e?void 0:e.name)===t))),!!(null==e||null==(o=e.isAssociationField)?void 0:o.call(e))&&null==(null==n?void 0:n[t])}return l(r)}}async function f(e,t,l){let r=await (0,i.H)(e,t,!0)();return r?{...r,buildVariablesParams:e=>l?l(e):d(e)}:null}function m(e,t,l){let r=async()=>f(e,t,l);return r.title=t,r}function g(e,t,l){var r,n;return m(t,(null==l?void 0:l.title)?(null==(r=e.t)?void 0:r.call(e,l.title))||l.title:(null==(n=e.t)?void 0:n.call(e,"Current record"))||"Current record",e=>d(e))}let v=r.vP,y=r.nN;async function b(e,t){let l=(0,r.nN)(t)||{},i=Object.keys(l);if(!i.length)return;let o={};for(let t of i){var a;let l,r=null==(a=e.getPropertyOptions)?void 0:a.call(e,t),n=null==r?void 0:r.meta;if(n){try{let t="function"==typeof n?await n():n,r=null==t?void 0:t.buildVariablesParams;"function"==typeof r&&(l=await r(e))}catch(e){continue}l&&(o[t]=l)}}let s=l.view||[];if(!o.view&&s.some(e=>"record"===e||e.startsWith("record.")||e.startsWith("record["))){let t=u(e);t&&(o.view={record:t})}return(0,n.d)(e,o)}},67778(e,t,l){l.d(t,{sp:()=>j,bt:()=>I,U:()=>er,N5:()=>U,xB:()=>L,mW:()=>B,fP:()=>G});var r=l(74848),n=l(96540),i=l(99418),o=l(11869),a=l(29007),s=l(52568);l(45336),l(23446),l(79936),l(72713),l(25779),l(69861),l(14324);var d=l(58619);function u(e){if((null==e?void 0:e.sourceId)==null||""===e.sourceId||"string"!=typeof e.associationName)return;let t=e.associationName.split(".")[0];if(t)return{collection:t,dataSourceKey:e.dataSourceKey||"main",filterByTk:e.sourceId}}function c(e){return null!=e}function p(e,t){if(e===t)return!0;if(!c(e)||!c(t))return!1;try{return JSON.stringify(e)===JSON.stringify(t)}catch(l){return String(e)===String(t)}}function h(e){var t;let l=null==e||null==(t=e.navigation)?void 0:t.viewStack;return Array.isArray(l)?l:[]}function f(e){var t;let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h(e);if(!l.length)return -1;let r=(null==e?void 0:e.inputArgs)||{},n=(null==e||null==(t=e.navigation)?void 0:t.viewParams)||{},i=r.viewUid??n.viewUid;if(!i)return l.length-1;let o=l.map((e,t)=>({item:e,index:t})).filter(e=>{let{item:t}=e;return(null==t?void 0:t.viewUid)===i});if(!o.length)return l.length-1;let a=["filterByTk","sourceId","tabUid"],s=o[o.length-1].index,d=-1;for(let{item:e,index:t}of o){let l=0,n=!0;for(let t of a)if(c(r[t])){if(!p(null==e?void 0:e[t],r[t])){n=!1;break}l+=1}n&&l>=d&&(s=t,d=l)}return s}function m(e,t){return t??e.view}function g(e){var t;if(!e)return!1;let l=h(e),r=null==e||null==(t=e.inputArgs)?void 0:t.openerUids,n=Array.isArray(r)&&r.length>0;return f(e,l)>=1||n}function v(e,t){let l=t=>e.t(t),r=function(){let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e;return g(m(l,t))},n=async e=>{let l=m(e,t);if(!l||!g(l))return;let r=await y(e,l),n=null==r?void 0:r.resource;return(null==n?void 0:n.collectionName)&&null!=n.filterByTk?{collection:n.collectionName,dataSourceKey:n.dataSourceKey||"main",filterByTk:n.filterByTk,associationName:n.associationName,sourceId:n.sourceId}:(0,d.Cg)(e)},i=async()=>{var t,l,r,i;let o=await n(e);if(!(null==o?void 0:o.collection))return null;let a=null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,o.dataSourceKey||"main");return(null==a||null==(i=a.collectionManager)||null==(r=i.getCollection)?void 0:r.call(i,o.collection))||null},o=async(l,r)=>{var n,i,o,a,s,d;try{let s=r||e,d=m(s,t),u=h(d),c=f(d,u);if(c<1||l<1)return;let p=c-l;if(p<1)return;let g=u[p];if(!(null==g?void 0:g.viewUid))return;let v=null==(n=s.engine)?void 0:n.getModel(g.viewUid,!0);if(!v)try{v=await s.engine.loadModel({uid:g.viewUid})}catch(t){null==(a=s.logger||e.logger)||null==(o=a.warn)||o.call(a,{err:t},"[FlowEngine] popup.getParentRecordRef loadModel failed")}let y=(null==v||null==(i=v.getStepParams)?void 0:i.call(v,"popupSettings","openView"))||{},b=null==y?void 0:y.collectionName,x=(null==y?void 0:y.dataSourceKey)||"main",w=(null==g?void 0:g.filterByTk)??(null==g?void 0:g.sourceId);if(!b||null==w)return;return{collection:b,dataSourceKey:x,filterByTk:w,sourceId:null==g?void 0:g.sourceId,associationName:null==y?void 0:y.associationName}}catch(t){null==(d=(null==r?void 0:r.logger)||e.logger)||null==(s=d.warn)||s.call(d,{err:t},"[FlowEngine] popup.getParentRecordRef failed");return}},a=l=>{try{let r=m(e,t),n=h(r);return f(r,n)-l>=1}catch(e){return!1}},s=t=>{let r=()=>({type:"object",title:l("Parent popup"),disabled:()=>!a(t),disabledReason:()=>a(t)?void 0:l("No parent popup"),hidden:()=>!a(t),properties:async()=>{let r=await o(t),n={};if(n.uid={type:"string",title:l("Popup uid")},r){let t=(()=>{try{var t,l,n,i;let o=null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,r.dataSourceKey||"main");return(null==o||null==(i=o.collectionManager)||null==(n=i.getCollection)?void 0:n.call(i,r.collection||""))||null}catch(e){return null}})();n.record=await (0,d.$S)(()=>t,l("Popup record"),()=>r)||{type:"object",title:l("Popup record")}}else n.record={type:"object",title:l("Popup record")};return n.resource={type:"object",title:l("Data source"),properties:async()=>({dataSourceKey:{type:"string",title:l("Data source key")},collectionName:{type:"string",title:l("Collection name")},associationName:{type:"string",title:l("Association name")},filterByTk:{type:"string",title:l("filterByTk")},sourceId:{type:"string",title:l("sourceId")}})},n}});return r.title=l("Parent popup"),r},c=()=>({type:"object",title:l("Current popup"),disabled:()=>!r(),hidden:()=>!r(),buildVariablesParams:async e=>{var l,i,a,s;if(!r(e))return;let d=await n(e),c=m(e,t),p=null==c?void 0:c.inputArgs,g={};if(d){let e={...d};!e.associationName&&(null==p?void 0:p.associationName)&&(e.associationName=p.associationName),void 0===e.sourceId&&void 0!==(null==p?void 0:p.sourceId)&&(e.sourceId=null==p?void 0:p.sourceId),g.record=e}try{let t=h(c);if(f(c,t)>=2){let t=g,l=1,r=await o(l,e);for(;r;){let n={record:r},i=u(r);i&&(n.sourceRecord=i),t.parent=n,t=n,l+=1,r=await o(l,e)}}}catch(t){null==(i=e.logger)||null==(l=i.debug)||l.call(i,{err:t},"[FlowEngine] buildVariablesParams: build parent-chain failed")}try{let e=u({sourceId:null==p?void 0:p.sourceId,associationName:null==p?void 0:p.associationName,dataSourceKey:null==p?void 0:p.dataSourceKey});e&&(g.sourceRecord=e)}catch(t){null==(s=e.logger)||null==(a=s.debug)||a.call(s,{err:t},"[FlowEngine] buildVariablesParams: infer sourceRecord failed")}return g},properties:async()=>{var r,a,u,c;let p={};if(p.uid={type:"string",title:l("Popup uid")},await n(e)){let e=async()=>{let e=await i();return e?await (0,d.$S)(()=>e,l("Current popup record"),e=>n(e)):null};e.title=l("Current popup record"),e.hasChildren=!0,p.record=e}try{let n=m(e,t),i=null==n?void 0:n.inputArgs,o=null==i?void 0:i.sourceId,s=null==i?void 0:i.associationName,u=(null==i?void 0:i.dataSourceKey)||"main";if(!s||"string"!=typeof s||!s.includes(".")){let t=h(n),l=f(n,t),i=l>=0?null==t?void 0:t[l]:void 0;if(null==i?void 0:i.viewUid){let t=null==e||null==(r=e.engine)?void 0:r.getModel(i.viewUid,!0);t||(t=await e.engine.loadModel({uid:i.viewUid}));let l=(null==t||null==(a=t.getStepParams)?void 0:a.call(t,"popupSettings","openView"))||{};s=(null==l?void 0:l.associationName)||s,u=(null==l?void 0:l.dataSourceKey)||u}}if(null!=o&&""!==o&&s&&"string"==typeof s){let t=String(s).includes(".")?String(s).split(".")[0]:void 0;if(t){let r=()=>{try{var l,r,n,i;let o=null==(r=e.dataSourceManager)||null==(l=r.getDataSource)?void 0:l.call(r,u);return(null==o||null==(i=o.collectionManager)||null==(n=i.getCollection)?void 0:n.call(i,t))||null}catch(e){return null}},n=await (0,d.$S)(r,l("Current popup parent record"),()=>({collection:t,dataSourceKey:u,filterByTk:o}));n&&(p.sourceRecord=n)}}}catch(t){null==(c=e.logger)||null==(u=c.debug)||u.call(c,{err:t},"[FlowEngine] popup.properties: build sourceRecord failed")}return p.resource={type:"object",title:l("Data source"),properties:async()=>({dataSourceKey:{type:"string",title:l("Data source key")},collectionName:{type:"string",title:l("Collection name")},associationName:{type:"string",title:l("Association name")},filterByTk:{type:"string",title:l("filterByTk")},sourceId:{type:"string",title:l("sourceId")}})},await o(1)&&(p.parent=s(1)),p}});return c.title=l("Current popup"),c.sort=975,c}async function y(e,t){var l,r,n;let i=h(t),o=f(t,i),a=null==t||null==(r=t.inputArgs)||null==(l=r.parentItem)?void 0:l.value,s=null==t||null==(n=t.inputArgs)?void 0:n.openerUids,d=Array.isArray(s)&&s.length>0;if(!(o>=1||d))return;if(!i.length){let e=(null==t?void 0:t.inputArgs)||{};if(!(e.collectionName||null!=e.filterByTk||null!=e.sourceId||e.associationName||e.viewUid))return;return{uid:e.viewUid,resource:{dataSourceKey:e.dataSourceKey||"main",collectionName:e.collectionName,associationName:e.associationName,filterByTk:e.filterByTk,sourceId:e.sourceId},...void 0!==a?{sourceRecord:a}:{}}}let u=async t=>{var l,r,n,o,a,s;if(t<0||!(null==(l=i[t])?void 0:l.viewUid))return;let d=i[t].viewUid,c=null==(r=e.engine)?void 0:r.getModel(d,!0);c||(c=await (null==(s=e.engine)?void 0:s.loadModel({uid:d})));let p=(null==c||null==(n=c.getStepParams)?void 0:n.call(c,"popupSettings","openView"))||{},h=null==p?void 0:p.collectionName,f={uid:d,resource:{dataSourceKey:(null==p?void 0:p.dataSourceKey)||"main",collectionName:h,associationName:null==p?void 0:p.associationName,filterByTk:null==(o=i[t])?void 0:o.filterByTk,sourceId:null==(a=i[t])?void 0:a.sourceId}},m=await u(t-1);return m&&(f.parent=m),f},c=await u(o);return c&&void 0!==a&&(c.sourceRecord=a),c}function b(e,t){let l=/^(?:record|sourceRecord)(?:\.|$)|^parent(?:\.parent)*(?:\.(?:record|sourceRecord))(?:\.|$)/,r=e=>{var l,r;if("sourceRecord"!==e&&!e.startsWith("sourceRecord."))return!1;let n=null==t||null==(l=t.inputArgs)?void 0:l.parentItem;if(void 0===(null==n?void 0:n.value))return!0;let i="sourceRecord"===e?"":e.slice(13);if(!i)return!1;let o=null==t||null==(r=t.inputArgs)?void 0:r.parentItemResolver;if("function"==typeof o)return o(`value.${i}`);let a=i.split(".").filter(Boolean),s=n.value;for(let e of a){if(null===s||"object"!=typeof s||!(e in s))return!0;s=s[e]}return!1};e.defineProperty("popup",{get:async()=>y(e,t),meta:v(e,t),resolveOnServer:e=>{try{if("sourceRecord"===e||e.startsWith("sourceRecord."))return r(e);return!!e&&l.test(e)}catch(e){return!1}}})}var x=l(18182);let w=(0,n.forwardRef)((e,t)=>{let{afterClose:l,footer:i,header:o,hidden:a,...s}=e,[d,u]=(0,n.useState)(!0),[c,p]=(0,n.useState)(s),[h,f]=(0,n.useState)(()=>i),[m,g]=(0,n.useState)(o);(0,n.useImperativeHandle)(t,()=>({destroy:()=>{u(!1),null==l||l()},update:e=>p(t=>({...t,...e})),setFooter:e=>{f(e)},setHeader:e=>{0===Object.values(e||{}).length?g(null):g(e)}}));let v={...c,title:(null==m?void 0:m.title)||c.title,extra:null==m?void 0:m.extra,footer:void 0!==h?h:c.footer??null},y=n.useMemo(()=>document.querySelector("#nocobase-app-container"),[]);return(0,r.jsx)(x.A,{closable:!1,rootClassName:a?"nb-hidden":"",getContainer:y,...v,open:d,onCancel:c.onCancel,afterClose:()=>{null==l||l()},children:c.children})});function S(){let[e,t]=n.useState([]);return[e,n.useCallback(e=>(t(t=>[...t,e]),()=>{t(t=>t.filter(t=>t!==e))}),[])]}var A=l(16639),M=l(20616),F=l(47451);async function k(e,t){var l;return!!t.force||!1!==await (null==(l=e.beforeClose)?void 0:l.call(e,t))}function C(e,t){var l;let r=null==t?void 0:t.layoutContext,n=null==t||null==(l=t.engine)?void 0:l.context;r instanceof a.cB&&r!==t&&r!==n&&e.addDelegate(r)}let P=0;function j(){let e=n.useRef(null),t=(t,l)=>{var u,c,p;let h,f,m=null==l?void 0:l.engine;P+=1;let g=n.createRef(),v=new Promise(e=>{f=e}),y=null,x=null,S=e=>{let{children:t}=e;return n.useEffect(()=>{var e;return y=t,null==(e=g.current)||e.setFooter(t),()=>{var e;y=null,null==(e=g.current)||e.setFooter(null)}},[t]),null},j=e=>(n.useEffect(()=>{var t;return x=e,null==(t=g.current)||t.setHeader(e),()=>{var e;x=null,null==(e=g.current)||e.setHeader(null)}},[e]),null),E=new a.cB,R=(0,F._)(l.engine),T=(0,A.eX)(m,R);E.defineProperty("engine",{value:R}),E.addDelegate(R.context),!1!==t.inheritContext?E.addDelegate(l):(E.addDelegate(l.engine.context),C(E,l));let I=!1,_={type:"dialog",inputArgs:t.inputArgs||{},preventClose:!!t.preventClose,beforeClose:void 0,destroy:e=>{var l,r,n,i;if(I)return;I=!0,null==(l=t.onClose)||l.call(t),null==(r=g.current)||r.destroy(),null==h||h(),null==f||f(e);let o=null==T?void 0:T.emitter;(0,A.Z8)(o),null==o||null==(i=o.emit)||i.call(o,A.B9,{type:"dialog",viewUid:null==_||null==(n=_.inputArgs)?void 0:n.viewUid}),R.unlinkFromStack()},update:e=>{var t;return null==(t=g.current)?void 0:t.update(e)},close:async(e,l)=>{var r,n;return(!t.preventClose||!!l)&&!!await k(_,{result:e,force:l})&&(t.triggerByRouter&&(null==(n=t.inputArgs)||null==(r=n.navigation)?void 0:r.back)?t.inputArgs.navigation.back():_.destroy(e),!0)},Footer:S,Header:j,setFooter:e=>{var t;y=e,null==(t=g.current)||t.setFooter(e)},setHeader:e=>{var t;x=e,null==(t=g.current)||t.setHeader(e)},navigation:null==(u=t.inputArgs)?void 0:u.navigation,get record(){return(0,d.vE)(l,E)}};E.defineProperty("view",{get:()=>_,resolveOnServer:(0,d.Xx)(E,()=>(0,d.vE)(l,E))}),R.setDestroyView(()=>{var e,l;t.triggerByRouter&&(null==(l=t.inputArgs)||null==(e=l.navigation)?void 0:e.back)&&t.inputArgs.navigation.back(),_.destroy()}),b(E,_);let D=(0,o.observer)(()=>{var e,l,o,a;let s=n.useRef(!1),d="function"==typeof t.content?t.content(_,E):t.content,u="string"==typeof d?(0,r.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(d)}}):d;return(n.useEffect(()=>{var e;null==(e=t.onOpen)||e.call(t,_,E)},[]),(null==(l=t.inputArgs)||null==(e=l.hidden)?void 0:e.value)&&!s.current)?null:(s.current=!0,(0,r.jsx)(w,{className:"nb-dialog-overflow-hidden",ref:g,hidden:null==(a=t.inputArgs)||null==(o=a.hidden)?void 0:o.value,footer:y,header:x,...t,onCancel:()=>{_.close(t.result)},children:u}))},{displayName:"DialogWithContext"}),N=(null==t||null==(c=t.inputArgs)?void 0:c.viewUid)||`page-${P}`,O=(0,r.jsx)(M.I6,{engine:R,children:(0,r.jsx)(s.YQ,{context:E,children:(0,r.jsx)(D,{})})},N);return h=null==(p=e.current)?void 0:p.patchElement(O),Object.assign(v,_)},l=n.useMemo(()=>({open:t}),[]),u=n.memo(n.forwardRef((e,t)=>{let[l,i]=S();return n.useImperativeHandle(t,()=>({patchElement:i}),[i]),(0,r.jsx)(r.Fragment,{children:l})}));return[l,(0,r.jsx)(u,{ref:e},"dialog-holder")]}var E=l(97134),R=l(61793);let T=n.forwardRef((e,t)=>{var l;let{children:i,footer:o,title:a,extra:s,hidden:d,isMobile:u,...c}=e,[p,h]=n.useState(!0),[f,m]=n.useState(()=>o),[g,v]=n.useState({title:a,extra:s,...c.header});n.useImperativeHandle(t,()=>({destroy:()=>{h(!1)},update:e=>{Object.assign(c,e)},setFooter:e=>{m(e)},setHeader:e=>{0===Object.values(e||{}).length?v(null):v(e)}}),[]);let y=n.useMemo(()=>document.querySelector("#nocobase-app-container"),[]);return u?(0,r.jsx)(R.D,{className:d?"nb-hidden":"",visible:p,...c,footer:f,...g,onClose:c.onClose,children:i}):(0,r.jsx)(E.A,{rootClassName:d?"nb-hidden":"",closable:!1,getContainer:y,...c,open:p,footer:f,styles:{...c.styles,footer:{display:"flex",justifyContent:"flex-end",...null==(l=c.styles)?void 0:l.footer}},...g,onClose:c.onClose,children:i})});function I(){let e=n.useRef(null),t=n.useMemo(()=>o.observable.shallow({value:[]}),[]),l=n.memo(e=>{let{index:i}=e,[a,s]=n.useState(null);return(n.useEffect(()=>{(0,o.autorun)(()=>{let e=t.value;e[i]&&a!==e[i]&&s(e[i]),e[i]||s(null)})},[a,i]),a)?(0,r.jsx)(a,{children:(0,r.jsx)(l,{index:i+1})}):null});l.displayName="RenderNestedDrawer";let u=(t,l)=>{var u,c;let p,h,f=l.engine,m=n.createRef(),g=new Promise(e=>{h=e}),v=null,y=null,x=e=>{let{children:t}=e;return n.useEffect(()=>{var e;return v=t,null==(e=m.current)||e.setFooter(t),()=>{var e;v=null,null==(e=m.current)||e.setFooter(null)}},[t]),null},w=e=>(n.useEffect(()=>{var t;return y=e,null==(t=m.current)||t.setHeader(e),()=>{var e;y=null,null==(e=m.current)||e.setHeader(null)}},[e]),null),S=new a.cB,P=(0,F._)(l.engine),j=(0,A.eX)(f,P);S.defineProperty("engine",{value:P}),S.addDelegate(P.context),!1!==t.inheritContext?S.addDelegate(l):(S.addDelegate(l.engine.context),C(S,l));let E=!1,R={type:"drawer",inputArgs:t.inputArgs||{},preventClose:!!t.preventClose,beforeClose:void 0,destroy:e=>{var l,r,n,i;if(E)return;E=!0,null==(l=t.onClose)||l.call(t),null==(r=m.current)||r.destroy(),null==p||p(),null==h||h(e);let o=null==j?void 0:j.emitter;(0,A.Z8)(o),null==o||null==(i=o.emit)||i.call(o,A.B9,{type:"drawer",viewUid:null==R||null==(n=R.inputArgs)?void 0:n.viewUid}),P.unlinkFromStack()},update:e=>{var t;return null==(t=m.current)?void 0:t.update(e)},close:async(e,l)=>{var r,n;return(!t.preventClose||!!l)&&!!await k(R,{result:e,force:l})&&(t.triggerByRouter&&(null==(n=t.inputArgs)||null==(r=n.navigation)?void 0:r.back)?t.inputArgs.navigation.back():R.destroy(e),!0)},Footer:x,Header:w,setFooter:e=>{var t;v=e,null==(t=m.current)||t.setFooter(e)},setHeader:e=>{var t;y=e,null==(t=m.current)||t.setHeader(e)},navigation:null==(u=t.inputArgs)?void 0:u.navigation,get record(){return(0,d.vE)(l,S)}};S.defineProperty("view",{get:()=>R,resolveOnServer:(0,d.Xx)(S,()=>(0,d.vE)(l,S))}),P.setDestroyView(()=>{var e,l;t.triggerByRouter&&(null==(l=t.inputArgs)||null==(e=l.navigation)?void 0:e.back)&&t.inputArgs.navigation.back(),R.destroy()}),b(S,R);let I=n.memo((0,o.observer)(e=>{var l,o,a,s;let d=n.useRef(!1),u="function"==typeof t.content?t.content(R,S):t.content,c="string"==typeof u?(0,r.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(u)}}):u;return(n.useEffect(()=>{var e;null==(e=t.onOpen)||e.call(t,R,S)},[]),(null==(o=t.inputArgs)||null==(l=o.hidden)?void 0:l.value)&&!d.current)?(0,r.jsx)(r.Fragment,{children:e.children}):(d.current=!0,(0,r.jsxs)(T,{ref:m,...t,footer:v,header:t.header||y,hidden:null==(s=t.inputArgs)||null==(a=s.hidden)?void 0:a.value,onClose:()=>{R.close(t.result)},isMobile:S.isMobileLayout,children:[c,e.children]}))}));I.displayName="DrawerWithContext";let _=n.memo(e=>{let{children:t}=e;return(0,r.jsx)(M.I6,{engine:P,children:(0,r.jsx)(s.YQ,{context:S,children:(0,r.jsx)(I,{children:t})})})});return _.displayName="RenderDrawer",p=null==(c=e.current)?void 0:c.patchElement(_),Object.assign(g,R)},c=n.useMemo(()=>({open:u}),[]),p=n.memo(n.forwardRef((e,i)=>{let[o,a]=S();return n.useImperativeHandle(i,()=>({patchElement:a}),[a]),n.useEffect(()=>{t.value=o},[o]),(0,r.jsx)(l,{index:0})}));return[c,(0,r.jsx)(p,{ref:e},"drawer-holder")]}var _=l(40961),D=l(31333),N=l(71021);let O=(0,n.forwardRef)((e,t)=>{let[l,i]=n.useState({}),{visible:o=!0,footer:a=null,header:s=null,children:d,hidden:u,title:c,styles:p={},zIndex:h=4,onClose:f}={...e,...l},m=(0,n.useRef)(!1),g=(0,M.uf)(),[v,y]=(0,n.useState)(()=>a),[b,x]=(0,n.useState)(s);(0,n.useImperativeHandle)(t,()=>({destroy:()=>{m.current||(m.current=!0)},update:e=>{i(e)},setFooter:e=>{y(e)},setHeader:e=>{0===Object.values(e||{}).length?x(null):x(e)}}));let w=(0,n.useMemo)(()=>({display:u?"none":"flex",flexDirection:"column",height:"100%",zIndex:h}),[u,h]),S=(0,n.useMemo)(()=>{if(!b&&!c)return null;let{title:e=c,extra:t}=b||{},l=g.context.themeToken;return(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:`${l.paddingSM}px ${l.padding}px`,borderBottom:`1px solid ${l.colorSplit}`,backgroundColor:l.colorBgContainer,...p.header},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:l.marginXS},children:[(0,r.jsx)(N.Ay,{type:"text",size:"small",icon:(0,r.jsx)(D.A,{}),onClick:async()=>{m.current||!1!==await (null==f?void 0:f())&&(m.current=!0)},style:{color:l.colorTextTertiary}}),e&&(0,r.jsx)("div",{style:{fontSize:l.fontSizeLG,fontWeight:l.fontWeightStrong,color:l.colorText},children:e})]}),t&&(0,r.jsx)("div",{children:t})]})},[b,c,g.context.themeToken,p.header,f]),A=(0,n.useMemo)(()=>{if(!v)return null;let e=g.context.themeToken;return(0,r.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",padding:`${e.paddingXS}px ${e.padding}px`,borderTop:`1px solid ${e.colorSplit}`,backgroundColor:e.colorBgContainer,...p.footer},children:v})},[v,g.context.themeToken,p.footer]);return o?(0,r.jsxs)("div",{style:{...w,...p.content},children:[S,(0,r.jsx)("div",{style:{flex:1,overflowY:"auto",...p.body},children:d}),A]}):null}),$=0,B="nocobase-embed-container",L="nocobaseEmbedReplacing";function q(e){return!!e&&"function"==typeof e.then}function V(e,t){e.dataset[L]="1";try{let l=t.close();if(q(l))return Promise.resolve(l).finally(()=>{delete e.dataset[L]});return delete e.dataset[L],l}catch(t){throw delete e.dataset[L],t}}function z(e,t,l){let r,n={},i=e.then(e=>{let{page:t}=e;return(r=t)&&("beforeClose"in n&&(r.beforeClose=n.beforeClose),"update"in n&&r.update(n.update),"footer"in n&&r.setFooter(n.footer),"header"in n&&r.setHeader(n.header),n.destroyed&&r.destroy(n.destroyed.result)),{page:t}});return Object.assign(i.then(e=>{let{page:t}=e;return!!t&&t}),{type:"embed",inputArgs:t,preventClose:l,Header:null,Footer:null,get beforeClose(){return(null==r?void 0:r.beforeClose)??n.beforeClose},set beforeClose(value){r?r.beforeClose=value:n.beforeClose=value},close:(e,t)=>i.then(l=>{let{page:r}=l;return!!r&&r.close(e,t)}),destroy:e=>{r?r.destroy(e):n.destroyed={result:e}},update:e=>{r?r.update(e):n.update={...n.update,...e}},setFooter:e=>{r?r.setFooter(e):n.footer=e},setHeader:e=>{r?r.setHeader(e):n.header=e}})}let K=n.memo(n.forwardRef((e,t)=>{let[l,i]=S();return n.useImperativeHandle(t,()=>({patchElement:i}),[i]),(0,r.jsx)(r.Fragment,{children:l})}));function U(){let e=n.useRef(null),t=n.useRef(null),l=n.useRef(0),i=(i,u)=>{let{target:c,content:p,preventClose:h,inheritContext:f=!0,inputArgs:m={},onOpenCancelled:g,...v}=i,y=c instanceof HTMLElement&&c.id===B,x=()=>{var l,g,x;let w,S,P,j=null==u?void 0:u.engine;$+=1;let E=n.createRef(),R=new Promise(e=>{S=e}),T=e=>{let{children:t}=e;return n.useEffect(()=>{var e;return null==(e=E.current)||e.setFooter(t),()=>{var e;null==(e=E.current)||e.setFooter(null)}},[t]),null},I=e=>(n.useEffect(()=>{var t;return null==(t=E.current)||t.setHeader(e),()=>{var e;null==(e=E.current)||e.setHeader(null)}},[e]),null),D=new a.cB,N=(0,F._)(u.engine),B=(0,A.eX)(j,N);D.defineProperty("engine",{value:N}),D.addDelegate(N.context),f?D.addDelegate(u):(D.addDelegate(u.engine.context),C(D,u));let q=!1,V={type:"embed",inputArgs:m,preventClose:!!i.preventClose,beforeClose:void 0,destroy:e=>{var l,r,n,o,a;if(!q){if(q=!0,null==(l=i.onClose)||l.call(i),null==S||S(e),null==(r=E.current)||r.destroy(),null==w||w(),y&&t.current===V&&(t.current=null),!(y&&c instanceof HTMLElement&&(null==(n=c.dataset)?void 0:n[L])==="1")){let e=null==B?void 0:B.emitter;(0,A.Z8)(e),null==e||null==(a=e.emit)||a.call(e,A.B9,{type:"embed",viewUid:null==V||null==(o=V.inputArgs)?void 0:o.viewUid})}N.unlinkFromStack()}},update:e=>{var t;return null==(t=E.current)?void 0:t.update(e)},close:(e,t)=>q?Promise.resolve(!0):P||(P=(async()=>{try{var l,r;if(h&&!t)return P=void 0,!1;let n=await k(V,{result:e,force:t});if(q)return!0;if(!n)return P=void 0,!1;if(i.triggerByRouter&&(null==(r=i.inputArgs)||null==(l=r.navigation)?void 0:l.back))return i.inputArgs.navigation.back(),!0;return V.destroy(e),!0}catch(e){throw q||(P=void 0),e}})()),Header:I,Footer:T,setFooter:e=>{var t;null==(t=E.current)||t.setFooter(e)},setHeader:e=>{var t;null==(t=E.current)||t.setHeader(e)},navigation:null==(l=i.inputArgs)?void 0:l.navigation,get record(){return(0,d.vE)(u,D)}};D.defineProperty("view",{get:()=>V,resolveOnServer:(0,d.Xx)(D,()=>(0,d.vE)(u,D))}),b(D,V);let z=(0,o.observer)(()=>{var e,t,l,o;let a=n.useRef(!1),s=n.useMemo(()=>"function"==typeof p?p(V,D):p,[]);return(D.themeToken,n.useEffect(()=>{var e;null==(e=i.onOpen)||e.call(i,V,D)},[]),(null==(t=i.inputArgs)||null==(e=t.hidden)?void 0:e.value)&&!a.current)?null:(a.current=!0,(0,r.jsx)(O,{ref:E,hidden:null==(o=i.inputArgs)||null==(l=o.hidden)?void 0:l.value,...v,onClose:()=>V.close(i.result),children:s}))},{displayName:"PageWithContext"}),K=(null==m?void 0:m.viewUid)||`page-${$}`,U=(0,r.jsx)(M.I6,{engine:N,children:(0,r.jsx)(s.YQ,{context:D,children:(0,r.jsx)(z,{})})},K);return w=c&&c instanceof HTMLElement?null==(g=e.current)?void 0:g.patchElement(_.createPortal(U,c,K)):null==(x=e.current)?void 0:x.patchElement(U),y&&(t.current=V),Object.assign(R,V)};if(y&&t.current){let e,r=l.current+=1,n=()=>null==g?void 0:g();try{e=V(c,t.current)}catch(e){throw n(),e}if(q(e))return z(Promise.resolve(e).then(e=>!1===e||r!==l.current?(n(),{page:null}):{page:x()},e=>{throw n(),e}),m,!!i.preventClose);if(!1===e)return n(),z(Promise.resolve({page:null}),m,!!i.preventClose)}return x()};return[n.useMemo(()=>({open:i}),[]),(0,r.jsx)(K,{ref:e},"page-holder")]}var W=l(28073);let H=0,Y=n.forwardRef((e,t)=>{var l,i;let{afterClose:o,content:a,placement:s,rect:d,...u}=e,[c,p]=n.useState(!0),[h,f]=n.useState({content:a,placement:s,rect:d,...u});return n.useImperativeHandle(t,()=>({destroy:()=>p(!1),update:e=>f(t=>({...t,...e})),close:(e,t)=>p(!1)})),n.useEffect(()=>{c||null==o||o()},[c,o]),(0,r.jsx)(W.A,{arrow:!1,open:c,trigger:["click"],destroyTooltipOnHide:!0,content:h.content,placement:h.placement,getPopupContainer:()=>document.querySelector("#nocobase-app-container")||document.body,onOpenChange:e=>{(e||!h.preventClose)&&(p(e),e||null==o||o())},...h,children:(0,r.jsx)("span",{style:{position:"absolute",top:((null==(l=h.rect)?void 0:l.top)??0)+window.scrollY,left:((null==(i=h.rect)?void 0:i.left)??0)+window.scrollX,width:0,height:0}})})});function G(){let e=n.useRef(null),t=t=>{var l,o;let a,s;H+=1;let{target:d,placement:u="rightTop",content:c,...p}=t,h=n.createRef(),f=(null==d||null==(l=d.getBoundingClientRect)?void 0:l.call(d))??{top:0,left:0},m=new Promise(e=>{s=e}),g={type:"popover",destroy:()=>{var e;return null==(e=h.current)?void 0:e.destroy()},update:e=>{var t;return null==(t=h.current)?void 0:t.update(e)},close:e=>{var t;null==s||s(e),null==(t=h.current)||t.close(e)}},v="function"==typeof c?c(g):c,y="string"==typeof v?(0,r.jsx)("div",{dangerouslySetInnerHTML:{__html:i.A.sanitize(v)}}):v,b=(0,r.jsx)(Y,{ref:h,content:y,placement:u,rect:f,afterClose:()=>{var e;null==a||a(),null==(e=t.onClose)||e.call(t),null==s||s(t.result)},...p},`popover-${H}`);return a=null==(o=e.current)?void 0:o.patchElement(b),Object.assign(m,g)},l=n.useMemo(()=>({open:t}),[]),o=n.memo(n.forwardRef((e,t)=>{let[l,i]=S();return n.useImperativeHandle(t,()=>({patchElement:i}),[]),(0,r.jsx)(r.Fragment,{children:l})}));return[l,(0,r.jsx)(o,{ref:e},"popover-holder")]}var J=l(50467);l(5409);var X=l(52847),Q=l(60182);function Z(e){return null==e?"":e&&"object"==typeof e&&!Array.isArray(e)?encodeURIComponent(Object.entries(e).map(e=>{let[t,l]=e;return`${encodeURIComponent(String(t))}=${encodeURIComponent(String(l))}`}).join("&")):encodeURIComponent(String(e))}function ee(e){return null!=e&&""!==String(e)}function et(e){let t=e||"/admin";return`/${t.replace(/^\/+/,"").replace(/\/+$/,"")}`}function el(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=et(t.basePath||t.prefix);if(!e||0===e.length)return l;let r=l.replace(/^\/+/,"").split("/").filter(Boolean);return e.forEach((e,t)=>{t>0&&r.push("view"),r.push(e.viewUid);let l=(0,Q.Gu)(e.viewUid,e.openViewRouteState);if(l&&r.push("opts",l),e.tabUid&&r.push("tab",e.tabUid),null!=e.filterByTk){let t=Z(e.filterByTk);t&&r.push("filterbytk",t)}ee(e.sourceId)&&r.push("sourceid",String(e.sourceId))}),"/"+r.join("/")}class er{setViewStack(e){this.viewStack=Object.freeze([...e]),this.viewParams=this.viewStack[this.viewStack.length-1]||{}}changeTo(e){let t=el(this.viewStack.map((t,l)=>l===this.viewStack.length-1?{...t,...e}:{...t}),{basePath:this.getLayoutBasePath()});this.ctx.router.navigate(t,{replace:!0})}navigateTo(e,t){let l=el([...this.viewStack,e],{basePath:this.getLayoutBasePath()});this.ctx.router.navigate(l,t)}back(){let e=el(this.viewStack.slice(0,-1),{basePath:this.getLayoutBasePath()});this.ctx.router.navigate(e,{replace:!0})}getLayoutBasePath(){var e,t;let l=null==(e=this.ctx.layout)?void 0:e.routePath;return this.basePath||(null==(t=this.ctx.layoutRoute)?void 0:t.basePathname)||((null==l?void 0:l.startsWith("/"))?l:"/admin")}constructor(e,t,l={}){(0,J._)(this,"viewStack",void 0),(0,J._)(this,"ctx",void 0),(0,J._)(this,"viewParams",void 0),(0,J._)(this,"basePath",void 0),this.setViewStack(t),this.ctx=e,this.basePath=l.basePath||l.layoutBasePath,(0,X.E8)(this,{viewParams:X.sH})}}},16639(e,t,l){l.d(t,{B9:()=>n,FH:()=>s,HK:()=>i,Z8:()=>d,cj:()=>a,eX:()=>p,i6:()=>o,tb:()=>r}),l(58149);let r=Symbol.for("__NOCOBASE_VIEW_ACTIVATED_VERSION__"),n="view:activated",i="dataSource:dirty",o="__NOCOBASE_ENGINE_SCOPE__",a="view";function s(e){let t=Reflect.get(e,r),l="number"==typeof t?t:Number(t);return Number.isFinite(l)&&l>0?l:0}function d(e){let t=s(e);if(!Object.isExtensible(e))return t;let l=t+1;return Reflect.set(e,r,l),l}function u(e){return Reflect.get(e,o)===a}function c(e){let t=e,l=0;for(;t&&l++<50;){if(u(t))return t;t=t.previousEngine}}function p(e,t){if(!e)return;let l=c(e);return l||c(null==t?void 0:t.previousEngine)||e}},12039(e,t,l){l.d(t,{xW:()=>b,bO:()=>c,Q9:()=>y});var r=l(50467);l(14324),l(45336),l(79936);var n=l(88909),i=l(55373),o=l.n(i);l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(61874),l(1633),l(9700),l(23446),l(91625);var a=l(87710);function s(e,t){var l,r;if("u"<typeof document)return;let n=(0,a.getAuthCookieName)("role",e),i=t?"":"; Max-Age=0",o=t?encodeURIComponent(t):"",s=(null==(l=globalThis.location)?void 0:l.protocol)==="https:"?"; Secure":"",d=(null==(r=window.__nocobase_public_path__)?void 0:r.replace(/\/+$/g,""))||"/";document.cookie=`${n}=${o}; Path=${d||"/"}; SameSite=Lax${s}${i}`}function d(e,t){var l;if("u"<typeof document)return;let r=`${(0,a.getAuthCookieName)(e,t)}=`;return null==(l=document.cookie.split(";").map(e=>e.trim()).find(e=>e.startsWith(r)))?void 0:l.slice(r.length)}let u=(e,t)=>{if(!e)return;let l="function"==typeof e.toJSON?e.toJSON():e,r=Object.keys(l||{}).find(e=>e.toLowerCase()===t.toLowerCase());return r?l[r]:void 0},c=(e,t)=>{let l=u(e,t);return null!=l&&""!==l},p=new Set(["get","head","options"]);class h{get storagePrefix(){return this.api.storagePrefix}getCookieAppName(){var e;return"function"!=typeof this.api.options&&(null==(e=this.api.options)?void 0:e.appName)||this.api.appName||"main"}get locale(){return this.getLocale()}set locale(e){this.setLocale(e)}get role(){return this.getRole()}set role(e){this.setRole(e)}get token(){return this.getToken()}set token(e){this.setToken(e)}get authenticator(){return this.getAuthenticator()}set authenticator(e){this.setAuthenticator(e)}getOption(e){return this.api.storage.getItem(e)}setOption(e,t){return this.options[e]=t,this.api.storage.setItem(e,t||"")}getLocale(){return this.getOption("locale")}setLocale(e){this.setOption("locale",e)}getRole(){return this.getOption("role")}setRole(e){this.setOption("role",e),s(this.getCookieAppName(),e)}getToken(){return this.getOption("token")}setToken(e){this.setOption("token",e),this.api.app&&this.api.app.eventBus.dispatchEvent(new CustomEvent("auth:tokenChanged",{detail:{token:e,authenticator:this.authenticator}}))}getAuthenticator(){return this.getOption("auth")}setAuthenticator(e){this.setOption("auth",e)}middleware(e){this.locale&&e.headers&&(e.headers["X-Locale"]=this.locale),this.role&&e.headers&&(e.headers["X-Role"]=this.role),this.authenticator&&!c(e.headers,"X-Authenticator")&&e.headers&&(e.headers["X-Authenticator"]=this.authenticator),this.token&&!c(e.headers,"Authorization")&&e.headers&&(e.headers.Authorization=`Bearer ${this.token}`);let t=(e.method||"get").toLowerCase(),l=d("csrfToken",this.getCookieAppName());return!p.has(t)&&l&&!c(e.headers,"X-CSRF-Token")&&e.headers&&(e.headers["X-CSRF-Token"]=l),e}async signIn(e,t){var l;let r=await this.api.request({method:"post",url:"auth:signIn",data:e,headers:{"X-Authenticator":t}}),n=null==r||null==(l=r.data)?void 0:l.data;return this.setAuthenticator(t),this.setToken(null==n?void 0:n.token),r}async signUp(e,t){return await this.api.request({method:"post",url:"auth:signUp",data:e,headers:{"X-Authenticator":t}})}async syncCookies(){if(this.token)return await this.api.request({method:"post",url:"auth:syncCookies",skipNotify:!0})}async signOut(){let e=await this.api.request({method:"post",url:"auth:signOut"});return this.setToken(null),this.setRole(null),this.setAuthenticator(null),e}async lostPassword(e){let t=Object.fromEntries(new URLSearchParams(window.location.search).entries());return await this.api.request({method:"post",url:"auth:lostPassword",data:{...e,baseURL:window.location.href.split("/forgot-password")[0]},headers:{"X-Authenticator":t.name}})}async resetPassword(e){return await this.api.request({method:"post",url:"auth:resetPassword",data:e})}async checkResetToken(e){return await this.api.request({method:"post",url:"auth:checkResetToken",data:e})}constructor(e){(0,r._)(this,"api",void 0),(0,r._)(this,"options",{locale:null,role:null,authenticator:null,token:null}),this.api=e,this.api.axios.interceptors.request.use(this.middleware.bind(this))}}l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374);class f{toUpperCase(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";for(var t=arguments.length,l=Array(t>1?t-1:0),r=1;r<t;r++)l[r-1]=arguments[r];return e.toUpperCase()+l.map(e=>e.toUpperCase()).join("_")}constructor(){(0,r._)(this,"storagePrefix",void 0)}}class m extends f{clear(){this.items.clear()}getItem(e){return this.items.get(e)}setItem(e,t){return this.items.set(e,t)}removeItem(e){return this.items.delete(e)}constructor(...e){super(...e),(0,r._)(this,"items",new Map)}}class g extends f{clear(){return this.items.clear()}getItem(e){return this.shareToken&&"token"===e&&this.baseStoragePrefix?this.items.getItem(this.toUpperCase(this.baseStoragePrefix,e)):this.items.getItem(this.toUpperCase(this.storagePrefix,e))}setItem(e,t){return this.shareToken&&"token"===e&&this.baseStoragePrefix?this.items.setItem(this.toUpperCase(this.baseStoragePrefix,e),t):this.items.setItem(this.toUpperCase(this.storagePrefix,e),t)}removeItem(e){return this.shareToken&&"token"===e&&this.baseStoragePrefix?this.items.removeItem(this.toUpperCase(this.baseStoragePrefix,e)):this.items.removeItem(this.toUpperCase(this.storagePrefix,e))}constructor(e,t="",l=!1){super(),(0,r._)(this,"storagePrefix",void 0),(0,r._)(this,"baseStoragePrefix",void 0),(0,r._)(this,"shareToken",void 0),(0,r._)(this,"items",void 0),this.storagePrefix=e,this.baseStoragePrefix=t,this.shareToken=l,this.items=window.localStorage}}class v extends g{constructor(e,t="",l=!1){super(e,t,l),(0,r._)(this,"storagePrefix",void 0),(0,r._)(this,"baseStoragePrefix",void 0),(0,r._)(this,"shareToken",void 0),this.storagePrefix=e,this.baseStoragePrefix=t,this.shareToken=l,this.items=window.sessionStorage}}class y{toErrMessages(e){var t,l,r,n,i,o,a,s,d,u,c;if("u">typeof document&&"string"==typeof(null==e||null==(t=e.response)?void 0:t.data)){let t=document.createElement("div");t.innerHTML=null==e||null==(d=e.response)?void 0:d.data;let l=t.textContent||t.innerText;return l.includes("Error occurred while trying")||l.includes("502 Bad Gateway")?[{code:"APP_WARNING",message:l="The application may be starting up. Please try again later."}]:[{message:l}]}return(null==e||null==(r=e.response)||null==(l=r.data)?void 0:l.error)?[null==e||null==(c=e.response)||null==(u=c.data)?void 0:u.error]:(null==e||null==(i=e.response)||null==(n=i.data)?void 0:n.errors)||(null==e||null==(a=e.response)||null==(o=a.data)?void 0:o.messages)||(null==e||null==(s=e.response)?void 0:s.error)||[{message:e.message||"Server error"}]}getHeaders(){let e={};return this.auth.locale&&(e["X-Locale"]=this.auth.locale),this.auth.role&&(e["X-Role"]=this.auth.role),this.auth.authenticator&&(e["X-Authenticator"]=this.auth.authenticator),this.auth.token&&(e.Authorization=`Bearer ${this.auth.token}`),e}createStorage(e){return"localStorage"===e&&"u">typeof localStorage?new g(this.storagePrefix,this.baseStoragePrefix,this.shareToken):"sessionStorage"===e&&"u">typeof sessionStorage?new v(this.storagePrefix,this.baseStoragePrefix,this.shareToken):new m}initStorage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"localStorage";if(e){this.storage=new e(this);return}this.storage=this.createStorage(t)}interceptors(){this.axios.interceptors.request.use(e=>(e.paramsSerializer=e=>o().stringify(e,{strictNullHandling:!0,arrayFormat:"brackets"}),e))}request(e){let{resource:t,resourceOf:l,action:r,params:n,headers:i}=e;return t?this.resource(t,l,i)[r](n):this.axios.request(e)}resource(e,t,l,r){return new Proxy({},{get:(n,i)=>{if(r)return;let o=e.split(".").join(`/${encodeURIComponent(t)||"_"}/`),a={url:o+=`:${i.toString()}`};return["get","list"].includes(i)?a.method="get":a.method="post",async(e,t)=>{let{values:r,filter:n,...i}=e||{};return a.params=i,n&&("string"==typeof n?a.params.filter=n:(n["*"]&&delete n["*"],a.params.filter=JSON.stringify(n))),"get"!==a.method&&(a.data=r||{}),await this.request({...a,...t,headers:l})}}})}constructor(e){if((0,r._)(this,"options",void 0),(0,r._)(this,"axios",void 0),(0,r._)(this,"auth",void 0),(0,r._)(this,"storage",void 0),(0,r._)(this,"storagePrefix","NOCOBASE_"),(0,r._)(this,"baseStoragePrefix","NOCOBASE_"),(0,r._)(this,"shareToken",!1),(0,r._)(this,"appName",void 0),this.options=e,"function"==typeof e)this.axios=e;else{let{appName:t,authClass:l,storageType:r,storageClass:i,storagePrefix:o="NOCOBASE_",shareToken:a=!1,...s}=e||{};this.appName=t,this.shareToken=a,this.baseStoragePrefix=o,this.storagePrefix=t?`${o}${t.toUpperCase()}_`:o,this.axios=n.A.create(s),this.initStorage(i,r),l&&(this.auth=new l(this))}this.storage||this.initStorage(),this.auth||(this.auth=new h(this)),this.interceptors()}}let b=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";if("u"<typeof window||!window.location.pathname)return;let t=`${e}apps/`;if(window.location.pathname.startsWith(t))return window.location.pathname.substring(t.length).split("/",1)[0]||""}},46629(e,t,l){l.d(t,{Wq:()=>p,vP:()=>T,Dw:()=>r,zK:()=>c,nN:()=>I,w_:()=>d,CL:()=>n,gA:()=>u}),l(5409),l(45336),l(79936);let r=(e,t,l)=>{if(!e)return l;let n=t.split("."),i=[],o=e,a=!1;for(let e=0;e<n.length;e++){let t=n[e];if(Array.isArray(o)){for(let t of(a=!0,o)){let o=r(t,n.slice(e).join("."),l);i=i.concat(o)}break}if((null==o?void 0:o[t])===void 0)break;o=o[t],e===n.length-1&&i.push(o)}return 0===(i=i.filter(e=>void 0!==e)).length?l:a?i.filter(e=>null!==e):i[0]};l(89773),l(42196),l(61874),l(1633),l(9700);let n="_operation_",i=1,o=8192;function a(e){if(!e||"object"!=typeof e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function s(e){return!!a(e)&&e.v===i&&"string"==typeof e.operationId&&!!e.operationId&&(void 0===e.params||a(e.params))}function d(e,t){if(!s(e))throw TypeError("Invalid UI operation.");let l=t.encode(JSON.stringify(e));if(l.length>o)throw RangeError(`UI operation exceeds the ${o}-byte encoded length limit.`);return l}function u(e,t){if(!(e.length>o))try{let l=t.decode(e);if(void 0===l)return;let r=JSON.parse(l);return s(r)?r:void 0}catch{return}}function c(e,t){try{let l=new URLSearchParams(e).getAll(n);if(1!==l.length)return;return u(l[0],t)}catch{return}}function p(e){let t=new URLSearchParams(e);t.delete(n);let l=t.toString();return l?`?${l}`:""}function h(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function f(e){return!!e&&/[a-zA-Z_$]/.test(e)}function m(e){return!!e&&/[a-zA-Z0-9_$]/.test(e)}function g(e,t){let l=t;for(;/\s/.test(e[l]||"");)l+=1;return l}function v(e,t){let l=g(e,t);for(;"!"===e[l];)l=g(e,l+1);return l}function y(e,t){let l=t;for(;l>=0&&/\s/.test(e[l]||"");)l-=1;return l}function b(e,t){let l=y(e,t-1);if("("!==e[l])return!1;let r=y(e,l-1);if(r<0)return!0;let n=e[r];return!m(n)&&")"!==n&&"]"!==n}function x(e,t){let l=g(e,t);if(")"!==e[l])return!1;let r=g(e,l+1);return"."===e[r]||"["===e[r]||e.startsWith("?.",r)}function w(e,t){if(!f(e[t]))return null;let l=t+1;for(;m(e[l]);)l+=1;return{value:e.slice(t,l),next:l}}function S(e,t){let l=e.slice(t).match(/^\d+/);return l?{value:l[0],next:t+l[0].length}:null}function A(e,t){let l=e[t];if('"'!==l&&"'"!==l)return null;let r=t+1,n="";for(;r<e.length;){let t=e[r];if("\\"===t){n+=e.slice(r,r+2),r+=2;continue}if(t===l)return{value:n,next:r+1};n+=t,r+=1}return null}function M(e,t){let l=g(e,t+1),r=A(e,l);if(r)return(l=g(e,r.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"property",next:l+1,value:r.value};let n=S(e,l);return n?(l=g(e,n.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"index",next:l+1,value:n.value}:{dynamic:!0}}function F(e,t,l){if("property"===t)return void e.push(l);if(e.length){e[e.length-1]=`${e[e.length-1]}[${l}]`;return}e.push(`[${l}]`)}function k(e,t){let l=v(e,t);if("["===e[l])return M(e,l);if(e.startsWith("?.",l)){let t=g(e,l+2);if("["===e[t])return M(e,t);let r=w(e,t)||S(e,t);return r?{dynamic:!1,kind:"property",next:r.next,value:r.value}:null}if("."===e[l]){let t=g(e,l+1),r=w(e,t)||S(e,t);return r?{dynamic:!1,kind:"property",next:r.next,value:r.value}:null}return null}function C(e){let t=e.trim(),l="(?:[a-zA-Z_$][a-zA-Z0-9_$-]*|\\d+)",r=t.match(RegExp(`^ctx\\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\\.(${l}(?:\\.${l})*))?$`));return r?{methodCall:!1,path:r[2]||void 0,unsupportedDynamicPath:!1,varName:r[1]}:null}function P(e,t){if("ctx"!==e.slice(t,t+3)||m(e[t-1])||m(e[t+3]))return null;if(b(e,t))return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};let l=k(e,t+3);if(!l)return null;if(l.dynamic)return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};if("property"!==l.kind)return null;let r=[],n=l.next,i=!1,o=!1;for(;n<e.length;){let t=v(e,n);if(("("===e[t]||e.startsWith("?.(",t))&&!r.length){i=!0,n=t;break}let l=k(e,n);if(!l){n=t,("["===e[t]||"."===e[t]||e.startsWith("?.",t))&&(o=!0);break}if(l.dynamic){o=!0,n=t;break}F(r,l.kind,l.value),n=l.next}let a=r.join(".");return{next:Math.max(n,l.next),reference:{methodCall:i,path:a||void 0,unsupportedDynamicPath:o||x(e,n),varName:l.value}}}function j(e){let t=C(e);if(t)return[t];let l=[];for(let t=0;t<e.length;t+=1){if("ctx"!==e.slice(t,t+3))continue;let r=P(e,t);r&&(l.push(r.reference),t=Math.max(t,r.next-1))}return l}function E(e,t,l,r){e[t]=e[t]||[],l?e[t].push(l):r&&!e[t].includes("")&&e[t].push("")}function R(e){let t={},l=!1,r=e=>{for(let r of j(e)){if(r.unsupportedDynamicPath){l=!0;continue}r.varName&&E(t,r.varName,r.path,r.methodCall)}},n=e=>{if("string"==typeof e){let t,l=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(t=l.exec(e));)r(t[1]);return}Array.isArray(e)?e.forEach(n):h(e)&&Object.values(e).forEach(n)};return n(e),{unsupportedDynamicPath:l,usage:t}}function T(e){return new Set(Object.keys(R(e).usage))}function I(e){return R(e).usage}l(14324),l(69861),l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182)},87710(e,t,l){l.r(t),l.d(t,{getDayRange:()=>tm,isEmptyFilter:()=>ed,sleep:()=>es,getDateVars:()=>tx,sanitizeRichTextHtml:()=>tV,str2moment:()=>ey,sortTree:()=>ea,unflatten:()=>ts,generateFlowModelRdFromToken:()=>eB,forEach:()=>eP,utc2unit:()=>tv,extractUsedVariablePaths:()=>la,isArray:()=>et,getValuesByPath:()=>eL,moment2str:()=>ew,transformLiquidContext:()=>ld,isURL:()=>tW,isPortalInBody:()=>tT,extractUsedVariableNames:()=>lo,parseHTML:()=>tI,toGmt:()=>ef,isPlainObject:()=>er,lockdownSes:()=>tj,splitPathToTwoParts:()=>tw,transformFilter:()=>G,parseSQLBindParams:()=>lp,getPickerFormat:()=>eF,nextTick:()=>ei,removeNullCondition:()=>eu,CollectionsGraph:()=>V,isValidFilter:()=>eW,evaluateConditions:()=>Z,toUnit:()=>ty,removeInvalidFilterItems:()=>J,getFormatFromDateStr:()=>eC,BASE_BLOCKED_IDENTIFIERS:()=>tk,toLocal:()=>em,getDayRangeByParams:()=>L,getDefaultFormat:()=>eh,transformMultiColumnToSingleColumn:()=>tG,treeFind:()=>eo,transformSQL:()=>lh,parseFilter:()=>tf,flatten:()=>ta,isEmpty:()=>el,getOffsetRangeByParams:()=>N,offsetFromString:()=>eS,getAuthCookieName:()=>ep,error:()=>e0,tval:()=>tE,extractVariableUsage:()=>li,Registry:()=>tA,lodash:()=>n(),parse:()=>eJ,hasEmptyValue:()=>en,toFixedByStep:()=>e7,getDateTimeFormat:()=>ek,showToast:()=>e5,Handlebars:()=>ez(),getLiquidContext:()=>lu,merge:()=>e6,dayjs:()=>o(),parseLiquidContext:()=>lc,uid:()=>tU,isString:()=>ee});var r=l(2543),n=l.n(r),i=l(74353),o=l.n(i),a=l(97375),s=l.n(a),d=l(90445),u=l.n(d),c=l(43522),p=l.n(c),h=l(37872),f=l.n(h),m=l(98867),g=l.n(m),v=l(8906),y=l.n(v),b=l(68313),x=l.n(b),w=l(21840),S=l.n(w),A=l(41816),M=l.n(A),F=l(88569),k=l.n(F),C=l(83826),P=l.n(C),j=l(8134),E=l.n(j),R=l(28623),T=l.n(R),I=l(46986),_=l.n(I);o().extend(_()),o().extend(S()),o().extend(k()),o().extend(P()),o().extend(M()),o().extend(x()),o().extend(f()),o().extend(g()),o().extend(y()),o().extend(E()),o().extend(T()),o().extend(u()),o().extend(s()),o().extend(p()),l(89773);let D=e=>{if(!e)return o()();if(/^[+-]\d{2}:\d{2}$/.test(e)){let[t,l,r]=e.match(/([+-])(\d{2}):(\d{2})/).slice(1),n=(60*parseInt(l)+parseInt(r))*("+"===t?1:-1);return o()().utcOffset(n)}return o()().tz(e)},N=e=>{let t,l,{type:r,unit:n="day",number:i=1,timezone:o}=e,a=D(o),s="week"===n?"isoWeek":n;if("past"===r){let e=a.startOf(s);t=e.subtract(i,n).startOf(s),l=e.subtract(1,n).endOf(s)}else if("next"===r)l=(t=a.startOf(s).add(1,n).startOf(s)).add(i-1,n).endOf(s);else throw Error(`Unsupported type: ${r}`);return[t.format("YYYY-MM-DD HH:mm:ss"),l.format("YYYY-MM-DD HH:mm:ss")]},O=(e,t,l)=>{let r="isoWeek"===t?"week":t;return D(l).add(e,r).startOf(t)},$=(e,t,l)=>{let r="isoWeek"===t?"week":t;return D(l).add(e,r).endOf(t)},B={today:e=>[O(0,"day",null==e?void 0:e.timezone),$(0,"day",null==e?void 0:e.timezone)],yesterday:e=>[O(-1,"day",null==e?void 0:e.timezone),$(-1,"day",null==e?void 0:e.timezone)],tomorrow:e=>[O(1,"day",null==e?void 0:e.timezone),$(1,"day",null==e?void 0:e.timezone)],thisWeek:e=>[O(0,"isoWeek",null==e?void 0:e.timezone),$(0,"isoWeek",null==e?void 0:e.timezone)],lastWeek:e=>[O(-1,"isoWeek",null==e?void 0:e.timezone),$(-1,"isoWeek",null==e?void 0:e.timezone)],nextWeek:e=>[O(1,"isoWeek",null==e?void 0:e.timezone),$(1,"isoWeek",null==e?void 0:e.timezone)],thisMonth:e=>[O(0,"month",null==e?void 0:e.timezone),$(0,"month",null==e?void 0:e.timezone)],lastMonth:e=>[O(-1,"month",null==e?void 0:e.timezone),$(-1,"month",null==e?void 0:e.timezone)],nextMonth:e=>[O(1,"month",null==e?void 0:e.timezone),$(1,"month",null==e?void 0:e.timezone)],thisQuarter:e=>[O(0,"quarter",null==e?void 0:e.timezone),$(0,"quarter",null==e?void 0:e.timezone)],lastQuarter:e=>[O(-1,"quarter",null==e?void 0:e.timezone),$(-1,"quarter",null==e?void 0:e.timezone)],nextQuarter:e=>[O(1,"quarter",null==e?void 0:e.timezone),$(1,"quarter",null==e?void 0:e.timezone)],thisYear:e=>[O(0,"year",null==e?void 0:e.timezone),$(0,"year",null==e?void 0:e.timezone)],lastYear:e=>[O(-1,"year",null==e?void 0:e.timezone),$(-1,"year",null==e?void 0:e.timezone)],nextYear:e=>[O(1,"year",null==e?void 0:e.timezone),$(1,"year",null==e?void 0:e.timezone)]},L=e=>{if("past"===e.type||"next"===e.type)return N(e);let t=B[e.type];if(!t)throw Error(`Unsupported type: ${e.type}`);let[l,r]=t(e);return[l.format("YYYY-MM-DD HH:mm:ss"),r.format("YYYY-MM-DD HH:mm:ss")]};l(5127),l(65857),l(33676),l(97857),l(4810),l(60865),l(3101),l(39112),l(75516),l(2070),l(96030),l(92167),l(47786),l(19808),l(56059),l(78736),l(68121),l(79389),l(75927),l(72859),l(15441),l(16028),l(3182),l(14324);var q=l(38362);class V{static graphlib(){return q}static connectedNodes(e){let t=(0,r.castArray)(e.nodes),l=(0,r.castArray)(e.excludes||[]),n=V.build(e),i=new Set;for(let e of t)for(let t of q.alg.preorder(n,e))l.includes(t)||i.add(t);return Array.from(i)}static preOrder(e){return V.graphlib().alg.preorder(V.build(e),e.node)}static build(e){let t=e.collections,l="forward"===((null==e?void 0:e.direction)||"forward"),r=new q.Graph;for(let e of t)r.setNode(e.name);for(let e of t){for(let t of e.inherits||[])l?r.setEdge(e.name,t):r.setEdge(t,e.name);for(let t of e.fields||[])if(("hasMany"===t.type||"belongsTo"===t.type||"hasOne"===t.type)&&(l?r.setEdge(e.name,t.target):r.setEdge(t.target,e.name)),"belongsToMany"===t.type){let n=t.through;l?(r.setEdge(e.name,n),r.setEdge(n,t.target)):(r.setEdge(t.target,n),r.setEdge(n,e.name))}}return r}}l(45336),l(23446),l(79936);var z=l(81814),K=l.n(z);function U(e){return"path"in e&&"operator"in e}function W(e){return"logic"in e&&"items"in e}function H(e){let{path:t,operator:l,value:r}=e;return{[t]:{[l]:r}}}function Y(e){let{logic:t,items:l}=e;return{[t]:l.map(e=>{if(U(e))return H(e);if(W(e))return Y(e);throw Error("Invalid filter item type")})}}function G(e){if(!e||"object"!=typeof e)throw Error("Invalid filter: filter must be an object");if(!W(e))throw Error("Invalid filter: filter must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid filter: items must be an array");return eu(Y(e))}function J(e){if(!e||"object"!=typeof e)throw Error("Invalid filter: filter must be an object");if(!W(e))throw Error("Invalid filter: filter must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid filter: items must be an array");return e.items=e.items.filter(e=>U(e)?!!e.operator:!!W(e)&&J(e)),{...e}}function X(e,t){let{path:l,operator:r,value:n}=e;return t(l,r,n)}function Q(e,t){let{logic:l,items:r}=e;if(!r||0===r.length)return!0;let n=r.map(e=>{if(U(e))return X(e,t);if(W(e))return Q(e,t);throw Error("Invalid filter item type")});if("$and"===l)return n.every(e=>!0===e);if("$or"===l)return n.some(e=>!0===e);throw Error(`Unsupported logic operator: ${l}`)}function Z(e,t){if(!e||"object"!=typeof e)throw Error("Invalid conditions: conditions must be an object");if(!W(e))throw Error("Invalid conditions: conditions must have logic and items properties");if(!Array.isArray(e.items))throw Error("Invalid conditions: items must be an array");if("function"!=typeof t)throw Error("Invalid evaluator: evaluator must be a function");return Q(e,t)}l(38263),l(34678);let ee=e=>"string"==typeof e,et=e=>Array.isArray(e),el=e=>er(e)?0===Object.keys(e).length:!!Array.isArray(e)&&0===e.length,er=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t===Object.prototype},en=e=>{let t=!0;for(let l in e){if(t=!1,et(e[l])&&0===e[l].length||!e[l])return!0;if(er(e[l])||et(e[l]))return en(e[l])}return t},ei=e=>{setTimeout(e)};function eo(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e)return;let{childrenKey:r="children"}=l;for(let n of Array.isArray(e)?[...e]:[e]){if(t(n))return n;let e="function"==typeof r?r(n):n[r];if(Array.isArray(e)&&e.length>0){let r=eo(e,t,l);if(void 0!==r)return r}}}function ea(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"children",r=!(arguments.length>3)||void 0===arguments[3]||arguments[3];return e&&Array.isArray(e)&&0!==e.length?n().orderBy(e,t,r?"asc":"desc").map(e=>e[l]&&e[l].length>0?{...e,[l]:ea(e[l],t,l,r)}:e):e}function es(e){return new Promise(t=>{setTimeout(t,e)})}function ed(e){return!!(!e||"$and"in e&&n().isEmpty(e.$and)||"$or"in e&&n().isEmpty(e.$or))}let eu=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:K(),l=t(e||{}),r={};for(let e in l){let t=l[e];null==t||el(t)||""===t||(r[e]=t)}let i=t.unflatten(r);for(let e in i)Array.isArray(i[e])&&(i[e]=i[e].filter(e=>null!=e));return n().isEmpty(i)?void 0:i},ec={authToken:"nb_auth_token",authenticator:"nb_authenticator",role:"nb_role",csrfToken:"nb_csrf_token"};function ep(e,t){return`${ec[e]}_${t||"main"}`}let eh=e=>e.format?e.format:e.dateFormat?e.showTime?`${e.dateFormat} ${e.timeFormat||"HH:mm:ss"}`:e.dateFormat:"month"===e.picker?"YYYY-MM":"quarter"===e.picker?"YYYY-\\QQ":"year"===e.picker?"YYYY":"week"===e.picker?"YYYY[W]W":e.showTime?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD",ef=e=>e&&o().isDayjs(e)?`${e.format("YYYY-MM-DD")}T${e.format("HH:mm:ss.SSS")}Z`:e,em=e=>e?Array.isArray(e)?e.map(e=>e.startOf("second").toISOString()):o().isDayjs(e)?e.startOf("second").toISOString():void 0:e,eg=e=>{try{let t=parseInt(e.slice(0,4)),l=parseInt(e.slice(-1));return o()().quarter(l).year(t)}catch(e){return null}},ev=(e,t)=>{if(!e)return;let l=t.utcOffset,{gmt:r,picker:n,utc:i=!0,dateOnly:a}=t;if(!o()(e).isValid())return eg(e);if(a){let t=o()(e);if(!t.isValid())return e;let l=t.format("YYYY-MM-DD");return o().utc(l,"YYYY-MM-DD")}return i?o().isDayjs(e)?l?e.utcOffset(eS(l)):e:r?o()(e).utcOffset(0):l?o()(e).utcOffset(eS(l)):o()(e):o()(e)},ey=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)?e.map(e=>ev(e,t)):e?ev(e,t):e},eb=(e,t)=>"year"===t?e.format("YYYY")+"-01-01T00:00:00.000Z":"month"===t||"quarter"===t?e.format("YYYY-MM")+"-01T00:00:00.000Z":e.format("YYYY-MM-DD")+"T00:00:00.000Z",ex=(e,t)=>e?Array.isArray(e)?e.map(e=>eb(e,t)):o().isDayjs(e)?eb(e,t):void 0:e,ew=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{showTime:l,gmt:r,picker:n}=t;return e?l?r?ef(e):em(e):ex(e,n):e};function eS(e){if(!n().isString(e))return e;let t=/([+-]|\d\d)/gi,l=/Z|[+-]\d\d(?::?\d\d)?/gi,r=/[+-]?\d+(\.\d{1,3})?/,i=(e||"").match(l);if(null===i&&(i=(e||"").match(r)),null===i)return null;let o=((i[i.length-1]||[])+"").match(t)||["-",0,0],a=+(60*Number(o[1]))+eA(o[2]);return 0===a?0:"+"===o[0]?a:-a}function eA(e){let t=+e,l=0;return 0!==t&&isFinite(t)&&(l=eM(t)),l}function eM(e){return e<0?Math.ceil(e)||0:Math.floor(e)}let eF=e=>{switch(e){case"week":return"YYYY[W]W";case"month":return"YYYY-MM";case"quarter":return"YYYY[Q]Q";case"year":return"YYYY";default:return"YYYY-MM-DD"}},ek=(e,t,l,r)=>"date"===e&&l?`${t} ${r||"HH:mm:ss"}`:t;function eC(e){return/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(e)?"YYYY-MM-DD HH:mm:ss":/^\d{4}-\d{2}-\d{2}$/.test(e)?"YYYY-MM-DD":/^\d{4}-\d{2}$/.test(e)?"YYYY-MM":/^\d{4}$/.test(e)?"YYYY":/^\d{4}Q[1-4]$/.test(e)?"YYYY[Q]Q":/^\d{4}-\d{2}-\d{2}T/.test(e)?"YYYY-MM-DDTHH:mm:ss.SSSZ":null}l(69861);let eP=(e,t)=>{Array.isArray(e)?e.forEach(t):Object.keys(e).forEach(l=>{t(e[l],l)})};l(40038),l(45942),l(4556),l(85737),l(39204),l(99110),l(34179),l(99623),l(91722),l(86936),l(6958),l(61448),l(98743),l(4877),l(30683),l(67374),l(16252),l(42196);var ej=l(48287).Buffer;let eE=new Map;function eR(e){return"function"==typeof btoa?btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,""):ej.from(e,"binary").toString("base64url")}function eT(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),l=t.padEnd(t.length+(4-t.length%4)%4,"=");return"function"==typeof atob?atob(l):ej.from(l,"base64").toString("binary")}function eI(e){let t=0x811c9dc5;for(let l=0;l<e.length;l+=1)t^=e.charCodeAt(l),t=Math.imul(t,0x1000193);return(t>>>0).toString(36)}function e_(e,t){if(!t)return"";let l="";for(let r=0;r<e.length;r+=1)l+=String.fromCharCode(e.charCodeAt(r)^t.charCodeAt(r%t.length));return l}function eD(e){if(!e||"string"!=typeof e)return null;let t=e.split(".");if(t.length<2)return null;try{return JSON.parse(eT(t[1]))}catch{return null}}function eN(e){let t=null==e?void 0:e.userId,l=(null==e?void 0:e.signInTime)||(null==e?void 0:e.jti);return"string"!=typeof t&&"number"!=typeof t||"string"!=typeof l&&"number"!=typeof l?"":`${t}:${l}`}function eO(e){return eN(eD(e))}function e$(e,t){if("string"!=typeof e&&"number"!=typeof e||!t)return;let l=String(e),r=`${t}
|
|
1844
|
-
${l}`,n=eE.get(r);if(n)return n;let i=eR(e_(l,eI(`mask:v1:${t}`))),o=eI(`check:v1:${t}:${l}`),a=`v1.${i}.${o}`;return eE.set(r,a),a}function eB(e,t){return e$(e,eO(t))}l(5409);let eL=(e,t,l)=>{if(!e)return l;let r=t.split("."),n=[],i=e,o=!1;for(let e=0;e<r.length;e++){let t=r[e];if(Array.isArray(i)){for(let t of(o=!0,i)){let i=eL(t,r.slice(e).join("."),l);n=n.concat(i)}break}if((null==i?void 0:i[t])===void 0)break;i=i[t],e===r.length-1&&n.push(i)}return 0===(n=n.filter(e=>void 0!==e)).length?l:o?n.filter(e=>null!==e):n[0]};var eq=l(88835),eV=l(60639),ez=l.n(eV),eK=l(79441);let eU=l.n(eK)()();function eW(e){if(!e)return!1;let t=[e.$and,e.$or].filter(Boolean);return 0==t.length?Object.keys(e).length>0:t.some(e=>{if(Array.isArray(e))return e.some(eW);if(e.$and||e.$or)return eW(e);let[t]=Object.keys(e);if(!t||!e[t])return!1;let[l]=Object.keys(e[t]);return!!l&&void 0!==e[t][l]})}function eH(e){let t=typeof e;return Array.isArray(e)?t="array":e instanceof Date?t="date":null===e&&(t="null"),t}function eY(e){let t=e.substr(2,e.length-4).trim(),l=t.indexOf(":");return -1!==l?{key:t.substr(0,l),defaultValue:t.substr(l+1)}:{key:t}}function eG(e,t){return e.parameters=Array.from(new Map(t.map(e=>[e.key,e])).values()),e}function eJ(e){switch(eH(e)){case"string":return eX(e);case"object":return eQ(e);case"array":return eZ(e);default:return eG(function(){return e},[])}}Object.keys(eU).forEach(function(e){ez().registerHelper(e,eU[e])}),ez().registerHelper("json",function(e){return JSON.stringify(e)}),ez().registerHelper("urlParse",function(e){try{return JSON.stringify(eq.parse(e))}catch(t){return`Invalid URL: ${e}`}}),ez().registerHelper("dateFormat",(e,t,l)=>"string"==typeof l?o()(e).tz(l).format(t):o()(e).format(t)),ez().registerHelper("isNull",e=>n().isNull(e)),l(84560);let eX=(()=>{let e=/{{(\w|:|[\s-+.,@/()?=*_$])+}}/g;return t=>{let l=[],n=e=>t,i=t.match(e);return i&&(l=i.map(eY),n=e=>(e=e||{},i.reduce((n,o,a)=>{let s=l[a],d=(0,r.get)(e,s.key);return(void 0===d&&(d=s.defaultValue),"function"==typeof d&&(d=d()),1===i.length&&t.startsWith("{{")&&t.endsWith("}}"))?d:(d instanceof Date&&(d=d.toISOString()),n.replace(o,null==d?"":d))},t))),eG(n,l)}})();function eQ(e){let t=Object.keys(e).map(t=>({keyTemplate:eX(t),valueTemplate:eJ(e[t])}));return eG(e=>t.reduce((t,l)=>(t[l.keyTemplate(e)]=l.valueTemplate(e),t),{}),t.reduce((e,t)=>e.concat(t.valueTemplate.parameters,t.keyTemplate.parameters),[]))}function eZ(e){let t=e.map(eJ);return eG(e=>t.map(t=>t(e)),t.reduce((e,t)=>e.concat(t.parameters),[]))}let e0=function(e){for(var t=arguments.length,l=Array(t>1?t-1:0),r=1;r<t;r++)l[r-1]=arguments[r];console.error(e,...l)};var e1=l(14744),e2=l.n(e1);let e4=(e,t,l)=>t;function e6(e,t,l){return e2()(e,t,{arrayMerge:e4,...l})}var e3=l(76511);let e5=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"info",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5e3;e3.Ay[t]({message:e,duration:l})};var e8=l(5062),e9=l(85738);function e7(e,t){if(null==e||""===e)return"";let l=(0,e8.i5)(t);return(0,e9.Mg)(String(e),".",l)}var te=l(63560),tt=l.n(te),tl=l(95093),tr=l.n(tl);let tn=/^\s*\{\{([\s\S]*)\}\}\s*$/;function ti(e){return e&&e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function to(e){return e}function ta(e,t){let l=(t=t||{}).delimiter||".",r=t.maxDepth,i=t.transformKey||to,o=t.transformValue||to,a={};function s(e,d,u){u=u||1,n().isObjectLike(e)&&Object.keys(e).forEach(function(n){var c;let p=e[n],h=t.safe&&Array.isArray(p),f=Object.prototype.toString.call(p),m=ti(p),g="[object Object]"===f||"[object Array]"===f,v=d?d+l+i(n):i(n);if(null==(c=t.breakOn)?void 0:c.call(t,{key:n,value:p,path:v})){a[v]=o(p,v);return}if(!h&&!m&&g&&Object.keys(p).length&&(!t.maxDepth||u<r))return s(p,v,u+1);a[v]=o(p,v)})}return s(e),a}function ts(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l={},r=t.transformValue||to;for(let t of Object.keys(e))tt()(l,t,r(e[t],t));return l}let td=e=>{let t=e.split(".").pop()||"";return t.startsWith("$")||(t=""),{operator:t}},tu=e=>["$dateOn","$dateNotOn","$dateBefore","$dateAfter","$dateNotBefore","$dateNotAfter","$dateBetween"].includes(e);function tc(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function tp(e){return(null==e?void 0:e.type)==="dateOnly"||(null==e?void 0:e.type)==="datetimeNoTz"||(null==e?void 0:e.constructor.name)==="DateOnlyField"||(null==e?void 0:e.constructor.name)==="DatetimeNoTzField"}let th=(e,t)=>e?(e.type&&(e=L({...e,timezone:t})),Array.isArray(e))?(2===e.length?e.push("[]",t):3===e.length&&e.push(t),e):"string"==typeof e?!t||/(\+|-)\d\d:\d\d$/.test(e)?e:e+t:tc(e)?e.toISOString():void 0:null,tf=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=new Set,r=t.vars||{},n=t.timezone,i=t.now,o=t.getField,a=ta(e,{breakOn(e){let{key:t}=e;return t.startsWith("$")&&"$and"!==t&&"$or"!==t},transformValue(e){if("string"!=typeof e)return e;let t=tn.exec(e);if(t){let e=t[1].trim();e.startsWith("$user")&&l.add(e.substring(6))}return e}});if(l.size>0){let e=await r.$user({fields:[...l.values()]});Object.assign(r,{$user:e})}return ts(a,{transformValue(e,t){let{operator:l}=td(t);if("string"==typeof e){let a=tn.exec(e);if(a){let s=eL(r,a[1].trim(),null),d=null==o?void 0:o(t);e="function"==typeof s?null==s?void 0:s({field:d,operator:l,timezone:n,now:i}):s}}if(tu(l)){let l=null==o?void 0:o(t);return tp(l)?e.type?L({...e,timezone:(null==l?void 0:l.timezone)||n}):e:th(e,(null==l?void 0:l.timezone)||n)}return e}})};function tm(e){let{now:t,timezone:l="+00:00",offset:r}=e,n=tg(t).utcOffset(eS(l));return r>0?[(n=n.add(1,"day").startOf("day")).format("YYYY-MM-DD"),n.clone().add(r,"day").startOf("day").format("YYYY-MM-DD"),"[)",l]:[n.clone().subtract(-1*r-1,"day").startOf("day").format("YYYY-MM-DD"),n.clone().add(1,"day").startOf("day").format("YYYY-MM-DD"),"[)",l]}function tg(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e?o().isDayjs(e)?e:t?tr()(e):o()(e):t?tr()():o()()}function tv(e){var t;let{now:l,unit:r,timezone:n="+00:00",offset:i}=e,o=tg(l,"isoWeek"===r);o=(o=o.utcOffset(eS(n))).startOf(r),i>0?o=o.add(i,r):i<0&&(o=o.subtract(-1*i,r));let a={year:()=>o.format("YYYY"),quarter:()=>o.format("YYYY[Q]Q"),month:()=>o.format("YYYY-MM"),week:()=>o.format("gggg[w]ww"),isoWeek:()=>o.format("GGGG[W]WW"),day:()=>o.format("YYYY-MM-DD")},s=null==(t=a[r])?void 0:t.call(a);return n?s+n:s}let ty=(e,t)=>l=>{let{now:r,timezone:n,field:i}=l;return(null==i?void 0:i.timezone)&&(n=null==i?void 0:i.timezone),tv({now:r,timezone:n,unit:e,offset:t})},tb=e=>t=>{let{now:l,timezone:r,field:n}=t;return(null==n?void 0:n.timezone)&&(r=null==n?void 0:n.timezone),tm({now:l,timezone:r,offset:e})};function tx(){return{now:new Date().toISOString(),today:ty("day"),yesterday:ty("day",-1),tomorrow:ty("day",1),thisWeek:ty("week"),lastWeek:ty("week",-1),nextWeek:ty("week",1),thisIsoWeek:ty("isoWeek"),lastIsoWeek:ty("isoWeek",-1),nextIsoWeek:ty("isoWeek",1),thisMonth:ty("month"),lastMonth:ty("month",-1),nextMonth:ty("month",1),thisQuarter:ty("quarter"),lastQuarter:ty("quarter",-1),nextQuarter:ty("quarter",1),thisYear:ty("year"),lastYear:ty("year",-1),nextYear:ty("year",1),last7Days:tb(-7),next7Days:tb(7),last30Days:tb(-30),next30Days:tb(30),last90Days:tb(-90),next90Days:tb(90)}}function tw(e){let t=e.split(".");return[t.shift(),t.join(".")]}var tS=l(50467);class tA{register(e,t){if(!this.options.override&&this.map.has(e))throw Error(`this registry does not allow to override existing keys: "${e}"`);this.map.set(e,t)}get(e){return this.map.get(e)}getKeys(){return this.map.keys()}getValues(){return this.map.values()}getEntities(){return this.map.entries()}constructor(e={override:!1}){(0,tS._)(this,"map",new Map),(0,tS._)(this,"options",void 0),this.options=e}}l(58149),l(67980);let tM=Symbol.for("nocobase.utils.sesLockdown"),tF=Symbol.for("nocobase.utils.bufferOverrides"),tk=["globalThis","global","self","Function","AsyncFunction","GeneratorFunction","eval","Compartment","lockdown","harden","assert"];function tC(e){return!!e&&"object"==typeof e&&(e.message||"").includes("(SES_ALREADY_LOCKED_DOWN)")}function tP(){let e=globalThis;if(e[tF])return;let t=e.Buffer;if(!t||!t.prototype)return;let l=t.prototype;for(let e of Reflect.ownKeys(l)){let t=Object.getOwnPropertyDescriptor(l,e);if(!t||"function"!=typeof t.value||!t.configurable)continue;let r=t.value,n=function(){return r},i=function(t){if(this===l)throw TypeError(`Cannot assign to read only property '${String(e)}' of object 'Buffer.prototype'`);Object.defineProperty(this,e,{configurable:!0,enumerable:!0,writable:!0,value:t})};Object.defineProperty(n,"originalValue",{configurable:!1,enumerable:!1,writable:!1,value:r}),Object.defineProperty(l,e,{configurable:t.configurable,enumerable:t.enumerable,get:n,set:i})}e[tF]=!0}function tj(e){tP();let t=globalThis;if(!t[tM]){if("function"!=typeof lockdown)throw Error("SES lockdown is unavailable in the current runtime environment.");try{lockdown(e)}catch(e){if(!tC(e))throw e}t[tM]=!0}}function tE(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}var tR=l(65606);let tT=e=>{for(;e;){var t;if("root"===e.id||(null==(t=e.classList)?void 0:t.contains("nb-action")))return!1;e=e.parentNode}return!tR.env.__TEST__};function tI(e,t){return e.replace(/\{\{(\w+)\}\}/g,function(e,l){return void 0!==t[l]?t[l]:e})}var t_=l(74728),tD=l.n(t_);let tN=/^data:image\/(?:gif|jpe?g|png|webp);base64,[a-z\d+/=\s]+$/i,tO=/^(?:\d{1,4}(?:\.\d+)?(?:px)?|(?:100|[1-9]?\d)(?:\.\d+)?%)$/,t$=/^(?:\d{1,4}(?:\.\d+)?px|(?:100|[1-9]?\d)(?:\.\d+)?%)$/;function tB(e){let t={...e};return t.target&&!["_blank","_self"].includes(t.target)&&delete t.target,"_blank"===t.target?t.rel="noopener noreferrer":delete t.rel,t}function tL(e){var t;let l={...e};for(let e of((null==(t=l.src)?void 0:t.trim().toLowerCase().startsWith("data:"))&&!tN.test(l.src)&&delete l.src,["width","height"]))l[e]&&!tO.test(l[e])&&delete l[e];return l}let tq={allowedTags:["a","b","blockquote","br","em","h1","h2","h3","h4","h5","h6","i","img","li","ol","p","s","span","strike","strong","u","ul"],allowedAttributes:{a:["href","target","rel"],img:["src","alt","title","width","height","style"],span:["style"]},allowedClasses:{blockquote:[/^ql-indent-[1-9]$/],h1:[/^ql-indent-[1-9]$/],h2:[/^ql-indent-[1-9]$/],h3:[/^ql-indent-[1-9]$/],h4:[/^ql-indent-[1-9]$/],h5:[/^ql-indent-[1-9]$/],h6:[/^ql-indent-[1-9]$/],li:[/^ql-indent-[1-9]$/],p:[/^ql-indent-[1-9]$/]},allowedStyles:{img:{height:[t$],width:[t$]},span:{"font-size":[/^(?:12|14|16|18|20|24|32|48)px$/]}},allowedSchemes:["http","https","mailto","tel"],allowedSchemesByTag:{img:["http","https","data"]},allowProtocolRelative:!1,transformTags:{a:(e,t)=>({tagName:e,attribs:tB(t)}),img:(e,t)=>({tagName:e,attribs:tL(t)})}};function tV(e){return tD()(e,tq)}let tz=36,tK="";for(;tz--;)tK+=tz.toString(36);function tU(e){let t="",l=e||11;for(;l--;)t+=tK[36*Math.random()|0];return t}function tW(e){let t;try{t=new URL(e)}catch(e){return!1}return"http:"===t.protocol||"https:"===t.protocol}l(61874),l(1633),l(9700);var tH=l(27153),tY="2.2.7";let tG=(e,t)=>{if(!e)return e;if("Grid"!==e["x-component"])return Object.keys(e.properties||{}).forEach(l=>{e.properties[l]=tG(e.properties[l],t)}),e;let l=e.parent;e=e.toJSON?e.toJSON():n().cloneDeep(e);let r={},{properties:i={}}=e,o=0;if(Object.keys(i).forEach((e,l)=>{let a=i[e];if("Grid.Row"!==a["x-component"]){a["x-index"]=++o,r[e]=a;return}if(a.properties){if(1===Object.keys(a.properties).length){a["x-index"]=++o,r[e]=a;return}Object.keys(a.properties).forEach((l,i)=>{let s=a.properties[l];if(n().set(s,"x-component-props.width",100),0===i){a["x-index"]=++o,r[e]=a;return}null!=t&&t(s)||(delete a.properties[l],r[`${tU()}_${l}`]=tJ(s,l,++o))})}}),e.properties=r,l){let t=new tH.S(e,l);return l.properties&&Object.keys(l.properties).forEach(r=>{r===e.name&&(l.properties[r]=t)}),t}return e};function tJ(e,t,l){return{type:"void",version:"2.0","x-component":"Grid.Row","x-app-version":tY,"x-uid":tU(),"x-async":!1,"x-index":l,_isJSONSchemaObject:!0,properties:{[t]:e}}}function tX(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function tQ(e){return!!e&&/[a-zA-Z_$]/.test(e)}function tZ(e){return!!e&&/[a-zA-Z0-9_$]/.test(e)}function t0(e,t){let l=t;for(;/\s/.test(e[l]||"");)l+=1;return l}function t1(e,t){let l=t0(e,t);for(;"!"===e[l];)l=t0(e,l+1);return l}function t2(e,t){let l=t;for(;l>=0&&/\s/.test(e[l]||"");)l-=1;return l}function t4(e,t){let l=t2(e,t-1);if("("!==e[l])return!1;let r=t2(e,l-1);if(r<0)return!0;let n=e[r];return!tZ(n)&&")"!==n&&"]"!==n}function t6(e,t){let l=t0(e,t);if(")"!==e[l])return!1;let r=t0(e,l+1);return"."===e[r]||"["===e[r]||e.startsWith("?.",r)}function t3(e,t){if(!tQ(e[t]))return null;let l=t+1;for(;tZ(e[l]);)l+=1;return{value:e.slice(t,l),next:l}}function t5(e,t){let l=e.slice(t).match(/^\d+/);return l?{value:l[0],next:t+l[0].length}:null}function t8(e,t){let l=e[t];if('"'!==l&&"'"!==l)return null;let r=t+1,n="";for(;r<e.length;){let t=e[r];if("\\"===t){n+=e.slice(r,r+2),r+=2;continue}if(t===l)return{value:n,next:r+1};n+=t,r+=1}return null}function t9(e,t){let l=t0(e,t+1),r=t8(e,l);if(r)return(l=t0(e,r.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"property",next:l+1,value:r.value};let n=t5(e,l);return n?(l=t0(e,n.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"index",next:l+1,value:n.value}:{dynamic:!0}}function t7(e,t,l){if("property"===t)return void e.push(l);if(e.length){e[e.length-1]=`${e[e.length-1]}[${l}]`;return}e.push(`[${l}]`)}function le(e,t){let l=t1(e,t);if("["===e[l])return t9(e,l);if(e.startsWith("?.",l)){let t=t0(e,l+2);if("["===e[t])return t9(e,t);let r=t3(e,t)||t5(e,t);return r?{dynamic:!1,kind:"property",next:r.next,value:r.value}:null}if("."===e[l]){let t=t0(e,l+1),r=t3(e,t)||t5(e,t);return r?{dynamic:!1,kind:"property",next:r.next,value:r.value}:null}return null}function lt(e){let t=e.trim(),l="(?:[a-zA-Z_$][a-zA-Z0-9_$-]*|\\d+)",r=t.match(RegExp(`^ctx\\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\\.(${l}(?:\\.${l})*))?$`));return r?{methodCall:!1,path:r[2]||void 0,unsupportedDynamicPath:!1,varName:r[1]}:null}function ll(e,t){if("ctx"!==e.slice(t,t+3)||tZ(e[t-1])||tZ(e[t+3]))return null;if(t4(e,t))return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};let l=le(e,t+3);if(!l)return null;if(l.dynamic)return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};if("property"!==l.kind)return null;let r=[],n=l.next,i=!1,o=!1;for(;n<e.length;){let t=t1(e,n);if(("("===e[t]||e.startsWith("?.(",t))&&!r.length){i=!0,n=t;break}let l=le(e,n);if(!l){n=t,("["===e[t]||"."===e[t]||e.startsWith("?.",t))&&(o=!0);break}if(l.dynamic){o=!0,n=t;break}t7(r,l.kind,l.value),n=l.next}let a=r.join(".");return{next:Math.max(n,l.next),reference:{methodCall:i,path:a||void 0,unsupportedDynamicPath:o||t6(e,n),varName:l.value}}}function lr(e){let t=lt(e);if(t)return[t];let l=[];for(let t=0;t<e.length;t+=1){if("ctx"!==e.slice(t,t+3))continue;let r=ll(e,t);r&&(l.push(r.reference),t=Math.max(t,r.next-1))}return l}function ln(e,t,l,r){e[t]=e[t]||[],l?e[t].push(l):r&&!e[t].includes("")&&e[t].push("")}function li(e){let t={},l=!1,r=e=>{for(let r of lr(e)){if(r.unsupportedDynamicPath){l=!0;continue}r.varName&&ln(t,r.varName,r.path,r.methodCall)}},n=e=>{if("string"==typeof e){let t,l=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(t=l.exec(e));)r(t[1]);return}Array.isArray(e)?e.forEach(n):tX(e)&&Object.values(e).forEach(n)};return n(e),{unsupportedDynamicPath:l,usage:t}}function lo(e){return new Set(Object.keys(li(e).usage))}function la(e){return li(e).usage}let ls=new(l(23155)).HX;function ld(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={};for(let l of e){let e=l.replace(/^ctx\./,"").split("."),r=t;for(let t=0;t<e.length;t++){let n=e[t];t===e.length-1?r[n]=`{{${l}}}`:(r[n]=r[n]||{},r=r[n])}}return t}async function lu(e){return ld(await ls.fullVariables(e))}async function lc(e,t){return await ls.parseAndRender(e,{ctx:t})}function lp(e){let t=1,l={};return{sql:e.replace(/{{\s*([^}]+)\s*}}/g,(e,r)=>{let n=`__var${t}`;return l[n]=`{{${r.trim()}}}`,t++,`$${n}`}),bind:l}}async function lh(e){let{sql:t,bind:l}=lp(e),r=await lu(t);return{sql:t,bind:l,liquidContext:r}}},59598(){},23005(){},14892(){},2813(){},61511(){},92489(){},52453(){},72522(){},66883(){},9845(){}};import{__webpack_require__}from"./runtime-9304a7d4.js";var __webpack_exec__=function(e){return __webpack_require__(__webpack_require__.s=e)};import*as __rspack_chunk_1 from"./vendor-antd-ecosystem-de737eca.js";__webpack_require__.C(__rspack_chunk_1);import*as __rspack_chunk_2 from"./vendor-moment-84b317dc.js";__webpack_require__.C(__rspack_chunk_2);import*as __rspack_chunk_3 from"./vendor-lodash-905dd3b8.js";__webpack_require__.C(__rspack_chunk_3);import*as __rspack_chunk_4 from"./vendor-ses-b7bccbcd.js";__webpack_require__.C(__rspack_chunk_4);import*as __rspack_chunk_5 from"./vendor-antd-icons-a99bcf25.js";__webpack_require__.C(__rspack_chunk_5);import*as __rspack_chunk_6 from"./vendor-antd-e1ec510b.js";__webpack_require__.C(__rspack_chunk_6);import*as __rspack_chunk_7 from"./8747-b1250bb1.js";__webpack_require__.C(__rspack_chunk_7);import*as __rspack_chunk_8 from"./index-47080cb1.js";__webpack_require__.C(__rspack_chunk_8),__webpack_exec__(2109);
|
|
1844
|
+
${l}`,n=eE.get(r);if(n)return n;let i=eR(e_(l,eI(`mask:v1:${t}`))),o=eI(`check:v1:${t}:${l}`),a=`v1.${i}.${o}`;return eE.set(r,a),a}function eB(e,t){return e$(e,eO(t))}l(5409);let eL=(e,t,l)=>{if(!e)return l;let r=t.split("."),n=[],i=e,o=!1;for(let e=0;e<r.length;e++){let t=r[e];if(Array.isArray(i)){for(let t of(o=!0,i)){let i=eL(t,r.slice(e).join("."),l);n=n.concat(i)}break}if((null==i?void 0:i[t])===void 0)break;i=i[t],e===r.length-1&&n.push(i)}return 0===(n=n.filter(e=>void 0!==e)).length?l:o?n.filter(e=>null!==e):n[0]};var eq=l(88835),eV=l(60639),ez=l.n(eV),eK=l(79441);let eU=l.n(eK)()();function eW(e){if(!e)return!1;let t=[e.$and,e.$or].filter(Boolean);return 0==t.length?Object.keys(e).length>0:t.some(e=>{if(Array.isArray(e))return e.some(eW);if(e.$and||e.$or)return eW(e);let[t]=Object.keys(e);if(!t||!e[t])return!1;let[l]=Object.keys(e[t]);return!!l&&void 0!==e[t][l]})}function eH(e){let t=typeof e;return Array.isArray(e)?t="array":e instanceof Date?t="date":null===e&&(t="null"),t}function eY(e){let t=e.substr(2,e.length-4).trim(),l=t.indexOf(":");return -1!==l?{key:t.substr(0,l),defaultValue:t.substr(l+1)}:{key:t}}function eG(e,t){return e.parameters=Array.from(new Map(t.map(e=>[e.key,e])).values()),e}function eJ(e){switch(eH(e)){case"string":return eX(e);case"object":return eQ(e);case"array":return eZ(e);default:return eG(function(){return e},[])}}Object.keys(eU).forEach(function(e){ez().registerHelper(e,eU[e])}),ez().registerHelper("json",function(e){return JSON.stringify(e)}),ez().registerHelper("urlParse",function(e){try{return JSON.stringify(eq.parse(e))}catch(t){return`Invalid URL: ${e}`}}),ez().registerHelper("dateFormat",(e,t,l)=>"string"==typeof l?o()(e).tz(l).format(t):o()(e).format(t)),ez().registerHelper("isNull",e=>n().isNull(e)),l(84560);let eX=(()=>{let e=/{{(\w|:|[\s-+.,@/()?=*_$])+}}/g;return t=>{let l=[],n=e=>t,i=t.match(e);return i&&(l=i.map(eY),n=e=>(e=e||{},i.reduce((n,o,a)=>{let s=l[a],d=(0,r.get)(e,s.key);return(void 0===d&&(d=s.defaultValue),"function"==typeof d&&(d=d()),1===i.length&&t.startsWith("{{")&&t.endsWith("}}"))?d:(d instanceof Date&&(d=d.toISOString()),n.replace(o,null==d?"":d))},t))),eG(n,l)}})();function eQ(e){let t=Object.keys(e).map(t=>({keyTemplate:eX(t),valueTemplate:eJ(e[t])}));return eG(e=>t.reduce((t,l)=>(t[l.keyTemplate(e)]=l.valueTemplate(e),t),{}),t.reduce((e,t)=>e.concat(t.valueTemplate.parameters,t.keyTemplate.parameters),[]))}function eZ(e){let t=e.map(eJ);return eG(e=>t.map(t=>t(e)),t.reduce((e,t)=>e.concat(t.parameters),[]))}let e0=function(e){for(var t=arguments.length,l=Array(t>1?t-1:0),r=1;r<t;r++)l[r-1]=arguments[r];console.error(e,...l)};var e1=l(14744),e2=l.n(e1);let e4=(e,t,l)=>t;function e6(e,t,l){return e2()(e,t,{arrayMerge:e4,...l})}var e3=l(76511);let e5=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"info",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5e3;e3.Ay[t]({message:e,duration:l})};var e8=l(5062),e9=l(85738);function e7(e,t){if(null==e||""===e)return"";let l=(0,e8.i5)(t);return(0,e9.Mg)(String(e),".",l)}var te=l(63560),tt=l.n(te),tl=l(95093),tr=l.n(tl);let tn=/^\s*\{\{([\s\S]*)\}\}\s*$/;function ti(e){return e&&e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function to(e){return e}function ta(e,t){let l=(t=t||{}).delimiter||".",r=t.maxDepth,i=t.transformKey||to,o=t.transformValue||to,a={};function s(e,d,u){u=u||1,n().isObjectLike(e)&&Object.keys(e).forEach(function(n){var c;let p=e[n],h=t.safe&&Array.isArray(p),f=Object.prototype.toString.call(p),m=ti(p),g="[object Object]"===f||"[object Array]"===f,v=d?d+l+i(n):i(n);if(null==(c=t.breakOn)?void 0:c.call(t,{key:n,value:p,path:v})){a[v]=o(p,v);return}if(!h&&!m&&g&&Object.keys(p).length&&(!t.maxDepth||u<r))return s(p,v,u+1);a[v]=o(p,v)})}return s(e),a}function ts(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l={},r=t.transformValue||to;for(let t of Object.keys(e))tt()(l,t,r(e[t],t));return l}let td=e=>{let t=e.split(".").pop()||"";return t.startsWith("$")||(t=""),{operator:t}},tu=e=>["$dateOn","$dateNotOn","$dateBefore","$dateAfter","$dateNotBefore","$dateNotAfter","$dateBetween"].includes(e);function tc(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function tp(e){return(null==e?void 0:e.type)==="dateOnly"||(null==e?void 0:e.type)==="datetimeNoTz"||(null==e?void 0:e.constructor.name)==="DateOnlyField"||(null==e?void 0:e.constructor.name)==="DatetimeNoTzField"}let th=(e,t)=>e?(e.type&&(e=L({...e,timezone:t})),Array.isArray(e))?(2===e.length?e.push("[]",t):3===e.length&&e.push(t),e):"string"==typeof e?!t||/(\+|-)\d\d:\d\d$/.test(e)?e:e+t:tc(e)?e.toISOString():void 0:null,tf=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=new Set,r=t.vars||{},n=t.timezone,i=t.now,o=t.getField,a=ta(e,{breakOn(e){let{key:t}=e;return t.startsWith("$")&&"$and"!==t&&"$or"!==t},transformValue(e){if("string"!=typeof e)return e;let t=tn.exec(e);if(t){let e=t[1].trim();e.startsWith("$user")&&l.add(e.substring(6))}return e}});if(l.size>0){let e=await r.$user({fields:[...l.values()]});Object.assign(r,{$user:e})}return ts(a,{transformValue(e,t){let{operator:l}=td(t);if("string"==typeof e){let a=tn.exec(e);if(a){let s=eL(r,a[1].trim(),null),d=null==o?void 0:o(t);e="function"==typeof s?null==s?void 0:s({field:d,operator:l,timezone:n,now:i}):s}}if(tu(l)){let l=null==o?void 0:o(t);return tp(l)?e.type?L({...e,timezone:(null==l?void 0:l.timezone)||n}):e:th(e,(null==l?void 0:l.timezone)||n)}return e}})};function tm(e){let{now:t,timezone:l="+00:00",offset:r}=e,n=tg(t).utcOffset(eS(l));return r>0?[(n=n.add(1,"day").startOf("day")).format("YYYY-MM-DD"),n.clone().add(r,"day").startOf("day").format("YYYY-MM-DD"),"[)",l]:[n.clone().subtract(-1*r-1,"day").startOf("day").format("YYYY-MM-DD"),n.clone().add(1,"day").startOf("day").format("YYYY-MM-DD"),"[)",l]}function tg(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e?o().isDayjs(e)?e:t?tr()(e):o()(e):t?tr()():o()()}function tv(e){var t;let{now:l,unit:r,timezone:n="+00:00",offset:i}=e,o=tg(l,"isoWeek"===r);o=(o=o.utcOffset(eS(n))).startOf(r),i>0?o=o.add(i,r):i<0&&(o=o.subtract(-1*i,r));let a={year:()=>o.format("YYYY"),quarter:()=>o.format("YYYY[Q]Q"),month:()=>o.format("YYYY-MM"),week:()=>o.format("gggg[w]ww"),isoWeek:()=>o.format("GGGG[W]WW"),day:()=>o.format("YYYY-MM-DD")},s=null==(t=a[r])?void 0:t.call(a);return n?s+n:s}let ty=(e,t)=>l=>{let{now:r,timezone:n,field:i}=l;return(null==i?void 0:i.timezone)&&(n=null==i?void 0:i.timezone),tv({now:r,timezone:n,unit:e,offset:t})},tb=e=>t=>{let{now:l,timezone:r,field:n}=t;return(null==n?void 0:n.timezone)&&(r=null==n?void 0:n.timezone),tm({now:l,timezone:r,offset:e})};function tx(){return{now:new Date().toISOString(),today:ty("day"),yesterday:ty("day",-1),tomorrow:ty("day",1),thisWeek:ty("week"),lastWeek:ty("week",-1),nextWeek:ty("week",1),thisIsoWeek:ty("isoWeek"),lastIsoWeek:ty("isoWeek",-1),nextIsoWeek:ty("isoWeek",1),thisMonth:ty("month"),lastMonth:ty("month",-1),nextMonth:ty("month",1),thisQuarter:ty("quarter"),lastQuarter:ty("quarter",-1),nextQuarter:ty("quarter",1),thisYear:ty("year"),lastYear:ty("year",-1),nextYear:ty("year",1),last7Days:tb(-7),next7Days:tb(7),last30Days:tb(-30),next30Days:tb(30),last90Days:tb(-90),next90Days:tb(90)}}function tw(e){let t=e.split(".");return[t.shift(),t.join(".")]}var tS=l(50467);class tA{register(e,t){if(!this.options.override&&this.map.has(e))throw Error(`this registry does not allow to override existing keys: "${e}"`);this.map.set(e,t)}get(e){return this.map.get(e)}getKeys(){return this.map.keys()}getValues(){return this.map.values()}getEntities(){return this.map.entries()}constructor(e={override:!1}){(0,tS._)(this,"map",new Map),(0,tS._)(this,"options",void 0),this.options=e}}l(58149),l(67980);let tM=Symbol.for("nocobase.utils.sesLockdown"),tF=Symbol.for("nocobase.utils.bufferOverrides"),tk=["globalThis","global","self","Function","AsyncFunction","GeneratorFunction","eval","Compartment","lockdown","harden","assert"];function tC(e){return!!e&&"object"==typeof e&&(e.message||"").includes("(SES_ALREADY_LOCKED_DOWN)")}function tP(){let e=globalThis;if(e[tF])return;let t=e.Buffer;if(!t||!t.prototype)return;let l=t.prototype;for(let e of Reflect.ownKeys(l)){let t=Object.getOwnPropertyDescriptor(l,e);if(!t||"function"!=typeof t.value||!t.configurable)continue;let r=t.value,n=function(){return r},i=function(t){if(this===l)throw TypeError(`Cannot assign to read only property '${String(e)}' of object 'Buffer.prototype'`);Object.defineProperty(this,e,{configurable:!0,enumerable:!0,writable:!0,value:t})};Object.defineProperty(n,"originalValue",{configurable:!1,enumerable:!1,writable:!1,value:r}),Object.defineProperty(l,e,{configurable:t.configurable,enumerable:t.enumerable,get:n,set:i})}e[tF]=!0}function tj(e){tP();let t=globalThis;if(!t[tM]){if("function"!=typeof lockdown)throw Error("SES lockdown is unavailable in the current runtime environment.");try{lockdown(e)}catch(e){if(!tC(e))throw e}t[tM]=!0}}function tE(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}var tR=l(65606);let tT=e=>{for(;e;){var t;if("root"===e.id||(null==(t=e.classList)?void 0:t.contains("nb-action")))return!1;e=e.parentNode}return!tR.env.__TEST__};function tI(e,t){return e.replace(/\{\{(\w+)\}\}/g,function(e,l){return void 0!==t[l]?t[l]:e})}var t_=l(74728),tD=l.n(t_);let tN=/^data:image\/(?:gif|jpe?g|png|webp);base64,[a-z\d+/=\s]+$/i,tO=/^(?:\d{1,4}(?:\.\d+)?(?:px)?|(?:100|[1-9]?\d)(?:\.\d+)?%)$/,t$=/^(?:\d{1,4}(?:\.\d+)?px|(?:100|[1-9]?\d)(?:\.\d+)?%)$/;function tB(e){let t={...e};return t.target&&!["_blank","_self"].includes(t.target)&&delete t.target,"_blank"===t.target?t.rel="noopener noreferrer":delete t.rel,t}function tL(e){var t;let l={...e};for(let e of((null==(t=l.src)?void 0:t.trim().toLowerCase().startsWith("data:"))&&!tN.test(l.src)&&delete l.src,["width","height"]))l[e]&&!tO.test(l[e])&&delete l[e];return l}let tq={allowedTags:["a","b","blockquote","br","em","h1","h2","h3","h4","h5","h6","i","img","li","ol","p","s","span","strike","strong","u","ul"],allowedAttributes:{a:["href","target","rel"],img:["src","alt","title","width","height","style"],span:["style"]},allowedClasses:{blockquote:[/^ql-indent-[1-9]$/],h1:[/^ql-indent-[1-9]$/],h2:[/^ql-indent-[1-9]$/],h3:[/^ql-indent-[1-9]$/],h4:[/^ql-indent-[1-9]$/],h5:[/^ql-indent-[1-9]$/],h6:[/^ql-indent-[1-9]$/],li:[/^ql-indent-[1-9]$/],p:[/^ql-indent-[1-9]$/]},allowedStyles:{img:{height:[t$],width:[t$]},span:{"font-size":[/^(?:12|14|16|18|20|24|32|48)px$/]}},allowedSchemes:["http","https","mailto","tel"],allowedSchemesByTag:{img:["http","https","data"]},allowProtocolRelative:!1,transformTags:{a:(e,t)=>({tagName:e,attribs:tB(t)}),img:(e,t)=>({tagName:e,attribs:tL(t)})}};function tV(e){return tD()(e,tq)}let tz=36,tK="";for(;tz--;)tK+=tz.toString(36);function tU(e){let t="",l=e||11;for(;l--;)t+=tK[36*Math.random()|0];return t}function tW(e){let t;try{t=new URL(e)}catch(e){return!1}return"http:"===t.protocol||"https:"===t.protocol}l(61874),l(1633),l(9700);var tH=l(27153),tY="2.2.9";let tG=(e,t)=>{if(!e)return e;if("Grid"!==e["x-component"])return Object.keys(e.properties||{}).forEach(l=>{e.properties[l]=tG(e.properties[l],t)}),e;let l=e.parent;e=e.toJSON?e.toJSON():n().cloneDeep(e);let r={},{properties:i={}}=e,o=0;if(Object.keys(i).forEach((e,l)=>{let a=i[e];if("Grid.Row"!==a["x-component"]){a["x-index"]=++o,r[e]=a;return}if(a.properties){if(1===Object.keys(a.properties).length){a["x-index"]=++o,r[e]=a;return}Object.keys(a.properties).forEach((l,i)=>{let s=a.properties[l];if(n().set(s,"x-component-props.width",100),0===i){a["x-index"]=++o,r[e]=a;return}null!=t&&t(s)||(delete a.properties[l],r[`${tU()}_${l}`]=tJ(s,l,++o))})}}),e.properties=r,l){let t=new tH.S(e,l);return l.properties&&Object.keys(l.properties).forEach(r=>{r===e.name&&(l.properties[r]=t)}),t}return e};function tJ(e,t,l){return{type:"void",version:"2.0","x-component":"Grid.Row","x-app-version":tY,"x-uid":tU(),"x-async":!1,"x-index":l,_isJSONSchemaObject:!0,properties:{[t]:e}}}function tX(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function tQ(e){return!!e&&/[a-zA-Z_$]/.test(e)}function tZ(e){return!!e&&/[a-zA-Z0-9_$]/.test(e)}function t0(e,t){let l=t;for(;/\s/.test(e[l]||"");)l+=1;return l}function t1(e,t){let l=t0(e,t);for(;"!"===e[l];)l=t0(e,l+1);return l}function t2(e,t){let l=t;for(;l>=0&&/\s/.test(e[l]||"");)l-=1;return l}function t4(e,t){let l=t2(e,t-1);if("("!==e[l])return!1;let r=t2(e,l-1);if(r<0)return!0;let n=e[r];return!tZ(n)&&")"!==n&&"]"!==n}function t6(e,t){let l=t0(e,t);if(")"!==e[l])return!1;let r=t0(e,l+1);return"."===e[r]||"["===e[r]||e.startsWith("?.",r)}function t3(e,t){if(!tQ(e[t]))return null;let l=t+1;for(;tZ(e[l]);)l+=1;return{value:e.slice(t,l),next:l}}function t5(e,t){let l=e.slice(t).match(/^\d+/);return l?{value:l[0],next:t+l[0].length}:null}function t8(e,t){let l=e[t];if('"'!==l&&"'"!==l)return null;let r=t+1,n="";for(;r<e.length;){let t=e[r];if("\\"===t){n+=e.slice(r,r+2),r+=2;continue}if(t===l)return{value:n,next:r+1};n+=t,r+=1}return null}function t9(e,t){let l=t0(e,t+1),r=t8(e,l);if(r)return(l=t0(e,r.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"property",next:l+1,value:r.value};let n=t5(e,l);return n?(l=t0(e,n.next),"]"!==e[l])?{dynamic:!0}:{dynamic:!1,kind:"index",next:l+1,value:n.value}:{dynamic:!0}}function t7(e,t,l){if("property"===t)return void e.push(l);if(e.length){e[e.length-1]=`${e[e.length-1]}[${l}]`;return}e.push(`[${l}]`)}function le(e,t){let l=t1(e,t);if("["===e[l])return t9(e,l);if(e.startsWith("?.",l)){let t=t0(e,l+2);if("["===e[t])return t9(e,t);let r=t3(e,t)||t5(e,t);return r?{dynamic:!1,kind:"property",next:r.next,value:r.value}:null}if("."===e[l]){let t=t0(e,l+1),r=t3(e,t)||t5(e,t);return r?{dynamic:!1,kind:"property",next:r.next,value:r.value}:null}return null}function lt(e){let t=e.trim(),l="(?:[a-zA-Z_$][a-zA-Z0-9_$-]*|\\d+)",r=t.match(RegExp(`^ctx\\.([a-zA-Z_$][a-zA-Z0-9_$]*)(?:\\.(${l}(?:\\.${l})*))?$`));return r?{methodCall:!1,path:r[2]||void 0,unsupportedDynamicPath:!1,varName:r[1]}:null}function ll(e,t){if("ctx"!==e.slice(t,t+3)||tZ(e[t-1])||tZ(e[t+3]))return null;if(t4(e,t))return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};let l=le(e,t+3);if(!l)return null;if(l.dynamic)return{next:t+3,reference:{methodCall:!1,unsupportedDynamicPath:!0,varName:""}};if("property"!==l.kind)return null;let r=[],n=l.next,i=!1,o=!1;for(;n<e.length;){let t=t1(e,n);if(("("===e[t]||e.startsWith("?.(",t))&&!r.length){i=!0,n=t;break}let l=le(e,n);if(!l){n=t,("["===e[t]||"."===e[t]||e.startsWith("?.",t))&&(o=!0);break}if(l.dynamic){o=!0,n=t;break}t7(r,l.kind,l.value),n=l.next}let a=r.join(".");return{next:Math.max(n,l.next),reference:{methodCall:i,path:a||void 0,unsupportedDynamicPath:o||t6(e,n),varName:l.value}}}function lr(e){let t=lt(e);if(t)return[t];let l=[];for(let t=0;t<e.length;t+=1){if("ctx"!==e.slice(t,t+3))continue;let r=ll(e,t);r&&(l.push(r.reference),t=Math.max(t,r.next-1))}return l}function ln(e,t,l,r){e[t]=e[t]||[],l?e[t].push(l):r&&!e[t].includes("")&&e[t].push("")}function li(e){let t={},l=!1,r=e=>{for(let r of lr(e)){if(r.unsupportedDynamicPath){l=!0;continue}r.varName&&ln(t,r.varName,r.path,r.methodCall)}},n=e=>{if("string"==typeof e){let t,l=/\{\{\s*([^}]+?)\s*\}\}/g;for(;null!==(t=l.exec(e));)r(t[1]);return}Array.isArray(e)?e.forEach(n):tX(e)&&Object.values(e).forEach(n)};return n(e),{unsupportedDynamicPath:l,usage:t}}function lo(e){return new Set(Object.keys(li(e).usage))}function la(e){return li(e).usage}let ls=new(l(23155)).HX;function ld(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={};for(let l of e){let e=l.replace(/^ctx\./,"").split("."),r=t;for(let t=0;t<e.length;t++){let n=e[t];t===e.length-1?r[n]=`{{${l}}}`:(r[n]=r[n]||{},r=r[n])}}return t}async function lu(e){return ld(await ls.fullVariables(e))}async function lc(e,t){return await ls.parseAndRender(e,{ctx:t})}function lp(e){let t=1,l={};return{sql:e.replace(/{{\s*([^}]+)\s*}}/g,(e,r)=>{let n=`__var${t}`;return l[n]=`{{${r.trim()}}}`,t++,`$${n}`}),bind:l}}async function lh(e){let{sql:t,bind:l}=lp(e),r=await lu(t);return{sql:t,bind:l,liquidContext:r}}},59598(){},23005(){},14892(){},2813(){},61511(){},92489(){},52453(){},72522(){},66883(){},9845(){}};import{__webpack_require__}from"./runtime-9304a7d4.js";var __webpack_exec__=function(e){return __webpack_require__(__webpack_require__.s=e)};import*as __rspack_chunk_1 from"./vendor-antd-ecosystem-de737eca.js";__webpack_require__.C(__rspack_chunk_1);import*as __rspack_chunk_2 from"./vendor-moment-84b317dc.js";__webpack_require__.C(__rspack_chunk_2);import*as __rspack_chunk_3 from"./vendor-lodash-905dd3b8.js";__webpack_require__.C(__rspack_chunk_3);import*as __rspack_chunk_4 from"./vendor-ses-b7bccbcd.js";__webpack_require__.C(__rspack_chunk_4);import*as __rspack_chunk_5 from"./vendor-antd-icons-a99bcf25.js";__webpack_require__.C(__rspack_chunk_5);import*as __rspack_chunk_6 from"./vendor-antd-e1ec510b.js";__webpack_require__.C(__rspack_chunk_6);import*as __rspack_chunk_7 from"./8747-b1250bb1.js";__webpack_require__.C(__rspack_chunk_7);import*as __rspack_chunk_8 from"./index-9b5884e9.js";__webpack_require__.C(__rspack_chunk_8),__webpack_exec__(2109);
|