@nocobase/client-v2 2.1.37 → 2.1.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/index.mjs CHANGED
@@ -232,7 +232,7 @@ ${n}`,u)}}let o=T(e.issues.filter(e=>"runtime"===e.type)),n=o?`Key runtime issue
232
232
  &:hover {
233
233
  background-color: ${p.colorFillSecondary};
234
234
  }
235
- `;return(0,o.jsxs)("div",{style:{maxHeight:300,overflowY:"auto"},children:[e.map(e=>(0,o.jsx)("div",{role:"option",onClick:()=>g(e.value),className:l,children:c(e.label)},e.value)),(0,o.jsx)(i.Divider,{style:{margin:"4px 0"}}),t.map(e=>(0,o.jsx)("div",{role:"option",className:l,onClick:()=>g(e.value),title:c(e.label),children:c(e.label)},e.value))]})};return(0,o.jsxs)(i.Space.Compact,{style:{...d.style,width:"100%"},children:[(0,o.jsx)(i.Select,{options:f,open:m,onDropdownVisibleChange:h,...d,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:g,dropdownRender:_}),["past","next"].includes(null==t?void 0:t.type)&&[(0,o.jsx)(i.InputNumber,{style:{flex:1},value:null==t?void 0:t.number,onChange:e=>{l({...t,number:e})}},"number"),(0,o.jsx)(i.Select,{value:null==t?void 0:t.unit,style:{minWidth:130,maxWidth:140},onChange:e=>{l({...t,unit:e})},options:[{value:"day",label:c("Day")},{value:"week",label:c("Calendar week")},{value:"month",label:c("Calendar Month")},{value:"year",label:c("Calendar Year")}],popupMatchSelectWidth:!0},"unit")],((null==t?void 0:t.type)==="exact"||!(null==t?void 0:t.type))&&(0,o.jsx)(y,{...d,value:t,onChange:l})]})}},6175(e,t,l){l.d(t,{S:()=>r});let o=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 r(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,o=i(e),n=i(l);return(1!==t.length||o)&&(o||!n)?o&&!n?[l,l]:t:[e,e]}return[t,t]}return o.has(e)?null==t||Array.isArray(t)?t:"string"==typeof t&&""===t.trim()?[]:[t]:t}},1961(e,t,l){l.d(t,{EditFormModel:()=>u});var o=l(1178),n=l(504),i=l(2793),r=l(7583);l(1649);var a=l(3890),s=l(2088),d=l(7093);class u extends s.F4{createResource(e,t){var l,o;if((null==(l=this.association)?void 0:l.type)==="hasOne"||(null==(o=this.association)?void 0:o.type)==="belongsTo"||Object.keys(t).includes("filterByTk")){let e=this.context.createResource(n.SingleRecordResource);return e.isNewRecord=!1,e}let i=this.context.createResource(n.MultiRecordResource);return i.setPageSize(1),i}isMultiRecordResource(){return this.resource instanceof n.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,o){let{submitHandler:n}=await Promise.resolve().then(l.bind(l,4084));await n(e,t,o)}async submit(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,{submitHandler:o}=await Promise.resolve().then(l.bind(l,4084));await o(this.context,e,t)}renderComponent(){var e,t;let{colon:l,labelAlign:r,labelWidth:a,labelWrap:d,layout:u}=this.props,c=!!this.context.flowSettingsEnabled,p=this.hasAvailableData(),m=!c&&!p,{heightMode:h,height:f}=this.decoratorProps,g=this.resource.loading||p?this.isMultiRecordResource()&&this.resource.getMeta("count")>1?(0,o.jsx)("div",{style:{textAlign:"center",marginTop:16},children:(0,o.jsx)(i.Pagination,{simple:!0,pageSize:1,showSizeChanger:!1,defaultCurrent:this.resource.getPage(),total:this.resource.getTotalPage(),onChange:this.handlePageChange,style:{display:"inline-block"}})}):null:(0,o.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,o.jsx)(s.JU,{model:this,gridModel:this.subModels.grid,layoutProps:{colon:l,labelAlign:r,labelWidth:a,labelWrap:d,layout:u},heightMode:h,height:f,grid:(0,o.jsx)(n.FlowModelRenderer,{model:this.subModels.grid,showFlowSettings:!1}),actions:(0,o.jsx)("div",{style:m?{pointerEvents:"none",opacity:.45}:void 0,children:(0,o.jsx)(n.DndProvider,{children:(0,o.jsxs)(i.Space,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||c)return(0,o.jsx)(n.Droppable,{model:e,children:(0,o.jsx)(n.MemoFlowModelRenderer,{model:e,showFlowSettings:!!this.context.flowSettingsEnabled&&this.actionFlowSettings,extraToolbarItems:this.actionExtraToolbarItems},e.uid)},e.uid)}),this.renderConfigureActions()]})})}),footer:g})}constructor(...e){super(...e),this.actionFlowSettings={showBackground:!1,showBorder:!1,toolbarPosition:"above"},this.actionExtraToolbarItems=[{key:"drag-handler",component:n.DragHandler,sort:1}],this.handlePageChange=async e=>{if(this.resource instanceof n.MultiRecordResource){let t=this.resource;t.setPage(e),t.loading=!0,await t.refresh(),await (0,d.Xi)(this,"paginationChange")}}}}u.scene=a.P.oam,u.blockCapabilityActionName="update",u.registerFlow({key:"formSettings",title:(0,n.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,o,n,i,a,s,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 m=e.resource.getMeta("currentFilterByTk"),h=!(0,r.isEqual)(u,m),f=null==(o=(n=e.model).getUserModifiedFields)?void 0:o.call(n),g=!!(null==f?void 0:f.size),v=()=>{if(!(null==f?void 0:f.size))return;let t=e=>null!==e&&"object"==typeof e;for(let l of Array.from(f)){let o=e.form.getFieldValue(l),n=null==c?void 0:c[l];(Object.is(o,n)||t(o)&&t(n)&&(0,r.isEqual)(o,n))&&f.delete(l)}};if(!h&&g){let t={...c};for(let l of f)t[l]=e.form.getFieldValue(l);e.form.setFieldsValue(t),v();return}h&&(null==(i=(a=e.model).resetUserModifiedFields)||i.call(a),null==(s=(d=e.model).resetRuntimeUserEditedState)||s.call(d)),e.form.setFieldsValue(c),v()})}},dataScope:{use:"dataScope"},refresh:{async handler(e){if(!e.resource)throw Error("Resource is not initialized")}}}}),u.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"}}}}),u.define({label:(0,n.tExpr)("Form (Edit)"),searchable:!0,searchPlaceholder:(0,n.tExpr)("Search"),createModelOptions:{use:"EditFormModel",subModels:{grid:{use:"FormGridModel"}}},sort:340})},2088(e,t,l){l.d(t,{JU:()=>B,s2:()=>E,F4:()=>R,mO:()=>V});var o=l(1178),n=l(2113),i=l(691),r=l(504),a=l(2793),s=l(7583),d=l(1649),u=l(2542),c=l(544),p=l(146),m=l(2314),h=l(9413),f=l(9613);function g(e){let t,l,o,n=()=>{let e=t;e&&(l&&(e.setFieldValue=l),o&&(e.setFieldsValue=o),t=void 0,l=void 0,o=void 0)};return{patch:i=>{if(t===i)return;n();let r="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=r,o=a,r&&(i.setFieldValue=(t,l)=>{e.isSuppressed()?r(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 v=l(3728),y=l(3526),_=l(1022),b=l(9133),x=l(8709);let M=Symbol("SKIP_RULE_VALUE"),w=Symbol("UNRESOLVED_ASSOCIATION_IDENTITY"),S=1e3;function k(e){return"default"===e?"default":"override"===e?"override":"assign"}function F(e){return"default"===e?"default":"override"===e?"override":"system"}class C{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),o=[];for(let[e,r]of this.rules.entries()){var n,i;if(!e.startsWith(t)||e===l)continue;let a=null==r||null==(i=r.rule)||null==(n=i.getContext)?void 0:n.call(i),s=null==a?void 0:a.model;s&&this.isRowGridModel(s)&&o.push(e)}for(let e of o)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 o=F(k(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 r={id:i,source:o,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()};this.rules.set(i,{rule:r,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 o=(0,v.EA)(e).filter(e=>"object"!=typeof e);if(o.length<=1)return!0;for(let e=0;e<o.length-1;e++){var n,i;let t=o[e];if("string"!=typeof t)continue;let r=null==l||null==(n=l.getField)?void 0:n.call(l,t);if(!(null==r||null==(i=r.isAssociationField)?void 0:i.call(r)))break;if((0,b.E4)(r)){if("number"!=typeof o[e+1])return!1;e+=1}if(!(null==(l=null==r?void 0:r.targetCollection)?void 0:l.getField))break}return!0}collectAssociationPrefixPaths(e,t){let l=[],o=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==o?void 0:o.getField))return l;let n=[];for(let e=0;e<t.length-1;e++){var i,r;let a=t[e];if("string"!=typeof a)break;let s=null==o||null==(i=o.getField)?void 0:i.call(o,a);if(!(null==s||null==(r=s.isAssociationField)?void 0:r.call(s)))break;if(n.push(a),(0,b.E4)(s)){let l=t[e+1];if("number"!=typeof l)break;n.push(l),e+=1}if(l.push([...n]),!(null==(o=null==s?void 0:s.targetCollection)?void 0:o.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 o,n;let i=t[e];if("string"!=typeof i)continue;let r=null==l||null==(o=l.getField)?void 0:o.call(l,i);if(!(null==r||null==(n=r.isAssociationField)?void 0:n.call(r)))break;if((0,b.E4)(r)){if("number"!=typeof t[e+1])return!0;e+=1}if(!(null==(l=null==r?void 0:r.targetCollection)?void 0:l.getField))break}return!1}shouldSkipAssociationNestedWrite(e,t){let l=this.collectAssociationPrefixPaths(e,t);if(!l.length)return!1;for(let o of l){let l=this.options.getFormValueAtPath(o);if(null==l){let l=o.filter(e=>"string"==typeof e).join(".");if(l&&this.getUpdateAssociationForTargetPath(l)||this.isAssociationTargetKeyWrite(e,t,o))continue;return!0}if("object"!=typeof l)return!0}return!1}getAssociationTargetKeyFields(e){var t,l;let o=(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(o)?o.filter(e=>"string"==typeof e&&!!e):"string"==typeof o&&o?[o]:["id"]}resolveAssociationFieldByPrefixPath(e,t){let l=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==l?void 0:l.getField))return null;let o=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))||(o=t,!(null==(l=null==t?void 0:t.targetCollection)?void 0:l.getField)))break}return o}isAssociationTargetKeyWrite(e,t,l){var o;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==(o=i.isAssociationField)?void 0:o.call(i))||(0,b.E4)(i))&&this.getAssociationTargetKeyFields(i).includes(n)}collectUpdateAssociationInitPatches(e,t){let l=this.collectAssociationPrefixPaths(e,t);if(!l.length)return[];let o=[];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)){o.push({path:[...n,"__is_new__"],value:!0});continue}if(this.isAssociationTargetKeyWrite(e,t,n)){o.push({path:[...n],value:{}});continue}return null}if("object"!=typeof l)return null}let n=new Map;for(let e of o){let t=(0,v.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 o=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)||[];o+=1,l.push({...e,__key:String(e.key),__order:o}),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 o of t){let t=F(k(null==o?void 0:o.mode)),n=(null==o?void 0:o.enable)!==!1,i=`${l}${o.__key}:block`;this.rules.has(i)&&this.removeRule(i);let r={id:i,source:t,priority:10+(o.__order||0),debounceMs:0,getEnabled:()=>n&&!!e,getTarget:()=>e,getValue:()=>null==o?void 0:o.value,getCondition:()=>null==o?void 0:o.condition,getContext:()=>this.options.getBlockContext()};this.rules.set(i,{rule:r,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 o=this.getModelTargetPath(e);if(!o)return;let n=null==e||null==(l=e.subModels)?void 0:l.field,i=!!(null==n?void 0:n.updateAssociation);!0!==this.updateAssociationByTargetPath.get(o)&&this.updateAssociationByTargetPath.set(o,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 o="function"==typeof(null==e?void 0:e.getProps)?e.getProps():null==e?void 0:e.props,n=null==o?void 0:o.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 o=l.filter(e=>"number"!=typeof e);return o.length?(0,v.Qc)(o):""}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 o=this.getDefaultRuleId(e);if(this.rules.has(o))return;let n=e.master||e,i=this.getAssignTemplateTargetPathForModel(e);this.bindMasterInitialValue(n,o);let r=()=>{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=r(),d=!1,u=()=>{let e=r();if(d||s.default.isEqual(e,a)||(d=!0),!this.hasAssignTemplateForTargetPath(i)||d||void 0===a)return e},c=()=>{if(!this.hasAssignTemplateForTargetPath(i))try{var e,t,l,o;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 r=null==n||null==(o=n.getStepParams)||null==(l=o.call(n,"formItemSettings","initialValue"))?void 0:l.defaultValue;if(void 0!==r)return r}catch{}},p={id:o,source:"default",priority:void 0!==u()?S:0,debounceMs:0,getEnabled:()=>void 0!==u()||void 0!==c(),getTarget:()=>this.getModelTargetNamePath(e)||l,getValue:()=>{let e=u();return void 0!==e?e:c()},getContext:()=>null==e?void 0:e.context};this.rules.set(o,{rule:p,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(o)}getModelTargetPath(e){try{var t;let l=null==e||null==(t=e.getStepParams)?void 0:t.call(e,"fieldSettings","init"),o=null==l?void 0:l.fieldPath;if(o)return String(o)}catch{}let l=null==e?void 0:e.fieldPath;if(l)return String(l);let o=this.getModelTargetNamePath(e);return(null==o?void 0:o.length)&&o.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",o=(null==t?void 0:t.uid)?String(t.uid):String(t);return`form-assign:${e}:${o}:${l}`}getDeepestFieldIndexKey(e){var t,l;let o=(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex),n=Array.isArray(o)?o:[];if(!n.length)return null;let i=n[n.length-1];if("string"!=typeof i)return null;let[r,a]=i.split(":");return!r||Number.isNaN(Number(a))?null:r}getDeepestToManyAssociationKey(e){let t=this.getRootCollection();if(!(null==t?void 0:t.getField))return null;let l=(0,v.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(l.length<2)return null;let o=t,n=null;for(let e=0;e<l.length-1;e++){var i,r;let t=l[e];if("string"!=typeof t)continue;let a=null==o||null==(i=o.getField)?void 0:i.call(o,t);if(!(null==a||null==(r=a.isAssociationField)?void 0:r.call(a)))break;let s=(0,b.E4)(a);if(s&&(n=t),s&&"number"==typeof l[e+1]&&(e+=1),!(null==(o=null==a?void 0:a.targetCollection)?void 0:o.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 o=null==e?void 0:e.context;return!!this.getDeepestFieldIndexKey(o)}tryRegisterAssignRuleInstancesForModel(e,t){var l,o,n,i;if(this.options.isDisposed()||!this.isModelInThisForm(e))return;let r=(l,o)=>{if(o&&0!==o.length)for(let i of(null==t||t.add(l),o)){var n;this.removeAssignRuleBlockInstance(i.__key),(null==e||null==(n=e.subModels)?void 0:n.field)&&this.removeRowGridAssignRuleInstances(i.__key);let t=F(k(null==i?void 0:i.mode)),o=(null==i?void 0:i.enable)!==!1,r=this.getAssignRuleInstanceId(i.__key,e);this.rules.has(r)&&this.removeRule(r);let a={id:r,source:t,priority:10+(i.__order||0),debounceMs:0,getEnabled:()=>o&&!!l,getTarget:()=>l,getValue:()=>null==i?void 0:i.value,getCondition:()=>null==i?void 0:i.condition,getContext:()=>null==e?void 0:e.context};this.rules.set(r,{rule:a,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(r)}};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 o=this.getDeepestToManyAssociationKey(e);o&&o===l&&r(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&&r(a,s);let d=null==e||null==(o=e.subModels)?void 0:o.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,b.E4)(u);if(c&&!p){let e=`${a}.`;for(let[t,l]of this.assignTemplatesByTargetPath.entries())t&&"string"==typeof t&&t.startsWith(e)&&r(t,l)}}tryUnregisterAssignRuleInstancesForModel(e){var t,l,o,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 o=this.getDeepestToManyAssociationKey(e);o&&o===l&&i(t)}return}if(!(null==e||null==(t=e.subModels)?void 0:t.field))return;let r=this.getModelTargetPath(e);if(!r)return;let a=this.assignTemplatesByTargetPath.get(r)||[];a.length&&i(a);let s=null==e||null==(l=e.subModels)?void 0:l.field,d=null==s||null==(o=s.context)?void 0:o.collectionField,u=!!(null==d||null==(n=d.isAssociationField)?void 0:n.call(d)),c=(0,b.E4)(d);if(u&&!c){let e=`${r}.`;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,o=this.defaultRuleIdsByMasterUid.get(l)||new Set;if(o.add(t),this.defaultRuleIdsByMasterUid.set(l,o),this.defaultRuleMasterDisposers.has(l))return;let n=(0,m.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,o)=>{var n;if(s.default.isEqual(t,o))return;let i=this.defaultRuleIdsByMasterUid.get(l);if(!i)return;let r=(null==e||null==(n=e.getProps)?void 0:n.call(e))??(null==e?void 0:e.props),a=void 0!==(null==r?void 0:r.initialValue)?S: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(),o=this.options.tryResolveNamePath(e,l);if(o){let e=(0,v.Qc)(o),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,o]of(l&&clearTimeout(l),this.ruleDebounceTimersById.delete(e),this.ruleDebounceUntilById.delete(e),this.defaultRuleIdsByMasterUid.entries())){if(!o.has(e)||(o.delete(e),o.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:o}=t;o.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 o=setTimeout(()=>{this.ruleDebounceTimersById.delete(e),!this.rulesEnabled||this.runningRules||this.pendingRuleIds.has(e)&&this.flushRules()},n);this.ruleDebounceTimersById.set(e,o)}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,_.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,o;let n=null==(l=this.rules.get(e))?void 0:l.rule,i=null==(o=this.rules.get(t))?void 0:o.rule,r=(null==n?void 0:n.priority)??0,a=(null==i?void 0:i.priority)??0;return r!==a?r-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:o}=t;o.runSeq+=1;let n=o.runSeq,i=o.scheduledAtWriteSeq,r=this.prepareRuleContext(l),{baseCtx:a,targetNamePath:s,targetKey:d,clearDeps:u,disposeBinding:c}=r;if(!this.shouldRunRule(l,s,d,a)||!s||!d){u(o),c();return}let p=s,m=d,{collector:h,evalCtx:f}=this.createRuleCollectorAndContext(l,r);if(l.getCondition&&!await this.evaluateRuleCondition(l,o,n,f,h))return;let g=await this.resolveRuleValue(l,o,n,f,h);if(g===M||n!==o.runSeq)return;this.commitRuleDeps(l,o,h);let y=this.getToManyAggregateSourceInfo(a,l.getValue()),_=this.normalizeUnresolvedToManyAggregateForScalarTarget(a,p,g,y);if(_.skip)return;let b=_.hasValue?_.value:g,x=this.normalizeResolvedValueForTarget(a,b),w=this.normalizeResolvedValueForAssociationTarget(a,p,x),S=this.normalizeAggregateArrayForScalarTarget(a,p,w,y);if(S===M||this.shouldSkipEmptyArrayAggregateForScalarTarget(a,p,S)||this.shouldSkipMultiValueAggregateForScalarTarget(a,p,S,y)||"default"===l.source&&!this.checkDefaultRuleCanApply(S,p,m,u,c,o))return;if("override"===l.source&&this.options.findUserEditedHit(m))return void c();if("default"===l.source){let e=this.lastRuleWriteByTargetKey.get(m);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(m);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 k=S;if(this.isAssociationTargetSemanticallyEqual(a,p,this.options.getFormValueAtPath(p),k))return;let F=this.collectUpdateAssociationInitPatches(a,p);if(null==F)return;if("system"===l.source||"default"===l.source||"override"===l.source){var C,A;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,v.Qc)(l)===m&&(e.setProps({value:S}),null==(A=t.setProps)||A.call(t,{value:S}))}}let P=this.options.getWriteSeq(),T=[...F,{path:p,value:S}];await this.options.setFormValues(f,T,{source:l.source,txId:this.currentRuleTxId||void 0});let j=this.options.getWriteSeq();j!==P&&this.lastRuleWriteByTargetKey.set(m,{source:l.source,priority:l.priority,writeSeq:j})}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,y.dayjs)(t,"YYYY-MM-DD",!0);return l.isValid()?l.startOf("day").toISOString():e}normalizeResolvedValueForTarget(e,t){var l,o,n;let i=null==e||null==(n=e.model)||null==(o=n.context)||null==(l=o.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),o=1===l.length?l[0]:null,n=e=>{if(null==e)return e;if(this.isPrimitiveAssociationTargetValue(e))return o?e:w;if(!e||"object"!=typeof e)return w;if(o)return void 0===e[o]?w:e[o];let t={};for(let o of l){if(void 0===e[o])return w;t[o]=e[o]}return t};if((0,b.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===w)return w;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,o){var n;let i=this.resolveCollectionFieldByNamePath(e,t);if(!(null==i||null==(n=i.isAssociationField)?void 0:n.call(i)))return s.default.isEqual(l,o);let r=this.extractAssociationIdentity(i,l),a=this.extractAssociationIdentity(i,o);return r===w||a===w?s.default.isEqual(l,o):s.default.isEqual(r,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 o,n;let i=t[e];if("string"!=typeof i||!i)break;let r=null==l||null==(o=l.getField)?void 0:o.call(l,i);if(!r)break;if(e===t.length-1)return r;if(!(null==r||null==(n=r.isAssociationField)?void 0:n.call(r))||!(null==r?void 0:r.targetCollection))break;if((0,b.E4)(r)){if("number"!=typeof t[e+1])return null;e+=1}if(!(null==(l=r.targetCollection)?void 0:l.getField))break}return null}normalizeResolvedValueForAssociationTarget(e,t,l){var o;let n=this.resolveCollectionFieldByNamePath(e,t);if(!(null==n||null==(o=n.isAssociationField)?void 0:o.call(n)))return l;let i=this.getAssociationTargetKeyFields(n),r=1===i.length?i[0]:null,a=e=>{if(null!=e)return r&&this.isPrimitiveAssociationTargetValue(e)?{[r]:e}:e};if((0,b.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(),o=this.options.tryResolveNamePath(t,l),n=o?(0,v.Qc)(o):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:o,targetKey:n,clearDeps:e=>{e.depDisposers.forEach(e=>e()),e.depDisposers=[],e.deps=new Set},disposeBinding:i}}shouldApplyDefaultRuleInCurrentState(e){var t,l,o;return"update"!==(null==(t=(l=this.options).getActionName)?void 0:t.call(l))||(null==(o=this.getItemContext(e))?void 0:o.__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,o,n,i;let r,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)||(r=null==s||null==(n=s.getField)?void 0:n.call(s,e),!(null==r||null==(i=r.isAssociationField)?void 0:i.call(r))))break;a=r,s=null==r?void 0:r.targetCollection}let d=(null==a||null==(l=a.targetCollection)?void 0:l.filterTargetKey)??(null==a||null==(o=a.targetCollection)?void 0:o.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 o=t.length-1;o>=0;o--){if("number"!=typeof t[o])continue;let n=t.slice(0,o+1),i=this.getRowTargetKey(e,n),r=this.options.getFormValueAtPath(n),a=(0,x.r5)(r,i),s=(0,x.r5)(l.value,i);return!!a&&!!s&&a!==s}return!1}shouldRunRule(e,t,l,o){return!(!e.getEnabled()||!t||!l||this.isStaleToManyItemContext(o)||this.isMismatchedToManyItemContext(o,t)||"default"===e.source&&(!this.shouldApplyDefaultRuleInCurrentState(o)||this.options.findExplicitHit(l)))&&!("override"===e.source&&this.options.findUserEditedHit(l))}createRuleCollectorAndContext(e,t){let{baseCtx:l,targetNamePath:o}=t,n=e.getValue(),i=(0,r.isRunJSValue)(n),a={deps:new Set,wildcard:!1};if(e.getCondition&&(0,f.G)(e.getCondition(),a),i?(0,f.Wp)(n,a):(0,f.G)(n,a),o)for(let e of((0,f.Dd)(o,a),this.collectAssociationPrefixPaths(l,o)))(0,f.Dd)(e,a);let s=this.createRuleEvaluationContext(l,a,o);return{collector:a,evalCtx:s,rawValue:n,isRunJS:i}}async evaluateRuleCondition(e,t,l,o,n){let i=e.getCondition;if(!i)return!0;let r=i(),a=r;if(r)try{var s;a=await (null==o||null==(s=o.resolveJsonTemplate)?void 0:s.call(o,r))}catch{a=r}return l===t.runSeq&&(!r||!!(0,h.F)(o,a)||(this.commitRuleDeps(e,t,n),!1))}async resolveRuleValue(e,t,l,o,n){let i=e.getValue();return(0,r.isRunJSValue)(i)?this.resolveRunJSValue(i,t,l,o,n,e):this.resolveTemplateValue(i,t,l,o,n,e)}async resolveRunJSValue(e,t,l,o,n,i){try{let{code:a,version:s}=(0,r.normalizeRunJSValue)(e),d=await (0,r.runjsWithSafeGlobals)(o,a,{version:s});if(!(null==d?void 0:d.success)){if(l!==t.runSeq)return M;return this.commitRuleDeps(i,t,n),M}return d.value}catch{if(l!==t.runSeq)return M;return this.commitRuleDeps(i,t,n),M}}async resolveTemplateValue(e,t,l,o,n,i){try{var r;return await (null==o||null==(r=o.resolveJsonTemplate)?void 0:r.call(o,e))}catch{if(l!==t.runSeq)return M;return this.commitRuleDeps(i,t,n),M}}commitRuleDeps(e,t,l){let o=new Set(l.deps);l.wildcard&&o.add("fv:*"),this.updateRuleDeps(e,t,o)}isScalarValueTarget(e,t){var l;let o=this.resolveCollectionFieldByNamePath(e,t);return!((null==o||null==(l=o.isAssociationField)?void 0:l.call(o))&&(0,b.E4)(o)||this.isArrayValueCollectionField(o))&&(!!o||!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,o){return void 0===l&&o&&this.isScalarValueTarget(e,t)?Array.isArray(o.arrayValue)&&0===o.arrayValue.length?this.isUserClearedToManyAggregate(o)?{skip:!1,hasValue:!0,value:this.getClearedAggregateValueForScalarTarget(e,t)}:{skip:!0,hasValue:!1}:Array.isArray(o.arrayValue)&&o.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 o=e;return!0===o.multiple||"array"===o.type||"array"===((null==(t=o.uiSchema)?void 0:t.type)??(null==(l=o.schema)?void 0:l.type))||["multipleSelect","checkboxGroup","json"].includes("string"==typeof o.interface?o.interface:"")}stringifyAggregateItem(e){if(e&&"object"==typeof e)try{return JSON.stringify(e)}catch{}return String(e)}normalizeAggregateArrayForScalarTarget(e,t,l,o){if(!Array.isArray(l)||!this.isScalarValueTarget(e,t)||!o)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(", "):M:this.isUserClearedToManyAggregate(o)?this.getClearedAggregateValueForScalarTarget(e,t):M}shouldSkipMultiValueAggregateForScalarTarget(e,t,l,o){return!!o&&!!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,o,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 r=i,a=(null==(o=r.uiSchema)?void 0:o.type)??(null==(n=r.schema)?void 0:n.type);return"string"===r.type||"text"===r.type||"string"===a||["input","textarea","email","phone","url","uuid","nanoid","markdown","richText","vditor","password","color"].includes("string"==typeof r.interface?r.interface:"")}getLatestWriteMetaForPath(e){let t=(0,v.Qc)(e),l=this.options.lastWriteMetaByPathKey.get(t);for(let[e,o]of this.options.lastWriteMetaByPathKey.entries())(e===t||e.startsWith(`${t}.`)||e.startsWith(`${t}[`))&&(!l||o.writeSeq>l.writeSeq)&&(l=o);return l}getToManyAggregateSourceInfo(e,t){let l=this.extractSingleLocalFormValuesPath(t);if(!l)return null;let o=(0,v.EA)(l).filter(e=>"object"!=typeof e);if(o.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<o.length-1;t++){var r,a;let d=o[t];if("string"!=typeof d)break;let u=null==n||null==(r=n.getField)?void 0:r.call(n,d);if(!(null==u||null==(a=u.isAssociationField)?void 0:a.call(u)))break;if(i.push(d),(0,b.E4)(u)){let t=this.options.getFormValueAtPath(i),o=this.getLocalFormValuesSnapshot(e),n=o&&"object"==typeof o?s.default.get(o,i):void 0;return{subPath:l,arrayPath:[...i],arrayValue:void 0!==t?t:n,lastWrite:this.getLatestWriteMetaForPath(i)}}if(!(null==(n=u.targetCollection)?void 0:n.getField))break}return null}checkDefaultRuleCanApply(e,t,l,o,n,i){if(void 0===e)return!1;if(this.options.findExplicitHit(l))return o(i),n(),!1;let r=this.options.getFormValueAtPath(t),a=this.options.lastDefaultValueByPathKey.get(l),d=(0,_.Po)(r)||void 0!==a&&s.default.isEqual(r,a),u=(0,m.isObservable)(e)?(0,m.toJS)(e):e;return!d&&s.default.isEqual(r,u)?(this.options.lastDefaultValueByPathKey.set(l,u),!1):d}createRuleEvaluationContext(e,t,l){var o;let n,i=this.options.createTrackingFormValues(t),a=new r.FlowContext;try{a.delegate(e)}catch{}let s=null==e||null==(o=e.getPropertyOptions)?void 0:o.call(e,"formValues");s&&"object"==typeof s?a.defineProperty("formValues",{...s,get:()=>i,cache:!1}):a.defineProperty("formValues",{get:()=>i,cache:!1});let d="function"==typeof a.resolveJsonTemplate?a.resolveJsonTemplate.bind(a):void 0;a.defineMethod("resolveJsonTemplate",async l=>{let o=this.createLocalTemplateTokenStore(),n=this.resolveLocalFormValuesTemplates(e,l,t,o),i=n.matched?n.value:l,r=d?await d(i):i;return this.restoreLocalTemplateTokens(r,o)});let u=!1,c=()=>(u||(n=this.buildItemChainValue(e,i,l)??(null==e?void 0:e.item),u=!0),n);return a.defineProperty("item",{get:c,cache:!1}),a}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,m.isObservable)(l)?(0,m.toJS)(l):l}resolveLocalFormValuesPath(e,t){let l=this.getLocalFormValuesSnapshot(e);if(l&&"object"==typeof l)return(0,__rspack_external__nocobase_shared_5d5808a9.getValuesByPath)(l,t)}recordLocalFormValuesDep(e,t){let l=(0,v.EA)(e).filter(e=>"object"!=typeof e);if(!l.length){t&&(t.wildcard=!0);return}(0,f.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 o=`__NOCObase_FORM_VALUE_LITERAL_${t}__`;return t+=1,e.set(o,l),o}}}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,o]of t.values.entries())l.includes(e)&&(l=l.split(e).join(this.stringifyTemplateReplacement(o)??""));return l}if(Array.isArray(e))return e.map(e=>this.restoreLocalTemplateTokens(e,t));if(s.default.isPlainObject(e)){let l={};for(let[o,n]of Object.entries(e))l[o]=this.restoreLocalTemplateTokens(n,t);return l}return e}resolveLocalFormValuesTemplates(e,t,l,o){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:o?o.protect(i):i}:{matched:!1,value:t}}let i=!1,r=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 r=this.resolveLocalFormValuesPath(e,n),a=this.stringifyTemplateReplacement(r);return void 0===a?t:(i=!0,o?o.protect(a):a)});return{matched:i,value:r}}if(Array.isArray(t)){let n=!1,i=t.map(t=>{let i=this.resolveLocalFormValuesTemplates(e,t,l,o);return i.matched&&(n=!0),i.value});return n?{matched:n,value:i}:{matched:!1,value:t}}if(s.default.isPlainObject(t)){let n=!1,i={};for(let[r,a]of Object.entries(t)){let t=this.resolveLocalFormValuesTemplates(e,a,l,o);t.matched&&(n=!0),i[r]=t.value}return n?{matched:n,value:i}:{matched:!1,value:t}}return{matched:!1,value:t}}buildItemChainValue(e,t,l){let o=this.getRootCollection()||this.getCollectionFromContext(e),n=(e,t,l,o)=>({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:o}),i=this.options.getBlockContext(),r=(()=>{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==r?void 0:r.index,null==r?void 0:r.length,null==r?void 0:r.parentItem),__is_new__:(null==r?void 0:r.__is_new__)??(null==t?void 0:t.__is_new__),__is_stored__:(null==r?void 0:r.__is_stored__)??(null==t?void 0:t.__is_stored__)};if(!l||!Array.isArray(l)||!l.length||!(null==o?void 0:o.getField))return;let d=[],u=[],c=o;for(let e=0;e<l.length;e++){var p,m;let t=l[e];if("string"!=typeof t)break;let o=null==c||null==(p=c.getField)?void 0:p.call(c,t);if(!(null==o||null==(m=o.isAssociationField)?void 0:m.call(o)))break;let n=(0,b.E4)(o);if(u.push(t),n){let t=l[e+1];if("number"==typeof t)u.push(t),e+=1;else if(e!==l.length-1)break}let i=null==o?void 0:o.targetCollection;if(!i)break;d.push({path:[...u],toMany:n}),c=i}let h=e=>{if(e<0)return a;let l=d[e],o=s.default.get(t,l.path),i=l.path[l.path.length-1],r=l.toMany&&"number"==typeof i,u=r?i:void 0,c=(()=>{if(!l.toMany)return;if(!r)return Array.isArray(o)?o.length:void 0;let e=l.path.slice(0,-1),n=s.default.get(t,e);return Array.isArray(n)?n.length:void 0})();return n(o,u,c,h(e-1))};return d.length?h(d.length-1):void 0}getFieldIndexSignature(e){var t,l;let o=(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex);return(Array.isArray(o)?o:[]).filter(e=>"string"==typeof e).join("|")}updateRuleDeps(e,t,l){var o,n;if(t.depDisposers.forEach(e=>e()),t.depDisposers=[],t.deps=l,l.has("fv:*")){let l=(0,m.reaction)(()=>this.options.changeTick.value,()=>this.scheduleRule(e.id));t.depDisposers.push(l)}let i=(()=>{try{return e.getContext()}catch{return}})(),r=(null==i||null==(n=i.model)||null==(o=n.context)?void 0:o.fieldIndex)??(null==i?void 0:i.fieldIndex);if(Array.isArray(r)&&r.some(e=>"string"==typeof e)){let l=(0,m.reaction)(()=>this.getFieldIndexSignature(i),()=>this.scheduleRule(e.id));t.depDisposers.push(l)}for(let o of l){if("fv:*"===o)continue;if(!o.startsWith("fv:")&&!o.startsWith("ctx:")){let l=(0,v.c1)(o),n=(0,m.reaction)(()=>s.default.get(this.options.valuesMirror,l),()=>this.scheduleRule(e.id));t.depDisposers.push(n);continue}if(o.startsWith("fv:")){let l=o.slice(3),n=(0,v.c1)(l),i=(0,m.reaction)(()=>s.default.get(this.options.valuesMirror,n),()=>this.scheduleRule(e.id));t.depDisposers.push(i);continue}let l=o.slice(4),n=l.indexOf(":"),r=n>=0?l.slice(0,n):l,a=n>=0?l.slice(n+1):"",d=a?(0,v.EA)(a).filter(e=>"object"!=typeof e):[];if("item"===r){if(d.length){let l=this.options.createTrackingFormValues({deps:new Set,wildcard:!1}),o=(0,m.reaction)(()=>{var t;let o=null==(t=e.getTarget)?void 0:t.call(e),n=o?this.options.tryResolveNamePath(i,o):null,r=this.buildItemChainValue(i,l,n)??(null==i?void 0:i.item);return s.default.get(r,d)},()=>this.scheduleRule(e.id));t.depDisposers.push(o)}continue}let u=(0,m.reaction)(()=>{let e=i?i[r]:void 0;return d.length?s.default.get(e,d):e},()=>this.scheduleRule(e.id));t.depDisposers.push(u)}}constructor(e){this.rules=new Map,this.lastRuleWriteByTargetKey=new Map,this.assignTemplatesByTargetPath=new Map,this.formItemTargetPaths=new Set,this.updateAssociationByTargetPath=new Map,this.pendingRuleIds=new Set,this.ruleDebounceUntilById=new Map,this.ruleDebounceTimersById=new Map,this.defaultRuleIdsByMasterUid=new Map,this.defaultRuleMasterDisposers=new Map,this.runningRules=!1,this.rulesEnabled=!1,this.currentRuleTxId=null,this.options=e}}class A{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)}toMirrorSnapshot(e){let t=e=>s.default.cloneDeepWith(e,e=>{if((0,m.isObservable)(e)){let l=(0,m.toJS)(e);if(l!==e)return t(l)}if(Array.isArray(e)&&"function"!=typeof e.constructor){let l=Array(e.length);for(let o=0;o<e.length;o++)Object.hasOwn(e,o)&&(l[o]=t(e[o]));return l}if(e&&"object"==typeof e&&!(Array.isArray(e)||s.default.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,v.Qc)(e),o=this.getFormValueAtPath(e),n=this.lastDefaultValueByPathKey.get(l),i=(0,m.isObservable)(t)?(0,m.toJS)(t):t,r=(0,m.isObservable)(o)?(0,m.toJS)(o):o,a=void 0!==n&&s.default.isEqual(r,n);if(this.findExplicitHit(l)&&!a)return!1;let d=(0,_.Po)(o)||a;return!d&&s.default.isEqual(o,i)?(this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(i)),!1):d}canApplyOverrideValuePatch(e){return!!(null==e?void 0:e.length)&&!this.findUserEditedHit((0,v.Qc)(e))}recordDefaultValuePatch(e,t){if(!(null==e?void 0:e.length))return;let l=(0,v.Qc)(e),o=arguments.length>=2?(0,m.isObservable)(t)?(0,m.toJS)(t):t:this.getFormValueAtPath(e);this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(o));let n=this.getFormValueAtPath(e),i=(0,m.isObservable)(n)?(0,m.toJS)(n):n;s.default.isEqual(i,o)&&this.clearExplicitForDefaultPatch(l)}getFormValueAtPath(e){var t,l;let o=null==(t=(l=this).getForm)?void 0:t.call(l);if(o&&"function"==typeof o.getFieldValue)return o.getFieldValue(e);if(o&&"function"==typeof o.getFieldsValue){let t=o.getFieldsValue(!0);return s.default.get(t,e)}}mount(e){var t,l;if(this.disposed)return;this.formPatcher.patch(this.getForm());let o=null==(l=this.model)||null==(t=l.flowEngine)?void 0:t.emitter;if(o&&(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)},o.on("model:mounted",this.mountedListener),o.on("model:unmounted",this.unmountedListener)),this.rebuildMountedFieldModelIndex(),null==e?void 0:e.sync)){let e=this.getFormValuesSnapshot();e&&"object"==typeof e&&(s.default.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&&s.default.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=[],o=new Set,n=!1,i=!1;for(let r of e||[]){let e=null==r?void 0:r.name,a=this.normalizeObservedNamePath(e);if(!(null==a?void 0:a.length))continue;let d=t.getFieldValue(a),u=s.default.get(this.valuesMirror,a);if(!s.default.isEqual(d,u)&&(i||(this.writeSeq+=1,i=!0),s.default.set(this.valuesMirror,a,this.toMirrorSnapshot(d)),l.push(a),(null==r?void 0:r.touched)===!0&&!this.shouldIgnoreSyntheticTouchedInit(a,u,d))){let e=(0,v.Qc)(a);this.shouldKeepDefaultPathValueEnabled(a,d)||(o.add(e),n=!0)}}if(!l.length)return;let r=this.isSuppressed();if(!r&&o.size)for(let e of o)this.markExplicit(e),this.markUserEdited(e);if(this.bumpChangeTick(),r)return;let a=n?"user":"system",d=this.writeSeq;for(let e of l)this.lastWriteMetaByPathKey.set((0,v.Qc)(e),{source:a,writeSeq:d});this.lastObservedChangedPaths=l,this.lastObservedSource=a;let u=++this.lastObservedToken;queueMicrotask(()=>{this.disposed||this.lastObservedToken===u&&(this.lastObservedChangedPaths=null,this.lastObservedSource=null)})}shouldIgnoreSyntheticTouchedInit(e,t,l){if(!(null==e?void 0:e.length)||void 0!==t||!(0,_.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),o=this.getFormValueAtPath(l);return!!(null==o?void 0:o.__is_new__)}return!1}isDeletedArrayItemPath(e,t){let l=Array.isArray(e)?e:(0,v.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 o=l.slice(0,e+1);return void 0===s.default.get(t,o)}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,o,n,i,r;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==(r=a.isAssociationField)?void 0:r.call(a))))break;s=a,d=null==a?void 0:a.targetCollection}let u=(null==s||null==(o=s.targetCollection)?void 0:o.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,x.r5)(e,this.getArrayItemTargetKey(t))}reconcileArrayItemState(e,t,l){let o=new Set;for(let n of e||[]){if(!(null==n?void 0:n.length))continue;let e=(0,v.Qc)(n);if(o.has(e))continue;o.add(e);let i=s.default.get(this.valuesMirror,n),r=this.getObservedChangedValue(n,t,l);if(!Array.isArray(i)||!Array.isArray(r))continue;let a=new Map;r.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,o){let n=(0,v.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 r=this.getArrayItemIdentity(l[i],t);if(!r)return{action:"keep"};let a=o.get(r);if(null==a)return{action:"delete"};if(a===i)return{action:"keep"};let s=[...n];return s[t.length]=a,{action:"move",key:(0,v.Qc)(s)}}reconcileArrayItemSet(e,t,l,o){let n=new Set,i=!1;for(let r of e){let e=this.getReconciledArrayItemPath(r,t,l,o);if("delete"===e.action){i=!0;continue}if("move"===e.action){i=!0,n.add(e.key);continue}n.add(r)}if(i)for(let t of(e.clear(),n))e.add(t)}reconcileArrayItemMap(e,t,l,o){let n=new Map,i=!1;for(let[r,a]of e){let e=this.getReconciledArrayItemPath(r,t,l,o);if("delete"===e.action){i=!0;continue}if("move"===e.action){i=!0,n.set(e.key,a);continue}n.set(r,a)}if(i)for(let[t,l]of(e.clear(),n))e.set(t,l)}reconcileObservableBindings(e,t,l){let o=new Map,n=!1;for(let[i,r]of this.observableBindings){let a=this.getReconciledArrayItemPath(i,e,t,l);if("delete"===a.action){n=!0,r.dispose();continue}if("move"===a.action){n=!0,r.pathKey=a.key,o.set(a.key,r);continue}o.set(i,r)}if(n)for(let[e,t]of(this.observableBindings.clear(),o))this.observableBindings.set(e,t)}getObservedChangedValue(e,t,l){if(s.default.has(l,e))return s.default.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 s.default.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 o of Object.keys(e))s.default.has(l,[o])||(l===t&&(l=Array.isArray(t)?[...t]:{...t}),s.default.set(l,[o],e[o]));return l}handleFormValuesChange(e,t){if(this.disposed||this.isSuppressed())return;let l=Object.keys(e||{}).map(e=>[e]),o=this.lastObservedChangedPaths&&this.lastObservedChangedPaths.length?this.lastObservedChangedPaths:l,n=this.lastObservedSource??"user";this.lastObservedChangedPaths=null,this.lastObservedSource=null;let i=this.getFormValuesSnapshot(),r=i&&"object"==typeof i?i:t&&"object"==typeof t?t:e,a=this.getObservedSnapshot(e,r);this.reconcileArrayItemState([...o,...l],e,a),this.pruneDeletedArrayItemState(a);let d=this.deriveExplicitPaths(o,e,a,this.valuesMirror).filter(e=>!this.isDeletedArrayItemPath(e,a)),u=!1,c=!1,p=[];for(let t of o){if(!(null==t?void 0:t.length))continue;let l=this.getObservedChangedValue(t,e,a),o=s.default.get(this.valuesMirror,t);s.default.isEqual(o,l)||(c||(this.writeSeq+=1,c=!0),s.default.set(this.valuesMirror,t,this.toMirrorSnapshot(l)),u=!0,p.push(t))}u&&this.bumpChangeTick();let m=[];for(let e of d)this.shouldKeepDefaultPathEnabled(e,a)||m.push(e);for(let e of m){let t=(0,v.Qc)(e);this.markExplicit(t),"user"===n&&this.markUserEdited(t)}if(u){let e=this.writeSeq;for(let t of p)(null==t?void 0:t.length)&&this.lastWriteMetaByPathKey.set((0,v.Qc)(t),{source:n,writeSeq:e})}let h=(0,_.ao)();this.emitFormValuesChange({source:n,txId:h,changedPaths:o,changedValues:e,allValues:a,allValuesSnapshot:a})}deriveExplicitPaths(e,t,l,o){let n=[],i=new Set;for(let r of e||[]){if(!(null==r?void 0:r.length))continue;let e=s.default.get(o,r),a=this.getObservedChangedValue(r,t,l);this.collectExplicitDiffPaths(e,a,r,n,i)}return n}collectExplicitDiffPaths(e,t,l,o,n){if(s.default.isEqual(e,t))return 0;let i=Array.isArray(e),r=Array.isArray(t);if(i||r){if(i&&r){let i=Math.min(e.length,t.length),r=0;for(let a=0;a<i;a++)r+=this.collectExplicitDiffPaths(e[a],t[a],[...l,a],o,n);return e.length!==t.length?r+ +!!this.pushExplicitPath(l,o,n):r}return+!!this.pushExplicitPath(l,o,n)}let a=this.isPlainObjectValue(e),d=this.isPlainObjectValue(t);if(a||d){if(a&&d){let i=new Set([...Object.keys(e),...Object.keys(t)]),r=0;for(let a of i)r+=this.collectExplicitDiffPaths(e[a],t[a],[...l,a],o,n);return 0===r&&this.isObjectCleared(e,t)?+!!this.pushExplicitPath(l,o,n):r}this.isObjectCleared(e,t)}return+!!this.pushExplicitPath(l,o,n)}pushExplicitPath(e,t,l){if(!(null==e?void 0:e.length))return!1;let o=(0,v.Qc)(e);return!(!o||l.has(o))&&(l.add(o),t.push([...e]),!0)}isPlainObjectValue(e){return s.default.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 o,n,i,r;if(this.disposed)return;let a=null==(o=(n=this).getForm)?void 0:o.call(n);if(!a)return;let d=(null==l?void 0:l.source)??"system",u=(null==l?void 0:l.triggerEvent)!==!1,c=(null==l?void 0:l.txId)??(0,_.ao)(),p=(null==l?void 0:l.markExplicit)??("default"!==d&&"linkage"!==d),f=void 0===(null==l?void 0:l.txId),g="linkage"===d&&Number.isFinite(Number(null==l?void 0:l.linkageScopeDepth))?Number(null==l?void 0:l.linkageScopeDepth):0,y="linkage"===d&&"string"==typeof(null==l?void 0:l.linkageTxId)&&l.linkageTxId?String(l.linkageTxId):void 0,b=e=>{if("linkage"!==d||!y)return!1;let t=this.lastWriteMetaByPathKey.get(e);return!!t&&"linkage"===t.source&&!!t.linkageTxId&&t.linkageTxId===y&&(Number.isFinite(Number(t.linkageScopeDepth))?Number(t.linkageScopeDepth):0)>g},x=e=>"linkage"===d?{source:d,writeSeq:e,linkageScopeDepth:g,linkageTxId:y}:{source:d,writeSeq:e},M=e=>"linkage"===d&&y?{...e,linkageTxId:y}: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!b(t)&&!s.default.isEqual(this.getFormValueAtPath([t]),l)}),l=Object.fromEntries(e),o=e.map(e=>{let[t]=e;return t});if(!o.length)return;o.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}),s.default.set(this.valuesMirror,[t],this.toMirrorSnapshot(l)),this.syncMountedFieldModelValue([t],l);this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let n=this.writeSeq;for(let e of o)this.lastWriteMetaByPathKey.set(e,x(n));if(p)for(let e of o)this.markExplicit(e),"user"===d&&this.markUserEdited(e);if(u){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(M({source:d,txId:c,changedPaths:o.map(e=>[e]),changedValues:l,allValues:e,allValuesSnapshot:e}))}return}let o=new Map,n=0;for(let l of t){let t=null==l?void 0:l.condition;if(t&&!(0,h.F)(e,t))continue;let i=this.resolveNamePath(e,l.path),r=(0,v.Qc)(i),a=l.value,d=this.toMirrorSnapshot(a);if(b(r))continue;let u=this.getFormValueAtPath(i);s.default.isEqual(u,d)||(n+=1,o.set(r,{order:n,namePath:i,value:d,rawValue:a,pathKey:r}))}let f=Array.from(o.values()).sort((e,t)=>e.order-t.order).map(e=>({namePath:e.namePath,value:e.value,rawValue:e.rawValue,pathKey:e.pathKey}));if(!f.length)return;let w=this.txWriteCounts.get(c)||new Map;this.txWriteCounts.set(c,w);let S=[];for(let e of f){let t=(w.get(e.pathKey)||0)+1;w.set(e.pathKey,t),t>_.li||S.push(e)}if(!S.length)return;this.writeSeq+=1;let k=this.writeSeq;for(let{pathKey:e,rawValue:t}of S)if(!(0,m.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 S)null==(r=a.setFieldValue)||r.call(a,e,t),s.default.set(this.valuesMirror,e,this.toMirrorSnapshot(t)),this.syncMountedFieldModelValue(e,t),l.push(e);this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}for(let{pathKey:e}of S)this.lastWriteMetaByPathKey.set(e,x(k));if(p)for(let{pathKey:e}of S)this.markExplicit(e),"user"===d&&this.markUserEdited(e);if("default"===d)for(let{namePath:e,pathKey:t}of S){let l=this.getFormValueAtPath(e);this.lastDefaultValueByPathKey.set(t,this.toMirrorSnapshot(l))}for(let{rawValue:t,pathKey:l}of S){if(!(0,m.isObservable)(t))continue;let o=t,n={source:d,pathKey:l,dispose:()=>{}},i=(0,m.observe)(o,()=>{let t=n.pathKey;this.applyBoundValue(e,(0,v.c1)(t),t,(0,m.toJS)(o),d,g,y)});n.dispose=i;let r=this.observableBindings.get(l);r&&r.dispose(),this.observableBindings.set(l,n)}if(u){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(M({source:d,txId:c,changedPaths:l,changedValues:{},allValues:e,allValuesSnapshot:e}))}}finally{f&&this.txWriteCounts.delete(c)}}applyBoundValue(e,t,l,o,n,i,r){var a,d,u;if(this.disposed)return;let c=null==(a=(d=this).getForm)?void 0:a.call(d);if(!c||"override"===n&&this.findUserEditedHit(l))return;let p=this.toMirrorSnapshot(o),m=s.default.get(this.valuesMirror,t);if(s.default.isEqual(m,p))return;this.writeSeq+=1;let h=this.writeSeq;this.suppressFormCallbackDepth++;try{null==(u=c.setFieldValue)||u.call(c,t,p),s.default.set(this.valuesMirror,t,this.toMirrorSnapshot(p)),this.syncMountedFieldModelValue(t,p),this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let f="linkage"===n?{source:n,writeSeq:h,linkageScopeDepth:Number.isFinite(Number(i))?Number(i):0,linkageTxId:"string"==typeof r&&r?r:void 0}:{source:n,writeSeq:h};this.lastWriteMetaByPathKey.set(l,f);let g=(0,_.ao)(),v=this.getFormValuesSnapshot(),y={source:n,txId:g,changedPaths:[t],changedValues:{},allValues:v,allValuesSnapshot:v};if("linkage"===n&&r&&(y.linkageTxId=r),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,o;let n=(null==e||null==(o=e.model)||null==(l=o.context)?void 0:l.fieldIndex)??(null==e?void 0:e.fieldIndex);return(0,v.IJ)(t,n)}bumpChangeTick(){this.changeTick.value+=1}emitFormValuesChange(e){var t,l,o,n;null==(t=(l=this.model).dispatchEvent)||t.call(l,"formValuesChange",e,{debounce:!0}),null==(n=this.model.emitter)||null==(o=n.emit)||o.call(n,"formValuesChange",e)}syncMountedFieldModelValue(e,t){let l=(0,v.Qc)(e);if(!l)return;let o=this.mountedFieldModelsByPathKey.get(l);if(!(null==o?void 0:o.size))return;let n=new Set;for(let e of Array.from(o))this.syncMountedFieldModelValueForModel(e,t,n)}syncMountedFieldModelValueForModel(e,t,l){var o,n,i;if(!e||l.has(e)||(l.add(e),!this.isMountedModelInThisForm(e)))return;let r={value:t};null==(o=e.setProps)||o.call(e,r);let a=null==(n=e.subModels)?void 0:n.field;null==a||null==(i=a.setProps)||i.call(a,r)}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,o=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=>o(e))};o(e)}indexMountedFieldModel(e){if(!this.isMountedModelInThisForm(e))return;let t=new Set;for(let l of this.getMountedModelNamePaths(e)){let e=(0,v.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 o=[],n=e=>{let t=this.normalizeNamePathValue(e);(null==t?void 0:t.length)&&o.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 r=new Set;return o.filter(e=>{let t=(0,v.Qc)(e);return!(!t||r.has(t))&&(r.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,v.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 o=l.startsWith(`${e}.`)||l.startsWith(`${e}[`);(l===e||!t&&o)&&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,v.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,v.c1)(e)))}shouldKeepDefaultPathEnabled(e,t){return this.shouldKeepDefaultPathValueEnabled(e,s.default.get(t,e))}shouldKeepDefaultPathValueEnabled(e,t){let l=(0,v.Qc)(e),o=this.lastDefaultValueByPathKey.get(l);if(void 0===o)return!1;let n=(0,m.isObservable)(t)?(0,m.toJS)(t):t;return s.default.isEqual(n,o)}isExplicit(e){return!!this.findExplicitHit(e)}findExplicitHit(e){if(this.explicitSet.has(e))return e;let t=(0,v.c1)(e),l=[];for(let e=0;e<t.length;e++){l.push(t[e]);let o=(0,v.Qc)(l);if(this.explicitSet.has(o)&&"number"!=typeof t[e+1])return o}return null}findUserEditedHit(e){if(this.userEditedSet.has(e))return e;let t=(0,v.c1)(e),l=[];for(let e=0;e<t.length;e++){l.push(t[e]);let o=(0,v.Qc)(l);if(this.userEditedSet.has(o)&&"number"!=typeof t[e+1])return o}for(let t of this.userEditedSet)if(this.isDescendantPathKey(t,e))return t;return null}isDescendantPathKey(e,t){if(!e||!t||e===t)return!1;let l=(0,v.c1)(e),o=(0,v.c1)(t);return!(l.length<=o.length)&&o.every((e,t)=>l[t]===e)}constructor(e){this.valuesMirror=(0,m.observable)({}),this.explicitSet=new Set,this.userEditedSet=new Set,this.lastDefaultValueByPathKey=new Map,this.lastWriteMetaByPathKey=new Map,this.observableBindings=new Map,this.changeTick=m.observable.ref(0),this.txWriteCounts=new Map,this.writeSeq=0,this.disposed=!1,this.suppressFormCallbackDepth=0,this.lastObservedChangedPaths=null,this.lastObservedSource=null,this.lastObservedToken=0,this.mountedFieldModelsByPathKey=new Map,this.mountedFieldModelPathKeys=new WeakMap,this.model=e.model,this.getForm=e.getForm,this.formPatcher=g({isSuppressed:()=>this.isSuppressed(),getCallerContext:()=>{var e;return null==(e=this.model)?void 0:e.context},setFormValues:this.setFormValues.bind(this)}),this.ruleEngine=new C({getBlockModelUid:()=>{var e;return String(null==(e=this.model)?void 0:e.uid)},getActionName:()=>{var e,t,l,o;return(null==(t=this.model)||null==(e=t.getAclActionName)?void 0:e.call(t))??(null==(o=this.model)||null==(l=o.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,o,n;return(null==(n=this.model)||null==(o=n.context)||null==(l=o.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,f.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,f.x3)({valuesMirror:this.valuesMirror,basePath:[],getFormValuesSnapshot:()=>this.getFormValuesSnapshot(),getFormValueAtPath:e=>this.getFormValueAtPath(e)})}}function P(e,t){let l=Array.isArray(e)?e:[],o=new Set,n=e=>{var l,o,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 r=t,a=[],s=null,d=null;for(let e=0;e<i.length-1;e++){let t=i[e],n=null==r||null==(l=r.getField)?void 0:l.call(r,t);if(!(null==n||null==(o=n.isAssociationField)?void 0:o.call(n))||!(null==n?void 0:n.targetCollection))break;a.push(t),s=a.join("."),d=n,r=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&&o.add(l)}return Array.from(o)}var T=l(3127);let j={formModelSettings:new Set(["layout","assignRules"]),eventSettings:new Set(["linkageRules"])},I="nb-flow-keep-mobile-horizontal",L=(0,i.css)`
235
+ `;return(0,o.jsxs)("div",{style:{maxHeight:300,overflowY:"auto"},children:[e.map(e=>(0,o.jsx)("div",{role:"option",onClick:()=>g(e.value),className:l,children:c(e.label)},e.value)),(0,o.jsx)(i.Divider,{style:{margin:"4px 0"}}),t.map(e=>(0,o.jsx)("div",{role:"option",className:l,onClick:()=>g(e.value),title:c(e.label),children:c(e.label)},e.value))]})};return(0,o.jsxs)(i.Space.Compact,{style:{...d.style,width:"100%"},children:[(0,o.jsx)(i.Select,{options:f,open:m,onDropdownVisibleChange:h,...d,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:g,dropdownRender:_}),["past","next"].includes(null==t?void 0:t.type)&&[(0,o.jsx)(i.InputNumber,{style:{flex:1},value:null==t?void 0:t.number,onChange:e=>{l({...t,number:e})}},"number"),(0,o.jsx)(i.Select,{value:null==t?void 0:t.unit,style:{minWidth:130,maxWidth:140},onChange:e=>{l({...t,unit:e})},options:[{value:"day",label:c("Day")},{value:"week",label:c("Calendar week")},{value:"month",label:c("Calendar Month")},{value:"year",label:c("Calendar Year")}],popupMatchSelectWidth:!0},"unit")],((null==t?void 0:t.type)==="exact"||!(null==t?void 0:t.type))&&(0,o.jsx)(y,{...d,value:t,onChange:l})]})}},6175(e,t,l){l.d(t,{S:()=>r});let o=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 r(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,o=i(e),n=i(l);return(1!==t.length||o)&&(o||!n)?o&&!n?[l,l]:t:[e,e]}return[t,t]}return o.has(e)?null==t||Array.isArray(t)?t:"string"==typeof t&&""===t.trim()?[]:[t]:t}},1961(e,t,l){l.d(t,{EditFormModel:()=>u});var o=l(1178),n=l(504),i=l(2793),r=l(7583);l(1649);var a=l(3890),s=l(2088),d=l(7093);class u extends s.F4{createResource(e,t){var l,o;if((null==(l=this.association)?void 0:l.type)==="hasOne"||(null==(o=this.association)?void 0:o.type)==="belongsTo"||Object.keys(t).includes("filterByTk")){let e=this.context.createResource(n.SingleRecordResource);return e.isNewRecord=!1,e}let i=this.context.createResource(n.MultiRecordResource);return i.setPageSize(1),i}isMultiRecordResource(){return this.resource instanceof n.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,o){let{submitHandler:n}=await Promise.resolve().then(l.bind(l,4084));await n(e,t,o)}async submit(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,{submitHandler:o}=await Promise.resolve().then(l.bind(l,4084));await o(this.context,e,t)}renderComponent(){var e,t;let{colon:l,labelAlign:r,labelWidth:a,labelWrap:d,layout:u}=this.props,c=!!this.context.flowSettingsEnabled,p=this.hasAvailableData(),m=!c&&!p,{heightMode:h,height:f}=this.decoratorProps,g=this.resource.loading||p?this.isMultiRecordResource()&&this.resource.getMeta("count")>1?(0,o.jsx)("div",{style:{textAlign:"center",marginTop:16},children:(0,o.jsx)(i.Pagination,{simple:!0,pageSize:1,showSizeChanger:!1,defaultCurrent:this.resource.getPage(),total:this.resource.getTotalPage(),onChange:this.handlePageChange,style:{display:"inline-block"}})}):null:(0,o.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,o.jsx)(s.JU,{model:this,gridModel:this.subModels.grid,layoutProps:{colon:l,labelAlign:r,labelWidth:a,labelWrap:d,layout:u},heightMode:h,height:f,grid:(0,o.jsx)(n.FlowModelRenderer,{model:this.subModels.grid,showFlowSettings:!1}),actions:(0,o.jsx)("div",{style:m?{pointerEvents:"none",opacity:.45}:void 0,children:(0,o.jsx)(n.DndProvider,{children:(0,o.jsxs)(i.Space,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||c)return(0,o.jsx)(n.Droppable,{model:e,children:(0,o.jsx)(n.MemoFlowModelRenderer,{model:e,showFlowSettings:!!this.context.flowSettingsEnabled&&this.actionFlowSettings,extraToolbarItems:this.actionExtraToolbarItems},e.uid)},e.uid)}),this.renderConfigureActions()]})})}),footer:g})}constructor(...e){super(...e),this.actionFlowSettings={showBackground:!1,showBorder:!1,toolbarPosition:"above"},this.actionExtraToolbarItems=[{key:"drag-handler",component:n.DragHandler,sort:1}],this.handlePageChange=async e=>{if(this.resource instanceof n.MultiRecordResource){let t=this.resource;t.setPage(e),t.loading=!0,await t.refresh(),await (0,d.Xi)(this,"paginationChange")}}}}u.scene=a.P.oam,u.blockCapabilityActionName="update",u.registerFlow({key:"formSettings",title:(0,n.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,o,n,i,a,s,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 m=e.resource.getMeta("currentFilterByTk"),h=!(0,r.isEqual)(u,m),f=null==(o=(n=e.model).getUserModifiedFields)?void 0:o.call(n),g=!!(null==f?void 0:f.size),v=()=>{if(!(null==f?void 0:f.size))return;let t=e=>null!==e&&"object"==typeof e;for(let l of Array.from(f)){let o=e.form.getFieldValue(l),n=null==c?void 0:c[l];(Object.is(o,n)||t(o)&&t(n)&&(0,r.isEqual)(o,n))&&f.delete(l)}};if(!h&&g){let t={...c};for(let l of f)t[l]=e.form.getFieldValue(l);e.form.setFieldsValue(t),v();return}h&&(null==(i=(a=e.model).resetUserModifiedFields)||i.call(a),null==(s=(d=e.model).resetRuntimeUserEditedState)||s.call(d)),e.form.setFieldsValue(c),v()})}},dataScope:{use:"dataScope"},refresh:{async handler(e){if(!e.resource)throw Error("Resource is not initialized")}}}}),u.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"}}}}),u.define({label:(0,n.tExpr)("Form (Edit)"),searchable:!0,searchPlaceholder:(0,n.tExpr)("Search"),createModelOptions:{use:"EditFormModel",subModels:{grid:{use:"FormGridModel"}}},sort:340})},2088(e,t,l){l.d(t,{JU:()=>H,s2:()=>N,F4:()=>Y,mO:()=>q});var o=l(1178),n=l(2113),i=l(691),r=l(504),a=l(2793),s=l(7583),d=l(1649),u=l(2542),c=l(544),p=l(146),m=l(2314),h=l(9413),f=l(9613);function g(e){let t,l,o,n=()=>{let e=t;e&&(l&&(e.setFieldValue=l),o&&(e.setFieldsValue=o),t=void 0,l=void 0,o=void 0)};return{patch:i=>{if(t===i)return;n();let r="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=r,o=a,r&&(i.setFieldValue=(t,l)=>{e.isSuppressed()?r(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 v=l(3728),y=l(3526),_=l(1022),b=l(9133),x=l(8709);let M=Symbol("SKIP_RULE_VALUE"),w=Symbol("UNRESOLVED_ASSOCIATION_IDENTITY"),S=1e3;function k(e){return"default"===e?"default":"override"===e?"override":"assign"}function F(e){return"default"===e?"default":"override"===e?"override":"system"}class C{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),o=[];for(let[e,r]of this.rules.entries()){var n,i;if(!e.startsWith(t)||e===l)continue;let a=null==r||null==(i=r.rule)||null==(n=i.getContext)?void 0:n.call(i),s=null==a?void 0:a.model;s&&this.isRowGridModel(s)&&o.push(e)}for(let e of o)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 o=F(k(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 r={id:i,source:o,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:r,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 o=(0,v.EA)(e).filter(e=>"object"!=typeof e);if(o.length<=1)return!0;for(let e=0;e<o.length-1;e++){var n,i;let t=o[e];if("string"!=typeof t)continue;let r=null==l||null==(n=l.getField)?void 0:n.call(l,t);if(!(null==r||null==(i=r.isAssociationField)?void 0:i.call(r)))break;if((0,b.E4)(r)){if("number"!=typeof o[e+1])return!1;e+=1}if(!(null==(l=null==r?void 0:r.targetCollection)?void 0:l.getField))break}return!0}collectAssociationPrefixPaths(e,t){let l=[],o=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==o?void 0:o.getField))return l;let n=[];for(let e=0;e<t.length-1;e++){var i,r;let a=t[e];if("string"!=typeof a)break;let s=null==o||null==(i=o.getField)?void 0:i.call(o,a);if(!(null==s||null==(r=s.isAssociationField)?void 0:r.call(s)))break;if(n.push(a),(0,b.E4)(s)){let l=t[e+1];if("number"!=typeof l)break;n.push(l),e+=1}if(l.push([...n]),!(null==(o=null==s?void 0:s.targetCollection)?void 0:o.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 o,n;let i=t[e];if("string"!=typeof i)continue;let r=null==l||null==(o=l.getField)?void 0:o.call(l,i);if(!(null==r||null==(n=r.isAssociationField)?void 0:n.call(r)))break;if((0,b.E4)(r)){if("number"!=typeof t[e+1])return!0;e+=1}if(!(null==(l=null==r?void 0:r.targetCollection)?void 0:l.getField))break}return!1}shouldSkipAssociationNestedWrite(e,t){let l=this.collectAssociationPrefixPaths(e,t);if(!l.length)return!1;for(let o of l){let l=this.options.getFormValueAtPath(o);if(null==l){let l=o.filter(e=>"string"==typeof e).join(".");if(l&&this.getUpdateAssociationForTargetPath(l)||this.isAssociationTargetKeyWrite(e,t,o))continue;return!0}if("object"!=typeof l)return!0}return!1}getAssociationTargetKeyFields(e){var t,l;let o=(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(o)?o.filter(e=>"string"==typeof e&&!!e):"string"==typeof o&&o?[o]:["id"]}resolveAssociationFieldByPrefixPath(e,t){let l=this.getRootCollection()||this.getCollectionFromContext(e);if(!(null==l?void 0:l.getField))return null;let o=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))||(o=t,!(null==(l=null==t?void 0:t.targetCollection)?void 0:l.getField)))break}return o}isAssociationTargetKeyWrite(e,t,l){var o;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==(o=i.isAssociationField)?void 0:o.call(i))||(0,b.E4)(i))&&this.getAssociationTargetKeyFields(i).includes(n)}collectUpdateAssociationInitPatches(e,t){let l=this.collectAssociationPrefixPaths(e,t);if(!l.length)return[];let o=[];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)){o.push({path:[...n,"__is_new__"],value:!0});continue}if(this.isAssociationTargetKeyWrite(e,t,n)){o.push({path:[...n],value:{}});continue}return null}if("object"!=typeof l)return null}let n=new Map;for(let e of o){let t=(0,v.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 o=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)||[];o+=1,l.push({...e,__key:String(e.key),__order:o}),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 o of t){let t=F(k(null==o?void 0:o.mode)),n=(null==o?void 0:o.enable)!==!1,i=`${l}${o.__key}:block`;this.rules.has(i)&&this.removeRule(i);let r={id:i,source:t,priority:10+(o.__order||0),debounceMs:0,getEnabled:()=>n&&!!e,getTarget:()=>e,getValue:()=>null==o?void 0:o.value,getCondition:()=>null==o?void 0:o.condition,getContext:()=>this.options.getBlockContext(),getContractModelUid:this.options.getAssignRulesModelUid};this.rules.set(i,{rule:r,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 o=this.getModelTargetPath(e);if(!o)return;let n=null==e||null==(l=e.subModels)?void 0:l.field,i=!!(null==n?void 0:n.updateAssociation);!0!==this.updateAssociationByTargetPath.get(o)&&this.updateAssociationByTargetPath.set(o,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 o="function"==typeof(null==e?void 0:e.getProps)?e.getProps():null==e?void 0:e.props,n=null==o?void 0:o.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 o=l.filter(e=>"number"!=typeof e);return o.length?(0,v.Qc)(o):""}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 o=this.getDefaultRuleId(e);if(this.rules.has(o))return;let n=e.master||e,i=this.getAssignTemplateTargetPathForModel(e);this.bindMasterInitialValue(n,o);let r=()=>{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=r(),d=!1,u=()=>{let e=r();if(d||s.default.isEqual(e,a)||(d=!0),!this.hasAssignTemplateForTargetPath(i)||d||void 0===a)return e},c=()=>{if(!this.hasAssignTemplateForTargetPath(i))try{var e,t,l,o;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 r=null==n||null==(o=n.getStepParams)||null==(l=o.call(n,"formItemSettings","initialValue"))?void 0:l.defaultValue;if(void 0!==r)return r}catch{}},p={id:o,source:"default",priority:void 0!==u()?S:0,debounceMs:0,getEnabled:()=>void 0!==u()||void 0!==c(),getTarget:()=>this.getModelTargetNamePath(e)||l,getValue:()=>{let e=u();return void 0!==e?e:c()},getContext:()=>null==e?void 0:e.context};this.rules.set(o,{rule:p,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(o)}getModelTargetPath(e){try{var t;let l=null==e||null==(t=e.getStepParams)?void 0:t.call(e,"fieldSettings","init"),o=null==l?void 0:l.fieldPath;if(o)return String(o)}catch{}let l=null==e?void 0:e.fieldPath;if(l)return String(l);let o=this.getModelTargetNamePath(e);return(null==o?void 0:o.length)&&o.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",o=(null==t?void 0:t.uid)?String(t.uid):String(t);return`form-assign:${e}:${o}:${l}`}getDeepestFieldIndexKey(e){var t,l;let o=(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex),n=Array.isArray(o)?o:[];if(!n.length)return null;let i=n[n.length-1];if("string"!=typeof i)return null;let[r,a]=i.split(":");return!r||Number.isNaN(Number(a))?null:r}getDeepestToManyAssociationKey(e){let t=this.getRootCollection();if(!(null==t?void 0:t.getField))return null;let l=(0,v.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(l.length<2)return null;let o=t,n=null;for(let e=0;e<l.length-1;e++){var i,r;let t=l[e];if("string"!=typeof t)continue;let a=null==o||null==(i=o.getField)?void 0:i.call(o,t);if(!(null==a||null==(r=a.isAssociationField)?void 0:r.call(a)))break;let s=(0,b.E4)(a);if(s&&(n=t),s&&"number"==typeof l[e+1]&&(e+=1),!(null==(o=null==a?void 0:a.targetCollection)?void 0:o.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 o=null==e?void 0:e.context;return!!this.getDeepestFieldIndexKey(o)}tryRegisterAssignRuleInstancesForModel(e,t){var l,o,n,i;if(this.options.isDisposed()||!this.isModelInThisForm(e))return;let r=(l,o)=>{if(o&&0!==o.length)for(let i of(null==t||t.add(l),o)){var n;this.removeAssignRuleBlockInstance(i.__key),(null==e||null==(n=e.subModels)?void 0:n.field)&&this.removeRowGridAssignRuleInstances(i.__key);let t=F(k(null==i?void 0:i.mode)),o=(null==i?void 0:i.enable)!==!1,r=this.getAssignRuleInstanceId(i.__key,e);this.rules.has(r)&&this.removeRule(r);let a={id:r,source:t,priority:10+(i.__order||0),debounceMs:0,getEnabled:()=>o&&!!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(r,{rule:a,state:{deps:new Set,depDisposers:[],runSeq:0,scheduledAtWriteSeq:0}}),this.scheduleRule(r)}};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 o=this.getDeepestToManyAssociationKey(e);o&&o===l&&r(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&&r(a,s);let d=null==e||null==(o=e.subModels)?void 0:o.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,b.E4)(u);if(c&&!p){let e=`${a}.`;for(let[t,l]of this.assignTemplatesByTargetPath.entries())t&&"string"==typeof t&&t.startsWith(e)&&r(t,l)}}tryUnregisterAssignRuleInstancesForModel(e){var t,l,o,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 o=this.getDeepestToManyAssociationKey(e);o&&o===l&&i(t)}return}if(!(null==e||null==(t=e.subModels)?void 0:t.field))return;let r=this.getModelTargetPath(e);if(!r)return;let a=this.assignTemplatesByTargetPath.get(r)||[];a.length&&i(a);let s=null==e||null==(l=e.subModels)?void 0:l.field,d=null==s||null==(o=s.context)?void 0:o.collectionField,u=!!(null==d||null==(n=d.isAssociationField)?void 0:n.call(d)),c=(0,b.E4)(d);if(u&&!c){let e=`${r}.`;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,o=this.defaultRuleIdsByMasterUid.get(l)||new Set;if(o.add(t),this.defaultRuleIdsByMasterUid.set(l,o),this.defaultRuleMasterDisposers.has(l))return;let n=(0,m.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,o)=>{var n;if(s.default.isEqual(t,o))return;let i=this.defaultRuleIdsByMasterUid.get(l);if(!i)return;let r=(null==e||null==(n=e.getProps)?void 0:n.call(e))??(null==e?void 0:e.props),a=void 0!==(null==r?void 0:r.initialValue)?S: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(),o=this.options.tryResolveNamePath(e,l);if(o){let e=(0,v.Qc)(o),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,o]of(l&&clearTimeout(l),this.ruleDebounceTimersById.delete(e),this.ruleDebounceUntilById.delete(e),this.defaultRuleIdsByMasterUid.entries())){if(!o.has(e)||(o.delete(e),o.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:o}=t;o.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 o=setTimeout(()=>{this.ruleDebounceTimersById.delete(e),!this.rulesEnabled||this.runningRules||this.pendingRuleIds.has(e)&&this.flushRules()},n);this.ruleDebounceTimersById.set(e,o)}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,_.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,o;let n=null==(l=this.rules.get(e))?void 0:l.rule,i=null==(o=this.rules.get(t))?void 0:o.rule,r=(null==n?void 0:n.priority)??0,a=(null==i?void 0:i.priority)??0;return r!==a?r-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:o}=t;o.runSeq+=1;let n=o.runSeq,i=o.scheduledAtWriteSeq,r=this.prepareRuleContext(l),{baseCtx:a,targetNamePath:s,targetKey:d,clearDeps:u,disposeBinding:c}=r;if(!this.shouldRunRule(l,s,d,a)||!s||!d){u(o),c();return}let p=s,m=d,{collector:h,evalCtx:f}=this.createRuleCollectorAndContext(l,r);if(l.getCondition&&!await this.evaluateRuleCondition(l,o,n,f,h))return;let g=await this.resolveRuleValue(l,o,n,f,h);if(g===M||n!==o.runSeq)return;this.commitRuleDeps(l,o,h);let y=this.getToManyAggregateSourceInfo(a,l.getValue()),_=this.normalizeUnresolvedToManyAggregateForScalarTarget(a,p,g,y);if(_.skip)return;let b=_.hasValue?_.value:g,x=this.normalizeResolvedValueForTarget(a,b),w=this.normalizeResolvedValueForAssociationTarget(a,p,x),S=this.normalizeAggregateArrayForScalarTarget(a,p,w,y);if(S===M||this.shouldSkipEmptyArrayAggregateForScalarTarget(a,p,S)||this.shouldSkipMultiValueAggregateForScalarTarget(a,p,S,y)||"default"===l.source&&!this.checkDefaultRuleCanApply(S,p,m,u,c,o))return;if("override"===l.source&&this.options.findUserEditedHit(m))return void c();if("default"===l.source){let e=this.lastRuleWriteByTargetKey.get(m);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(m);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 k=S;if(this.isAssociationTargetSemanticallyEqual(a,p,this.options.getFormValueAtPath(p),k))return;let F=this.collectUpdateAssociationInitPatches(a,p);if(null==F)return;if("system"===l.source||"default"===l.source||"override"===l.source){var C,A;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,v.Qc)(l)===m&&(e.setProps({value:S}),null==(A=t.setProps)||A.call(t,{value:S}))}}let P=this.options.getWriteSeq(),T=[...F,{path:p,value:S}];await this.options.setFormValues(f,T,{source:l.source,txId:this.currentRuleTxId||void 0});let j=this.options.getWriteSeq();j!==P&&this.lastRuleWriteByTargetKey.set(m,{source:l.source,priority:l.priority,writeSeq:j})}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,y.dayjs)(t,"YYYY-MM-DD",!0);return l.isValid()?l.startOf("day").toISOString():e}normalizeResolvedValueForTarget(e,t){var l,o,n;let i=null==e||null==(n=e.model)||null==(o=n.context)||null==(l=o.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),o=1===l.length?l[0]:null,n=e=>{if(null==e)return e;if(this.isPrimitiveAssociationTargetValue(e))return o?e:w;if(!e||"object"!=typeof e)return w;if(o)return void 0===e[o]?w:e[o];let t={};for(let o of l){if(void 0===e[o])return w;t[o]=e[o]}return t};if((0,b.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===w)return w;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,o){var n;let i=this.resolveCollectionFieldByNamePath(e,t);if(!(null==i||null==(n=i.isAssociationField)?void 0:n.call(i)))return s.default.isEqual(l,o);let r=this.extractAssociationIdentity(i,l),a=this.extractAssociationIdentity(i,o);return r===w||a===w?s.default.isEqual(l,o):s.default.isEqual(r,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 o,n;let i=t[e];if("string"!=typeof i||!i)break;let r=null==l||null==(o=l.getField)?void 0:o.call(l,i);if(!r)break;if(e===t.length-1)return r;if(!(null==r||null==(n=r.isAssociationField)?void 0:n.call(r))||!(null==r?void 0:r.targetCollection))break;if((0,b.E4)(r)){if("number"!=typeof t[e+1])return null;e+=1}if(!(null==(l=r.targetCollection)?void 0:l.getField))break}return null}normalizeResolvedValueForAssociationTarget(e,t,l){var o;let n=this.resolveCollectionFieldByNamePath(e,t);if(!(null==n||null==(o=n.isAssociationField)?void 0:o.call(n)))return l;let i=this.getAssociationTargetKeyFields(n),r=1===i.length?i[0]:null,a=e=>{if(null!=e)return r&&this.isPrimitiveAssociationTargetValue(e)?{[r]:e}:e};if((0,b.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(),o=this.options.tryResolveNamePath(t,l),n=o?(0,v.Qc)(o):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:o,targetKey:n,clearDeps:e=>{e.depDisposers.forEach(e=>e()),e.depDisposers=[],e.deps=new Set},disposeBinding:i}}shouldApplyDefaultRuleInCurrentState(e){var t,l,o;return"update"!==(null==(t=(l=this.options).getActionName)?void 0:t.call(l))||(null==(o=this.getItemContext(e))?void 0:o.__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,o,n,i;let r,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)||(r=null==s||null==(n=s.getField)?void 0:n.call(s,e),!(null==r||null==(i=r.isAssociationField)?void 0:i.call(r))))break;a=r,s=null==r?void 0:r.targetCollection}let d=(null==a||null==(l=a.targetCollection)?void 0:l.filterTargetKey)??(null==a||null==(o=a.targetCollection)?void 0:o.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 o=t.length-1;o>=0;o--){if("number"!=typeof t[o])continue;let n=t.slice(0,o+1),i=this.getRowTargetKey(e,n),r=this.options.getFormValueAtPath(n),a=(0,x.r5)(r,i),s=(0,x.r5)(l.value,i);return!!a&&!!s&&a!==s}return!1}shouldRunRule(e,t,l,o){return!(!e.getEnabled()||!t||!l||this.isStaleToManyItemContext(o)||this.isMismatchedToManyItemContext(o,t)||"default"===e.source&&(!this.shouldApplyDefaultRuleInCurrentState(o)||this.options.findExplicitHit(l)))&&!("override"===e.source&&this.options.findUserEditedHit(l))}createRuleCollectorAndContext(e,t){var l;let{baseCtx:o,targetNamePath:n}=t,i=e.getValue(),a=(0,r.isRunJSValue)(i),s={deps:new Set,wildcard:!1};if(e.getCondition&&(0,f.G)(e.getCondition(),s),a?(0,f.Wp)(i,s):(0,f.G)(i,s),n)for(let e of((0,f.Dd)(n,s),this.collectAssociationPrefixPaths(o,n)))(0,f.Dd)(e,s);let d=this.createRuleEvaluationContext(o,s,n,null==(l=e.getContractModelUid)?void 0:l.call(e));return{collector:s,evalCtx:d,rawValue:i,isRunJS:a}}async evaluateRuleCondition(e,t,l,o,n){let i=e.getCondition;if(!i)return!0;let r=i(),a=r;if(r)try{var s;a=await (null==o||null==(s=o.resolveJsonTemplate)?void 0:s.call(o,r))}catch{a=r}return l===t.runSeq&&(!r||!!(0,h.F)(o,a)||(this.commitRuleDeps(e,t,n),!1))}async resolveRuleValue(e,t,l,o,n){let i=e.getValue();return(0,r.isRunJSValue)(i)?this.resolveRunJSValue(i,t,l,o,n,e):this.resolveTemplateValue(i,t,l,o,n,e)}async resolveRunJSValue(e,t,l,o,n,i){try{let{code:a,version:s}=(0,r.normalizeRunJSValue)(e),d=await (0,r.runjsWithSafeGlobals)(o,a,{version:s});if(!(null==d?void 0:d.success)){if(l!==t.runSeq)return M;return this.commitRuleDeps(i,t,n),M}return d.value}catch{if(l!==t.runSeq)return M;return this.commitRuleDeps(i,t,n),M}}async resolveTemplateValue(e,t,l,o,n,i){try{var r;return await (null==o||null==(r=o.resolveJsonTemplate)?void 0:r.call(o,e))}catch{if(l!==t.runSeq)return M;return this.commitRuleDeps(i,t,n),M}}commitRuleDeps(e,t,l){let o=new Set(l.deps);l.wildcard&&o.add("fv:*"),this.updateRuleDeps(e,t,o)}isScalarValueTarget(e,t){var l;let o=this.resolveCollectionFieldByNamePath(e,t);return!((null==o||null==(l=o.isAssociationField)?void 0:l.call(o))&&(0,b.E4)(o)||this.isArrayValueCollectionField(o))&&(!!o||!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,o){return void 0===l&&o&&this.isScalarValueTarget(e,t)?Array.isArray(o.arrayValue)&&0===o.arrayValue.length?this.isUserClearedToManyAggregate(o)?{skip:!1,hasValue:!0,value:this.getClearedAggregateValueForScalarTarget(e,t)}:{skip:!0,hasValue:!1}:Array.isArray(o.arrayValue)&&o.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 o=e;return!0===o.multiple||"array"===o.type||"array"===((null==(t=o.uiSchema)?void 0:t.type)??(null==(l=o.schema)?void 0:l.type))||["multipleSelect","checkboxGroup","json"].includes("string"==typeof o.interface?o.interface:"")}stringifyAggregateItem(e){if(e&&"object"==typeof e)try{return JSON.stringify(e)}catch{}return String(e)}normalizeAggregateArrayForScalarTarget(e,t,l,o){if(!Array.isArray(l)||!this.isScalarValueTarget(e,t)||!o)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(", "):M:this.isUserClearedToManyAggregate(o)?this.getClearedAggregateValueForScalarTarget(e,t):M}shouldSkipMultiValueAggregateForScalarTarget(e,t,l,o){return!!o&&!!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,o,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 r=i,a=(null==(o=r.uiSchema)?void 0:o.type)??(null==(n=r.schema)?void 0:n.type);return"string"===r.type||"text"===r.type||"string"===a||["input","textarea","email","phone","url","uuid","nanoid","markdown","richText","vditor","password","color"].includes("string"==typeof r.interface?r.interface:"")}getLatestWriteMetaForPath(e){let t=(0,v.Qc)(e),l=this.options.lastWriteMetaByPathKey.get(t);for(let[e,o]of this.options.lastWriteMetaByPathKey.entries())(e===t||e.startsWith(`${t}.`)||e.startsWith(`${t}[`))&&(!l||o.writeSeq>l.writeSeq)&&(l=o);return l}getToManyAggregateSourceInfo(e,t){let l=this.extractSingleLocalFormValuesPath(t);if(!l)return null;let o=(0,v.EA)(l).filter(e=>"object"!=typeof e);if(o.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<o.length-1;t++){var r,a;let d=o[t];if("string"!=typeof d)break;let u=null==n||null==(r=n.getField)?void 0:r.call(n,d);if(!(null==u||null==(a=u.isAssociationField)?void 0:a.call(u)))break;if(i.push(d),(0,b.E4)(u)){let t=this.options.getFormValueAtPath(i),o=this.getLocalFormValuesSnapshot(e),n=o&&"object"==typeof o?s.default.get(o,i):void 0;return{subPath:l,arrayPath:[...i],arrayValue:void 0!==t?t:n,lastWrite:this.getLatestWriteMetaForPath(i)}}if(!(null==(n=u.targetCollection)?void 0:n.getField))break}return null}checkDefaultRuleCanApply(e,t,l,o,n,i){if(void 0===e)return!1;if(this.options.findExplicitHit(l))return o(i),n(),!1;let r=this.options.getFormValueAtPath(t),a=this.options.lastDefaultValueByPathKey.get(l),d=(0,_.Po)(r)||void 0!==a&&s.default.isEqual(r,a),u=(0,m.isObservable)(e)?(0,m.toJS)(e):e;return!d&&s.default.isEqual(r,u)?(this.options.lastDefaultValueByPathKey.set(l,u),!1):d}createRuleEvaluationContext(e,t,l,o){var n;let i,a=this.options.createTrackingFormValues(t),s=new r.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:()=>a,cache:!1}):s.defineProperty("formValues",{get:()=>a,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),r=i.matched?i.value:l,a=u?await u(r,o?{contractModelUid:o}:void 0):r;return this.restoreLocalTemplateTokens(a,n)});let c=!1,p=()=>(c||(i=this.buildItemChainValue(e,a,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,m.isObservable)(l)?(0,m.toJS)(l):l}resolveLocalFormValuesPath(e,t){let l=this.getLocalFormValuesSnapshot(e);if(l&&"object"==typeof l)return(0,__rspack_external__nocobase_shared_5d5808a9.getValuesByPath)(l,t)}recordLocalFormValuesDep(e,t){let l=(0,v.EA)(e).filter(e=>"object"!=typeof e);if(!l.length){t&&(t.wildcard=!0);return}(0,f.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 o=`__NOCObase_FORM_VALUE_LITERAL_${t}__`;return t+=1,e.set(o,l),o}}}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,o]of t.values.entries())l.includes(e)&&(l=l.split(e).join(this.stringifyTemplateReplacement(o)??""));return l}if(Array.isArray(e))return e.map(e=>this.restoreLocalTemplateTokens(e,t));if(s.default.isPlainObject(e)){let l={};for(let[o,n]of Object.entries(e))l[o]=this.restoreLocalTemplateTokens(n,t);return l}return e}resolveLocalFormValuesTemplates(e,t,l,o){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:o?o.protect(i):i}:{matched:!1,value:t}}let i=!1,r=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 r=this.resolveLocalFormValuesPath(e,n),a=this.stringifyTemplateReplacement(r);return void 0===a?t:(i=!0,o?o.protect(a):a)});return{matched:i,value:r}}if(Array.isArray(t)){let n=!1,i=t.map(t=>{let i=this.resolveLocalFormValuesTemplates(e,t,l,o);return i.matched&&(n=!0),i.value});return n?{matched:n,value:i}:{matched:!1,value:t}}if(s.default.isPlainObject(t)){let n=!1,i={};for(let[r,a]of Object.entries(t)){let t=this.resolveLocalFormValuesTemplates(e,a,l,o);t.matched&&(n=!0),i[r]=t.value}return n?{matched:n,value:i}:{matched:!1,value:t}}return{matched:!1,value:t}}buildItemChainValue(e,t,l){let o=this.getRootCollection()||this.getCollectionFromContext(e),n=(e,t,l,o)=>({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:o}),i=this.options.getBlockContext(),r=(()=>{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==r?void 0:r.index,null==r?void 0:r.length,null==r?void 0:r.parentItem),__is_new__:(null==r?void 0:r.__is_new__)??(null==t?void 0:t.__is_new__),__is_stored__:(null==r?void 0:r.__is_stored__)??(null==t?void 0:t.__is_stored__)};if(!l||!Array.isArray(l)||!l.length||!(null==o?void 0:o.getField))return;let d=[],u=[],c=o;for(let e=0;e<l.length;e++){var p,m;let t=l[e];if("string"!=typeof t)break;let o=null==c||null==(p=c.getField)?void 0:p.call(c,t);if(!(null==o||null==(m=o.isAssociationField)?void 0:m.call(o)))break;let n=(0,b.E4)(o);if(u.push(t),n){let t=l[e+1];if("number"==typeof t)u.push(t),e+=1;else if(e!==l.length-1)break}let i=null==o?void 0:o.targetCollection;if(!i)break;d.push({path:[...u],toMany:n}),c=i}let h=e=>{if(e<0)return a;let l=d[e],o=s.default.get(t,l.path),i=l.path[l.path.length-1],r=l.toMany&&"number"==typeof i,u=r?i:void 0,c=(()=>{if(!l.toMany)return;if(!r)return Array.isArray(o)?o.length:void 0;let e=l.path.slice(0,-1),n=s.default.get(t,e);return Array.isArray(n)?n.length:void 0})();return n(o,u,c,h(e-1))};return d.length?h(d.length-1):void 0}getFieldIndexSignature(e){var t,l;let o=(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.fieldIndex)??(null==e?void 0:e.fieldIndex);return(Array.isArray(o)?o:[]).filter(e=>"string"==typeof e).join("|")}updateRuleDeps(e,t,l){var o,n;if(t.depDisposers.forEach(e=>e()),t.depDisposers=[],t.deps=l,l.has("fv:*")){let l=(0,m.reaction)(()=>this.options.changeTick.value,()=>this.scheduleRule(e.id));t.depDisposers.push(l)}let i=(()=>{try{return e.getContext()}catch{return}})(),r=(null==i||null==(n=i.model)||null==(o=n.context)?void 0:o.fieldIndex)??(null==i?void 0:i.fieldIndex);if(Array.isArray(r)&&r.some(e=>"string"==typeof e)){let l=(0,m.reaction)(()=>this.getFieldIndexSignature(i),()=>this.scheduleRule(e.id));t.depDisposers.push(l)}for(let o of l){if("fv:*"===o)continue;if(!o.startsWith("fv:")&&!o.startsWith("ctx:")){let l=(0,v.c1)(o),n=(0,m.reaction)(()=>s.default.get(this.options.valuesMirror,l),()=>this.scheduleRule(e.id));t.depDisposers.push(n);continue}if(o.startsWith("fv:")){let l=o.slice(3),n=(0,v.c1)(l),i=(0,m.reaction)(()=>s.default.get(this.options.valuesMirror,n),()=>this.scheduleRule(e.id));t.depDisposers.push(i);continue}let l=o.slice(4),n=l.indexOf(":"),r=n>=0?l.slice(0,n):l,a=n>=0?l.slice(n+1):"",d=a?(0,v.EA)(a).filter(e=>"object"!=typeof e):[];if("item"===r){if(d.length){let l=this.options.createTrackingFormValues({deps:new Set,wildcard:!1}),o=(0,m.reaction)(()=>{var t;let o=null==(t=e.getTarget)?void 0:t.call(e),n=o?this.options.tryResolveNamePath(i,o):null,r=this.buildItemChainValue(i,l,n)??(null==i?void 0:i.item);return s.default.get(r,d)},()=>this.scheduleRule(e.id));t.depDisposers.push(o)}continue}let u=(0,m.reaction)(()=>{let e=i?i[r]:void 0;return d.length?s.default.get(e,d):e},()=>this.scheduleRule(e.id));t.depDisposers.push(u)}}constructor(e){this.rules=new Map,this.lastRuleWriteByTargetKey=new Map,this.assignTemplatesByTargetPath=new Map,this.formItemTargetPaths=new Set,this.updateAssociationByTargetPath=new Map,this.pendingRuleIds=new Set,this.ruleDebounceUntilById=new Map,this.ruleDebounceTimersById=new Map,this.defaultRuleIdsByMasterUid=new Map,this.defaultRuleMasterDisposers=new Map,this.runningRules=!1,this.rulesEnabled=!1,this.currentRuleTxId=null,this.options=e}}class A{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)}toMirrorSnapshot(e){let t=e=>s.default.cloneDeepWith(e,e=>{if((0,m.isObservable)(e)){let l=(0,m.toJS)(e);if(l!==e)return t(l)}if(Array.isArray(e)&&"function"!=typeof e.constructor){let l=Array(e.length);for(let o=0;o<e.length;o++)Object.hasOwn(e,o)&&(l[o]=t(e[o]));return l}if(e&&"object"==typeof e&&!(Array.isArray(e)||s.default.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,v.Qc)(e),o=this.getFormValueAtPath(e),n=this.lastDefaultValueByPathKey.get(l),i=(0,m.isObservable)(t)?(0,m.toJS)(t):t,r=(0,m.isObservable)(o)?(0,m.toJS)(o):o,a=void 0!==n&&s.default.isEqual(r,n);if(this.findExplicitHit(l)&&!a)return!1;let d=(0,_.Po)(o)||a;return!d&&s.default.isEqual(o,i)?(this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(i)),!1):d}canApplyOverrideValuePatch(e){return!!(null==e?void 0:e.length)&&!this.findUserEditedHit((0,v.Qc)(e))}recordDefaultValuePatch(e,t){if(!(null==e?void 0:e.length))return;let l=(0,v.Qc)(e),o=arguments.length>=2?(0,m.isObservable)(t)?(0,m.toJS)(t):t:this.getFormValueAtPath(e);this.lastDefaultValueByPathKey.set(l,this.toMirrorSnapshot(o));let n=this.getFormValueAtPath(e),i=(0,m.isObservable)(n)?(0,m.toJS)(n):n;s.default.isEqual(i,o)&&this.clearExplicitForDefaultPatch(l)}getFormValueAtPath(e){var t,l;let o=null==(t=(l=this).getForm)?void 0:t.call(l);if(o&&"function"==typeof o.getFieldValue)return o.getFieldValue(e);if(o&&"function"==typeof o.getFieldsValue){let t=o.getFieldsValue(!0);return s.default.get(t,e)}}mount(e){var t,l;if(this.disposed)return;this.formPatcher.patch(this.getForm());let o=null==(l=this.model)||null==(t=l.flowEngine)?void 0:t.emitter;if(o&&(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)},o.on("model:mounted",this.mountedListener),o.on("model:unmounted",this.unmountedListener)),this.rebuildMountedFieldModelIndex(),null==e?void 0:e.sync)){let e=this.getFormValuesSnapshot();e&&"object"==typeof e&&(s.default.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&&s.default.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=[],o=new Set,n=!1,i=!1;for(let r of e||[]){let e=null==r?void 0:r.name,a=this.normalizeObservedNamePath(e);if(!(null==a?void 0:a.length))continue;let d=t.getFieldValue(a),u=s.default.get(this.valuesMirror,a);if(!s.default.isEqual(d,u)&&(i||(this.writeSeq+=1,i=!0),s.default.set(this.valuesMirror,a,this.toMirrorSnapshot(d)),l.push(a),(null==r?void 0:r.touched)===!0&&!this.shouldIgnoreSyntheticTouchedInit(a,u,d))){let e=(0,v.Qc)(a);this.shouldKeepDefaultPathValueEnabled(a,d)||(o.add(e),n=!0)}}if(!l.length)return;let r=this.isSuppressed();if(!r&&o.size)for(let e of o)this.markExplicit(e),this.markUserEdited(e);if(this.bumpChangeTick(),r)return;let a=n?"user":"system",d=this.writeSeq;for(let e of l)this.lastWriteMetaByPathKey.set((0,v.Qc)(e),{source:a,writeSeq:d});this.lastObservedChangedPaths=l,this.lastObservedSource=a;let u=++this.lastObservedToken;queueMicrotask(()=>{this.disposed||this.lastObservedToken===u&&(this.lastObservedChangedPaths=null,this.lastObservedSource=null)})}shouldIgnoreSyntheticTouchedInit(e,t,l){if(!(null==e?void 0:e.length)||void 0!==t||!(0,_.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),o=this.getFormValueAtPath(l);return!!(null==o?void 0:o.__is_new__)}return!1}isDeletedArrayItemPath(e,t){let l=Array.isArray(e)?e:(0,v.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 o=l.slice(0,e+1);return void 0===s.default.get(t,o)}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,o,n,i,r;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==(r=a.isAssociationField)?void 0:r.call(a))))break;s=a,d=null==a?void 0:a.targetCollection}let u=(null==s||null==(o=s.targetCollection)?void 0:o.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,x.r5)(e,this.getArrayItemTargetKey(t))}reconcileArrayItemState(e,t,l){let o=new Set;for(let n of e||[]){if(!(null==n?void 0:n.length))continue;let e=(0,v.Qc)(n);if(o.has(e))continue;o.add(e);let i=s.default.get(this.valuesMirror,n),r=this.getObservedChangedValue(n,t,l);if(!Array.isArray(i)||!Array.isArray(r))continue;let a=new Map;r.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,o){let n=(0,v.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 r=this.getArrayItemIdentity(l[i],t);if(!r)return{action:"keep"};let a=o.get(r);if(null==a)return{action:"delete"};if(a===i)return{action:"keep"};let s=[...n];return s[t.length]=a,{action:"move",key:(0,v.Qc)(s)}}reconcileArrayItemSet(e,t,l,o){let n=new Set,i=!1;for(let r of e){let e=this.getReconciledArrayItemPath(r,t,l,o);if("delete"===e.action){i=!0;continue}if("move"===e.action){i=!0,n.add(e.key);continue}n.add(r)}if(i)for(let t of(e.clear(),n))e.add(t)}reconcileArrayItemMap(e,t,l,o){let n=new Map,i=!1;for(let[r,a]of e){let e=this.getReconciledArrayItemPath(r,t,l,o);if("delete"===e.action){i=!0;continue}if("move"===e.action){i=!0,n.set(e.key,a);continue}n.set(r,a)}if(i)for(let[t,l]of(e.clear(),n))e.set(t,l)}reconcileObservableBindings(e,t,l){let o=new Map,n=!1;for(let[i,r]of this.observableBindings){let a=this.getReconciledArrayItemPath(i,e,t,l);if("delete"===a.action){n=!0,r.dispose();continue}if("move"===a.action){n=!0,r.pathKey=a.key,o.set(a.key,r);continue}o.set(i,r)}if(n)for(let[e,t]of(this.observableBindings.clear(),o))this.observableBindings.set(e,t)}getObservedChangedValue(e,t,l){if(s.default.has(l,e))return s.default.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 s.default.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 o of Object.keys(e))s.default.has(l,[o])||(l===t&&(l=Array.isArray(t)?[...t]:{...t}),s.default.set(l,[o],e[o]));return l}handleFormValuesChange(e,t){if(this.disposed||this.isSuppressed())return;let l=Object.keys(e||{}).map(e=>[e]),o=this.lastObservedChangedPaths&&this.lastObservedChangedPaths.length?this.lastObservedChangedPaths:l,n=this.lastObservedSource??"user";this.lastObservedChangedPaths=null,this.lastObservedSource=null;let i=this.getFormValuesSnapshot(),r=i&&"object"==typeof i?i:t&&"object"==typeof t?t:e,a=this.getObservedSnapshot(e,r);this.reconcileArrayItemState([...o,...l],e,a),this.pruneDeletedArrayItemState(a);let d=this.deriveExplicitPaths(o,e,a,this.valuesMirror).filter(e=>!this.isDeletedArrayItemPath(e,a)),u=!1,c=!1,p=[];for(let t of o){if(!(null==t?void 0:t.length))continue;let l=this.getObservedChangedValue(t,e,a),o=s.default.get(this.valuesMirror,t);s.default.isEqual(o,l)||(c||(this.writeSeq+=1,c=!0),s.default.set(this.valuesMirror,t,this.toMirrorSnapshot(l)),u=!0,p.push(t))}u&&this.bumpChangeTick();let m=[];for(let e of d)this.shouldKeepDefaultPathEnabled(e,a)||m.push(e);for(let e of m){let t=(0,v.Qc)(e);this.markExplicit(t),"user"===n&&this.markUserEdited(t)}if(u){let e=this.writeSeq;for(let t of p)(null==t?void 0:t.length)&&this.lastWriteMetaByPathKey.set((0,v.Qc)(t),{source:n,writeSeq:e})}let h=(0,_.ao)();this.emitFormValuesChange({source:n,txId:h,changedPaths:o,changedValues:e,allValues:a,allValuesSnapshot:a})}deriveExplicitPaths(e,t,l,o){let n=[],i=new Set;for(let r of e||[]){if(!(null==r?void 0:r.length))continue;let e=s.default.get(o,r),a=this.getObservedChangedValue(r,t,l);this.collectExplicitDiffPaths(e,a,r,n,i)}return n}collectExplicitDiffPaths(e,t,l,o,n){if(s.default.isEqual(e,t))return 0;let i=Array.isArray(e),r=Array.isArray(t);if(i||r){if(i&&r){let i=Math.min(e.length,t.length),r=0;for(let a=0;a<i;a++)r+=this.collectExplicitDiffPaths(e[a],t[a],[...l,a],o,n);return e.length!==t.length?r+ +!!this.pushExplicitPath(l,o,n):r}return+!!this.pushExplicitPath(l,o,n)}let a=this.isPlainObjectValue(e),d=this.isPlainObjectValue(t);if(a||d){if(a&&d){let i=new Set([...Object.keys(e),...Object.keys(t)]),r=0;for(let a of i)r+=this.collectExplicitDiffPaths(e[a],t[a],[...l,a],o,n);return 0===r&&this.isObjectCleared(e,t)?+!!this.pushExplicitPath(l,o,n):r}this.isObjectCleared(e,t)}return+!!this.pushExplicitPath(l,o,n)}pushExplicitPath(e,t,l){if(!(null==e?void 0:e.length))return!1;let o=(0,v.Qc)(e);return!(!o||l.has(o))&&(l.add(o),t.push([...e]),!0)}isPlainObjectValue(e){return s.default.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 o,n,i,r;if(this.disposed)return;let a=null==(o=(n=this).getForm)?void 0:o.call(n);if(!a)return;let d=(null==l?void 0:l.source)??"system",u=(null==l?void 0:l.triggerEvent)!==!1,c=(null==l?void 0:l.txId)??(0,_.ao)(),p=(null==l?void 0:l.markExplicit)??("default"!==d&&"linkage"!==d),f=void 0===(null==l?void 0:l.txId),g="linkage"===d&&Number.isFinite(Number(null==l?void 0:l.linkageScopeDepth))?Number(null==l?void 0:l.linkageScopeDepth):0,y="linkage"===d&&"string"==typeof(null==l?void 0:l.linkageTxId)&&l.linkageTxId?String(l.linkageTxId):void 0,b=e=>{if("linkage"!==d||!y)return!1;let t=this.lastWriteMetaByPathKey.get(e);return!!t&&"linkage"===t.source&&!!t.linkageTxId&&t.linkageTxId===y&&(Number.isFinite(Number(t.linkageScopeDepth))?Number(t.linkageScopeDepth):0)>g},x=e=>"linkage"===d?{source:d,writeSeq:e,linkageScopeDepth:g,linkageTxId:y}:{source:d,writeSeq:e},M=e=>"linkage"===d&&y?{...e,linkageTxId:y}: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!b(t)&&!s.default.isEqual(this.getFormValueAtPath([t]),l)}),l=Object.fromEntries(e),o=e.map(e=>{let[t]=e;return t});if(!o.length)return;o.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}),s.default.set(this.valuesMirror,[t],this.toMirrorSnapshot(l)),this.syncMountedFieldModelValue([t],l);this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let n=this.writeSeq;for(let e of o)this.lastWriteMetaByPathKey.set(e,x(n));if(p)for(let e of o)this.markExplicit(e),"user"===d&&this.markUserEdited(e);if(u){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(M({source:d,txId:c,changedPaths:o.map(e=>[e]),changedValues:l,allValues:e,allValuesSnapshot:e}))}return}let o=new Map,n=0;for(let l of t){let t=null==l?void 0:l.condition;if(t&&!(0,h.F)(e,t))continue;let i=this.resolveNamePath(e,l.path),r=(0,v.Qc)(i),a=l.value,d=this.toMirrorSnapshot(a);if(b(r))continue;let u=this.getFormValueAtPath(i);s.default.isEqual(u,d)||(n+=1,o.set(r,{order:n,namePath:i,value:d,rawValue:a,pathKey:r}))}let f=Array.from(o.values()).sort((e,t)=>e.order-t.order).map(e=>({namePath:e.namePath,value:e.value,rawValue:e.rawValue,pathKey:e.pathKey}));if(!f.length)return;let w=this.txWriteCounts.get(c)||new Map;this.txWriteCounts.set(c,w);let S=[];for(let e of f){let t=(w.get(e.pathKey)||0)+1;w.set(e.pathKey,t),t>_.li||S.push(e)}if(!S.length)return;this.writeSeq+=1;let k=this.writeSeq;for(let{pathKey:e,rawValue:t}of S)if(!(0,m.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 S)null==(r=a.setFieldValue)||r.call(a,e,t),s.default.set(this.valuesMirror,e,this.toMirrorSnapshot(t)),this.syncMountedFieldModelValue(e,t),l.push(e);this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}for(let{pathKey:e}of S)this.lastWriteMetaByPathKey.set(e,x(k));if(p)for(let{pathKey:e}of S)this.markExplicit(e),"user"===d&&this.markUserEdited(e);if("default"===d)for(let{namePath:e,pathKey:t}of S){let l=this.getFormValueAtPath(e);this.lastDefaultValueByPathKey.set(t,this.toMirrorSnapshot(l))}for(let{rawValue:t,pathKey:l}of S){if(!(0,m.isObservable)(t))continue;let o=t,n={source:d,pathKey:l,dispose:()=>{}},i=(0,m.observe)(o,()=>{let t=n.pathKey;this.applyBoundValue(e,(0,v.c1)(t),t,(0,m.toJS)(o),d,g,y)});n.dispose=i;let r=this.observableBindings.get(l);r&&r.dispose(),this.observableBindings.set(l,n)}if(u){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(M({source:d,txId:c,changedPaths:l,changedValues:{},allValues:e,allValuesSnapshot:e}))}}finally{f&&this.txWriteCounts.delete(c)}}applyBoundValue(e,t,l,o,n,i,r){var a,d,u;if(this.disposed)return;let c=null==(a=(d=this).getForm)?void 0:a.call(d);if(!c||"override"===n&&this.findUserEditedHit(l))return;let p=this.toMirrorSnapshot(o),m=s.default.get(this.valuesMirror,t);if(s.default.isEqual(m,p))return;this.writeSeq+=1;let h=this.writeSeq;this.suppressFormCallbackDepth++;try{null==(u=c.setFieldValue)||u.call(c,t,p),s.default.set(this.valuesMirror,t,this.toMirrorSnapshot(p)),this.syncMountedFieldModelValue(t,p),this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let f="linkage"===n?{source:n,writeSeq:h,linkageScopeDepth:Number.isFinite(Number(i))?Number(i):0,linkageTxId:"string"==typeof r&&r?r:void 0}:{source:n,writeSeq:h};this.lastWriteMetaByPathKey.set(l,f);let g=(0,_.ao)(),v=this.getFormValuesSnapshot(),y={source:n,txId:g,changedPaths:[t],changedValues:{},allValues:v,allValuesSnapshot:v};if("linkage"===n&&r&&(y.linkageTxId=r),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,o;let n=(null==e||null==(o=e.model)||null==(l=o.context)?void 0:l.fieldIndex)??(null==e?void 0:e.fieldIndex);return(0,v.IJ)(t,n)}bumpChangeTick(){this.changeTick.value+=1}emitFormValuesChange(e){var t,l,o,n;null==(t=(l=this.model).dispatchEvent)||t.call(l,"formValuesChange",e,{debounce:!0}),null==(n=this.model.emitter)||null==(o=n.emit)||o.call(n,"formValuesChange",e)}syncMountedFieldModelValue(e,t){let l=(0,v.Qc)(e);if(!l)return;let o=this.mountedFieldModelsByPathKey.get(l);if(!(null==o?void 0:o.size))return;let n=new Set;for(let e of Array.from(o))this.syncMountedFieldModelValueForModel(e,t,n)}syncMountedFieldModelValueForModel(e,t,l){var o,n,i;if(!e||l.has(e)||(l.add(e),!this.isMountedModelInThisForm(e)))return;let r={value:t};null==(o=e.setProps)||o.call(e,r);let a=null==(n=e.subModels)?void 0:n.field;null==a||null==(i=a.setProps)||i.call(a,r)}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,o=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=>o(e))};o(e)}indexMountedFieldModel(e){if(!this.isMountedModelInThisForm(e))return;let t=new Set;for(let l of this.getMountedModelNamePaths(e)){let e=(0,v.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 o=[],n=e=>{let t=this.normalizeNamePathValue(e);(null==t?void 0:t.length)&&o.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 r=new Set;return o.filter(e=>{let t=(0,v.Qc)(e);return!(!t||r.has(t))&&(r.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,v.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 o=l.startsWith(`${e}.`)||l.startsWith(`${e}[`);(l===e||!t&&o)&&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,v.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,v.c1)(e)))}shouldKeepDefaultPathEnabled(e,t){return this.shouldKeepDefaultPathValueEnabled(e,s.default.get(t,e))}shouldKeepDefaultPathValueEnabled(e,t){let l=(0,v.Qc)(e),o=this.lastDefaultValueByPathKey.get(l);if(void 0===o)return!1;let n=(0,m.isObservable)(t)?(0,m.toJS)(t):t;return s.default.isEqual(n,o)}isExplicit(e){return!!this.findExplicitHit(e)}findExplicitHit(e){if(this.explicitSet.has(e))return e;let t=(0,v.c1)(e),l=[];for(let e=0;e<t.length;e++){l.push(t[e]);let o=(0,v.Qc)(l);if(this.explicitSet.has(o)&&"number"!=typeof t[e+1])return o}return null}findUserEditedHit(e){if(this.userEditedSet.has(e))return e;let t=(0,v.c1)(e),l=[];for(let e=0;e<t.length;e++){l.push(t[e]);let o=(0,v.Qc)(l);if(this.userEditedSet.has(o)&&"number"!=typeof t[e+1])return o}for(let t of this.userEditedSet)if(this.isDescendantPathKey(t,e))return t;return null}isDescendantPathKey(e,t){if(!e||!t||e===t)return!1;let l=(0,v.c1)(e),o=(0,v.c1)(t);return!(l.length<=o.length)&&o.every((e,t)=>l[t]===e)}constructor(e){this.valuesMirror=(0,m.observable)({}),this.explicitSet=new Set,this.userEditedSet=new Set,this.lastDefaultValueByPathKey=new Map,this.lastWriteMetaByPathKey=new Map,this.observableBindings=new Map,this.changeTick=m.observable.ref(0),this.txWriteCounts=new Map,this.writeSeq=0,this.disposed=!1,this.suppressFormCallbackDepth=0,this.lastObservedChangedPaths=null,this.lastObservedSource=null,this.lastObservedToken=0,this.mountedFieldModelsByPathKey=new Map,this.mountedFieldModelPathKeys=new WeakMap,this.model=e.model,this.getForm=e.getForm,this.formPatcher=g({isSuppressed:()=>this.isSuppressed(),getCallerContext:()=>{var e;return null==(e=this.model)?void 0:e.context},setFormValues:this.setFormValues.bind(this)}),this.ruleEngine=new C({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,o;return(null==(t=this.model)||null==(e=t.getAclActionName)?void 0:e.call(t))??(null==(o=this.model)||null==(l=o.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,o,n;return(null==(n=this.model)||null==(o=n.context)||null==(l=o.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,f.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,f.x3)({valuesMirror:this.valuesMirror,basePath:[],getFormValuesSnapshot:()=>this.getFormValuesSnapshot(),getFormValueAtPath:e=>this.getFormValueAtPath(e)})}}function P(e,t){let l=Array.isArray(e)?e:[],o=new Set,n=e=>{var l,o,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 r=t,a=[],s=null,d=null;for(let e=0;e<i.length-1;e++){let t=i[e],n=null==r||null==(l=r.getField)?void 0:l.call(r,t);if(!(null==n||null==(o=n.isAssociationField)?void 0:o.call(n))||!(null==n?void 0:n.targetCollection))break;a.push(t),s=a.join("."),d=n,r=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&&o.add(l)}return Array.from(o)}var T=l(3127);let j={formModelSettings:new Set(["layout","assignRules"]),eventSettings:new Set(["linkageRules"])},I="nb-flow-keep-mobile-horizontal",L=(0,i.css)`
236
236
  &.${I} {
237
237
  @media (max-width: 575px) {
238
238
  .ant-form-item {
@@ -251,7 +251,7 @@ ${n}`,u)}}let o=T(e.issues.filter(e=>"runtime"===e.type)),n=o?`Key runtime issue
251
251
  }
252
252
  }
253
253
  }
254
- `;function D(e,t){var l;return!!(null==(l=j[e])?void 0:l.has(t))}class R extends p.t{get form(){return this.context.form}syncRuntimeAssignRules(){var e,t,l;arguments.length>0&&void 0!==arguments[0]&&arguments[0];let o=this.getStepParams("formModelSettings","assignRules"),n=(null==o?void 0:o.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,r=P(n,this.collection);(null==i?void 0:i.addUpdateAssociationValues)&&r.length&&i.addUpdateAssociationValues(r)}renderConfigureActions(){return(0,o.jsx)(r.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("FormActionGroupModel"),children:(0,o.jsx)(r.FlowSettingsButton,{icon:(0,o.jsx)(n.SettingOutlined,{}),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 o;if("beforeRender"===e){let e=this.subModels.grid;e&&await e.dispatchEvent("beforeRender",l,{useCache:null==t?void 0:t.useCache})}await (null==(o=super.onDispatchEventStart)?void 0:o.call(this,e,t,l))}getStepParams(e,t){let l=this.subModels.grid;if(e&&t&&D(e,t)&&l){let o=l.getStepParams(e,t);return void 0!==o?o:super.getStepParams(e,t)}if(e&&!t&&j[e]&&l){let t=super.getStepParams(e)||{},o=l.getStepParams(e)||{};for(let l of j[e])Object.prototype.hasOwnProperty.call(o,l)&&void 0!==o[l]&&(t[l]=o[l]);return t}return super.getStepParams(e,t)}setStepParams(e,t,l){let o=this.subModels.grid,n=(e,t)=>{let l=j[e];if(!l||!o)return t;let n={};for(let[i,r]of Object.entries(t))l.has(i)?o.setStepParams(e,i,r):n[i]=r;return n};if("string"==typeof e&&"string"==typeof t&&void 0!==l)return void(D(e,t)&&o?o.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,o]of Object.entries(e)){if("object"!=typeof o||null===o){t[l]=o;continue}let e=n(l,o);Object.keys(e).length>0&&(t[l]=e)}Object.keys(t).length>0&&super.setStepParams(t)}}async saveStepParams(){return await (0,c.ON)(this,async()=>{let e=await super.saveStepParams(),t=this.subModels.grid;return await (null==t?void 0:t.saveStepParams()),e})}createFormValuesMetaFactory(){return(0,r.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]=a.Form.useForm();this.context.defineProperty("form",{get:()=>e}),this.formValueRuntime||(this.formValueRuntime=new A({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,o,n,i,a,s,d,u,c,p,m,h,f;if(!e)return!1;let g=(e=>{let t=String(e||"").match(/^([^.[]+)/);return null==t?void 0:t[1]})(e);if(!g||!(null==(o=this.collection)||null==(l=o.getField)?void 0:l.call(o,g)))return!1;if((()=>{var e,t,l,o;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==(o=e.getStepParams)||null==(l=o.call(e,"fieldSettings","init"))?void 0:l.fieldPath,n=null==t?void 0:t.toString().split(".")[0];n&&i.add(n)}return i})().has(g)){let l=null==(i=this.form)||null==(n=i.getFieldValue)?void 0:n.call(i,g);if(null==l||Array.isArray(l)&&0===l.length)return!1;let o=t.getFormValuesSnapshot();return(!o||"object"!=typeof o||void 0===(0,__rspack_external__nocobase_shared_5d5808a9.getValuesByPath)(o,e))&&(0,r.createAssociationSubpathResolver)(()=>this.collection,()=>t.getFormValuesSnapshot())(e)}try{let e=(null==(d=this.context)||null==(s=d.resource)||null==(a=s.getMeta)?void 0:a.call(s,"currentFilterByTk"))??(null==(p=this.context)||null==(c=p.resource)||null==(u=c.getFilterByTk)?void 0:u.call(c))??(null==(f=this.collection)||null==(h=f.getFilterByTK)?void 0:h.call(f,null==(m=this.context)?void 0:m.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,o){return t.setFormValues(this,[{path:e,value:l}],o)})}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),this.userModifiedTopLevelFields=new Set,this._defaultCustomModelClasses={FormActionGroupModel:"FormActionGroupModel",FormItemModel:"FormItemModel",FormAssociationFieldGroupModel:"FormAssociationFieldGroupModel"},this.customModelClasses={}}}function E(e){var t,l,n,i;let{model:r,children:d,layoutProps:u={},initialValues:c,...p}=e,m=!!((null==r||null==(t=r.context)?void 0:t.isMobileLayout)&&(null==u?void 0:u.layout)==="horizontal"),h=[p.className,m?I:"",m?L:""].filter(Boolean).join(" ");return(0,o.jsx)(a.Form,{form:r.form,initialValues:(null==(i=r.context)||null==(n=i.view)||null==(l=n.inputArgs)?void 0:l.formData)||r.context.record||c,...(0,s.omit)(u,"labelWidth"),labelCol:{style:{width:null==u?void 0:u.labelWidth}},onFieldsChange:e=>{let t=r.formValueRuntime;t&&t.handleFormFieldsChange(e)},onValuesChange:(e,t)=>{var l;null==(l=r.markUserModifiedFields)||l.call(r,e);let o=r.formValueRuntime;o?o.handleFormValuesChange(e,t):(r.dispatchEvent("formValuesChange",{changedValues:e,allValues:t},{debounce:!0}),r.emitter.emit("formValuesChange",{changedValues:e,allValues:t}))},...p,className:h||void 0,children:d})}let Y=e=>{if(!e)return 0;let t=e.getBoundingClientRect(),l=window.getComputedStyle(e),o=parseFloat(l.marginTop)||0,n=parseFloat(l.marginBottom)||0;return t.height+o+n},N=e=>{if(null!=e&&""!==e)return"number"==typeof e||/^\d+(\.\d+)?$/.test(e)?`${e}px`:e},O=e=>{let{heightMode:t,containerRef:l,actionsRef:o,footerRef:n,deps:i=[]}=e,[r,a]=(0,d.useState)(),s=(0,d.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 r=Math.max(0,Math.floor(i-Y((null==o?void 0:o.current)||null)-Y((null==n?void 0:n.current)||null)));a(e=>e===r?e:r)},[t,l,o,n]);return(0,d.useLayoutEffect)(()=>{s()},[s,...i]),(0,d.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=(null==o?void 0:o.current)||null,i=(null==n?void 0:n.current)||null,r=new ResizeObserver(()=>s());return r.observe(e),t&&r.observe(t),i&&r.observe(i),()=>r.disconnect()},[s,l,o,n,...i]),r},B=e=>{var t,l;let{model:n,gridModel:i,layoutProps:r,onFinish:a,grid:s,actions:u,footer:c,heightMode:p,height:m}=e,h=(0,d.useRef)(null),f=(0,d.useRef)(null),g=(0,d.useRef)(null),v="specifyValue"===p||"fullHeight"===p,y={paddingTop:null==(l=n.context)||null==(t=l.themeToken)?void 0:t.padding},_=(null==r?void 0:r.layout)==="horizontal"?N(null==r?void 0:r.labelWidth):void 0;_&&(y.marginInlineStart=_);let b=O({heightMode:p,containerRef:h,actionsRef:u?f:void 0,footerRef:c?g:void 0,deps:[m]});(0,d.useEffect)(()=>{var e;if(!i)return;let t=v?b:void 0;(null==(e=i.props)?void 0:e.height)!==t&&i.setProps({height:t})},[i,b,v]);let x=v?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,M=v?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,o.jsx)(E,{model:n,layoutProps:r,onFinish:a,style:x,children:(0,o.jsxs)("div",{ref:h,style:M,children:[s,u?(0,o.jsx)("div",{style:y,ref:f,children:u}):null,c?(0,o.jsx)("div",{ref:g,children:c}):null]})})};R.define({hide:!0}),R.registerFlow({key:"formModelSettings",title:(0,r.tExpr)("Form settings"),steps:{layout:{use:"layout",title:(0,r.tExpr)("Layout")},assignRules:{use:"formAssignRules",title:(0,r.tExpr)("Field values"),beforeParamsSave(e){let t=(0,T.Fp)(e.model);Array.isArray(t)&&t.length&&(0,c.jI)(e.model)},afterParamsSave(e){var t,l,o,n,i,r;let a=e.model.getStepParams("formModelSettings","assignRules"),s=(null==a?void 0:a.value)||[];null==(o=e.model)||null==(l=o.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=P(s,null==(r=e.model)?void 0:r.collection);(null==d?void 0:d.addUpdateAssociationValues)&&u.length&&d.addUpdateAssociationValues(u)}}}}),R.registerFlow({key:"eventSettings",title:(0,r.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)}}}}),R.registerEvents({formValuesChange:{title:(0,r.tExpr)("Form values change"),name:"formValuesChange",uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":u.H}},handler:u.b}});class V extends R{}V.define({hide:!0})},3127(e,t,l){l.d(t,{Fp:()=>s,K7:()=>a,S2:()=>o.S2});var o=l(3341);let n=["editItemSettings","formItemSettings"],i=(0,o.li)(n),r=(0,o.u4)(n);function a(e){return(0,o.TE)(e,i)}function s(e){return(0,o.Co)(e,i,r)}},4084(e,t,l){l.d(t,{submitHandler:()=>a});var o=l(504),n=l(3027),i=l(24);function r(e){return e&&"object"==typeof e&&"data"in e?e.data:e}async function a(e,t,a){var s,d,u,c,p,m,h,f;let g=e.resource,v=e.blockModel,{EditFormModel:y}=await Promise.resolve().then(l.bind(l,1961)),_=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 b=v.form.getFieldsValue(!0),x=(0,i.xT)(b,v),M=await (0,n.eu)(e,null==t?void 0:t.assignedValues,"FormSubmitAction");if(!M){null==(s=e.exit)||s.call(e);return}let w=(0,n.GO)(x,M);if(g instanceof o.SingleRecordResource){if(_){let e=g.getMeta("currentFilterByTk");e?g.setFilterByTk(e):g.isNewRecord=!0}let l=r(a?await a(w):await g.save(w,t.requestConfig));return _?(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==(m=v.formValueRuntime)||null==(p=m.resetAfterFormReset)||p.call(m),e.view.inputArgs.collectionName===v.collection.name&&e.view.inputArgs.onChange&&e.view.inputArgs.onChange(l)),l}if(g instanceof o.MultiRecordResource){let l=g.getMeta("currentFilterByTk");if(!l)return void e.message.error(e.t("No filterByTk found for multi-record resource."));let o=a?await a(w,l):await g.update(l,w,t.requestConfig);return null==(h=v.resetUserModifiedFields)||h.call(v),r(o)??(null==(f=v.getCurrentRecord)?void 0:f.call(v))}}},24(e,t,l){l.d(t,{D9:()=>g,go:()=>f,xT:()=>v});var o=l(7583),n=l(3728);function i(e,t){var l,o;let n=null==e||null==(o=e.context)||null==(l=o.blockModel)?void 0:l.uid,i=null==t?void 0:t.uid;return!!n&&!!i&&String(n)===String(i)}function r(e){var t,l;let o=null==e||null==(t=e.context)?void 0:t.fieldPathArray;if(Array.isArray(o)&&o.length)return o;try{let t=null==e||null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init"),o=null==t?void 0:t.fieldPath;if("string"==typeof o&&o)return o}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,r=null==i?void 0:i.name;return"string"==typeof r&&r||Array.isArray(r)&&r.length?r:null}function a(e){return Array.isArray(e)&&e.length&&"string"==typeof e[0]?e:null}function s(e){var t;let l=r(e);return l?a((0,n.IJ)(l,null==e||null==(t=e.context)?void 0:t.fieldIndex)):null}function d(e,t){if(e&&"object"==typeof e&&Array.isArray(t)&&!(t.length<2))for(let l=t.length-1;l>=1;l--){let n=t.slice(0,l);if("number"==typeof n[n.length-1])continue;let i=o.default.get(e,n);o.default.isPlainObject(i)&&0===Object.keys(i).length&&o.default.unset(e,n)}}function u(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 c(e){let t=null==e?void 0:e.flowEngine;if(!(null==t?void 0:t.forEachModel))return[];let l=[],o=new Set;return u(t,t=>{if(!t||"object"!=typeof t||!t.hidden||!i(t,e))return;let n=s(t);if(!n)return;let r=JSON.stringify(n);o.has(r)||(o.add(r),l.push(n))}),l}function p(e){return"string"==typeof e?e?[e]:null:Array.isArray(e)?a(e):null}function m(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 h(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 o=[],n=new Set;for(let e of l){let t=p(null==e?void 0:e.name);if(!t)continue;let l=JSON.stringify(t);n.has(l)||(n.add(l),o.push(t))}if(!o.length)return null;let i=c(e);return i.length?o.filter(e=>!i.some(t=>m(t,e))):o}function f(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 g(e){let{form:t,blockModel:l,flowSettingsEnabled:o,skipValidator:n}=e;if(n||!t||"function"!=typeof t.validateFields)return;let i=o&&l?h(l):null;if(Array.isArray(i)){i.length&&await t.validateFields(i);return}await t.validateFields()}function v(e,t){if(!e||"object"!=typeof e)return e;let l=c(t);if(!l.length)return e;let n=o.default.cloneDeep(e);for(let e of l)o.default.unset(n,e),d(n,e);return n}},9413(e,t,l){l.d(t,{F:()=>n});var o=l(3526);function n(e,t){let l=(t,l,o)=>{var n,i,r;return!l||(null==e||null==(r=e.app)||null==(i=r.jsonLogic)||null==(n=i.apply)?void 0:n.call(i,{[l]:[t,o]}))};try{return(0,o.evaluateConditions)((0,o.removeInvalidFilterItems)(t),l)}catch{return!1}}},9613(e,t,l){l.d(t,{Dd:()=>s,G:()=>u,Wp:()=>c,x3:()=>d});var o=l(2314),n=l(504),i=l(7583),r=l(3728);function a(e){return!!e&&"object"==typeof e&&(Array.isArray(e)||i.default.isPlainObject(e))}function s(e,t){if(t)for(let l of(0,r.ef)(e))t.deps.add(`fv:${l}`)}function d(e){let{valuesMirror:t,collector:l,basePath:n,getFormValuesSnapshot:r,getFormValueAtPath:u}=e,c=()=>n.length?i.default.get(t,n):t,p=c(),m=p&&("object"==typeof p||"function"==typeof p)?p:Array.isArray(p)?[]:{},h=e=>d({valuesMirror:t,basePath:e,collector:l,getFormValuesSnapshot:r,getFormValueAtPath:u});return new Proxy(m,{get(e,d){if("toJSON"===d)return(l&&(l.wildcard=!0),0===n.length)?()=>r():()=>(0,o.toJS)(c());if("symbol"==typeof d){l&&(l.wildcard=!0);let e=c();return null==e?void 0:e[d]}let p=c();if(null==p)return;if("__raw"===d)return p;if("__proto__"===d||"prototype"===d||"constructor"===d){l&&(l.wildcard=!0);return}let m=Array.isArray(p),f=m&&("number"==typeof d&&Number.isInteger(d)||"string"==typeof d&&/^\d+$/.test(d));if(m&&!f){l&&(l.wildcard=!0);let e=p[d];return"function"==typeof e?e.bind(p):e}let g=[...n,f?Number(d):d];s(g,l);let v=p[d];if(void 0===v){let e=u(g);i.default.isEqual(e,v)||(i.default.set(t,g,e),v=e)}return null==v||"object"!=typeof v?v:a(v)?h(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 u(e,t){try{let l=(0,n.extractUsedVariablePaths)(e)||{};for(let[e,o]of Object.entries(l)){let l=Array.isArray(o)?o:[];for(let o of l.length?l:[""]){if("formValues"===e){if(!o){t.wildcard=!0;continue}let e=(0,r.EA)(String(o)).filter(e=>"object"!=typeof e);s(e,t);continue}let l=o?`ctx:${e}:${String(o)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}function c(e,t){if((0,n.isRunJSValue)(e))try{let l=(0,n.extractUsedVariablePathsFromRunJS)(e.code)||{};for(let[e,o]of Object.entries(l)){let l=Array.isArray(o)?o:[];for(let o of l.length?l:[""]){if("formValues"===e){if(!o){t.wildcard=!0;continue}let e=(0,r.EA)(String(o)).filter(e=>"object"!=typeof e);s(e,t);continue}let l=o?`ctx:${e}:${String(o)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}},3728(e,t,l){function o(e){let t=[],l=0,o=e.length,n=()=>{let n=l;for(;l<o&&"."!==e[l]&&"["!==e[l];)l++;let i=e.slice(n,l);i&&t.push(i)};for(;l<o;){let i=e[l];if("."===i){l++;continue}if("["===i){let n=++l;for(;l<o&&"]"!==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,o]=e.split(":"),n=Number(o);!t||Number.isNaN(n)||l.push({name:t,index:n})}return l}function i(e,t){let l=Array.isArray(e)?[...e]:o(e),i=n(t),r=[],a=0;for(let e=0;e<l.length;e++){let t=l[e];if("object"==typeof t&&t&&"placeholder"in t){let e=r[r.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;r.push(i[a].index),a++;continue}if(r.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||(r.push(i[a].index),a++)}}return r}function r(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 o(e).filter(e=>"object"!=typeof e)}function s(e){let t=[],l=[];for(let o of e)l.push(o),t.push(r(l));return t}l.d(t,{EA:()=>o,IJ:()=>i,Qc:()=>r,c1:()=>a,ef:()=>s})},1022(e,t,l){l.d(t,{Po:()=>i,ao:()=>r,li:()=>n});var o=l(7583);let n=20;function i(e){return null==e||("string"==typeof e||Array.isArray(e)?0===e.length:!!o.default.isPlainObject(e)&&0===Object.keys(e).length)}function r(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}},3341(e,t,l){l.d(t,{Co:()=>h,PP:()=>i,S2:()=>m,TE:()=>p,li:()=>s,u4:()=>c});var o=l(7583);function n(){return{logic:"$and",items:[]}}function i(e,t,l){var o;let n=null==e||null==(o=e.getStepParams)?void 0:o.call(e,t,l);return!!n&&Object.prototype.hasOwnProperty.call(n,"value")}function r(e){if(!e)return;let t="function"==typeof e.getProps?e.getProps():e.props;if(t&&void 0!==t.initialValue)return t.initialValue}function a(e,t){var l,o;if(e)return null==(o=e.getStepParams)||null==(l=o.call(e,t,"initialValue"))?void 0:l.defaultValue}function s(e){return t=>{if(!t)return;let l=r(t);if(void 0!==l)return l;for(let l of e){let e=a(t,l);if(void 0!==e)return e}}}function d(e,t,l){var n,i,r;if(!(null==e||null==(n=e.stepParams)?void 0:n[t]))return;let a=e.stepParams[t];!a||"object"!=typeof a||Object.prototype.hasOwnProperty.call(a,l)&&(delete a[l],o.default.isEmpty(a)&&delete e.stepParams[t],null==(r=e.emitter)||null==(i=r.emit)||i.call(r,"onStepParamsChanged"))}function u(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 o=null==(l=e._options)?void 0:l.props;o&&Object.prototype.hasOwnProperty.call(o,"initialValue")&&delete o.initialValue}function c(e){return t=>{if(t)for(let l of(u(t),e))d(t,l,"initialValue")}}function p(e,t){var l,o,i,r,a;let s=null==e||null==(i=e.subModels)||null==(o=i.grid)||null==(l=o.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==(r=a.call(e,"fieldSettings","init"))?void 0:r.fieldPath)||(null==e?void 0:e.fieldPath),o=l?String(l):"";if(!o)continue;let i=t(e);void 0!==i&&u.push({key:`legacy-default:${o}`,enable:!0,targetPath:o,mode:"default",condition:n(),value:i})}return u}function m(e,t){let l=Array.isArray(e)?e:[],o=Array.isArray(t)?t:[];if(!o.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??""))),r=[];for(let e of o){let t=e.targetPath?String(e.targetPath):"";if(!t||n.has(t))continue;let l={...e},o=String(l.key??"");o&&i.has(o)&&(l.key=`${o}:${t}`),r.push(l)}return r.length?[...l,...r]:l}function h(e,t,l){var o,n,i;let r=null==e||null==(i=e.subModels)||null==(n=i.grid)||null==(o=n.subModels)?void 0:o.items,a=Array.isArray(r)?r:[],s=[];for(let e of a)void 0!==t(e)&&(l(e),s.push(e));return s}},8709(e,t,l){l.d(t,{$4:()=>a,r5:()=>r});var o=l(7404);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 r(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 o=i(e,t);return null!=o?`pk:${o}`: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,o.uid)()}):e});return t?l:e}},4881(e,t,l){l.d(t,{m:()=>p});var o=l(1178),n=l(504),i=l(2793),r=l(1649),a=l(9829),s=l(6859),d=l(1557);function u(e){let{value:t,onChange:l,onCompositionStart:n,onCompositionEnd:a,...s}=e,[d,u]=(0,r.useState)(()=>c(t));(0,r.useEffect)(()=>{u(c(t))},[t]);let p=e=>e.currentTarget.value;return(0,o.jsx)(i.Input,{...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,o.jsx)(d.E,{...this.props});let{enableScan:e,disableManualInput:t,...l}=this.props;return(0,o.jsx)(u,{...l})}}p.registerFlow({key:"defaultValueForNanoid",steps:{generateNanoid:{handler(e,t){var l,o;null==(o=e.blockModel)||null==(l=o.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.customAlphabet)(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 o=null==(t=(l=e.model).getStepParams)?void 0:t.call(l,"scanInputSettings","enableScan");return!(Object.prototype.hasOwnProperty.call(o||{},"enableScan")?!!(null==o?void 0:o.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})},7520(e,t,l){l.d(t,{o:()=>o,e:()=>s});class o{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){this.apiClient=e,this.loading=!1,this.listeners=new Set}}var n=l(504),i=l(6305),r=l(6553),a=l(1649);let s=()=>{var e,t;let l=(0,i.nm)().systemSettings,o=(0,n.useFlowEngine)({throwError:!1}),[,s]=(0,a.useState)(0),d=null==(t=l.data)||null==(e=t.data)?void 0:e.enabledLanguages,u=(0,a.useMemo)(()=>(Array.isArray(d)?d:[]).filter(e=>r.A[e]).map(e=>({label:r.A[e].label,value:e})),[d]);return(0,a.useEffect)(()=>(l.load(),l.subscribe(()=>{s(e=>e+1)})),[l]),(0,a.useEffect)(()=>{o&&o.context.defineProperty("locale",{get:e=>{var t,l,o;return(null==(l=e.api)||null==(t=l.auth)?void 0:t.locale)||(null==(o=e.i18n)?void 0:o.language)},cache:!1,meta:{type:"string",title:'{{t("Current language")}}',sort:970,interface:"select",uiSchema:{enum:u,"x-component":"Select"}}})},[o,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)}}}},8481(e,t,l){l.d(t,{F3:()=>a,GX:()=>s,b1:()=>d});let o={view:"get"},n=e=>e?o[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)}},r=(e,t)=>{let l=n(t);if(!l||!(null==e?void 0:e.options))return!0;let{availableActions:o,unavailableActions:i}=e.options;return Array.isArray(o)?o.includes(l):!Array.isArray(i)||!i.includes(l)},a=(e,t)=>null==t||!t.length||t.every(t=>r(e,t)),s=e=>{var t;let l=i(e,["capabilityActionNames","capabilityActionName"]);if(void 0!==l)return l;let o=null==e||null==(t=e.prototype)?void 0:t.getAclActionName;if("function"!=typeof o)return null;try{let e=o.call({}),t=n(e);return t?[t]:null}catch{return null}},d=e=>i(e,["blockCapabilityActionNames","blockCapabilityActionName"])??null},7123(e,t,l){l.d(t,{l:()=>o});function o(e){let{blockLabel:t,dsName:l,dsCount:o,collectionTitle:n,sourceCollectionTitle:i,associationTitle:r}=e,a=o>1&&!!l,s=n;if(i&&r){let e=`${i} > ${r} (${n})`;s=`${a?`${l} > `:""}${e}`}else s=`${a?`${l} > `:""}${n}`;return`
254
+ `;function D(e,t){var l;return!!(null==(l=j[e])?void 0:l.has(t))}function R(e){return"hasAvailableData"in e&&"function"==typeof e.hasAvailableData}function E(e){return"submit"in e&&"function"==typeof e.submit}class Y extends p.t{serialize(){return{...super.serialize(),variableContractType:{type:"form",use:this.use}}}get form(){return this.context.form}submitFromRunJs(){if(R(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&&E(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 o=this.getStepParams("formModelSettings","assignRules"),n=(null==o?void 0:o.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,r=P(n,this.collection);(null==i?void 0:i.addUpdateAssociationValues)&&r.length&&i.addUpdateAssociationValues(r)}renderConfigureActions(){return(0,o.jsx)(r.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("FormActionGroupModel"),children:(0,o.jsx)(r.FlowSettingsButton,{icon:(0,o.jsx)(n.SettingOutlined,{}),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 o;if("beforeRender"===e){let e=this.subModels.grid;e&&await e.dispatchEvent("beforeRender",l,{useCache:null==t?void 0:t.useCache})}await (null==(o=super.onDispatchEventStart)?void 0:o.call(this,e,t,l))}getStepParams(e,t){let l=this.subModels.grid;if(e&&t&&D(e,t)&&l){let o=l.getStepParams(e,t);return void 0!==o?o:super.getStepParams(e,t)}if(e&&!t&&j[e]&&l){let t=super.getStepParams(e)||{},o=l.getStepParams(e)||{};for(let l of j[e])Object.prototype.hasOwnProperty.call(o,l)&&void 0!==o[l]&&(t[l]=o[l]);return t}return super.getStepParams(e,t)}setStepParams(e,t,l){let o=this.subModels.grid,n=(e,t)=>{let l=j[e];if(!l||!o)return t;let n={};for(let[i,r]of Object.entries(t))l.has(i)?o.setStepParams(e,i,r):n[i]=r;return n};if("string"==typeof e&&"string"==typeof t&&void 0!==l)return void(D(e,t)&&o?o.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,o]of Object.entries(e)){if("object"!=typeof o||null===o){t[l]=o;continue}let e=n(l,o);Object.keys(e).length>0&&(t[l]=e)}Object.keys(t).length>0&&super.setStepParams(t)}}async saveStepParams(){return await (0,c.ON)(this,async()=>{let e=await super.saveStepParams(),t=this.subModels.grid;return await (null==t?void 0:t.saveStepParams()),e})}createFormValuesMetaFactory(){return(0,r.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]=a.Form.useForm();this.context.defineProperty("form",{get:()=>e}),this.formValueRuntime||(this.formValueRuntime=new A({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,o,n,i,a,s,d,u,c,p,m,h,f;if(!e)return!1;let g=(e=>{let t=String(e||"").match(/^([^.[]+)/);return null==t?void 0:t[1]})(e);if(!g||!(null==(o=this.collection)||null==(l=o.getField)?void 0:l.call(o,g)))return!1;if((()=>{var e,t,l,o;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==(o=e.getStepParams)||null==(l=o.call(e,"fieldSettings","init"))?void 0:l.fieldPath,n=null==t?void 0:t.toString().split(".")[0];n&&i.add(n)}return i})().has(g)){let l=null==(i=this.form)||null==(n=i.getFieldValue)?void 0:n.call(i,g);if(null==l||Array.isArray(l)&&0===l.length)return!1;let o=t.getFormValuesSnapshot();return(!o||"object"!=typeof o||void 0===(0,__rspack_external__nocobase_shared_5d5808a9.getValuesByPath)(o,e))&&(0,r.createAssociationSubpathResolver)(()=>this.collection,()=>t.getFormValuesSnapshot())(e)}try{let e=(null==(d=this.context)||null==(s=d.resource)||null==(a=s.getMeta)?void 0:a.call(s,"currentFilterByTk"))??(null==(p=this.context)||null==(c=p.resource)||null==(u=c.getFilterByTk)?void 0:u.call(c))??(null==(f=this.collection)||null==(h=f.getFilterByTK)?void 0:h.call(f,null==(m=this.context)?void 0:m.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,o){return t.setFormValues(this,[{path:e,value:l}],o)})}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),this.userModifiedTopLevelFields=new Set,this._defaultCustomModelClasses={FormActionGroupModel:"FormActionGroupModel",FormItemModel:"FormItemModel",FormAssociationFieldGroupModel:"FormAssociationFieldGroupModel"},this.customModelClasses={}}}function N(e){var t,l,n,i;let{model:r,children:d,layoutProps:u={},initialValues:c,...p}=e,m=!!((null==r||null==(t=r.context)?void 0:t.isMobileLayout)&&(null==u?void 0:u.layout)==="horizontal"),h=[p.className,m?I:"",m?L:""].filter(Boolean).join(" ");return(0,o.jsx)(a.Form,{form:r.form,initialValues:(null==(i=r.context)||null==(n=i.view)||null==(l=n.inputArgs)?void 0:l.formData)||r.context.record||c,...(0,s.omit)(u,"labelWidth"),labelCol:{style:{width:null==u?void 0:u.labelWidth}},onFieldsChange:e=>{let t=r.formValueRuntime;t&&t.handleFormFieldsChange(e)},onValuesChange:(e,t)=>{var l;null==(l=r.markUserModifiedFields)||l.call(r,e);let o=r.formValueRuntime;o?o.handleFormValuesChange(e,t):(r.dispatchEvent("formValuesChange",{changedValues:e,allValues:t},{debounce:!0}),r.emitter.emit("formValuesChange",{changedValues:e,allValues:t}))},...p,className:h||void 0,children:d})}let O=e=>{if(!e)return 0;let t=e.getBoundingClientRect(),l=window.getComputedStyle(e),o=parseFloat(l.marginTop)||0,n=parseFloat(l.marginBottom)||0;return t.height+o+n},B=e=>{if(null!=e&&""!==e)return"number"==typeof e||/^\d+(\.\d+)?$/.test(e)?`${e}px`:e},V=e=>{let{heightMode:t,containerRef:l,actionsRef:o,footerRef:n,deps:i=[]}=e,[r,a]=(0,d.useState)(),s=(0,d.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 r=Math.max(0,Math.floor(i-O((null==o?void 0:o.current)||null)-O((null==n?void 0:n.current)||null)));a(e=>e===r?e:r)},[t,l,o,n]);return(0,d.useLayoutEffect)(()=>{s()},[s,...i]),(0,d.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=(null==o?void 0:o.current)||null,i=(null==n?void 0:n.current)||null,r=new ResizeObserver(()=>s());return r.observe(e),t&&r.observe(t),i&&r.observe(i),()=>r.disconnect()},[s,l,o,n,...i]),r},H=e=>{var t,l;let{model:n,gridModel:i,layoutProps:r,onFinish:a,grid:s,actions:u,footer:c,heightMode:p,height:m}=e,h=(0,d.useRef)(null),f=(0,d.useRef)(null),g=(0,d.useRef)(null),v="specifyValue"===p||"fullHeight"===p,y={paddingTop:null==(l=n.context)||null==(t=l.themeToken)?void 0:t.padding},_=(null==r?void 0:r.layout)==="horizontal"?B(null==r?void 0:r.labelWidth):void 0;_&&(y.marginInlineStart=_);let b=V({heightMode:p,containerRef:h,actionsRef:u?f:void 0,footerRef:c?g:void 0,deps:[m]});(0,d.useEffect)(()=>{var e;if(!i)return;let t=v?b:void 0;(null==(e=i.props)?void 0:e.height)!==t&&i.setProps({height:t})},[i,b,v]);let x=v?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,M=v?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,o.jsx)(N,{model:n,layoutProps:r,onFinish:a,style:x,children:(0,o.jsxs)("div",{ref:h,style:M,children:[s,u?(0,o.jsx)("div",{style:y,ref:f,children:u}):null,c?(0,o.jsx)("div",{ref:g,children:c}):null]})})};Y.define({hide:!0}),Y.registerFlow({key:"formModelSettings",title:(0,r.tExpr)("Form settings"),steps:{layout:{use:"layout",title:(0,r.tExpr)("Layout")},assignRules:{use:"formAssignRules",title:(0,r.tExpr)("Field values"),beforeParamsSave(e){let t=(0,T.Fp)(e.model);Array.isArray(t)&&t.length&&(0,c.jI)(e.model)},afterParamsSave(e){var t,l,o,n,i,r;let a=e.model.getStepParams("formModelSettings","assignRules"),s=(null==a?void 0:a.value)||[];null==(o=e.model)||null==(l=o.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=P(s,null==(r=e.model)?void 0:r.collection);(null==d?void 0:d.addUpdateAssociationValues)&&u.length&&d.addUpdateAssociationValues(u)}}}}),Y.registerFlow({key:"eventSettings",title:(0,r.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)}}}}),Y.registerEvents({formValuesChange:{title:(0,r.tExpr)("Form values change"),name:"formValuesChange",uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":u.H}},handler:u.b}});class q extends Y{}q.define({hide:!0})},3127(e,t,l){l.d(t,{Fp:()=>s,K7:()=>a,S2:()=>o.S2});var o=l(3341);let n=["editItemSettings","formItemSettings"],i=(0,o.li)(n),r=(0,o.u4)(n);function a(e){return(0,o.TE)(e,i)}function s(e){return(0,o.Co)(e,i,r)}},4084(e,t,l){l.d(t,{submitHandler:()=>a});var o=l(504),n=l(3027),i=l(24);function r(e){return e&&"object"==typeof e&&"data"in e?e.data:e}async function a(e,t,a){var s,d,u,c,p,m,h,f;let g=e.resource,v=e.blockModel,{EditFormModel:y}=await Promise.resolve().then(l.bind(l,1961)),_=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 b=v.form.getFieldsValue(!0),x=(0,i.xT)(b,v),M=await (0,n.eu)(e,null==t?void 0:t.assignedValues,"FormSubmitAction");if(!M){null==(s=e.exit)||s.call(e);return}let w=(0,n.GO)(x,M);if(g instanceof o.SingleRecordResource){if(_){let e=g.getMeta("currentFilterByTk");e?g.setFilterByTk(e):g.isNewRecord=!0}let l=r(a?await a(w):await g.save(w,t.requestConfig));return _?(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==(m=v.formValueRuntime)||null==(p=m.resetAfterFormReset)||p.call(m),e.view.inputArgs.collectionName===v.collection.name&&e.view.inputArgs.onChange&&e.view.inputArgs.onChange(l)),l}if(g instanceof o.MultiRecordResource){let l=g.getMeta("currentFilterByTk");if(!l)return void e.message.error(e.t("No filterByTk found for multi-record resource."));let o=a?await a(w,l):await g.update(l,w,t.requestConfig);return null==(h=v.resetUserModifiedFields)||h.call(v),r(o)??(null==(f=v.getCurrentRecord)?void 0:f.call(v))}}},24(e,t,l){l.d(t,{D9:()=>g,go:()=>f,xT:()=>v});var o=l(7583),n=l(3728);function i(e,t){var l,o;let n=null==e||null==(o=e.context)||null==(l=o.blockModel)?void 0:l.uid,i=null==t?void 0:t.uid;return!!n&&!!i&&String(n)===String(i)}function r(e){var t,l;let o=null==e||null==(t=e.context)?void 0:t.fieldPathArray;if(Array.isArray(o)&&o.length)return o;try{let t=null==e||null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init"),o=null==t?void 0:t.fieldPath;if("string"==typeof o&&o)return o}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,r=null==i?void 0:i.name;return"string"==typeof r&&r||Array.isArray(r)&&r.length?r:null}function a(e){return Array.isArray(e)&&e.length&&"string"==typeof e[0]?e:null}function s(e){var t;let l=r(e);return l?a((0,n.IJ)(l,null==e||null==(t=e.context)?void 0:t.fieldIndex)):null}function d(e,t){if(e&&"object"==typeof e&&Array.isArray(t)&&!(t.length<2))for(let l=t.length-1;l>=1;l--){let n=t.slice(0,l);if("number"==typeof n[n.length-1])continue;let i=o.default.get(e,n);o.default.isPlainObject(i)&&0===Object.keys(i).length&&o.default.unset(e,n)}}function u(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 c(e){let t=null==e?void 0:e.flowEngine;if(!(null==t?void 0:t.forEachModel))return[];let l=[],o=new Set;return u(t,t=>{if(!t||"object"!=typeof t||!t.hidden||!i(t,e))return;let n=s(t);if(!n)return;let r=JSON.stringify(n);o.has(r)||(o.add(r),l.push(n))}),l}function p(e){return"string"==typeof e?e?[e]:null:Array.isArray(e)?a(e):null}function m(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 h(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 o=[],n=new Set;for(let e of l){let t=p(null==e?void 0:e.name);if(!t)continue;let l=JSON.stringify(t);n.has(l)||(n.add(l),o.push(t))}if(!o.length)return null;let i=c(e);return i.length?o.filter(e=>!i.some(t=>m(t,e))):o}function f(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 g(e){let{form:t,blockModel:l,flowSettingsEnabled:o,skipValidator:n}=e;if(n||!t||"function"!=typeof t.validateFields)return;let i=o&&l?h(l):null;if(Array.isArray(i)){i.length&&await t.validateFields(i);return}await t.validateFields()}function v(e,t){if(!e||"object"!=typeof e)return e;let l=c(t);if(!l.length)return e;let n=o.default.cloneDeep(e);for(let e of l)o.default.unset(n,e),d(n,e);return n}},9413(e,t,l){l.d(t,{F:()=>n});var o=l(3526);function n(e,t){let l=(t,l,o)=>{var n,i,r;return!l||(null==e||null==(r=e.app)||null==(i=r.jsonLogic)||null==(n=i.apply)?void 0:n.call(i,{[l]:[t,o]}))};try{return(0,o.evaluateConditions)((0,o.removeInvalidFilterItems)(t),l)}catch{return!1}}},9613(e,t,l){l.d(t,{Dd:()=>s,G:()=>u,Wp:()=>c,x3:()=>d});var o=l(2314),n=l(504),i=l(7583),r=l(3728);function a(e){return!!e&&"object"==typeof e&&(Array.isArray(e)||i.default.isPlainObject(e))}function s(e,t){if(t)for(let l of(0,r.ef)(e))t.deps.add(`fv:${l}`)}function d(e){let{valuesMirror:t,collector:l,basePath:n,getFormValuesSnapshot:r,getFormValueAtPath:u}=e,c=()=>n.length?i.default.get(t,n):t,p=c(),m=p&&("object"==typeof p||"function"==typeof p)?p:Array.isArray(p)?[]:{},h=e=>d({valuesMirror:t,basePath:e,collector:l,getFormValuesSnapshot:r,getFormValueAtPath:u});return new Proxy(m,{get(e,d){if("toJSON"===d)return(l&&(l.wildcard=!0),0===n.length)?()=>r():()=>(0,o.toJS)(c());if("symbol"==typeof d){l&&(l.wildcard=!0);let e=c();return null==e?void 0:e[d]}let p=c();if(null==p)return;if("__raw"===d)return p;if("__proto__"===d||"prototype"===d||"constructor"===d){l&&(l.wildcard=!0);return}let m=Array.isArray(p),f=m&&("number"==typeof d&&Number.isInteger(d)||"string"==typeof d&&/^\d+$/.test(d));if(m&&!f){l&&(l.wildcard=!0);let e=p[d];return"function"==typeof e?e.bind(p):e}let g=[...n,f?Number(d):d];s(g,l);let v=p[d];if(void 0===v){let e=u(g);i.default.isEqual(e,v)||(i.default.set(t,g,e),v=e)}return null==v||"object"!=typeof v?v:a(v)?h(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 u(e,t){try{let l=(0,n.extractUsedVariablePaths)(e)||{};for(let[e,o]of Object.entries(l)){let l=Array.isArray(o)?o:[];for(let o of l.length?l:[""]){if("formValues"===e){if(!o){t.wildcard=!0;continue}let e=(0,r.EA)(String(o)).filter(e=>"object"!=typeof e);s(e,t);continue}let l=o?`ctx:${e}:${String(o)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}function c(e,t){if((0,n.isRunJSValue)(e))try{let l=(0,n.extractUsedVariablePathsFromRunJS)(e.code)||{};for(let[e,o]of Object.entries(l)){let l=Array.isArray(o)?o:[];for(let o of l.length?l:[""]){if("formValues"===e){if(!o){t.wildcard=!0;continue}let e=(0,r.EA)(String(o)).filter(e=>"object"!=typeof e);s(e,t);continue}let l=o?`ctx:${e}:${String(o)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}},3728(e,t,l){function o(e){let t=[],l=0,o=e.length,n=()=>{let n=l;for(;l<o&&"."!==e[l]&&"["!==e[l];)l++;let i=e.slice(n,l);i&&t.push(i)};for(;l<o;){let i=e[l];if("."===i){l++;continue}if("["===i){let n=++l;for(;l<o&&"]"!==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,o]=e.split(":"),n=Number(o);!t||Number.isNaN(n)||l.push({name:t,index:n})}return l}function i(e,t){let l=Array.isArray(e)?[...e]:o(e),i=n(t),r=[],a=0;for(let e=0;e<l.length;e++){let t=l[e];if("object"==typeof t&&t&&"placeholder"in t){let e=r[r.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;r.push(i[a].index),a++;continue}if(r.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||(r.push(i[a].index),a++)}}return r}function r(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 o(e).filter(e=>"object"!=typeof e)}function s(e){let t=[],l=[];for(let o of e)l.push(o),t.push(r(l));return t}l.d(t,{EA:()=>o,IJ:()=>i,Qc:()=>r,c1:()=>a,ef:()=>s})},1022(e,t,l){l.d(t,{Po:()=>i,ao:()=>r,li:()=>n});var o=l(7583);let n=20;function i(e){return null==e||("string"==typeof e||Array.isArray(e)?0===e.length:!!o.default.isPlainObject(e)&&0===Object.keys(e).length)}function r(){return`${Date.now()}-${Math.random().toString(16).slice(2)}`}},3341(e,t,l){l.d(t,{Co:()=>h,PP:()=>i,S2:()=>m,TE:()=>p,li:()=>s,u4:()=>c});var o=l(7583);function n(){return{logic:"$and",items:[]}}function i(e,t,l){var o;let n=null==e||null==(o=e.getStepParams)?void 0:o.call(e,t,l);return!!n&&Object.prototype.hasOwnProperty.call(n,"value")}function r(e){if(!e)return;let t="function"==typeof e.getProps?e.getProps():e.props;if(t&&void 0!==t.initialValue)return t.initialValue}function a(e,t){var l,o;if(e)return null==(o=e.getStepParams)||null==(l=o.call(e,t,"initialValue"))?void 0:l.defaultValue}function s(e){return t=>{if(!t)return;let l=r(t);if(void 0!==l)return l;for(let l of e){let e=a(t,l);if(void 0!==e)return e}}}function d(e,t,l){var n,i,r;if(!(null==e||null==(n=e.stepParams)?void 0:n[t]))return;let a=e.stepParams[t];!a||"object"!=typeof a||Object.prototype.hasOwnProperty.call(a,l)&&(delete a[l],o.default.isEmpty(a)&&delete e.stepParams[t],null==(r=e.emitter)||null==(i=r.emit)||i.call(r,"onStepParamsChanged"))}function u(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 o=null==(l=e._options)?void 0:l.props;o&&Object.prototype.hasOwnProperty.call(o,"initialValue")&&delete o.initialValue}function c(e){return t=>{if(t)for(let l of(u(t),e))d(t,l,"initialValue")}}function p(e,t){var l,o,i,r,a;let s=null==e||null==(i=e.subModels)||null==(o=i.grid)||null==(l=o.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==(r=a.call(e,"fieldSettings","init"))?void 0:r.fieldPath)||(null==e?void 0:e.fieldPath),o=l?String(l):"";if(!o)continue;let i=t(e);void 0!==i&&u.push({key:`legacy-default:${o}`,enable:!0,targetPath:o,mode:"default",condition:n(),value:i})}return u}function m(e,t){let l=Array.isArray(e)?e:[],o=Array.isArray(t)?t:[];if(!o.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??""))),r=[];for(let e of o){let t=e.targetPath?String(e.targetPath):"";if(!t||n.has(t))continue;let l={...e},o=String(l.key??"");o&&i.has(o)&&(l.key=`${o}:${t}`),r.push(l)}return r.length?[...l,...r]:l}function h(e,t,l){var o,n,i;let r=null==e||null==(i=e.subModels)||null==(n=i.grid)||null==(o=n.subModels)?void 0:o.items,a=Array.isArray(r)?r:[],s=[];for(let e of a)void 0!==t(e)&&(l(e),s.push(e));return s}},8709(e,t,l){l.d(t,{$4:()=>a,r5:()=>r});var o=l(7404);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 r(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 o=i(e,t);return null!=o?`pk:${o}`: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,o.uid)()}):e});return t?l:e}},4881(e,t,l){l.d(t,{m:()=>p});var o=l(1178),n=l(504),i=l(2793),r=l(1649),a=l(9829),s=l(6859),d=l(1557);function u(e){let{value:t,onChange:l,onCompositionStart:n,onCompositionEnd:a,...s}=e,[d,u]=(0,r.useState)(()=>c(t));(0,r.useEffect)(()=>{u(c(t))},[t]);let p=e=>e.currentTarget.value;return(0,o.jsx)(i.Input,{...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,o.jsx)(d.E,{...this.props});let{enableScan:e,disableManualInput:t,...l}=this.props;return(0,o.jsx)(u,{...l})}}p.registerFlow({key:"defaultValueForNanoid",steps:{generateNanoid:{handler(e,t){var l,o;null==(o=e.blockModel)||null==(l=o.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.customAlphabet)(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 o=null==(t=(l=e.model).getStepParams)?void 0:t.call(l,"scanInputSettings","enableScan");return!(Object.prototype.hasOwnProperty.call(o||{},"enableScan")?!!(null==o?void 0:o.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})},7520(e,t,l){l.d(t,{o:()=>o,e:()=>s});class o{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){this.apiClient=e,this.loading=!1,this.listeners=new Set}}var n=l(504),i=l(6305),r=l(6553),a=l(1649);let s=()=>{var e,t;let l=(0,i.nm)().systemSettings,o=(0,n.useFlowEngine)({throwError:!1}),[,s]=(0,a.useState)(0),d=null==(t=l.data)||null==(e=t.data)?void 0:e.enabledLanguages,u=(0,a.useMemo)(()=>(Array.isArray(d)?d:[]).filter(e=>r.A[e]).map(e=>({label:r.A[e].label,value:e})),[d]);return(0,a.useEffect)(()=>(l.load(),l.subscribe(()=>{s(e=>e+1)})),[l]),(0,a.useEffect)(()=>{o&&o.context.defineProperty("locale",{get:e=>{var t,l,o;return(null==(l=e.api)||null==(t=l.auth)?void 0:t.locale)||(null==(o=e.i18n)?void 0:o.language)},cache:!1,meta:{type:"string",title:'{{t("Current language")}}',sort:970,interface:"select",uiSchema:{enum:u,"x-component":"Select"}}})},[o,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)}}}},8481(e,t,l){l.d(t,{F3:()=>a,GX:()=>s,b1:()=>d});let o={view:"get"},n=e=>e?o[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)}},r=(e,t)=>{let l=n(t);if(!l||!(null==e?void 0:e.options))return!0;let{availableActions:o,unavailableActions:i}=e.options;return Array.isArray(o)?o.includes(l):!Array.isArray(i)||!i.includes(l)},a=(e,t)=>null==t||!t.length||t.every(t=>r(e,t)),s=e=>{var t;let l=i(e,["capabilityActionNames","capabilityActionName"]);if(void 0!==l)return l;let o=null==e||null==(t=e.prototype)?void 0:t.getAclActionName;if("function"!=typeof o)return null;try{let e=o.call({}),t=n(e);return t?[t]:null}catch{return null}},d=e=>i(e,["blockCapabilityActionNames","blockCapabilityActionName"])??null},7123(e,t,l){l.d(t,{l:()=>o});function o(e){let{blockLabel:t,dsName:l,dsCount:o,collectionTitle:n,sourceCollectionTitle:i,associationTitle:r}=e,a=o>1&&!!l,s=n;if(i&&r){let e=`${i} > ${r} (${n})`;s=`${a?`${l} > `:""}${e}`}else s=`${a?`${l} > `:""}${n}`;return`
255
255
  ${t}:
256
256
  ${s}`}},7093(e,t,l){l.d(t,{SM:()=>s,M6:()=>p,Xi:()=>i,hH:()=>m,NY:()=>c,hO:()=>h,lr:()=>o.l,HZ:()=>d});var o=l(7123),n=l(504);async function i(e,t,l,o,i){let r=(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,o))};for(;d.length;){let t=d.pop();if(!t||s.has(t))continue;if(s.add(t),r||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)}var r=l(691),a=l(1649);let s=e=>{let t=e.dataLength||0,l=e.pageSize||10,o=e.current||1;return t<l||!e.hasNext?l*o:l*o+1},d=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return(0,r.css)`
257
257
  .ant-pagination-simple-pager {
@@ -794,7 +794,7 @@ if (!ctx.record) {
794
794
  flex-shrink: 0;
795
795
  flex: 1;
796
796
  }
797
- `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":i1.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 s9 extends ah.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),this.defaultProps={type:"default",icon:"DownOutlined"}}}function s7(e){let{idKey:t="id",childrenKey:l="children"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=[];function n(e){if(Array.isArray(e))for(let i of e){let e=i[l];o.push(i[t]),Array.isArray(e)&&e.length>0&&n(e)}}return n(e),o}s9.scene=ah.s5.collection;let de=e=>s7(e);s9.registerFlow({key:"expandCollapseSettingsInit",sort:200,steps:{init:{handler(e,t){e.blockModel.props.defaultExpandAllRows?e.model.setExpandFlag(!0):e.model.setExpandFlag(!1)}}}}),s9.registerFlow({key:"expandCollapseSettings",on:"click",steps:{expandCollapse:{async handler(e,t){var l;if(!(null==(l=e.blockModel)?void 0:l.resource))return;let o=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=de(o.getData());e.blockModel.setProps({expandedRowKeys:t}),e.model.setExpandFlag(!0)}}}}}),s9.define({label:(0,u.escapeT)("Expand/Collapse"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.model.props.treeTable}});class dt extends su{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),this.defaultProps={type:"link",title:(0,u.tExpr)("Add child"),icon:"PlusOutlined"}}}dt.capabilityActionName=null,dt.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})}}}}}),dt.define({label:(0,u.tExpr)("Add child"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.blockModel.props.treeTable}}),am.registerActionModels({AddChildActionModel:dt});var dl=__webpack_require__(2088);class dn extends dl.F4{useHooksBeforeRender(){let[e]=g.Form.useForm();this.context.defineProperty("form",{get:()=>e})}onInit(e){super.onInit(e);let t=(0,u.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,u.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 aD(this,null==e?void 0:e.filterManager)}),this.isManualRefresh=!0}createResource(e,t){let l=this.context.createResource(u.SingleRecordResource);return l.isNewRecord=!0,l}renderComponent(){var e;let{colon:t,labelAlign:l,labelWidth:o,labelWrap:n,layout:i}=this.props;return(0,s.jsx)(dl.s2,{model:this,layoutProps:{colon:t,labelAlign:l,labelWidth:o,labelWrap:n,layout:i},children:(0,s.jsx)(u.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,o]=e;l.addOrEnsureItem(t,o)})}getAssignedValues(){return this.subModels.grid.getAssignedValues()||{}}}dn.define({label:(0,u.tExpr)("Field assignments"),hide:!0,createModelOptions:{use:"AssignFormModel",subModels:{grid:{use:"AssignFormGridModel"}}}});class di extends a${renderAddSubModelButton(){return(0,s.jsx)(u.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,s.jsx)(u.FlowSettingsButton,{icon:(0,s.jsx)(e1.SettingOutlined,{}),children:this.translate("Fields")})})}render(){var e,t;let l=null==(e=this.props)?void 0:e.height,o=null==(t=this.props)?void 0:t.heightModel,n=this.context.themeToken,i=super.render();return"defaultHeight"===o?i:(0,s.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),this.itemFallback=(0,s.jsx)(g.Skeleton.Input,{block:!0,size:"small",style:{marginBottom:"0.5rem"}}),this.itemSettingsMenuLevel=2,this.itemFlowSettings={showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}},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}}}}}di.registerFlow({key:"formFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});let dr=2;class da extends di{renderAddSubModelButton(){var e,t;let l=null==(e=this.context)?void 0:e.collection,o=(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,r=null==l?void 0:l.filterTargetKey,a=e=>!!e&&!!(i&&e===i||"string"==typeof r&&e===r||Array.isArray(r)&&r.includes(e)),d=o.filter(e=>!a(null==e?void 0:e.name)).filter(e=>{var t;return n<dr||!((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,o=e.title||e.name,n=u.EditableItemModel.getDefaultBindingByField(this.context,e);if(!n)return;let i=n.modelName;return{key:t,label:o,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,s.jsx)(u.AddSubModelButton,{subModelKey:"items",model:this,items:d,keepDropdownOpen:!0,children:(0,s.jsx)(u.FlowSettingsButton,{icon:(0,s.jsx)(e1.SettingOutlined,{}),children:this.translate("Fields")})})}addOrEnsureItem(e,t){var l,o,n;let i=null==(l=this.context)?void 0:l.collection,r=((null==(o=this.subModels)?void 0:o.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(r){"function"==typeof(null==r?void 0:r.setStepParams)&&r.setStepParams("fieldSettings","assignValue",{value:t}),r.assignValue=t;return}let a=((null==i||null==(n=i.getFields)?void 0:n.call(i))||[]).find(t=>t.name===e),s=u.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}}da.define({label:(0,u.tExpr)("Assign grid")});var ds=__webpack_require__(9829);function dd(e){return"string"==typeof e?e:"function"==typeof e&&e.name?e.name:void 0}function du(e){var t,l;let o=null==e||null==(l=e.stepParams)||null==(t=l.fieldBinding)?void 0:t.use;return"string"==typeof o?o:void 0}async function dc(e){var t,l,o;let{parentModel:n,targetUse:i,defaultProps:r,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=dd(du(d)||(null==d?void 0:d.use))===i&&(null==d?void 0:d.stepParams)||{},m=s??(null==(o=n.getFieldSettingsInitParams)?void 0:o.call(n)),{fieldBinding:h,...f}=p,g={...f,fieldSettings:{...f.fieldSettings||{},init:m}},v=n.flowEngine;u&&(null==d||d.invalidateFlowCache("beforeRender",!0),v.removeModelWithSubModels(u));let y=n.setSubModel("field",{uid:u,use:i,props:{...r||{},...a?{pattern:a}:{}},stepParams:g,subModels:c});await y.dispatchEvent("beforeRender",void 0,{useCache:!1}),await n.save()}var dp=__webpack_require__(9133);function dm(e,t,l){let o=(0,c.castArray)(l).filter(e=>"string"==typeof e),n=t.split(".");if(null==o?void 0:o.length){let t=[],l=0,i=0;for(;l<n.length;){let e=n[l];if(t.push(e),i<o.length){let[l,n]=o[i].split(":");l===e&&(t.push(Number(n)),i++)}l++}return(0,c.get)(e,t)}return(0,c.get)(e,n)}function dh(e){let{record:t,currentObject:l,fieldPath:o,prefixFieldPath:n,idx:i}=e,r=dm(t,o,i);if(void 0!==r||null==l)return r;if(n&&o===n)return l;let a=n&&o.startsWith(`${n}.`)?o.slice(n.length+1):o;return a?(0,c.get)(l,a):l}function df(e,t){return!(0,dp.E4)(e)||Array.isArray(t)?t:t&&"object"==typeof t&&Array.isArray(t.rows)?t.rows:null==t?[]:[t]}class dg extends u.DisplayItemModel{static defineChildren(e){let t=e.collection;return t.getFields().map(l=>{let o=this.getDefaultBindingByField(e,l,{fallbackToTargetTitleField:!0});if(!o)return null;let n=o.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 o.defaultProps?o.defaultProps(e,l):o.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,o=this.context.currentObject,n=this.context.item,i=this.context.getPropertyOptions("item"),r=this.context.prefixFieldPath,a=null!=t?(()=>{let r=e.createFork({},`${t}`);r.context.defineProperty("fieldIndex",{get:()=>t}),r.context.defineProperty("record",{get:()=>l,cache:!1}),r.context.defineProperty("currentObject",{get:()=>o,cache:!1});let{value:a,...s}=i||{};return r.context.defineProperty("item",{...s,get:()=>n,cache:!1}),this.context.pattern&&r.context.defineProperty("pattern",{get:()=>this.context.pattern}),r})():e,d=this.context.pattern?{...this.context.blockModel.props,...this.props,pattern:this.context.pattern,disabled:"readPretty"===this.context.pattern}:{...this.context.blockModel.props,...this.props},c=df(this.collectionField,dh({record:l,currentObject:o,fieldPath:this.fieldPath,prefixFieldPath:r,idx:t}));return(0,s.jsx)(u.FormItem,{...d,value:c,children:(0,s.jsx)(u.FieldModelRenderer,{model:a})})}}dg.define({label:(0,u.tExpr)("Display fields"),searchable:!0,searchPlaceholder:(0,u.tExpr)("Search fields"),sort:100}),dg.registerFlow({key:"detailItemSettings",sort:300,title:(0,u.tExpr)("Detail item settings"),steps:{showLabel:{title:(0,u.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,u.tExpr)("Label"),uiSchema:e=>({title:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let o=e.model,n=null==(l=o.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:o.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 o={ns:"lm-flow-engine",compareWith:null==(l=e.collectionField)?void 0:l.title};e.model.setProps({label:e.t(t.title,o)})}},aclCheck:{use:"aclCheck"},init:{async handler(e){let{collectionField:t}=e.model;t&&e.model.setProps(t.getComponentProps())}},tooltip:{title:(0,u.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,u.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,u.tExpr)("Field component"),use:"displayFieldComponent"},fieldNames:{use:"titleField",title:(0,u.tExpr)("Title field"),beforeParamsSave:async(e,t,l)=>{if(!e.collectionField||!e.collectionField.isAssociationField())return null;if(t.label!==l.label){var o,n;e.model.setProps({titleField:t.label,...null==(n=e.collectionField.targetCollection)||null==(o=n.getField(t.label))?void 0:o.getComponentProps()});let l=e.collectionField.targetCollection.getField(t.label),i=u.DisplayItemModel.getDefaultBindingByField(e,l),r=i.modelName;await dc({parentModel:e.model,targetUse:r,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,o;if(!e.collectionField||e.model.subModels.field.disableTitleField)return;e.model.setProps({titleField:t.label,...null==(o=e.collectionField.targetCollection)||null==(l=o.getField(t.label))?void 0:l.getComponentProps()});let n=e.collectionField.targetCollection;if(n){let l=n.getField(t.label),o=u.DisplayItemModel.getDefaultBindingByField(e,l).modelName;o!==e.model.subModels.field.use&&e.model.setStepParams(e.flowKey,"model",{use:o})}},hideInSettings:async e=>!e.collectionField||!e.collectionField.isAssociationField()||e.model.subModels.field.disableTitleField}}}),dg.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh",defaultParams:{strategy:"formItem"}}}});var dv=__webpack_require__(1961);function dy(e){if(!e)return!1;let t=null==e?void 0:e.type;return"belongsToMany"===t||"hasMany"===t||"belongsToArray"===t}function d_(e,t){var l;let o=!!(null==e||null==(l=e.isAssociationField)?void 0:l.call(e)),n=dy(e);return o&&!n&&Array.isArray(t)?t.length?t[0]:void 0:t}function db(e,t){if(!(null==t?void 0:t.length))return e;let[l,o]=String(t[t.length-1]).split(":"),n=Number(o);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 r=-1,a=0;for(let t=0;t<e.length;t++)if(String(e[t])===l&&(a+=1)===i){r=t;break}if(-1===r){for(let t=e.length-1;t>=0;t--)if(String(e[t])===l){r=t;break}}return -1===r?e:[n,...e.slice(r+1)]}let dx=["o2o","oho","obo","o2m","attachment","expression","point","lineString","circle","polygon","sequence","formula"],dM=2;class dw extends u.EditableItemModel{static defineChildren(e){let t=e.collection,l=e.prefixFieldPath?e.prefixFieldPath.split(".").filter(Boolean).length:0;return t.getFields().map(o=>{var n;if(l>=dM&&((null==(n=o.isAssociationField)?void 0:n.call(o))||o.target||o.targetCollection))return;let i=this.getDefaultBindingByField(e,o);if(!i)return;let r=i.modelName,a=e.prefixFieldPath?`${e.prefixFieldPath}.${o.name}`:o.name;return{key:a,label:o.title,refreshTargets:["FormJSFieldItemModel","FormItemModel/FormJSFieldItemModel"],toggleable:e=>(0,dp.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:r,props:"function"==typeof i.defaultProps?i.defaultProps(e,o):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({...c.default.pick(t,"rules")||{}})}})}renderItem(){var e,t;let l=this.subModels.field,o=this.context.fieldIndex,n=this.context.fieldKey,i=(null==(e=this.parent)?void 0:e.context.fieldPathArray)||[],r=!!this.context.flowSettingsEnabled&&!!this.props.hidden&&!this.hidden&&!this.forbidden,a=null!=o||r?(()=>{let e=r?`${this.uid}:config-visible`:`${n}`,t=l.createFork({},e);if(null!=o){t.context.defineProperty("fieldIndex",{get:()=>o}),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,...o}=e||{};t.context.defineProperty("item",{...o,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}),r&&t.setProps({hidden:!1}),t})():l,{initialValue:d,hidden:p,...m}=this.context.pattern?{...this.props,pattern:this.context.pattern}:this.props,h=r?m:{hidden:p,...m},f=db(this.props.name,o);this.context.defineProperty("fieldPathArray",{get:()=>[...i,...c.default.castArray(f)],cache:!1});let v=(null==(t=this.context.item)?void 0:t.value)||this.context.record,y=(0,s.jsx)(u.FormItem,{...h,name:f,validateFirst:!0,disabled:this.props.disabled||!c.default.isEmpty(v)&&!v.__is_new__&&this.props.aclDisabled||!c.default.isEmpty(v)&&v.__is_new__&&this.props.aclCreateDisabled,children:(0,s.jsx)(u.FieldModelRenderer,{model:a,name:f})});return r?(0,s.jsx)(g.Tooltip,{title:this.context.t("The field is hidden and only visible when the UI Editor is active"),children:(0,s.jsx)("div",{style:{opacity:.3},children:y})}):y}}dw.define({label:(0,u.tExpr)("Display fields"),searchable:!0,searchPlaceholder:(0,u.tExpr)("Search fields"),sort:100}),dw.registerFlow({key:"editItemSettings",sort:300,title:(0,u.tExpr)("Form item settings"),steps:{showLabel:{title:(0,u.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,u.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let o=e.model,n=null==(l=o.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:o.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 o={ns:"lm-flow-engine",compareWith:null==(l=e.collectionField)?void 0:l.title};e.model.setProps({label:e.t(t.label,o)})}},aclCheck:{use:"aclCheck",async handler(e,t){var l,o,n,i,r,a,s,d,u,c,p,m,h;if(!e.collectionField||!e.blockModel)return;let f=e.blockModel.context.actionName,g=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:null==(o=e.collectionField)?void 0:o.collectionName,fields:[null==(n=e.collectionField)?void 0:n.name],actionName:f});if("update"===f){let t=await e.aclCheck({dataSourceKey:null==(i=e.dataSource)?void 0:i.key,resourceName:null==(r=e.collectionField)?void 0:r.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"===f){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==(m=e.collectionField)?void 0:m.collectionName,fields:[e.collectionField.name],actionName:"update"}),o=(null==(h=e.item)?void 0:h.__is_stored__)??!1;g||o||(e.model.hidden=!0,e.model.forbidden={actionName:f},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,u.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,u.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,u.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,o,n;if(e.model.parent.parent instanceof dv.EditFormModel||(null==(l=e.model.subModels)||null==(t=l.field)?void 0:t.updateAssociation))return;let i=null==(o=e.model.collectionField)?void 0:o.interface;if(null==dx||null==(n=dx.includes)||!n.call(dx,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,ds.customAlphabet)(l,e)()}}return{defaultValue:t.defaultValue}},handler(e,t){var l,o;let n=null==(l=e.model.collectionField)?void 0:l.interface;if(null==dx||null==(o=dx.includes)?void 0:o.call(dx,n))return;let i=d_(e.model.collectionField,t.defaultValue);e.model.setProps({initialValue:i})}},validation:{title:(0,u.tExpr)("Validation"),use:"validation"},required:{title:(0,u.tExpr)("Required"),use:"required"},model:{use:"fieldComponent",title:(0,u.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,o;return{titleField:e.model.props.titleField||(null==(o=e.model)||null==(l=o.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 o=t.titleField||t.label;if(o!==l.titleField){let t=e.collectionField.targetCollection,l=t.getField(o),n=dg.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:o}}}});await i.save()}e.model.setProps(e.collectionField.targetCollection.getField(o).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})}}}}),dw.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh",defaultParams:{strategy:"formItem"}}}});var dS=__webpack_require__(7309),dk=__webpack_require__(9624),dF=__webpack_require__(4e3);function dC(e,t){var l,o,n;let i=null==e||null==(l=e.props)?void 0:l.fieldNames,r=null==e||null==(o=e.props)?void 0:o.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!==r?{titleField:r}:{}}}}function dA(e){try{return JSON.stringify(e)??""}catch{return String(e)}}function dP(e){var t,l,o;let n=null==e||null==(t=e.props)?void 0:t.fieldNames,i=null==e||null==(l=e.props)?void 0:l.titleField,r=null==e||null==(o=e.getStepParams)?void 0:o.call(e,"selectSettings","fieldNames");return[(null==e?void 0:e.uid)||"",dA(n),dA(i),dA(r)].join("|")}function dT(e){if(!e||"object"!=typeof e||!("target"in e))return e;let t=e.target;return t&&"value"in t?t.value:e}class dj extends dw{onInit(e){var t,l,o,n,i,r,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")||{},o=`${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,o)}});let d=this.context,c=null==d?void 0:d.collection,p=this.fieldInit;if(!(null==(l=this.subModels)?void 0:l.field)&&(null==c?void 0:c.getFields)){let e=(c.getFields()||[]).find(e=>(null==e?void 0:e.name)===(null==p?void 0:p.fieldPath));null==c||null==(n=c.getField)||n.call(c,null==p?void 0:p.fieldPath);let t=u.EditableItemModel.getDefaultBindingByField(d,e);if(!t)return;let l=t.modelName;null==d||null==(r=d.engine)||null==(i=r.createModel)||i.call(r,{use:l,stepParams:{fieldSettings:{init:p}},parentId:this.uid,subKey:"field"})}let m=null==(o=this.context)?void 0:o.collection,h=this.fieldPath;if(h){let e=null==m||null==(a=m.getField)?void 0:a.call(m,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,o=l.collection,n=this.fieldInit,i=(null==(e=this.props)?void 0:e.name)||(this.fieldPath?[this.fieldPath]:void 0),r=this.fieldPath,a=null==(t=this.subModels)?void 0:t.field,d=dP(a),c=()=>{var e,t,d,c,m;let[h,f]=p.default.useState(null);p.default.useEffect(()=>{var e,t,i,s,d,c,p,m,h,g,v,y,_,b,x,M,w,S,k,F,C;if(!r)return;let A=((null==o||null==(e=o.getFields)?void 0:e.call(o))||[]).find(e=>(null==e?void 0:e.name)===r);o.getField(r);let P=u.EditableItemModel.getDefaultBindingByField(l,A);if(!P)return;let T=P.modelName,j=dC(a,n),I=null==l||null==(i=l.engine)||null==(t=i.createModel)?void 0:t.call(i,{use:"VariableFieldFormModel",subModels:{fields:[{use:T,...j}]}});if(!I)return;null==(d=I.context)||null==(s=d.defineProperty)||s.call(d,"collection",{value:o});let L=null==l?void 0:l.dataSource;L&&(null==(p=I.context)||null==(c=p.defineProperty)||c.call(p,"dataSource",{value:L}));let D=null==o||null==(m=o.getField)?void 0:m.call(o,null==n?void 0:n.fieldPath);D&&(null==(g=I.context)||null==(h=g.defineProperty)||h.call(g,"collectionField",{value:D}));let R=null==l?void 0:l.blockModel;R&&(null==(y=I.context)||null==(v=y.defineProperty)||v.call(y,"blockModel",{value:R}));let E=l.form;E&&(null==(F=I.context)||null==(k=F.defineProperty)||k.call(F,"form",{value:E})),I.context&&Object.defineProperty(I.context,"resource",{configurable:!0,enumerable:!0,get:()=>null==R?void 0:R.resource});let Y=null==I||null==(b=I.subModels)||null==(_=b.fields)?void 0:_[0],N=null==o||null==(x=o.getField)?void 0:x.call(o,null==n?void 0:n.fieldPath),O=null==N?void 0:N.type,B=null==N?void 0:N.interface,V="belongsToMany"===O||"hasMany"===O||"belongsToArray"===O||"m2m"===B||"o2m"===B||"mbm"===B;if(null==Y||null==(M=Y.setProps)||M.call(Y,{disabled:!1,readPretty:!1,updateAssociation:!1,multiple:V}),null==Y||null==(w=Y.dispatchEvent)||w.call(Y,"beforeRender",void 0,{sequential:!0,useCache:!0}),(0,dS.NI)(Y,N),!(null==Y||null==(S=Y.props)?void 0:S.fieldNames)&&(null==N?void 0:N.targetCollection)){let e=N.targetCollection,t=(null==N?void 0:N.targetKey)||(null==e?void 0:e.filterTargetKey)||"id";null==Y||null==(C=Y.setProps)||C.call(Y,{fieldNames:{label:null==e?void 0:e.titleField,value:t}})}return f(I),()=>{var e,t,l,o;null==I||null==(l=I.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==I||null==(o=I.remove)||o.call(I)}},[]);let v=e=>(p.default.useEffect(()=>{var t,l,o;if(!h)return;null==(t=h.setProps)||t.call(h,{...e});let n=null==h||null==(o=h.subModels)||null==(l=o.fields)?void 0:l[0];if(n){var i,r=this;null==(i=n.setProps)||i.call(n,{value:null==e?void 0:e.value,onChange:function(){for(var t,l,o=arguments.length,i=Array(o),a=0;a<o;a++)i[a]=arguments[a];let s=dT(i&&i.length?i[0]:void 0);null==(t=n.setProps)||t.call(n,{value:s}),r.assignValue=s,null==e||null==(l=e.onChange)||l.call(e,s)}})}},[e]),h?(0,s.jsx)("div",{style:{width:"100%"},children:(0,s.jsx)(u.FlowModelRenderer,{model:h,showFlowSettings:!1})}):null),y=()=>{var e,t;return(0,s.jsx)(g.Input,{placeholder:`<${(null==(e=(t=this.context).t)?void 0:e.call(t,"Null"))??"Null"}>`,readOnly:!0,style:{width:"100%"}})},_=e=>(0,s.jsx)(dk.h,{t:this.context.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange,containerStyle:{width:"100%"}}),b=async()=>{var e;let t=null==(e=this.context)?void 0:e.getPropertyMetaTree;return"function"==typeof t?await t():[]},x=null==o||null==(e=o.getField)?void 0:e.call(o,this.fieldPath),M=(0,dF.kB)(x),w=(0,dF.Ot)(x,null==(t=this.fieldPath)?void 0:t.split(".").slice(-1)[0]),S=w?(0,dF.cd)(x,M):dF.tS,k=(null==(d=this.props)?void 0:d.label)??this.fieldPath??"",F=null==o||null==(c=o.getField)?void 0:c.call(o,this.fieldPath);return k=(null==(m=this.props)?void 0:m.label)??(null==F?void 0:F.title)??k,(0,s.jsx)(u.FormItem,{...this.props,label:k,name:i,initialValue:this.assignValue,valuePropName:"__assign_value__",trigger:"__assign_trigger__",validateTrigger:"__assign_trigger__",children:p.default.createElement(e=>{let t=null==e?void 0:e.__assign_value__,l=void 0===t?this.assignValue:t;return(0,s.jsx)(dF.Wm,{value:l,onChange:t=>{var l;this.assignValue=t,null==e||null==(l=e.__assign_trigger__)||l.call(e,t)},baseMetaTree:b,constantComponent:v,nullComponent:y,runJSComponent:_,isDateLikeField:w,dateComponentProps:S,clearValue:""})})})};return(0,s.jsx)(c,{},d)}constructor(e){super(e),this.assignValue=void 0,(0,d.define)(this,{assignValue:d.observable})}}dj.define({label:(0,u.tExpr)("Assign field")}),dj.registerFlow({key:"editItemSettings",sort:300,title:(0,u.tExpr)("Form item settings"),steps:{showLabel:{title:(0,u.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,u.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let o=e.model,n=null==(l=o.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:o.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,o=l.includes(".")?l.split("."):l;e.model.setProps({name:o})}},tooltip:{title:(0,u.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,u.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,u.tExpr)("Validation"),use:"validation"},required:{title:(0,u.tExpr)("Required"),use:"required"}}});class dI extends af{}dI.itemModelName="DetailsItemModel",dI.define({label:'{{t("Display association fields")}}'});let dL=e=>{if(!e)return 0;let t=e.getBoundingClientRect(),l=window.getComputedStyle(e),o=parseFloat(l.marginTop)||0,n=parseFloat(l.marginBottom)||0;return t.height+o+n},dD=e=>{let{heightMode:t,containerRef:l,actionsRef:o,paginationRef:n,deps:i=[]}=e,[r,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 r=Math.max(0,Math.floor(i-dL(o.current)-dL(n.current)));a(e=>e===r?e:r)},[t,l,o,n]);return(0,p.useLayoutEffect)(()=>{s()},[s,...i]),(0,p.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=o.current,i=n.current,r=new ResizeObserver(()=>s());return r.observe(e),t&&r.observe(t),i&&r.observe(i),()=>r.disconnect()},[s,l,o,n,...i]),r};class dR extends aZ.t{createResource(e,t){var l,o;if((null==(l=this.association)?void 0:l.type)==="hasOne"||(null==(o=this.association)?void 0:o.type)==="belongsTo"||Object.keys(t).includes("filterByTk")){let e=this.context.createResource(u.SingleRecordResource);return e.isNewRecord=!1,e}let n=this.context.createResource(u.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 o=(0,u.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>this.getCurrentRecord(),cache:!1,resolveOnServer:(0,u.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>this.getCurrentRecord()),meta:o}),this.resource.on("refresh",()=>{var e,t;if(this.isMultiRecordResource()){this.hasMultiRefreshDispatched=!0,(0,sG.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,sG.Xi)(this,"paginationChange")})}isMultiRecordResource(){return this.resource instanceof u.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,s.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,s.jsx)("div",{style:{textAlign:"center"},children:(0,s.jsx)(g.Pagination,{simple:!0,pageSize:1,showSizeChanger:!1,defaultCurrent:l.getPage(),total:l.getTotalPage(),onChange:this.handlePageChange,style:{display:"inline-block"}})})}renderConfigureActions(){return(0,s.jsx)(u.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("RecordActionGroupModel"),afterSubModelInit:async e=>{e.setStepParams("buttonSettings","general",{type:"default"})},children:(0,s.jsx)(u.FlowSettingsButton,{icon:(0,s.jsx)(e1.SettingOutlined,{}),children:this.translate("Actions")})},"details-actions-add")}renderComponent(){let{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n}=this.props,i=!!this.context.flowSettingsEnabled,r=!i&&!this.hasAvailableData(),{heightMode:a,height:d}=this.decoratorProps;return(0,s.jsx)(dE,{model:this,gridModel:this.subModels.grid,isConfigMode:i,heightMode:a,height:d,layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n},actions:(0,s.jsx)(u.DndProvider,{children:(0,s.jsx)("div",{style:r?{pointerEvents:"none",opacity:.45}:void 0,children:(0,s.jsxs)(g.Space,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||i)return(0,s.jsx)(u.Droppable,{model:e,children:(0,s.jsx)(u.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!1,showBorder:!1,toolbarPosition:"above"},extraToolbarItems:[{key:"drag-handler",component:u.DragHandler,sort:1}]})},e.uid)}),this.renderConfigureActions()]})})})})}constructor(...e){super(...e),this.hadSingleRecordData=!1,this.hasMultiRefreshDispatched=!1,this._defaultCustomModelClasses={RecordActionGroupModel:"RecordActionGroupModel",DetailsItemModel:"DetailsItemModel",DetailsAssociationFieldGroupModel:"DetailsAssociationFieldGroupModel",DetailsCustomItemModel:"DetailsCustomItemModel"},this.customModelClasses={},this.handlePageChange=async e=>{if(this.resource instanceof u.MultiRecordResource){let t=this.resource;t.setPage(e),t.loading=!0,await this.refresh()}}}}dR.scene=aX.P.oam;let dE=e=>{let{model:t,gridModel:l,isConfigMode:o,heightMode:n,height:i,layoutProps:r,actions:a}=e,d=(0,p.useRef)(null),c=(0,p.useRef)(null),m=(0,p.useRef)(null),h="specifyValue"===n||"fullHeight"===n,f=dD({heightMode:n,containerRef:d,actionsRef:c,paginationRef:m,deps:[i]});(0,p.useEffect)(()=>{var e,t;if(!l)return;let o=h?f:void 0;((null==(e=l.props)?void 0:e.height)!==o||(null==(t=l.props)?void 0:t.heightMode)!==n)&&l.setProps({height:o,heightMode:n})},[l,f,h,n]);let g=h?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,v=h?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,s.jsx)(dl.s2,{model:t,layoutProps:r,style:g,children:(0,s.jsxs)("div",{ref:d,style:v,children:[(0,s.jsx)("div",{ref:c,style:{textAlign:"right",lineHeight:"0px",paddingBottom:o&&t.context.themeToken.padding},children:a}),(0,s.jsx)(u.FlowModelRenderer,{model:l,showFlowSettings:!1},`${(null==l?void 0:l.uid)||"details-grid"}:${o?"design":"runtime"}`),(0,s.jsx)("div",{ref:m,children:t.renderPagination()})]})})};dR.registerFlow({key:"detailsSettings",title:(0,u.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,u.tExpr)("Layout")},dataScope:{use:"dataScope"},defaultSorting:{use:"sortingRule",title:(0,u.tExpr)("Default sorting")},linkageRules:{use:"detailsFieldLinkageRules"}}}),dR.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"}}}}),dR.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),o="function"==typeof t.hasActiveFilters&&t.hasActiveFilters();l&&!o&&await (0,sG.Xi)(e.model,"paginationChange")}}}}),dR.define({label:(0,u.tExpr)("Details"),searchable:!0,searchPlaceholder:(0,u.tExpr)("Search"),createModelOptions:{use:"DetailsBlockModel",subModels:{grid:{use:"DetailsGridModel"}}},sort:350});class dY extends u.FlowModel{static defineChildren(e){let t=e.engine.filterModelClassByParent("CommonItemModel"),l=e.engine.filterModelClassByParent("DetailsCustomItemModel"),o=t=>Array.from(t.entries()).map(t=>{var l,o,n,i,r;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==(o=s.meta)?void 0:o.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==(r=s.meta)?void 0:r.createModelOptions)||{use:a},u});return c.default.sortBy([...o(t),...o(l)],"sort")}}dY.renderMode=u.ModelRenderMode.RenderFunction,dY.define({hide:!0,label:(0,u.tExpr)("Others")});class dN extends a${renderAddSubModelButton(){return this.context.flowSettingsEnabled?(0,s.jsx)(u.AddSubModelButton,{model:this,subModelKey:"items",subModelBaseClasses:[this.context.getModelClassName("DetailsItemModel"),this.context.getModelClassName("DetailsAssociationFieldGroupModel"),this.context.getModelClassName("DetailsCustomItemModel")].filter(Boolean),keepDropdownOpen:!0,children:(0,s.jsx)(u.FlowSettingsButton,{icon:(0,s.jsx)(e1.SettingOutlined,{}),children:this.translate("Fields")})}):null}render(){var e,t;let l=null==(e=this.props)?void 0:e.height,o=null==(t=this.props)?void 0:t.heightMode,n=this.context.themeToken,i=super.render();return"defaultHeight"===o?i:(0,s.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),this.itemFallback=(0,s.jsx)(g.Skeleton.Input,{block:!0,size:"small",style:{marginBottom:"0.5rem"}}),this.itemSettingsMenuLevel=2,this.itemFlowSettings={showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}},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 dO(e,t){let{fieldUseModel:l,refreshTargets:o}=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,o)=>{let n=await ("function"==typeof e?e(t,o):e);return n.subModels=n.subModels||{},n.subModels.field={...n.subModels.field||{},use:l},n},t.refreshTargets=t.refreshTargets||o}return t}):[];return n(e)}function dB(e,t,l){let{fieldUseModel:o,refreshTargets:n}=l,i=l.key??"js-association-fields",r=l.label??(0,u.tExpr)("Display association fields");return{key:i,type:"group",label:r,searchable:l.searchable??!0,searchPlaceholder:l.searchPlaceholder??(0,u.tExpr)("Search fields"),children:async e=>dO(await t(e),{fieldUseModel:o,refreshTargets:n})}}dN.registerFlow({key:"detailFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});class dV extends af{}async function dH(e,t){var l;let{useModel:o,fieldUseModel:n,refreshTargets:i,associationPathName:r,associationProvider:a}=t,s=(0,u.buildWrapperFieldChildren)(e,{useModel:o,fieldUseModel:n,associationPathName:r,refreshTargets:i}),d=[],c=null==s||null==(l=s[0])?void 0:l.children;if(Array.isArray(c)&&(d=c),!a)return d;let p=await a(e);return Array.isArray(p)&&0!==p.length?[...d,dB(e,a,{fieldUseModel:n,refreshTargets:i})]:d}dV.itemModelName="FormItemModel";class dq extends dY{static defineChildren(e){return dH(e,{useModel:"DetailsItemModel",fieldUseModel:"JSFieldModel",refreshTargets:["DetailsItemModel"],associationProvider:e=>dI.defineChildren(e)})}}dq.define({label:(0,u.tExpr)("JS field"),searchable:!0,searchPlaceholder:(0,u.tExpr)("Search fields"),sort:110});class d$ extends rl.o{}class dz extends rl.o{constructor(...e){super(...e),this.operator="$eq",this.updateAssociation=!1}}dz.registerFlow({key:"AssociationFieldInit",sort:800,steps:{init:{async handler(e,t){if(e.model.updateAssociation){var l,o;let t=e.model.context.blockModel,n=null==t||null==(l=t.context)?void 0:l.resource,i=null==(o=e.model.parent)?void 0:o.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 dU=(e,t)=>e===t,dK=e=>{if(e&&"object"==typeof e){let t=e.data;return t&&"object"==typeof t?t:e}};function dG(e){return"string"==typeof e&&e?e:Array.isArray(e)&&1===e.length&&"string"==typeof e[0]?e[0]:void 0}function dW(e,t){var l;let o="string"==typeof(null==t||null==(l=t.titleCollectionField)?void 0:l.name)?t.titleCollectionField.name:void 0,n=dG(null==t?void 0:t.filterTargetKey)||"id",i="string"==typeof(null==e?void 0:e.value)&&e.value&&!dU(e.value,"value")?e.value:void 0,r="string"==typeof(null==e?void 0:e.label)&&e.label&&!dU(e.label,"label")?e.label:void 0,a=i||n;return{label:r||o||a,value:a}}function dJ(e){var t,l,o,n,i,r;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 m=null==(n=e.view)||null==(o=n.inputArgs)?void 0:o.viewUid,h=null==(r=e.model.context)||null==(i=r.inputArgs)?void 0:i.viewUid;return[...p,"string"==typeof m&&m?m:"string"==typeof h&&h?h:e.model.uid].filter(Boolean)}function dX(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 dQ(e){var t,l,o;let{option:n,fieldNames:i}=e,r=(0,u.useFlowModel)(),a=dK(n),d=dW(i,null==(t=r.context.collectionField)?void 0:t.targetCollection),c=r.subModels.field,p=dX(null==a?void 0:a[d.label])??dX(null==a?void 0:a.label)??dX(null==a?void 0:a[d.value]);if(!c)return(0,s.jsx)("span",{children:p??"N/A"});let m=String((null==a?void 0:a[d.value])??p??"association-option"),h=c.createFork({},m);h.context.defineProperty("record",{get:()=>a,cache:!1,meta:(0,u.createCurrentRecordMetaFactory)(h.context,()=>h.context.collection)});let f=null==(o=r.context.collectionField.targetCollection)||null==(l=o.getField)?void 0:l.call(o,d.label),g=f&&"function"==typeof f.getComponentProps?f.getComponentProps():{};h.setProps({value:p,clickToOpen:!1,...g});let v=null!=p&&""!==p?h.render():"N/A";return(0,s.jsx)("span",{style:{pointerEvents:"none"},children:v})}function dZ(e,t){let l=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=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||{},r=e=>"object"==typeof e&&null!==e,a=e=>{if(r(e))return{label:(0,s.jsx)(dQ,{option:e,fieldNames:t}),value:e[i]}};if("value"===o){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(r).map(a).filter(Boolean):[];if(Array.isArray(e)){let t=e[0];return r(t)?a(t):void 0}return r(e)?a(e):void 0}function d0(e,t,l){return(null==e?void 0:e.length)?e.map(e=>(0,c.omit)(e,"disabled","options","style")):l?Array.isArray(t)?t.filter(e=>"object"==typeof e&&null!==e):[]:t&&"object"==typeof t?[t]:[]}let d1="calc(12px + env(safe-area-inset-bottom, 0px))",d2={paddingBottom:d1};function d5(e){return{maxHeight:"60vh",overflowY:"auto",paddingBottom:e?void 0:d1}}let d8=(0,S.css)`
797
+ `},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":i1.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 s9 extends ah.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),this.defaultProps={type:"default",icon:"DownOutlined"}}}function s7(e){let{idKey:t="id",childrenKey:l="children"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=[];function n(e){if(Array.isArray(e))for(let i of e){let e=i[l];o.push(i[t]),Array.isArray(e)&&e.length>0&&n(e)}}return n(e),o}s9.scene=ah.s5.collection;let de=e=>s7(e);s9.registerFlow({key:"expandCollapseSettingsInit",sort:200,steps:{init:{handler(e,t){e.blockModel.props.defaultExpandAllRows?e.model.setExpandFlag(!0):e.model.setExpandFlag(!1)}}}}),s9.registerFlow({key:"expandCollapseSettings",on:"click",steps:{expandCollapse:{async handler(e,t){var l;if(!(null==(l=e.blockModel)?void 0:l.resource))return;let o=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=de(o.getData());e.blockModel.setProps({expandedRowKeys:t}),e.model.setExpandFlag(!0)}}}}}),s9.define({label:(0,u.escapeT)("Expand/Collapse"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.model.props.treeTable}});class dt extends su{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),this.defaultProps={type:"link",title:(0,u.tExpr)("Add child"),icon:"PlusOutlined"}}}dt.capabilityActionName=null,dt.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})}}}}}),dt.define({label:(0,u.tExpr)("Add child"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.blockModel.props.treeTable}}),am.registerActionModels({AddChildActionModel:dt});var dl=__webpack_require__(2088);class dn extends dl.F4{useHooksBeforeRender(){let[e]=g.Form.useForm();this.context.defineProperty("form",{get:()=>e})}onInit(e){super.onInit(e);let t=(0,u.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,u.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 aD(this,null==e?void 0:e.filterManager)}),this.isManualRefresh=!0}createResource(e,t){let l=this.context.createResource(u.SingleRecordResource);return l.isNewRecord=!0,l}renderComponent(){var e;let{colon:t,labelAlign:l,labelWidth:o,labelWrap:n,layout:i}=this.props;return(0,s.jsx)(dl.s2,{model:this,layoutProps:{colon:t,labelAlign:l,labelWidth:o,labelWrap:n,layout:i},children:(0,s.jsx)(u.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,o]=e;l.addOrEnsureItem(t,o)})}getAssignedValues(){return this.subModels.grid.getAssignedValues()||{}}}dn.define({label:(0,u.tExpr)("Field assignments"),hide:!0,createModelOptions:{use:"AssignFormModel",subModels:{grid:{use:"AssignFormGridModel"}}}});class di extends a${serialize(){return{...super.serialize(),variableContractType:{type:"formGrid",use:this.use}}}renderAddSubModelButton(){return(0,s.jsx)(u.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,s.jsx)(u.FlowSettingsButton,{icon:(0,s.jsx)(e1.SettingOutlined,{}),children:this.translate("Fields")})})}render(){var e,t;let l=null==(e=this.props)?void 0:e.height,o=null==(t=this.props)?void 0:t.heightModel,n=this.context.themeToken,i=super.render();return"defaultHeight"===o?i:(0,s.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),this.itemFallback=(0,s.jsx)(g.Skeleton.Input,{block:!0,size:"small",style:{marginBottom:"0.5rem"}}),this.itemSettingsMenuLevel=2,this.itemFlowSettings={showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}},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}}}}}di.registerFlow({key:"formFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});let dr=2;class da extends di{renderAddSubModelButton(){var e,t;let l=null==(e=this.context)?void 0:e.collection,o=(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,r=null==l?void 0:l.filterTargetKey,a=e=>!!e&&!!(i&&e===i||"string"==typeof r&&e===r||Array.isArray(r)&&r.includes(e)),d=o.filter(e=>!a(null==e?void 0:e.name)).filter(e=>{var t;return n<dr||!((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,o=e.title||e.name,n=u.EditableItemModel.getDefaultBindingByField(this.context,e);if(!n)return;let i=n.modelName;return{key:t,label:o,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,s.jsx)(u.AddSubModelButton,{subModelKey:"items",model:this,items:d,keepDropdownOpen:!0,children:(0,s.jsx)(u.FlowSettingsButton,{icon:(0,s.jsx)(e1.SettingOutlined,{}),children:this.translate("Fields")})})}addOrEnsureItem(e,t){var l,o,n;let i=null==(l=this.context)?void 0:l.collection,r=((null==(o=this.subModels)?void 0:o.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(r){"function"==typeof(null==r?void 0:r.setStepParams)&&r.setStepParams("fieldSettings","assignValue",{value:t}),r.assignValue=t;return}let a=((null==i||null==(n=i.getFields)?void 0:n.call(i))||[]).find(t=>t.name===e),s=u.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}}da.define({label:(0,u.tExpr)("Assign grid")});var ds=__webpack_require__(9829);function dd(e){return"string"==typeof e?e:"function"==typeof e&&e.name?e.name:void 0}function du(e){var t,l;let o=null==e||null==(l=e.stepParams)||null==(t=l.fieldBinding)?void 0:t.use;return"string"==typeof o?o:void 0}async function dc(e){var t,l,o;let{parentModel:n,targetUse:i,defaultProps:r,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=dd(du(d)||(null==d?void 0:d.use))===i&&(null==d?void 0:d.stepParams)||{},m=s??(null==(o=n.getFieldSettingsInitParams)?void 0:o.call(n)),{fieldBinding:h,...f}=p,g={...f,fieldSettings:{...f.fieldSettings||{},init:m}},v=n.flowEngine;u&&(null==d||d.invalidateFlowCache("beforeRender",!0),v.removeModelWithSubModels(u));let y=n.setSubModel("field",{uid:u,use:i,props:{...r||{},...a?{pattern:a}:{}},stepParams:g,subModels:c});await y.dispatchEvent("beforeRender",void 0,{useCache:!1}),await n.save()}var dp=__webpack_require__(9133);function dm(e,t,l){let o=(0,c.castArray)(l).filter(e=>"string"==typeof e),n=t.split(".");if(null==o?void 0:o.length){let t=[],l=0,i=0;for(;l<n.length;){let e=n[l];if(t.push(e),i<o.length){let[l,n]=o[i].split(":");l===e&&(t.push(Number(n)),i++)}l++}return(0,c.get)(e,t)}return(0,c.get)(e,n)}function dh(e){let{record:t,currentObject:l,fieldPath:o,prefixFieldPath:n,idx:i}=e,r=dm(t,o,i);if(void 0!==r||null==l)return r;if(n&&o===n)return l;let a=n&&o.startsWith(`${n}.`)?o.slice(n.length+1):o;return a?(0,c.get)(l,a):l}function df(e,t){return!(0,dp.E4)(e)||Array.isArray(t)?t:t&&"object"==typeof t&&Array.isArray(t.rows)?t.rows:null==t?[]:[t]}class dg extends u.DisplayItemModel{static defineChildren(e){let t=e.collection;return t.getFields().map(l=>{let o=this.getDefaultBindingByField(e,l,{fallbackToTargetTitleField:!0});if(!o)return null;let n=o.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 o.defaultProps?o.defaultProps(e,l):o.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,o=this.context.currentObject,n=this.context.item,i=this.context.getPropertyOptions("item"),r=this.context.prefixFieldPath,a=null!=t?(()=>{let r=e.createFork({},`${t}`);r.context.defineProperty("fieldIndex",{get:()=>t}),r.context.defineProperty("record",{get:()=>l,cache:!1}),r.context.defineProperty("currentObject",{get:()=>o,cache:!1});let{value:a,...s}=i||{};return r.context.defineProperty("item",{...s,get:()=>n,cache:!1}),this.context.pattern&&r.context.defineProperty("pattern",{get:()=>this.context.pattern}),r})():e,d=this.context.pattern?{...this.context.blockModel.props,...this.props,pattern:this.context.pattern,disabled:"readPretty"===this.context.pattern}:{...this.context.blockModel.props,...this.props},c=df(this.collectionField,dh({record:l,currentObject:o,fieldPath:this.fieldPath,prefixFieldPath:r,idx:t}));return(0,s.jsx)(u.FormItem,{...d,value:c,children:(0,s.jsx)(u.FieldModelRenderer,{model:a})})}}dg.define({label:(0,u.tExpr)("Display fields"),searchable:!0,searchPlaceholder:(0,u.tExpr)("Search fields"),sort:100}),dg.registerFlow({key:"detailItemSettings",sort:300,title:(0,u.tExpr)("Detail item settings"),steps:{showLabel:{title:(0,u.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,u.tExpr)("Label"),uiSchema:e=>({title:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let o=e.model,n=null==(l=o.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:o.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 o={ns:"lm-flow-engine",compareWith:null==(l=e.collectionField)?void 0:l.title};e.model.setProps({label:e.t(t.title,o)})}},aclCheck:{use:"aclCheck"},init:{async handler(e){let{collectionField:t}=e.model;t&&e.model.setProps(t.getComponentProps())}},tooltip:{title:(0,u.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,u.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,u.tExpr)("Field component"),use:"displayFieldComponent"},fieldNames:{use:"titleField",title:(0,u.tExpr)("Title field"),beforeParamsSave:async(e,t,l)=>{if(!e.collectionField||!e.collectionField.isAssociationField())return null;if(t.label!==l.label){var o,n;e.model.setProps({titleField:t.label,...null==(n=e.collectionField.targetCollection)||null==(o=n.getField(t.label))?void 0:o.getComponentProps()});let l=e.collectionField.targetCollection.getField(t.label),i=u.DisplayItemModel.getDefaultBindingByField(e,l),r=i.modelName;await dc({parentModel:e.model,targetUse:r,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,o;if(!e.collectionField||e.model.subModels.field.disableTitleField)return;e.model.setProps({titleField:t.label,...null==(o=e.collectionField.targetCollection)||null==(l=o.getField(t.label))?void 0:l.getComponentProps()});let n=e.collectionField.targetCollection;if(n){let l=n.getField(t.label),o=u.DisplayItemModel.getDefaultBindingByField(e,l).modelName;o!==e.model.subModels.field.use&&e.model.setStepParams(e.flowKey,"model",{use:o})}},hideInSettings:async e=>!e.collectionField||!e.collectionField.isAssociationField()||e.model.subModels.field.disableTitleField}}}),dg.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh",defaultParams:{strategy:"formItem"}}}});var dv=__webpack_require__(1961);function dy(e){if(!e)return!1;let t=null==e?void 0:e.type;return"belongsToMany"===t||"hasMany"===t||"belongsToArray"===t}function d_(e,t){var l;let o=!!(null==e||null==(l=e.isAssociationField)?void 0:l.call(e)),n=dy(e);return o&&!n&&Array.isArray(t)?t.length?t[0]:void 0:t}function db(e,t){if(!(null==t?void 0:t.length))return e;let[l,o]=String(t[t.length-1]).split(":"),n=Number(o);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 r=-1,a=0;for(let t=0;t<e.length;t++)if(String(e[t])===l&&(a+=1)===i){r=t;break}if(-1===r){for(let t=e.length-1;t>=0;t--)if(String(e[t])===l){r=t;break}}return -1===r?e:[n,...e.slice(r+1)]}let dx=["o2o","oho","obo","o2m","attachment","expression","point","lineString","circle","polygon","sequence","formula"],dM=2;class dw extends u.EditableItemModel{static defineChildren(e){let t=e.collection,l=e.prefixFieldPath?e.prefixFieldPath.split(".").filter(Boolean).length:0;return t.getFields().map(o=>{var n;if(l>=dM&&((null==(n=o.isAssociationField)?void 0:n.call(o))||o.target||o.targetCollection))return;let i=this.getDefaultBindingByField(e,o);if(!i)return;let r=i.modelName,a=e.prefixFieldPath?`${e.prefixFieldPath}.${o.name}`:o.name;return{key:a,label:o.title,refreshTargets:["FormJSFieldItemModel","FormItemModel/FormJSFieldItemModel"],toggleable:e=>(0,dp.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:r,props:"function"==typeof i.defaultProps?i.defaultProps(e,o):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({...c.default.pick(t,"rules")||{}})}})}renderItem(){var e,t;let l=this.subModels.field,o=this.context.fieldIndex,n=this.context.fieldKey,i=(null==(e=this.parent)?void 0:e.context.fieldPathArray)||[],r=!!this.context.flowSettingsEnabled&&!!this.props.hidden&&!this.hidden&&!this.forbidden,a=null!=o||r?(()=>{let e=r?`${this.uid}:config-visible`:`${n}`,t=l.createFork({},e);if(null!=o){t.context.defineProperty("fieldIndex",{get:()=>o}),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,...o}=e||{};t.context.defineProperty("item",{...o,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}),r&&t.setProps({hidden:!1}),t})():l,{initialValue:d,hidden:p,...m}=this.context.pattern?{...this.props,pattern:this.context.pattern}:this.props,h=r?m:{hidden:p,...m},f=db(this.props.name,o);this.context.defineProperty("fieldPathArray",{get:()=>[...i,...c.default.castArray(f)],cache:!1});let v=(null==(t=this.context.item)?void 0:t.value)||this.context.record,y=(0,s.jsx)(u.FormItem,{...h,name:f,validateFirst:!0,disabled:this.props.disabled||!c.default.isEmpty(v)&&!v.__is_new__&&this.props.aclDisabled||!c.default.isEmpty(v)&&v.__is_new__&&this.props.aclCreateDisabled,children:(0,s.jsx)(u.FieldModelRenderer,{model:a,name:f})});return r?(0,s.jsx)(g.Tooltip,{title:this.context.t("The field is hidden and only visible when the UI Editor is active"),children:(0,s.jsx)("div",{style:{opacity:.3},children:y})}):y}}dw.define({label:(0,u.tExpr)("Display fields"),searchable:!0,searchPlaceholder:(0,u.tExpr)("Search fields"),sort:100}),dw.registerFlow({key:"editItemSettings",sort:300,title:(0,u.tExpr)("Form item settings"),steps:{showLabel:{title:(0,u.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,u.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let o=e.model,n=null==(l=o.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:o.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 o={ns:"lm-flow-engine",compareWith:null==(l=e.collectionField)?void 0:l.title};e.model.setProps({label:e.t(t.label,o)})}},aclCheck:{use:"aclCheck",async handler(e,t){var l,o,n,i,r,a,s,d,u,c,p,m,h;if(!e.collectionField||!e.blockModel)return;let f=e.blockModel.context.actionName,g=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:null==(o=e.collectionField)?void 0:o.collectionName,fields:[null==(n=e.collectionField)?void 0:n.name],actionName:f});if("update"===f){let t=await e.aclCheck({dataSourceKey:null==(i=e.dataSource)?void 0:i.key,resourceName:null==(r=e.collectionField)?void 0:r.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"===f){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==(m=e.collectionField)?void 0:m.collectionName,fields:[e.collectionField.name],actionName:"update"}),o=(null==(h=e.item)?void 0:h.__is_stored__)??!1;g||o||(e.model.hidden=!0,e.model.forbidden={actionName:f},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,u.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,u.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,u.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,o,n;if(e.model.parent.parent instanceof dv.EditFormModel||(null==(l=e.model.subModels)||null==(t=l.field)?void 0:t.updateAssociation))return;let i=null==(o=e.model.collectionField)?void 0:o.interface;if(null==dx||null==(n=dx.includes)||!n.call(dx,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,ds.customAlphabet)(l,e)()}}return{defaultValue:t.defaultValue}},handler(e,t){var l,o;let n=null==(l=e.model.collectionField)?void 0:l.interface;if(null==dx||null==(o=dx.includes)?void 0:o.call(dx,n))return;let i=d_(e.model.collectionField,t.defaultValue);e.model.setProps({initialValue:i})}},validation:{title:(0,u.tExpr)("Validation"),use:"validation"},required:{title:(0,u.tExpr)("Required"),use:"required"},model:{use:"fieldComponent",title:(0,u.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,o;return{titleField:e.model.props.titleField||(null==(o=e.model)||null==(l=o.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 o=t.titleField||t.label;if(o!==l.titleField){let t=e.collectionField.targetCollection,l=t.getField(o),n=dg.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:o}}}});await i.save()}e.model.setProps(e.collectionField.targetCollection.getField(o).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})}}}}),dw.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh",defaultParams:{strategy:"formItem"}}}});var dS=__webpack_require__(7309),dk=__webpack_require__(9624),dF=__webpack_require__(4e3);function dC(e,t){var l,o,n;let i=null==e||null==(l=e.props)?void 0:l.fieldNames,r=null==e||null==(o=e.props)?void 0:o.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!==r?{titleField:r}:{}}}}function dA(e){try{return JSON.stringify(e)??""}catch{return String(e)}}function dP(e){var t,l,o;let n=null==e||null==(t=e.props)?void 0:t.fieldNames,i=null==e||null==(l=e.props)?void 0:l.titleField,r=null==e||null==(o=e.getStepParams)?void 0:o.call(e,"selectSettings","fieldNames");return[(null==e?void 0:e.uid)||"",dA(n),dA(i),dA(r)].join("|")}function dT(e){if(!e||"object"!=typeof e||!("target"in e))return e;let t=e.target;return t&&"value"in t?t.value:e}class dj extends dw{onInit(e){var t,l,o,n,i,r,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")||{},o=`${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,o)}});let d=this.context,c=null==d?void 0:d.collection,p=this.fieldInit;if(!(null==(l=this.subModels)?void 0:l.field)&&(null==c?void 0:c.getFields)){let e=(c.getFields()||[]).find(e=>(null==e?void 0:e.name)===(null==p?void 0:p.fieldPath));null==c||null==(n=c.getField)||n.call(c,null==p?void 0:p.fieldPath);let t=u.EditableItemModel.getDefaultBindingByField(d,e);if(!t)return;let l=t.modelName;null==d||null==(r=d.engine)||null==(i=r.createModel)||i.call(r,{use:l,stepParams:{fieldSettings:{init:p}},parentId:this.uid,subKey:"field"})}let m=null==(o=this.context)?void 0:o.collection,h=this.fieldPath;if(h){let e=null==m||null==(a=m.getField)?void 0:a.call(m,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,o=l.collection,n=this.fieldInit,i=(null==(e=this.props)?void 0:e.name)||(this.fieldPath?[this.fieldPath]:void 0),r=this.fieldPath,a=null==(t=this.subModels)?void 0:t.field,d=dP(a),c=()=>{var e,t,d,c,m;let[h,f]=p.default.useState(null);p.default.useEffect(()=>{var e,t,i,s,d,c,p,m,h,g,v,y,_,b,x,M,w,S,k,F,C;if(!r)return;let A=((null==o||null==(e=o.getFields)?void 0:e.call(o))||[]).find(e=>(null==e?void 0:e.name)===r);o.getField(r);let P=u.EditableItemModel.getDefaultBindingByField(l,A);if(!P)return;let T=P.modelName,j=dC(a,n),I=null==l||null==(i=l.engine)||null==(t=i.createModel)?void 0:t.call(i,{use:"VariableFieldFormModel",subModels:{fields:[{use:T,...j}]}});if(!I)return;null==(d=I.context)||null==(s=d.defineProperty)||s.call(d,"collection",{value:o});let L=null==l?void 0:l.dataSource;L&&(null==(p=I.context)||null==(c=p.defineProperty)||c.call(p,"dataSource",{value:L}));let D=null==o||null==(m=o.getField)?void 0:m.call(o,null==n?void 0:n.fieldPath);D&&(null==(g=I.context)||null==(h=g.defineProperty)||h.call(g,"collectionField",{value:D}));let R=null==l?void 0:l.blockModel;R&&(null==(y=I.context)||null==(v=y.defineProperty)||v.call(y,"blockModel",{value:R}));let E=l.form;E&&(null==(F=I.context)||null==(k=F.defineProperty)||k.call(F,"form",{value:E})),I.context&&Object.defineProperty(I.context,"resource",{configurable:!0,enumerable:!0,get:()=>null==R?void 0:R.resource});let Y=null==I||null==(b=I.subModels)||null==(_=b.fields)?void 0:_[0],N=null==o||null==(x=o.getField)?void 0:x.call(o,null==n?void 0:n.fieldPath),O=null==N?void 0:N.type,B=null==N?void 0:N.interface,V="belongsToMany"===O||"hasMany"===O||"belongsToArray"===O||"m2m"===B||"o2m"===B||"mbm"===B;if(null==Y||null==(M=Y.setProps)||M.call(Y,{disabled:!1,readPretty:!1,updateAssociation:!1,multiple:V}),null==Y||null==(w=Y.dispatchEvent)||w.call(Y,"beforeRender",void 0,{sequential:!0,useCache:!0}),(0,dS.NI)(Y,N),!(null==Y||null==(S=Y.props)?void 0:S.fieldNames)&&(null==N?void 0:N.targetCollection)){let e=N.targetCollection,t=(null==N?void 0:N.targetKey)||(null==e?void 0:e.filterTargetKey)||"id";null==Y||null==(C=Y.setProps)||C.call(Y,{fieldNames:{label:null==e?void 0:e.titleField,value:t}})}return f(I),()=>{var e,t,l,o;null==I||null==(l=I.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==I||null==(o=I.remove)||o.call(I)}},[]);let v=e=>(p.default.useEffect(()=>{var t,l,o;if(!h)return;null==(t=h.setProps)||t.call(h,{...e});let n=null==h||null==(o=h.subModels)||null==(l=o.fields)?void 0:l[0];if(n){var i,r=this;null==(i=n.setProps)||i.call(n,{value:null==e?void 0:e.value,onChange:function(){for(var t,l,o=arguments.length,i=Array(o),a=0;a<o;a++)i[a]=arguments[a];let s=dT(i&&i.length?i[0]:void 0);null==(t=n.setProps)||t.call(n,{value:s}),r.assignValue=s,null==e||null==(l=e.onChange)||l.call(e,s)}})}},[e]),h?(0,s.jsx)("div",{style:{width:"100%"},children:(0,s.jsx)(u.FlowModelRenderer,{model:h,showFlowSettings:!1})}):null),y=()=>{var e,t;return(0,s.jsx)(g.Input,{placeholder:`<${(null==(e=(t=this.context).t)?void 0:e.call(t,"Null"))??"Null"}>`,readOnly:!0,style:{width:"100%"}})},_=e=>(0,s.jsx)(dk.h,{t:this.context.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange,containerStyle:{width:"100%"}}),b=async()=>{var e;let t=null==(e=this.context)?void 0:e.getPropertyMetaTree;return"function"==typeof t?await t():[]},x=null==o||null==(e=o.getField)?void 0:e.call(o,this.fieldPath),M=(0,dF.kB)(x),w=(0,dF.Ot)(x,null==(t=this.fieldPath)?void 0:t.split(".").slice(-1)[0]),S=w?(0,dF.cd)(x,M):dF.tS,k=(null==(d=this.props)?void 0:d.label)??this.fieldPath??"",F=null==o||null==(c=o.getField)?void 0:c.call(o,this.fieldPath);return k=(null==(m=this.props)?void 0:m.label)??(null==F?void 0:F.title)??k,(0,s.jsx)(u.FormItem,{...this.props,label:k,name:i,initialValue:this.assignValue,valuePropName:"__assign_value__",trigger:"__assign_trigger__",validateTrigger:"__assign_trigger__",children:p.default.createElement(e=>{let t=null==e?void 0:e.__assign_value__,l=void 0===t?this.assignValue:t;return(0,s.jsx)(dF.Wm,{value:l,onChange:t=>{var l;this.assignValue=t,null==e||null==(l=e.__assign_trigger__)||l.call(e,t)},baseMetaTree:b,constantComponent:v,nullComponent:y,runJSComponent:_,isDateLikeField:w,dateComponentProps:S,clearValue:""})})})};return(0,s.jsx)(c,{},d)}constructor(e){super(e),this.assignValue=void 0,(0,d.define)(this,{assignValue:d.observable})}}dj.define({label:(0,u.tExpr)("Assign field")}),dj.registerFlow({key:"editItemSettings",sort:300,title:(0,u.tExpr)("Form item settings"),steps:{showLabel:{title:(0,u.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,u.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l;let o=e.model,n=null==(l=o.collectionField)?void 0:l.title;t.decoratorProps={...t.decoratorProps,extra:o.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,o=l.includes(".")?l.split("."):l;e.model.setProps({name:o})}},tooltip:{title:(0,u.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,u.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,u.tExpr)("Validation"),use:"validation"},required:{title:(0,u.tExpr)("Required"),use:"required"}}});class dI extends af{}dI.itemModelName="DetailsItemModel",dI.define({label:'{{t("Display association fields")}}'});let dL=e=>{if(!e)return 0;let t=e.getBoundingClientRect(),l=window.getComputedStyle(e),o=parseFloat(l.marginTop)||0,n=parseFloat(l.marginBottom)||0;return t.height+o+n},dD=e=>{let{heightMode:t,containerRef:l,actionsRef:o,paginationRef:n,deps:i=[]}=e,[r,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 r=Math.max(0,Math.floor(i-dL(o.current)-dL(n.current)));a(e=>e===r?e:r)},[t,l,o,n]);return(0,p.useLayoutEffect)(()=>{s()},[s,...i]),(0,p.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=o.current,i=n.current,r=new ResizeObserver(()=>s());return r.observe(e),t&&r.observe(t),i&&r.observe(i),()=>r.disconnect()},[s,l,o,n,...i]),r};class dR extends aZ.t{createResource(e,t){var l,o;if((null==(l=this.association)?void 0:l.type)==="hasOne"||(null==(o=this.association)?void 0:o.type)==="belongsTo"||Object.keys(t).includes("filterByTk")){let e=this.context.createResource(u.SingleRecordResource);return e.isNewRecord=!1,e}let n=this.context.createResource(u.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 o=(0,u.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>this.getCurrentRecord(),cache:!1,resolveOnServer:(0,u.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>this.getCurrentRecord()),meta:o}),this.resource.on("refresh",()=>{var e,t;if(this.isMultiRecordResource()){this.hasMultiRefreshDispatched=!0,(0,sG.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,sG.Xi)(this,"paginationChange")})}isMultiRecordResource(){return this.resource instanceof u.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,s.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,s.jsx)("div",{style:{textAlign:"center"},children:(0,s.jsx)(g.Pagination,{simple:!0,pageSize:1,showSizeChanger:!1,defaultCurrent:l.getPage(),total:l.getTotalPage(),onChange:this.handlePageChange,style:{display:"inline-block"}})})}renderConfigureActions(){return(0,s.jsx)(u.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("RecordActionGroupModel"),afterSubModelInit:async e=>{e.setStepParams("buttonSettings","general",{type:"default"})},children:(0,s.jsx)(u.FlowSettingsButton,{icon:(0,s.jsx)(e1.SettingOutlined,{}),children:this.translate("Actions")})},"details-actions-add")}renderComponent(){let{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n}=this.props,i=!!this.context.flowSettingsEnabled,r=!i&&!this.hasAvailableData(),{heightMode:a,height:d}=this.decoratorProps;return(0,s.jsx)(dE,{model:this,gridModel:this.subModels.grid,isConfigMode:i,heightMode:a,height:d,layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n},actions:(0,s.jsx)(u.DndProvider,{children:(0,s.jsx)("div",{style:r?{pointerEvents:"none",opacity:.45}:void 0,children:(0,s.jsxs)(g.Space,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||i)return(0,s.jsx)(u.Droppable,{model:e,children:(0,s.jsx)(u.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!1,showBorder:!1,toolbarPosition:"above"},extraToolbarItems:[{key:"drag-handler",component:u.DragHandler,sort:1}]})},e.uid)}),this.renderConfigureActions()]})})})})}constructor(...e){super(...e),this.hadSingleRecordData=!1,this.hasMultiRefreshDispatched=!1,this._defaultCustomModelClasses={RecordActionGroupModel:"RecordActionGroupModel",DetailsItemModel:"DetailsItemModel",DetailsAssociationFieldGroupModel:"DetailsAssociationFieldGroupModel",DetailsCustomItemModel:"DetailsCustomItemModel"},this.customModelClasses={},this.handlePageChange=async e=>{if(this.resource instanceof u.MultiRecordResource){let t=this.resource;t.setPage(e),t.loading=!0,await this.refresh()}}}}dR.scene=aX.P.oam;let dE=e=>{let{model:t,gridModel:l,isConfigMode:o,heightMode:n,height:i,layoutProps:r,actions:a}=e,d=(0,p.useRef)(null),c=(0,p.useRef)(null),m=(0,p.useRef)(null),h="specifyValue"===n||"fullHeight"===n,f=dD({heightMode:n,containerRef:d,actionsRef:c,paginationRef:m,deps:[i]});(0,p.useEffect)(()=>{var e,t;if(!l)return;let o=h?f:void 0;((null==(e=l.props)?void 0:e.height)!==o||(null==(t=l.props)?void 0:t.heightMode)!==n)&&l.setProps({height:o,heightMode:n})},[l,f,h,n]);let g=h?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,v=h?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,s.jsx)(dl.s2,{model:t,layoutProps:r,style:g,children:(0,s.jsxs)("div",{ref:d,style:v,children:[(0,s.jsx)("div",{ref:c,style:{textAlign:"right",lineHeight:"0px",paddingBottom:o&&t.context.themeToken.padding},children:a}),(0,s.jsx)(u.FlowModelRenderer,{model:l,showFlowSettings:!1},`${(null==l?void 0:l.uid)||"details-grid"}:${o?"design":"runtime"}`),(0,s.jsx)("div",{ref:m,children:t.renderPagination()})]})})};dR.registerFlow({key:"detailsSettings",title:(0,u.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,u.tExpr)("Layout")},dataScope:{use:"dataScope"},defaultSorting:{use:"sortingRule",title:(0,u.tExpr)("Default sorting")},linkageRules:{use:"detailsFieldLinkageRules"}}}),dR.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"}}}}),dR.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),o="function"==typeof t.hasActiveFilters&&t.hasActiveFilters();l&&!o&&await (0,sG.Xi)(e.model,"paginationChange")}}}}),dR.define({label:(0,u.tExpr)("Details"),searchable:!0,searchPlaceholder:(0,u.tExpr)("Search"),createModelOptions:{use:"DetailsBlockModel",subModels:{grid:{use:"DetailsGridModel"}}},sort:350});class dY extends u.FlowModel{static defineChildren(e){let t=e.engine.filterModelClassByParent("CommonItemModel"),l=e.engine.filterModelClassByParent("DetailsCustomItemModel"),o=t=>Array.from(t.entries()).map(t=>{var l,o,n,i,r;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==(o=s.meta)?void 0:o.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==(r=s.meta)?void 0:r.createModelOptions)||{use:a},u});return c.default.sortBy([...o(t),...o(l)],"sort")}}dY.renderMode=u.ModelRenderMode.RenderFunction,dY.define({hide:!0,label:(0,u.tExpr)("Others")});class dN extends a${renderAddSubModelButton(){return this.context.flowSettingsEnabled?(0,s.jsx)(u.AddSubModelButton,{model:this,subModelKey:"items",subModelBaseClasses:[this.context.getModelClassName("DetailsItemModel"),this.context.getModelClassName("DetailsAssociationFieldGroupModel"),this.context.getModelClassName("DetailsCustomItemModel")].filter(Boolean),keepDropdownOpen:!0,children:(0,s.jsx)(u.FlowSettingsButton,{icon:(0,s.jsx)(e1.SettingOutlined,{}),children:this.translate("Fields")})}):null}render(){var e,t;let l=null==(e=this.props)?void 0:e.height,o=null==(t=this.props)?void 0:t.heightMode,n=this.context.themeToken,i=super.render();return"defaultHeight"===o?i:(0,s.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),this.itemFallback=(0,s.jsx)(g.Skeleton.Input,{block:!0,size:"small",style:{marginBottom:"0.5rem"}}),this.itemSettingsMenuLevel=2,this.itemFlowSettings={showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}},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 dO(e,t){let{fieldUseModel:l,refreshTargets:o}=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,o)=>{let n=await ("function"==typeof e?e(t,o):e);return n.subModels=n.subModels||{},n.subModels.field={...n.subModels.field||{},use:l},n},t.refreshTargets=t.refreshTargets||o}return t}):[];return n(e)}function dB(e,t,l){let{fieldUseModel:o,refreshTargets:n}=l,i=l.key??"js-association-fields",r=l.label??(0,u.tExpr)("Display association fields");return{key:i,type:"group",label:r,searchable:l.searchable??!0,searchPlaceholder:l.searchPlaceholder??(0,u.tExpr)("Search fields"),children:async e=>dO(await t(e),{fieldUseModel:o,refreshTargets:n})}}dN.registerFlow({key:"detailFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});class dV extends af{}async function dH(e,t){var l;let{useModel:o,fieldUseModel:n,refreshTargets:i,associationPathName:r,associationProvider:a}=t,s=(0,u.buildWrapperFieldChildren)(e,{useModel:o,fieldUseModel:n,associationPathName:r,refreshTargets:i}),d=[],c=null==s||null==(l=s[0])?void 0:l.children;if(Array.isArray(c)&&(d=c),!a)return d;let p=await a(e);return Array.isArray(p)&&0!==p.length?[...d,dB(e,a,{fieldUseModel:n,refreshTargets:i})]:d}dV.itemModelName="FormItemModel";class dq extends dY{static defineChildren(e){return dH(e,{useModel:"DetailsItemModel",fieldUseModel:"JSFieldModel",refreshTargets:["DetailsItemModel"],associationProvider:e=>dI.defineChildren(e)})}}dq.define({label:(0,u.tExpr)("JS field"),searchable:!0,searchPlaceholder:(0,u.tExpr)("Search fields"),sort:110});class d$ extends rl.o{}class dz extends rl.o{constructor(...e){super(...e),this.operator="$eq",this.updateAssociation=!1}}dz.registerFlow({key:"AssociationFieldInit",sort:800,steps:{init:{async handler(e,t){if(e.model.updateAssociation){var l,o;let t=e.model.context.blockModel,n=null==t||null==(l=t.context)?void 0:l.resource,i=null==(o=e.model.parent)?void 0:o.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 dU=(e,t)=>e===t,dK=e=>{if(e&&"object"==typeof e){let t=e.data;return t&&"object"==typeof t?t:e}};function dG(e){return"string"==typeof e&&e?e:Array.isArray(e)&&1===e.length&&"string"==typeof e[0]?e[0]:void 0}function dW(e,t){var l;let o="string"==typeof(null==t||null==(l=t.titleCollectionField)?void 0:l.name)?t.titleCollectionField.name:void 0,n=dG(null==t?void 0:t.filterTargetKey)||"id",i="string"==typeof(null==e?void 0:e.value)&&e.value&&!dU(e.value,"value")?e.value:void 0,r="string"==typeof(null==e?void 0:e.label)&&e.label&&!dU(e.label,"label")?e.label:void 0,a=i||n;return{label:r||o||a,value:a}}function dJ(e){var t,l,o,n,i,r;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 m=null==(n=e.view)||null==(o=n.inputArgs)?void 0:o.viewUid,h=null==(r=e.model.context)||null==(i=r.inputArgs)?void 0:i.viewUid;return[...p,"string"==typeof m&&m?m:"string"==typeof h&&h?h:e.model.uid].filter(Boolean)}function dX(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 dQ(e){var t,l,o;let{option:n,fieldNames:i}=e,r=(0,u.useFlowModel)(),a=dK(n),d=dW(i,null==(t=r.context.collectionField)?void 0:t.targetCollection),c=r.subModels.field,p=dX(null==a?void 0:a[d.label])??dX(null==a?void 0:a.label)??dX(null==a?void 0:a[d.value]);if(!c)return(0,s.jsx)("span",{children:p??"N/A"});let m=String((null==a?void 0:a[d.value])??p??"association-option"),h=c.createFork({},m);h.context.defineProperty("record",{get:()=>a,cache:!1,meta:(0,u.createCurrentRecordMetaFactory)(h.context,()=>h.context.collection)});let f=null==(o=r.context.collectionField.targetCollection)||null==(l=o.getField)?void 0:l.call(o,d.label),g=f&&"function"==typeof f.getComponentProps?f.getComponentProps():{};h.setProps({value:p,clickToOpen:!1,...g});let v=null!=p&&""!==p?h.render():"N/A";return(0,s.jsx)("span",{style:{pointerEvents:"none"},children:v})}function dZ(e,t){let l=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=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||{},r=e=>"object"==typeof e&&null!==e,a=e=>{if(r(e))return{label:(0,s.jsx)(dQ,{option:e,fieldNames:t}),value:e[i]}};if("value"===o){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(r).map(a).filter(Boolean):[];if(Array.isArray(e)){let t=e[0];return r(t)?a(t):void 0}return r(e)?a(e):void 0}function d0(e,t,l){return(null==e?void 0:e.length)?e.map(e=>(0,c.omit)(e,"disabled","options","style")):l?Array.isArray(t)?t.filter(e=>"object"==typeof e&&null!==e):[]:t&&"object"==typeof t?[t]:[]}let d1="calc(12px + env(safe-area-inset-bottom, 0px))",d2={paddingBottom:d1};function d5(e){return{maxHeight:"60vh",overflowY:"auto",paddingBottom:e?void 0:d1}}let d8=(0,S.css)`
798
798
  div {
799
799
  white-space: nowrap !important;
800
800
  overflow: hidden;