@nocobase/client-v2 2.1.0-alpha.24 → 2.1.0-alpha.25
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/flow/models/base/BlockGridModel.d.ts +2 -1
- package/es/flow/models/blocks/form/value-runtime/rules.d.ts +5 -0
- package/es/flow/models/blocks/form/value-runtime/runtime.d.ts +12 -0
- package/es/flow/models/fields/AssociationFieldModel/SubTableFieldModel/rowIdentity.d.ts +18 -0
- package/es/index.mjs +70 -70
- package/lib/index.js +71 -71
- package/package.json +5 -5
- package/src/flow/models/base/BlockGridModel.tsx +48 -2
- package/src/flow/models/base/__tests__/BlockGridModel.selectSceneAddBlock.test.ts +83 -0
- package/src/flow/models/blocks/form/value-runtime/__tests__/runtime.test.ts +293 -0
- package/src/flow/models/blocks/form/value-runtime/__tests__/subtable-nested.test.ts +3 -2
- package/src/flow/models/blocks/form/value-runtime/rules.ts +66 -14
- package/src/flow/models/blocks/form/value-runtime/runtime.ts +285 -12
- package/src/flow/models/fields/AssociationFieldModel/SubTableFieldModel/SubTableColumnModel.tsx +10 -2
- package/src/flow/models/fields/AssociationFieldModel/SubTableFieldModel/SubTableField.tsx +46 -22
- package/src/flow/models/fields/AssociationFieldModel/SubTableFieldModel/rowIdentity.ts +70 -0
- package/src/flow/models/fields/AssociationFieldModel/__tests__/SubTableRowIdentity.test.ts +45 -0
package/es/index.mjs
CHANGED
|
@@ -243,16 +243,16 @@ import*as __rspack_external__ant_design_cssinjs_c619260f from"@ant-design/cssinj
|
|
|
243
243
|
... (stack truncated)`}function M(e){let t=String(e||"").split("\n"),l=new Set;for(let e=0;e<t.length;e++){let o=t[e];(h.test(o)||f.test(o))&&l.add(e)}if(0===l.size)return()=>!1;let o=[0];for(let e=1;e<t.length;e++)o[e]=o[e-1]+t[e-1].length+1;let n=e=>{let t=0,l=o.length-1,n=0;for(;t<=l;){let i=t+l>>1;o[i]<=e?(n=i,t=i+1):l=i-1}return n};return e=>l.has(n(e))}function w(e,t){let l=Math.max(0,Math.min(e.length,Math.floor(t))),o=e.lineAt(l);return{line:o.number,column:l-o.from+1}}function S(e){return[...e].sort((e,t)=>{var l,o,n,i,r,a,s,d;let u=+("lint"!==e.type),c=+("lint"!==t.type);if(u!==c)return u-c;let p=(null==(o=e.location)||null==(l=o.start)?void 0:l.line)??Number.MAX_SAFE_INTEGER,m=(null==(i=t.location)||null==(n=i.start)?void 0:n.line)??Number.MAX_SAFE_INTEGER;if(p!==m)return p-m;let h=(null==(a=e.location)||null==(r=a.start)?void 0:r.column)??Number.MAX_SAFE_INTEGER,f=(null==(d=t.location)||null==(s=d.start)?void 0:s.column)??Number.MAX_SAFE_INTEGER;return h!==f?h-f:String(e.ruleId||"").localeCompare(String(t.ruleId||""))})}function k(e){let t={error:0,warn:1,info:2,log:3};return e.map((e,t)=>({log:e,index:t})).sort((e,l)=>{let o=t[e.log.level]??Number.MAX_SAFE_INTEGER,n=t[l.log.level]??Number.MAX_SAFE_INTEGER;return o!==n?o-n:e.index-l.index}).map(e=>e.log)}function F(e){let t,l=String(e||"");if(!l.trim())return[];let o=n.Text.of(l.split("\n")),i=M(l);try{t=m.parse(l).cursor()}catch(e){return[{type:"lint",ruleId:"parse-error",message:`Syntax error: ${g((null==e?void 0:e.message)||e)}`,location:{start:{line:1,column:1}}}]}let r=[],a=new Set,s=e=>{let t=Math.max(0,Math.min(l.length,e));if(i(t)||a.has(t))return;a.add(t);let n=w(o,t),s=l.slice(t,Math.min(l.length,t+24)).replace(/\s+/g," ").trim(),d=s?` near "${s}"`:"";r.push({type:"lint",ruleId:"parse-error",message:`Syntax error${d}.`,location:{start:n}})};do t.type.isError&&s(t.from);while(t.next());return r}function C(e){let t,l=String(e||"");if(!l.trim())return[];let o=M(l),s=n.Text.of(l.split("\n")),d=[],u=(e,t,n)=>{let i=Math.max(0,Math.min(l.length,e));if(o(i))return;let r=w(s,i);d.push({type:"lint",ruleId:t,message:n,location:{start:r}})},c=()=>{let e="no-noncallable-call",t=new Set,n=n=>{let i=Math.max(0,Math.min(l.length,n));o(i)||t.has(i)||(t.add(i),u(i,e,"This expression is not callable."))},i=l.length,r=e=>{if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||95===t||36===t},a=e=>{if(!e)return!1;let t=e.charCodeAt(0);return r(e)||t>=48&&t<=57},s=e=>{let t=e;for(;t<i&&/\s/.test(l[t]);)t++;return t},d=e=>!(e>=i)&&("("===l[e]||"?"===l[e]&&"."===l[e+1]&&"("===l[e+2]),c=e=>{let t=1,o="code";for(let n=e+1;n<i;n++){let e=l[n],r=n+1<i?l[n+1]:"";if("lineComment"===o){"\n"===e&&(o="code");continue}if("blockComment"===o){"*"===e&&"/"===r&&(o="code",n+=1);continue}if("single"===o){if("\\"===e){n+=1;continue}"'"===e&&(o="code");continue}if("double"===o){if("\\"===e){n+=1;continue}'"'===e&&(o="code");continue}if("template"===o){if("\\"===e){n+=1;continue}"`"===e&&(o="code");continue}if("/"===e&&"/"===r){o="lineComment",n+=1;continue}if("/"===e&&"*"===r){o="blockComment",n+=1;continue}if("'"===e){o="single";continue}if('"'===e){o="double";continue}if("`"===e){o="template";continue}if("("===e)t++;else if(")"===e&&0==--t)return n}return -1},p=e=>"true"===e||"false"===e||"null"===e,m="code";for(let e=0;e<i;e++){let t=l[e],o=e+1<i?l[e+1]:"";if("lineComment"===m){"\n"===t&&(m="code");continue}if("blockComment"===m){"*"===t&&"/"===o&&(m="code",e+=1);continue}if("/"===t&&"/"===o){m="lineComment",e+=1;continue}if("/"===t&&"*"===o){m="blockComment",e+=1;continue}if("'"===t||'"'===t){let o=t,r=e;for(e+=1;e<i;){let t=l[e];if("\\"===t){e+=2;continue}if(t===o)break;e+=1}d(s(Math.min(i,e+1)))&&n(r);continue}if("`"===t){let t=e;for(e+=1;e<i;){let t=l[e];if("\\"===t){e+=2;continue}if("`"===t)break;e+=1}d(s(Math.min(i,e+1)))&&n(t);continue}if(t>="0"&&t<="9"){let t=e;for(e+=1;e<i&&l[e]>="0"&&l[e]<="9";)e++;if("."===l[e])for(e+=1;e<i&&l[e]>="0"&&l[e]<="9";)e++;if("e"===l[e]||"E"===l[e]){let t=l[e+1],o=e+1;if(("+"===t||"-"===t)&&(o+=1),l[o]>="0"&&l[o]<="9")for(e=o+1;e<i&&l[e]>="0"&&l[e]<="9";)e++}"n"===l[e]&&(e+=1),d(s(e))&&n(t),e-=1;continue}if(r(t)){let t=e;for(e+=1;e<i&&a(l[e]);)e++;p(l.slice(t,e))&&d(s(e))&&n(t),e-=1;continue}if("("===t){let t=s(e+1),o=t,u=!1;("+"===l[t]||"-"===l[t])&&(o=t,t=s(t+1));let m=l[t];if("{"===m||"["===m||"'"===m||'"'===m||"`"===m)u=!0;else if(m>="0"&&m<="9")u=!0;else if(r(m)){let e=t+1;for(;e<i&&a(l[e]);)e++;p(l.slice(t,e))&&(u=!0)}if(u){let t=c(e);t>e&&d(s(t+1))&&n(o)}}}};try{let e=i.Parser||i;t=("function"==typeof r.default?e.extend((0,r.default)()):e).parse(l,{ecmaVersion:2022,sourceType:"script",allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,locations:!0})}catch(e){return c(),d}let p=new Set(["ctx","console","window","document","navigator","Math","Date","Array","Object","Number","String","Boolean","Promise","RegExp","Set","Map","WeakSet","WeakMap","JSON","Intl","URL","Error","TypeError","encodeURIComponent","decodeURIComponent","parseInt","parseFloat","isNaN","isFinite","undefined","NaN","Infinity"]),m=e=>{e&&"string"==typeof e.name&&p.add(e.name)},h=e=>{if(!e)return;let t=[e];for(;t.length;){let e=t.pop();e&&("Identifier"===e.type?m(e):"AssignmentPattern"===e.type?t.push(e.left):"ArrayPattern"===e.type?(e.elements||[]).forEach(e=>e&&t.push(e)):"ObjectPattern"===e.type&&(e.properties||[]).forEach(e=>e&&t.push(e.value||e)))}};try{a.full(t,e=>{switch(null==e?void 0:e.type){case"VariableDeclarator":h(e.id);break;case"FunctionDeclaration":case"FunctionExpression":m(e.id),(e.params||[]).forEach(h);break;case"ArrowFunctionExpression":(e.params||[]).forEach(h);break;case"CatchClause":h(e.param);break;case"ClassDeclaration":m(e.id)}})}catch(e){}try{a.full(t,e=>{if(!e||"string"!=typeof e.type||"CallExpression"!==e.type)return;let t=e.callee;if(!(t&&("Identifier"===t.type||"MemberExpression"===t.type||"FunctionExpression"===t.type||"ArrowFunctionExpression"===t.type||"CallExpression"===t.type||"ChainExpression"===t.type))){let l=(null==t?void 0:t.start)??e.start??0;u(l,"no-noncallable-call","This expression is not callable.")}})}catch(e){}try{let e=new Set,l=new Set(["t"]);a.full(t,t=>{var o,n,i;if(!t||"string"!=typeof t.type||"CallExpression"!==t.type)return;let r=t.callee;if((null==r?void 0:r.type)==="ChainExpression"&&(r=r.expression),!r||"MemberExpression"!==r.type)return;let a=r.object;if(!a||"Identifier"!==a.type||"ctx"!==a.name)return;let s=null;if(r.computed||(null==(o=r.property)?void 0:o.type)!=="Identifier"?r.computed&&(null==(n=r.property)?void 0:n.type)==="Literal"&&"string"==typeof r.property.value&&(s=r.property.value):s=r.property.name,!s||"string"!=typeof s)return;let d=s.trim();if(!d||d.startsWith("_")||d.length>2||l.has(d)||e.has(d))return;let c=(null==(i=r.property)?void 0:i.start)??r.start??t.start??0;u(c,"possible-undefined-ctx-member-call",`Possible undefined ctx method call: ctx.${d}(). This may be a typo or not available in the current ctx API.`),e.add(d)})}catch(e){}try{let e=new Set;a.ancestor(t,{Identifier(t,l){let o=null==t?void 0:t.name;if(!o||p.has(o)||e.has(o))return;let n=l[l.length-2];if(!n||"VariableDeclarator"===n.type&&n.id===t||"FunctionDeclaration"===n.type&&n.id===t||"FunctionExpression"===n.type&&n.id===t||"ClassDeclaration"===n.type&&n.id===t||"ClassExpression"===n.type&&n.id===t||"Property"===n.type&&n.key===t&&!0!==n.computed||"MemberExpression"===n.type&&n.property===t&&!0!==n.computed||"LabeledStatement"===n.type&&n.label===t||"BreakStatement"===n.type&&n.label===t||"ContinueStatement"===n.type&&n.label===t)return;let i=t.start??0;u(i,"possible-undefined-variable",`Possible undefined variable: ${o}`),e.add(o)}})}catch(e){}return d}function A(e){let t=(t,l)=>{let o=l.map(e=>g(e)).join(" ").trim();e.push({level:t,message:o})},l={trace:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("log",l)},debug:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("log",l)},info:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("info",l)},warn:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("warn",l)},error:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("error",l)},fatal:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("error",l)},child:()=>l};return{consoleCapture:{log:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("log",l)},info:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("info",l)},warn:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("warn",l)},error:function(){for(var e=arguments.length,l=Array(e),o=0;o<e;o++)l[o]=arguments[o];return t("error",l)}},loggerCapture:l}}function P(e){if(!e.length)return;let t={timeout:0,internal:1,"preview-start-failed":2};return[...e].sort((e,l)=>{let o=t[String(e.ruleId||"")]??10,n=t[String(l.ruleId||"")]??10;return o!==n?o-n:0})[0]}function T(e){var t;let l=null==(t=e.location)?void 0:t.start,o=l?`line ${l.line}:${l.column} `:"",n=e.ruleId?`(${e.ruleId}) `:"";return`${o}${n}${e.message}`.trim()}function j(e){if(!e)return"Preview execution: unknown";let t="number"==typeof e.durationMs?`${Math.round(e.durationMs)}ms`:"unknown";return`Preview execution: started=${e.started}, finished=${e.finished}, timeout=${e.timeout}, duration=${t}`}function I(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"…",o=String(e||"");return o.length<=t?o:`${o.slice(0,Math.max(0,t-l.length))}${l}`}function L(e,t){let{issues:l,logs:o,execution:n}=e,i=l.filter(e=>"lint"===e.type),r=l.filter(e=>"runtime"===e.type),a=k(o),s=P(r),d=[],u=l.length,c=i.length,p=r.length,m=a.length,h=e=>{e.length&&(d.push("Key logs:"),e.forEach(e=>{d.push(`[${e.level}] ${I(e.message,t.maxLogChars)}`)}),a.length>e.length&&d.push(`... ${a.length-e.length} more logs not shown`))};if(0===u){let e=a.some(e=>"warn"===e.level||"error"===e.level);d.push(e?`RunJS preview completed with warning/error logs: no diagnostic issues found. Logs: ${m}.`:`RunJS preview succeeded: no issues found. Logs: ${m}.`),d.push(j(n));let l=a.slice(0,Math.max(0,t.maxLogs));l.length&&(d.push(""),h(l));let o=d.join("\n").trimEnd();return{message:I(o,t.maxChars),truncated:o.length>t.maxChars}}d.push(`RunJS preview failed: ${u} issues (lint ${c} / runtime ${p}), logs: ${m}.`),d.push(j(n)),d.push("");let f=(e,l)=>{if(!l.length)return;d.push(`${e}:`);let o=l.slice(0,Math.max(0,t.maxIssues));o.forEach((e,l)=>{let o=`${l+1}) ${T(e)}`;if(d.push(o),t.includeStack&&e.stack){let l=I(String(e.stack),t.maxStackChars);d.push(I(l,t.maxStackChars))}}),l.length>o.length&&d.push(`... ${l.length-o.length} more not shown`),d.push("")},g=s&&r.length>1?[s,...r.filter(e=>e!==s)]:r;f("Static issues",i),f("Runtime issues",g);let v=a.slice(0,Math.max(0,t.maxLogs));v.length&&h(v);let y=d.join("\n").trimEnd(),_=y.length>t.maxChars;return{message:_?I(y,t.maxChars):y,truncated:_}}function Y(e){let t=`(issues total ${e.issues.length}, logs total ${e.logs.length})`,l=!1;for(let o of[{maxLogs:40,maxLogChars:220,maxIssues:12,includeStack:!0,maxStackChars:800},{maxLogs:20,maxLogChars:160,maxIssues:10,includeStack:!0,maxStackChars:400},{maxLogs:12,maxLogChars:140,maxIssues:8,includeStack:!1,maxStackChars:0},{maxLogs:8,maxLogChars:120,maxIssues:5,includeStack:!1,maxStackChars:0},{maxLogs:3,maxLogChars:100,maxIssues:3,includeStack:!1,maxStackChars:0}]){let{message:n,truncated:i}=L(e,{...o,maxChars:d});if(l=l||i,!i){if(!l)return n;return I(`RunJS preview output was truncated.
|
|
244
244
|
${t}
|
|
245
245
|
|
|
246
|
-
${n}`,d)}}let o=P(e.issues.filter(e=>"runtime"===e.type)),n=o?`Key runtime issue: ${T(o)}`:"",i=["RunJS preview output was truncated.",t,e.execution?j(e.execution):void 0,n||void 0].filter(Boolean).join("\n").trim();return i.length<=d?i:I(i,d-1)+"\n"}function D(e){return Y(e)}async function E(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o="string"==typeof e?e:String(e??""),n=[],i=[],r=null==l?void 0:l.version,a=(0,s.shouldPreprocessRunJSTemplates)({version:r});i.push(...F(o)),i.push(...C(o));let d="u">typeof performance&&"function"==typeof performance.now?performance.now():Date.now(),c={started:!1,finished:!1,timeout:!1,durationMs:void 0};try{c.started=!0;let{consoleCapture:e,loggerCapture:l}=A(n),d={console:e};try{if("u">typeof window){let e=(0,s.createSafeNavigator)();d.navigator=e,d.window=(0,s.createSafeWindow)({navigator:e}),d.document=(0,s.createSafeDocument)()}}catch(e){}let p=o;try{p=await (0,s.prepareRunJsCode)(o,{preprocessTemplates:a})}catch(o){let e=String((null==o?void 0:o.name)||""),t=g((null==o?void 0:o.message)||o),l=o instanceof SyntaxError||/^SyntaxError\b/i.test(e)||/SyntaxError\b/i.test(t);return i.push({type:"runtime",ruleId:l?"preview-start-failed":"internal",message:l?t:`Preview internal failure: ${t}`,stack:x(o)}),c.finished=!0,c.timeout=!1,{issues:S(i),logs:n,execution:c}}let m=await t.createJSRunner({globals:d,timeoutMs:u,version:r});m.globals.ctx.defineProperty("logger",{value:l});let h=await m.run(p);if(c.finished=!0,c.timeout=!!(null==h?void 0:h.timeout),!(null==h?void 0:h.success)){let e=null==h?void 0:h.error,t=(null==h?void 0:h.timeout)?"Execution timed out":g((null==e?void 0:e.message)||e||"Unknown error"),l=e instanceof SyntaxError||/^SyntaxError\b/i.test(String((null==e?void 0:e.name)||""));i.push({type:"runtime",ruleId:(null==h?void 0:h.timeout)?"timeout":l?"preview-start-failed":"runtime-error",message:t,stack:x(e)})}}catch(e){c.finished=!0,c.timeout=!1,i.push({type:"runtime",ruleId:"internal",message:`Preview internal failure: ${g((null==e?void 0:e.message)||e)}`,stack:x(e)})}finally{let e=Math.max(0,("u">typeof performance&&"function"==typeof performance.now?performance.now():Date.now())-d);c.durationMs=Number.isFinite(e)?e:void 0}return{issues:S(i),logs:n,execution:c}}function R(e){let t=new s.FlowContext;if(t.addDelegate(e),"u">typeof document&&"function"==typeof document.createElement&&!e.element)try{let e=document.createElement("div");t.defineProperty("element",{value:e})}catch(e){}return t}async function N(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=R(t),n=await E(e,o,l),i=0===n.issues.length,r=D(n);return{success:i,message:r.length>d?I(r,d):r}}},8442(e,t,l){l.d(t,{a:()=>r});var o=l(1178),n=l(2793);l(1649);var i=l(5886);let r=(0,l(504).observer)(e=>{var t;let{value:l,FilterItem:r,ctx:a}=e;l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let s=()=>{var e;(null==a||null==(e=a.model)?void 0:e.dispatchEvent)&&a.model.dispatchEvent("reset")},d=()=>{var e;(null==a||null==(e=a.model)?void 0:e.dispatchEvent)&&a.model.dispatchEvent("submit")},u=(null==a||null==(t=a.model)?void 0:t.translate)||(e=>e);return(0,o.jsxs)("form",{onSubmit:e=>{e.preventDefault(),d()},children:[(0,o.jsx)(i.I,{value:l,FilterItem:r}),(0,o.jsxs)(n.Space,{style:{width:"100%",display:"flex",justifyContent:"flex-end"},children:[(0,o.jsx)(n.Button,{htmlType:"button",onClick:s,children:u("Reset")}),(0,o.jsx)(n.Button,{type:"primary",htmlType:"submit",children:u("Submit")})]})]})},{displayName:"FilterContent"})},5886(e,t,l){l.d(t,{I:()=>c});var o=l(1178),n=l(2113),i=l(2793),r=l(7843);l(1649);var a=l(504);let s=new WeakMap,d=0,u=e=>{let t=s.get(e);return t||(d+=1,t=`filter-item-${d}`,s.set(e,t)),t},c=(0,a.observer)(e=>{let{token:t}=i.theme.useToken(),{value:l={logic:"$and",items:[]},FilterItem:a,showBorder:s=!1,onRemove:d,onChange:p,closeIcon:m=(0,o.jsx)(n.CloseCircleOutlined,{style:{color:t.colorIcon}})}=e,{t:h}=(0,r.useTranslation)();l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let{logic:f,items:g}=l,v=s?{position:"relative",border:`1px dashed ${t.colorBorder}`,padding:t.paddingSM,marginBottom:t.marginXS,borderRadius:t.borderRadius}:{position:"relative",marginBottom:t.marginXS},y=e=>{l.logic=e,null==p||p(l)},_=()=>{g.push({path:"",operator:"",value:""}),null==p||p(l)},b=()=>{g.push({logic:"$and",items:[]}),null==p||p(l)},x=e=>{g.splice(e,1),null==p||p(l)},M=e=>"path"in e||"operator"in e||"value"in e,w=e=>"logic"in e&&"items"in e;return(0,o.jsxs)("div",{style:v,children:[s&&d&&(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{position:"absolute",right:10,top:10,cursor:"pointer",background:"transparent",border:0,padding:0},onClick:d,children:m}),(0,o.jsx)("div",{style:{marginBottom:8,color:t.colorText},children:(0,o.jsxs)("span",{children:[h("Meet")," ",(0,o.jsxs)(i.Select,{"data-testid":"filter-select-all-or-any",style:{width:"auto"},value:f,onChange:y,children:[(0,o.jsx)(i.Select.Option,{value:"$and",children:h("All")}),(0,o.jsx)(i.Select.Option,{value:"$or",children:h("Any")})]})," ",h("conditions in the group")]})}),(0,o.jsx)("div",{children:g.map((e,n)=>w(e)?(0,o.jsx)(c,{value:e,FilterItem:a,showBorder:!0,onRemove:()=>x(n),onChange:e=>{g[n]=e,null==p||p(l)}},u(e)):M(e)?a?(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsx)(a,{value:e}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)):(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsxs)("span",{children:[e.path," ",e.operator," ",String(e.value)]}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)):(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsx)("span",{style:{color:t.colorTextTertiary},children:"Invalid filter item"}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)))}),(0,o.jsxs)(i.Space,{size:16,style:{marginTop:8,marginBottom:8},children:[(0,o.jsx)(i.Button,{style:{padding:0},type:"link",size:"small",icon:(0,o.jsx)(n.PlusOutlined,{}),onClick:_,children:h("Add condition")}),(0,o.jsx)(i.Button,{style:{padding:0},type:"link",size:"small",icon:(0,o.jsx)(n.PlusOutlined,{}),onClick:b,children:h("Add condition group")})]})]})},{displayName:"FilterGroup"})},9215(e,t,l){l.d(t,{Ru:()=>I,I8:()=>n.I,qi:()=>c,oJ:()=>o.a,Et:()=>M});var o=l(8442),n=l(5886),i=l(1178),r=l(504),a=l(2793),s=l(1649);let d=(e,t,l,o)=>e.map(e=>u(e,t,l,o)).filter(Boolean),u=(e,t,l,o)=>{var n;if(l.length&&1===t&&l.includes(e.name)||!e.interface||!1===e.filterable)return;let i=e.getInterfaceOptions();if(!(null==i?void 0:i.filterable))return;let{nested:r,children:a,operators:s}=i.filterable,u={name:e.name,type:e.type,target:e.target,title:o(e.title),schema:null==e?void 0:e.uiSchema,operators:((null==s||null==(n=s.filter)?void 0:n.call(s,t=>!(null==t?void 0:t.visible)||t.visible(e)))||[]).map(e=>({...e,label:o(e.label)}))};if(!e.target||!(t>2)){if(t>2)return u;if((null==a?void 0:a.length)&&(u.children=a),r){let n=d(e.getFields().filter(e=>"attachments"!==e.target&&"formula"!==e.interface),t+1,l,o).filter(Boolean);u.children=u.children||[],u.children.push(...n)}return u}},c=(0,r.observer)(e=>{var t;let{path:l,operator:o,value:n}=e.value,r=e.model,u=(null==(t=r.context.blockModel.collection)?void 0:t.getFields().filter(e=>"attachments"!==e.target))||[],c=p(r.props.filterableFieldNames||[],u.map(e=>e.name)),m=r.translate,h=d(u.filter(e=>"attachments"!==e.target&&"formula"!==e.interface&&!["belongsTo","belongsToMany","hasOne","hasMany","oho","obo","m2o","o2m","m2m"].includes(e.type)),1,e.noIgnore?[]:c,m).filter(Boolean),f=(0,s.useMemo)(()=>{let e=h.find(e=>e.name===l);return(null==e?void 0:e.operators)||[]},[h,l]),g=t=>{var l;e.value.path=t;let o=h.find(e=>e.name===t);(null==o||null==(l=o.operators)?void 0:l.length)>0?e.value.operator=o.operators[0].value:e.value.operator="",e.value.value=""},v=t=>{e.value.operator=t},y=t=>{e.value.value=t.target.value};return(0,i.jsxs)(a.Space,{children:[(0,i.jsx)(a.Select,{style:{width:200},placeholder:m("Select field"),value:l||void 0,onChange:g,children:h.map(e=>(0,i.jsx)(a.Select.Option,{value:e.name,children:e.title},e.name))}),(0,i.jsx)(a.Select,{style:{width:120},placeholder:m("Select operator"),value:o||void 0,onChange:v,disabled:!l||0===f.length,children:f.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),(0,i.jsx)(a.Input,{style:{width:200},placeholder:m("Enter value"),value:n,onChange:y})]})},{displayName:"FilterItem"});function p(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}var m=l(6305),h=l(7583),f=l(6220),g=l(7309),v=l(7720);let{DateFilterDynamicComponent:y}=(0,m.RZ)(()=>Promise.resolve().then(l.bind(l,6832)),"DateFilterDynamicComponent");async function _(e){var t,l,o,n;let i=async e=>Array.isArray(e)?e:"function"==typeof e?await e():[];if(null==(l=e.getPropertyOptions)||null==(t=l.call(e,"collection"))?void 0:t.meta){let t=null==(n=e.getPropertyMetaTree)?void 0:n.call(e,"{{ ctx.collection }}");return await i(t)}let a=()=>(null==e?void 0:e.collection)??null,s=await (0,r.createEphemeralContext)(e,{defineProperties:{collection:{get:a,meta:(0,r.createCollectionContextMeta)(a,"Current collection")}}}),d=null==(o=s.getPropertyMetaTree)?void 0:o.call(s,"{{ ctx.collection }}");return await i(d)}function b(e,t,l,o){var n;let r=null==e?void 0:e["x-component"],s=(null==t||null==(n=t.uiSchema)?void 0:n["x-component-props"])||{},d=(null==e?void 0:e["x-component-props"])||{},u=(0,__rspack_external_lodash_merge_8f812c65.default)({},s,d),c=(0,g.di)(null==e?void 0:e.enum,l)||[],p={style:{width:200,...(null==u?void 0:u.style)||{}},placeholder:(null==u?void 0:u.placeholder)||l("Enter value"),...u},m=e=>{if("number"==typeof e||(null==u?void 0:u.stringMode)===!0&&"string"==typeof e)return e};return e=>{let{value:t,onChange:l,...n}=e||{};if("InputNumber"===r)return(0,i.jsx)(a.InputNumber,{...p,...n,value:m(t),onChange:e=>null==l?void 0:l(e)});if("NumberPicker"===r)return(0,i.jsx)(f.NumberPicker,{...p,...n,value:m(t),onChange:e=>null==l?void 0:l(e)});if("Switch"===r)return(0,i.jsx)(a.Switch,{...p,...n,checked:!!t,onChange:e=>null==l?void 0:l(e)});if("Select"===r)return(0,i.jsx)(a.Select,{options:c,...p,...n,value:Array.isArray(t)||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Checkbox"===r)return(0,i.jsx)(a.Checkbox,{...p,...n,checked:!!t,onChange:e=>null==l?void 0:l(e.target.checked)});if("Checkbox.Group"===r)return(0,i.jsx)(a.Checkbox.Group,{...p,...n,value:Array.isArray(t)?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Radio.Group"===r)return(0,i.jsx)(a.Radio.Group,{...p,...n,value:Array.isArray(t)||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?t:void 0,onChange:e=>null==l?void 0:l(e.target.value)});if("Cascader"===r)return(0,i.jsx)(a.Cascader,{...p,...n,value:Array.isArray(t)?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Input.TextArea"===r||"TextArea"===r)return(0,i.jsx)(a.Input.TextArea,{...p,...n,value:"string"==typeof t?t:null==t?"":String(t),onChange:e=>null==l?void 0:l(e.target.value)});if("DateFilterDynamicComponent"===r)return(0,i.jsx)(y,{...p,...n,value:t,onChange:e=>null==l?void 0:l(e)});if(r&&(null==o?void 0:o.getComponent)){let e=o.getComponent(r);if(e)return(0,i.jsx)(e,{...p,...n,value:t,onChange:e=>null==l?void 0:l(e),style:{width:200,...p.style||{},...null==n?void 0:n.style}})}return(0,i.jsx)(a.Input,{...p,...n,value:"string"==typeof t?t:null==t?"":String(t),onChange:e=>null==l?void 0:l(e.target.value)})}}function x(e){if(e&&"object"==typeof e){let l=e;if("function"==typeof l.preventDefault||l.nativeEvent||"target"in l){var t;let o=null==(t=l.target)?void 0:t.value;return void 0!==o?o:e}}return e}let M=(0,r.observer)(e=>{let{value:t,model:l,rightAsVariable:o,rightMetaTree:n,ignoreFieldNames:d}=e,u=(0,r.useFlowViewContext)(),c=l.translate,{path:p,operator:m,value:f}=t,[y,M]=(0,s.useState)(null),w=(0,s.useMemo)(()=>{var e,t,o,n;if(!y)return[];let i=null==(e=l.context.app)?void 0:e.dataSourceManager,r=y.interface?null==i||null==(t=i.collectionFieldInterfaceManager)?void 0:t.getFieldInterface(y.interface):void 0,a=null==y||null==(o=y.uiSchema)?void 0:o["x-filter-operators"];return((Array.isArray(a)&&a.length?a:null==r||null==(n=r.filterable)?void 0:n.operators)||[]).filter(e=>!e.visible||e.visible(y))},[y,l]);(0,s.useEffect)(()=>{if(!w.length)return;let e=h.default.find(w,e=>e.value===t.operator);if(e)t.noValue=!!e.noValue;else{let e=w[0];t.operator=e.value,t.value=!!e.noValue||void 0,t.noValue=!!e.noValue}},[w,t]);let S=(0,s.useMemo)(()=>w.map(e=>({value:e.value,label:"string"==typeof e.label?c(e.label):e.label})),[w,c]),k=(0,s.useCallback)((e,l)=>{let o=t.path||"",n=e||"",i=n!==o;t.path=n,i&&o&&(t.operator="",t.value=void 0,t.noValue=!1),l&&M(l)},[t]),F=(0,s.useMemo)(()=>({resolveValueFromPath:e=>(M(e),(null==e?void 0:e.paths.slice(1).join("."))||null),resolvePathFromValue(e){if(null==e)return;let t=String(e).trim();if(t)return["collection",...t.split(".")]}}),[]),C=(0,s.useCallback)(e=>{t.operator=e;let l=w.find(t=>t.value===e);(null==l?void 0:l.noValue)?(t.value=!0,t.noValue=!0):(t.value=void 0,t.noValue=!1)},[w,t]),A=(0,s.useMemo)(()=>w.find(e=>e.value===m),[w,m]),P=(0,s.useCallback)(e=>{var t,l;return(null==e||null==(t=e.options)?void 0:t.dataType)||(null==e?void 0:e.dataType)||(null==e?void 0:e.type)||(null==e||null==(l=e.uiSchema)?void 0:l.type)||"double"},[]),T=(0,s.useCallback)(e=>{switch(e){case"boolean":return"Switch";case"date":return"DateFilterDynamicComponent";case"integer":case"bigInt":case"double":case"decimal":case"number":return"InputNumber";default:return"Input"}},[]),j=(0,s.useMemo)(()=>{let e=(null==y?void 0:y.uiSchema)||{},t=(null==A?void 0:A.schema)||{},l=(0,__rspack_external_lodash_merge_8f812c65.default)({},e,t);if((null==y?void 0:y.interface)==="formula"){let e={"x-read-pretty":!1,"x-component":T(P(y)),"x-component-props":{...l["x-component-props"]}};return(0,__rspack_external_lodash_merge_8f812c65.default)({},l,e)}return l},[y,A,T,P]),I=s.default.useRef(null==j?void 0:j["x-component"]),L=null==j?void 0:j["x-component"],Y=(0,s.useMemo)(()=>{let e=I.current;I.current=L;let l=void 0!==e&&e!==L;if(null==A?void 0:A.noValue)return f;if(l&&null!=f){t.value=void 0;return}return f},[L,f,t,A]),D=(0,s.useCallback)(e=>{t.value=x(e)},[t]),E=s.default.useRef(c);s.default.useEffect(()=>{E.current=c},[c]);let R=s.default.useCallback(e=>{var t;return(null==(t=E.current)?void 0:t.call(E,e))??e},[]),N=(0,s.useMemo)(()=>(0,g.di)(null==j?void 0:j.enum,R)||[],[j,R]),B=(0,s.useMemo)(()=>b(j,y,R,l.context.app),[j,y,R,l.context.app]),O=(0,s.useCallback)(()=>{let e=(0,v._)(l.context.app,m,w),t="$in"===m||"$notIn"===m;if(e&&t){let{Comp:t,props:l}=e,o={...l};(!(null==o?void 0:o.options)||(null==o?void 0:o.options.length)===0)&&(null==N?void 0:N.length)&&(o.options=N);let n={flex:"1 1 40%",minWidth:160,maxWidth:"100%",...(null==o?void 0:o.style)||{}},r=Array.isArray(Y)&&Y.every(e=>"string"==typeof e||"number"==typeof e)?Y:"string"==typeof Y?Y.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[];return(0,i.jsx)("div",{style:n,children:(0,i.jsx)(t,{...o,style:{width:"100%",...(null==o?void 0:o.style)||{}},value:r,onChange:e=>D(e)})})}let o=B;return(0,i.jsx)("div",{style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},children:(0,i.jsx)(o,{value:Y,onChange:e=>D(e)})})},[m,w,Y,B,l.context.app,D,N]),H=(0,s.useMemo)(()=>function(){return(0,i.jsx)(a.Input,{placeholder:`<${c("Null")}>`,readOnly:!0})},[c]),q=(0,s.useMemo)(()=>async()=>{let e="function"==typeof n?await n():n??u.getPropertyMetaTree(),t=Array.isArray(e)?e:await e();return[{title:c("Constant"),name:"constant",type:"string",paths:["constant"],render:B},{title:c("Null"),name:"null",type:"object",paths:["null"],render:H},...t]},[n,u,B,H,c]),$=(0,s.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?B:"null"===l?H:null},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:void 0},resolvePathFromValue:e=>{if(null===e)return["null"];let t="string"==typeof e?(0,r.parseValueToPath)(e):void 0;return t||["constant"]}}),[H,B]),V=(0,s.useMemo)(()=>async()=>{var e;let t=null==(e=l.context.app)?void 0:e.dataSourceManager,o=null==t?void 0:t.collectionFieldInterfaceManager,n=await _(l.context),i=async e=>{let t=e.interface?null==o?void 0:o.getFieldInterface(e.interface):void 0,n=[],i=null==t?void 0:t.filterable,r=null==i?void 0:i.children;if(Array.isArray(r)&&r.length)for(let t of r){var a,s,d;let o=t.title||t.name,i=(null==(a=l.context)?void 0:a.t)?l.context.t(o):o;n.push({name:t.name,title:i,type:(null==(s=t.schema)?void 0:s.type)||"string",interface:(null==(d=t.schema)?void 0:d["x-component"])==="Select"?"select":"input",uiSchema:{...t.schema||{},"x-filter-operators":t.operators},paths:[...e.paths||[],t.name],parentTitles:[...e.parentTitles||[],e.title]})}if("function"==typeof e.children){let t=e.children;return{...e,children:async()=>{let e=await t(),l=[...Array.isArray(e)?e:[],...n];return h.default.uniqBy(l,"name")}}}let u=[...Array.isArray(e.children)?e.children:[],...n];return{...e,children:u.length?u:e.children}},r=[];for(let e of n)r.push(await i(e));return r},[l]);return(0,i.jsxs)(a.Space,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:p,metaTree:V,onChange:k,converters:F,showValueComponent:!1,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},onlyLeafSelectable:!0,placeholder:c("Select field"),ignoreFieldNames:d}),(0,i.jsx)(a.Select,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:c("Comparison"),value:m||void 0,onChange:C,children:S.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),!(null==A?void 0:A.noValue)&&(o?(0,i.jsx)(r.VariableInput,{value:Y,onChange:e=>D(e),metaTree:q,converters:$,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:c("Enter value")}):O())]})});var w=l(1793);let{DateFilterDynamicComponent:S}=(0,m.RZ)(()=>Promise.resolve().then(l.bind(l,6832)),"DateFilterDynamicComponent");function k(e,t,l){var o,n,r;let s=null==e?void 0:e["x-component"],d=(null==t||null==(o=t.uiSchema)?void 0:o["x-component-props"])||{},u=(null==e?void 0:e["x-component-props"])||{},c=(0,__rspack_external_lodash_merge_8f812c65.default)({},d,u),p=Array.isArray(null==t||null==(n=t.uiSchema)?void 0:n.enum)?null==t||null==(r=t.uiSchema)?void 0:r.enum:void 0,m=(0,g.di)(p,l),h={style:{width:200,...(null==c?void 0:c.style)||{}},placeholder:(null==c?void 0:c.placeholder)||l("Enter value"),...c};return e=>{let{value:t,onChange:o,...n}=e||{};if("InputNumber"===s)return(0,i.jsx)(a.InputNumber,{...h,...n,value:t,onChange:o});if("NumberPicker"===s)return(0,i.jsx)(f.NumberPicker,{...h,...n,value:t,onChange:o});if("Switch"===s)return(0,i.jsx)(a.Switch,{...h,...n,checked:!!t,onChange:o});if("Select"===s){let e=h;return Array.isArray(null==e?void 0:e.options)&&e.options.length>0?e={...e,options:(0,g.ZY)(e.options,l)}:m&&(e={...e,options:m}),(0,i.jsx)(a.Select,{...e,...n,value:t,onChange:o})}return"DateFilterDynamicComponent"===s?(0,i.jsx)(S,{...h,...n,value:t,onChange:o}):(0,i.jsx)(a.Input,{...h,...n,value:t,onChange:e=>{var t;return null==o?void 0:o(null==e||null==(t=e.target)?void 0:t.value)}})}}let F=[{value:"$includes",label:"contains",selected:!0},{value:"$notIncludes",label:"does not contain"},{value:"$eq",label:"is"},{value:"$ne",label:"is not"},{value:"$empty",label:"is empty",noValue:!0},{value:"$notEmpty",label:"is not empty",noValue:!0}],C=new Set(["$in","$notIn"]);function A(e,t){let l=Array.isArray(e)?e:[],o=Array.isArray(t)?t:[];if(!o.length)return l;let n=o.find(e=>(null==e?void 0:e.name)==="item");if(!n)return[...o,...l];let i=(0,w.mD)(l,[n]);return[...o.filter(e=>(null==e?void 0:e.name)!=="item"),...i]}function P(e,t){var l,o;return{name:t.name,title:t.title||t.name,type:(null==(l=t.schema)?void 0:l.type)||"string",interface:(null==(o=t.schema)?void 0:o["x-component"])==="Select"?"select":"input",uiSchema:{...t.schema||{},"x-filter-operators":t.operators},paths:[...e.paths||[],t.name],parentTitles:[...e.parentTitles||[],e.title]}}async function T(e,t){var l,o;let n=e.interface&&t?t(e.interface):void 0,i=(Array.isArray(null==n||null==(l=n.filterable)?void 0:l.children)?null==n||null==(o=n.filterable)?void 0:o.children:[]).map(t=>P(e,t)),r=async e=>{let l=[...await Promise.all(e.map(e=>T(e,t))),...i];return(0,__rspack_external_lodash_uniqBy_85106929.default)(l,e=>e.name)};if("function"==typeof e.children){let t=e.children;return{...e,children:async()=>{let e=await t(),l=Array.isArray(e)?e:[];return await r(l)}}}return Array.isArray(e.children)?{...e,children:await r(e.children)}:i.length?{...e,children:i}:e}async function j(e,t){let l=Array.isArray(e)?e:[];return await Promise.all(l.map(e=>T(e,t)))}let I=(0,r.observer)(e=>{var t;let{value:l,model:o,extraMetaTree:n}=e,d=(0,r.useFlowViewContext)(),u=o.translate,{path:c,operator:p,value:m}=l||{},[h,f]=(0,s.useState)(null),y=(0,s.useRef)(!1),_=(0,s.useMemo)(()=>{if(h){var e,t;let l=o.context.app.dataSourceManager,n=h.interface?l.collectionFieldInterfaceManager.getFieldInterface(h.interface):void 0,i=null==h||null==(e=h.uiSchema)?void 0:e["x-filter-operators"];return((Array.isArray(i)&&i.length?i:null==n||null==(t=n.filterable)?void 0:t.operators)||F).filter(e=>!e.visible||e.visible(h)).map(e=>({value:e.value,label:e.label,noValue:!!e.noValue,schema:e.schema,selected:!!e.selected}))}return[]},[h,o]),b=(0,s.useMemo)(()=>_.map(e=>({value:e.value,label:"string"==typeof e.label?u(e.label):e.label})),[_,u]);(0,s.useEffect)(()=>{if(0!==_.length){if(!p){if(y.current){let e=_.find(e=>e.selected)||_[0];l.operator=(null==e?void 0:e.value)||"",(null==e?void 0:e.noValue)?(l.value=!0,l.noValue=!0):l.noValue=!1,y.current=!1}return}if(!_.some(e=>e.value===p)){let e=_.find(e=>e.selected)||_[0];l.operator=(null==e?void 0:e.value)||"",(null==e?void 0:e.noValue)?(l.value=!0,l.noValue=!0):l.noValue=!1}}},[_,p,l]);let x=(0,s.useMemo)(()=>_.find(e=>e.value===p),[_,p]),M=(0,s.useMemo)(()=>{let e=(null==h?void 0:h.uiSchema)||{},t=(null==x?void 0:x.schema)||{};return(0,__rspack_external_lodash_merge_8f812c65.default)({},e,t)},[h,x]),w=(0,s.useRef)(u);(0,s.useEffect)(()=>{w.current=u},[u]);let S=(0,s.useCallback)(e=>{var t;return(null==(t=w.current)?void 0:t.call(w,e))??e},[]),P=(0,s.useMemo)(()=>k(M,h,S),[M,h,S]),T=(0,s.useMemo)(()=>(0,g.di)(null==M?void 0:M.enum,S)||[],[M,S]),I=(0,s.useMemo)(()=>{let e=(0,v._)(o.context.app,p,_),t=C.has(p);if(!e||!t)return P;let{Comp:l,props:n}=e;return e=>{let{value:t,onChange:o,...r}=e||{},a={...n};(null==a?void 0:a.options)&&(null==a?void 0:a.options.length)!==0||!(T.length>0)||(a.options=T);let s=Array.isArray(t)?t:"string"==typeof t?t.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[];return(0,i.jsx)(l,{...a,...r,value:s,onChange:o,style:{width:200,...(null==a?void 0:a.style)||{},...(null==r?void 0:r.style)||{}}})}},[T,o.context.app,_,p,P]),L=(0,s.useMemo)(()=>function(){return(0,i.jsx)(a.Input,{placeholder:`<${u("Null")}>`,readOnly:!0})},[u]),Y=(0,s.useMemo)(()=>async()=>{let e=A((null==o?void 0:o.context.getPropertyMetaTree())||d.getPropertyMetaTree(),n);return[{title:u("Constant"),name:"constant",type:"string",paths:["constant"]},{title:u("Null"),name:"null",type:"object",paths:["null"]},...e]},[d,o,u,n]),D=(0,s.useCallback)(async()=>{var e,t;let l=(null==o||null==(t=o.context)||null==(e=t.getPropertyMetaTree)?void 0:e.call(t))||d.getPropertyMetaTree(),i=A(Array.isArray(l)?l:[],n),r=e=>{var t,l,n,i;return null==(i=o.context.app)||null==(n=i.dataSourceManager)||null==(l=n.collectionFieldInterfaceManager)||null==(t=l.getFieldInterface)?void 0:t.call(l,e)};return await j(i,r)},[d,o,n]),E=(0,s.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?I:"null"===l?L:null},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:void 0},resolvePathFromValue:e=>{if(null===e)return["null"];let t=(0,r.parseValueToPath)(e);return t||["constant"]}}),[L,I]),R=(0,s.useCallback)((e,t)=>{let o=l.path||"",n=e||"",i=n!==o;l.path=n,i&&o&&(l.operator="",l.value="",y.current=!0),o||!n||l.operator||(y.current=!0),t&&f(t)},[l]),N=(0,s.useCallback)(e=>{let t=l.operator;l.operator=e;let o=_.find(t=>t.value===e);(null==o?void 0:o.noValue)?(l.value=!0,l.noValue=!0):(C.has(t)&&!C.has(e)&&Array.isArray(l.value)&&(l.value=l.value.join("\n")),l.noValue=!1)},[l,_]);return(0,i.jsxs)(a.Space,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:c,onChange:R,metaTree:D,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:u("Select variable"),onlyLeafSelectable:!0}),(0,i.jsx)(a.Select,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:u("Comparison"),value:p||void 0,onChange:N,children:b.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),!(null==(t=_.find(e=>e.value===p))?void 0:t.noValue)&&(0,i.jsx)(r.VariableInput,{value:m,onChange:e=>l.value=e,metaTree:Y,converters:E,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:u("Enter value"),clearValue:""})]})})},1077(e,t,l){l.d(t,{S5:()=>m.S,b2:()=>m.b,tn:()=>o.t,R_:()=>p});var o=l(8804),n=l(1178);l(8533),l(8198),l(504);var i=l(1649);l(7326);var r=l(2793);let a=e=>{if(e){let t=document.createRange();return t.selectNodeContents(e),t.getBoundingClientRect().width}},s={overflow:"hidden",overflowWrap:"break-word",textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"break-all"},d={overflowWrap:"break-word",whiteSpace:"normal",wordBreak:"break-word"},u=e=>!!e&&a(e)>e.offsetWidth,c={maxWidth:600,overflow:"auto",maxHeight:400},p=(0,i.forwardRef)((e,t)=>{let[l,o]=(0,i.useState)(!1),[a,p]=(0,i.useState)(!1),m=(0,i.useRef)();(0,i.useImperativeHandle)(t,()=>({setPopoverVisible:p}),[]);let h=(0,i.useCallback)(e=>{let t=e.target;u(m.current)&&o(t.scrollWidth>=t.clientWidth)},[]),f=(0,i.useMemo)(()=>{let t=e.ellipsis?{onMouseEnter:h}:{};return(0,n.jsx)("div",{ref:m,role:e.role,style:e.ellipsis?s:d,...t,children:e.children})},[h,e.children,e.ellipsis,e.role]);return e.ellipsis&&l?(0,n.jsx)(r.Popover,{open:l&&a,onOpenChange:e=>{p(l&&e)},content:(0,n.jsx)("div",{style:c,children:e.popoverContent||e.children}),children:f}):f});p.displayName="EllipsisWithTooltip";var m=l(5026);l(9253),l(4244)},296(e,t,l){l.d(t,{g:()=>n,k:()=>i});var o=l(504);let n=(0,o.defineFlow)({key:"popupSettings",title:(0,o.tExpr)("Popup settings"),on:"click",sort:300,steps:{openView:{use:"openView",hideInSettings:async e=>{var t,l,o,n;let i=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return!!e.collectionField&&(void 0===i?!(null==(n=e.collectionField)?void 0:n.isAssociationField())||e.disableFieldClickToOpen:!1===i)}}},defaultParams:e=>{var t,l,o,n,i,r,a,s;let d,u,c,p=e.collectionField,m=e.blockModel,h=null==(l=e.model)||null==(t=l.parent)?void 0:t.associationPathName,f=e.collection||(null==m?void 0:m.collection),g=e=>{var t;return!!(null==e||null==(t=e.isAssociationField)?void 0:t.call(e))},v=!g(p)&&h?null==f||null==(o=f.getFieldByPath)?void 0:o.call(f,h):void 0,y=g(p)?p:v;if(g(y)){let e=y.targetCollection;null==m||m.collection,d=null==e?void 0:e.name,u=null==e?void 0:e.dataSourceKey,c=null==y?void 0:y.resourceName}else p?(d=null==(n=e.collection)?void 0:n.name,u=null==(i=e.collection)?void 0:i.dataSourceKey,c=null==p?void 0:p.target):(d=null==(r=e.collection)?void 0:r.name,u=null==(a=e.collection)?void 0:a.dataSourceKey,c=null==(s=e.association)?void 0:s.resourceName);return{openView:{collectionName:d,associationName:c,dataSourceKey:u}}}}),i=e=>e.getStepParams("popupSettings","openView")},4815(e,t,l){l.d(t,{er5:()=>rj,tPG:()=>ei.t,wUQ:()=>oL,Ui7:()=>uo.Ui,JvK:()=>em,m5p:()=>ar,l5h:()=>oH,jqd:()=>dF,WHj:()=>ii,T9:()=>lq,ZMt:()=>la,Xw5:()=>td,xEQ:()=>a_,r39:()=>rC,YXI:()=>eX,riZ:()=>ut.ri,s2k:()=>rc,zA_:()=>eR.zA,gbJ:()=>dl,DvX:()=>r$,wwh:()=>rL,p$W:()=>uo.p$,xtQ:()=>ut.xt,qi_:()=>f.qi,d13:()=>eU,sJK:()=>iE,mzg:()=>iY,mHU:()=>id,Ppd:()=>ap,Tuv:()=>aD,Uk$:()=>i1,byO:()=>eR.by,Tnx:()=>ut.Tn,ZCq:()=>aK,HWn:()=>ut.HW,I8R:()=>f.I8,v9U:()=>aN,T16:()=>s_,spd:()=>eK,xz3:()=>lW,ROt:()=>ty,jjG:()=>ut.jj,$T1:()=>aL,Px_:()=>ut.Px,COB:()=>dS,ysz:()=>aO.ys,kA1:()=>l$,_IX:()=>ut._I,AvD:()=>lK,cYG:()=>dj,mOW:()=>ts.mO,zqF:()=>rv,_TB:()=>C,uMh:()=>r6,mQM:()=>de,aDm:()=>Z,Hn2:()=>eB,KTk:()=>M,rGX:()=>aW,y2s:()=>ob,s2f:()=>ts.s2,upH:()=>r4,BmO:()=>uo.Bm,foc:()=>ld,Uhv:()=>er,ZVp:()=>aP,bPr:()=>t$,hNf:()=>aY,u36:()=>e$,J$w:()=>n8,Bum:()=>sK,ux6:()=>ut.ux,Ra0:()=>am,QuL:()=>X,V6y:()=>ut.V6,djK:()=>uo.dj,qh$:()=>O,K4N:()=>lc,xIu:()=>o9,XK0:()=>ep,xc1:()=>ut.xc,C_u:()=>uo.C_,Ru1:()=>f.Ru,s$$:()=>un,lrV:()=>eZ.lr,znN:()=>db,OaU:()=>uo.O,N9e:()=>ul.N,m$$:()=>rQ,cPq:()=>rm,gk0:()=>L,to1:()=>eP,dhL:()=>aa,mSG:()=>nR,Fy3:()=>rJ,VPO:()=>aI,d6j:()=>iA,y8o:()=>ut.y8,nCj:()=>uo.nC,eLO:()=>ut.eL,LAC:()=>eC,fCM:()=>ut.fC,R0X:()=>uo.R0,Dsh:()=>aQ,saj:()=>tP,VcJ:()=>ag,dv2:()=>l8,t_Y:()=>ut.t_,Ucr:()=>ut.Uc,FKm:()=>aO.FK,ksX:()=>uo.ks,Eq4:()=>sb,xkv:()=>ru,sEB:()=>eq,W4I:()=>iR,qPo:()=>aM,n8$:()=>ut.n8,vIF:()=>og,vrA:()=>ay,tUI:()=>N,CII:()=>to,v6e:()=>rI,MeX:()=>rt,ccc:()=>aO.cc,mw1:()=>D,hOt:()=>eZ.hO,sJA:()=>iG,biS:()=>oq,AMH:()=>rK,fMK:()=>dc,PU8:()=>tL,UZR:()=>en,fAh:()=>g,Yjq:()=>ut.FY,_e9:()=>nN,Myf:()=>dm,fnr:()=>rw,qqP:()=>r7,BYM:()=>eR.BY,RBt:()=>ea.R,dpX:()=>tc,sYw:()=>eM,oM7:()=>nZ,e7P:()=>sc,ODR:()=>tH,hCX:()=>tn,zDb:()=>nI,Imp:()=>im,ivU:()=>nt,mNj:()=>rS,P0:()=>r0,Qt8:()=>ut.Qt,uFv:()=>dt,Pqd:()=>st,VGp:()=>sm,Gap:()=>ut.G,kkB:()=>su,wqT:()=>e7,R8A:()=>eV,vbm:()=>Q,IAc:()=>sr,KYF:()=>ox,FaR:()=>i3,v8l:()=>e3,lv4:()=>uo.lv,qlo:()=>iF,I6c:()=>a0,_UX:()=>W,t_n:()=>oy,Xig:()=>eZ.Xi,isP:()=>aZ,fi1:()=>ut.fi,a6D:()=>eF,uTv:()=>uo.uT,MhO:()=>e8,l2T:()=>nB,n6C:()=>eQ,OtO:()=>ut.Ot,FWr:()=>ut.FW,wW_:()=>ex,X2M:()=>uo.X2,h2d:()=>aB.h2,cm5:()=>aT,eCD:()=>lH,GJ1:()=>na,B94:()=>ut.B9,gaO:()=>n0,orA:()=>ue.o,OsV:()=>rq,I6Z:()=>lz,zsf:()=>I,HJv:()=>i5,WzN:()=>uo.Wz,qNx:()=>ut.qN,mYX:()=>ut.mY,G9F:()=>t9,YjI:()=>ut.Yj,xFY:()=>ut.xF,PW6:()=>eo.P,rvE:()=>ej,cNN:()=>l4,mLo:()=>rF,YJB:()=>oX,QBt:()=>ut.QB,LFq:()=>s7,Ck8:()=>iC,hPI:()=>eR.hP,ur8:()=>oG,F4f:()=>ts.F4,tQF:()=>d_,aWb:()=>dy,iT0:()=>i6,zUb:()=>o_,rpg:()=>rx,sW6:()=>ig,Z0H:()=>ro,K$V:()=>ne,v$f:()=>ed,_$j:()=>eb,ULH:()=>t8,M6q:()=>eZ.M6,pKk:()=>lf,www:()=>ov,MMn:()=>ut.MM,kPK:()=>tv,Xmd:()=>ip,B82:()=>ut.B8,zCA:()=>w,np$:()=>aO.np,hsC:()=>sn,IBN:()=>sH,Zu2:()=>sx,m2W:()=>eI,k9E:()=>aB.k9,KSc:()=>b,Yh4:()=>sy,Mxl:()=>ut.Mx,B6V:()=>nr,KAX:()=>dn,J9o:()=>a8,mUg:()=>rg,mU7:()=>at,YmV:()=>y.default,pXX:()=>ut.pX,EcU:()=>o$,mRH:()=>oC.m,j0c:()=>eA.j,ThI:()=>ut.Th,o8y:()=>eR.o8,e6V:()=>ue.e,Anr:()=>i_,tSM:()=>ut.tS,qir:()=>eg,kN:()=>oO,s5W:()=>iP,NYj:()=>eZ.NY,LE6:()=>sl,ngq:()=>aO.ng,omq:()=>eY,Nxx:()=>r5,gvx:()=>ek.g,upW:()=>ix,D1b:()=>oa,Cuw:()=>ut.Cu,S3Z:()=>sq,B_2:()=>ut.B_,D8m:()=>on,e8C:()=>az,T8$:()=>lV,nap:()=>u.n,CCB:()=>rz,zFh:()=>re,lJp:()=>p,Dhs:()=>dM,eDc:()=>uo.eD,Zpx:()=>sa,Fts:()=>nl,$FU:()=>aR,oJ5:()=>f.oJ,RLu:()=>eS,wBN:()=>oB,Ybt:()=>tu,A14:()=>ut.A1,o2o:()=>ut.o2,hHg:()=>eZ.hH,CDb:()=>ok,BpQ:()=>e_,gLn:()=>uo.gL,Bnh:()=>aO.Bn,oIl:()=>iW,uVo:()=>eJ,Ie6:()=>i2,mKE:()=>c,dWc:()=>sB,CM3:()=>uo.CM,SMJ:()=>eZ.SM,lcp:()=>ta,ivi:()=>tD,dIg:()=>eO,jmZ:()=>uo.jm,sD1:()=>tT,ymi:()=>eW,Kgy:()=>ut.Kg,ESx:()=>aB.ES,wLo:()=>oN,vy4:()=>n5,Et2:()=>f.Et,xdz:()=>j,Y5n:()=>tx.EditFormModel,BgT:()=>lt,S0L:()=>P,zTu:()=>dp,qtW:()=>rn,Ni4:()=>eT,Mf0:()=>tq,khg:()=>lF,S5n:()=>n1,k9Q:()=>ac,Q7G:()=>uo.Q7,mw3:()=>ss,D2p:()=>dx,mp5:()=>a6,LaP:()=>el,eDQ:()=>ut.eD,qJ3:()=>ae,s5y:()=>A,ql0:()=>tE,dWg:()=>rA,e7h:()=>lm,ZjK:()=>tb,w5F:()=>B,C9C:()=>uo.C9,aqk:()=>R,JUj:()=>ts.JU,udY:()=>l5,Vrl:()=>aE,t4X:()=>ri,JgE:()=>tF,kbf:()=>si,fLT:()=>eR.fL,HZo:()=>eZ.HZ,LbM:()=>aj,oLV:()=>es.o,T6P:()=>ew,KHY:()=>oE,WuM:()=>dT,zgg:()=>eo.z,Hwd:()=>ul.H,Evi:()=>ut.Ev,Qb_:()=>ut.Qb,AV5:()=>iU,cEK:()=>G,XCP:()=>aB.XC,pVr:()=>rp});var o={};l.r(o),l.d(o,{connectFields:()=>ox,customizeFilterRender:()=>oL,defaultOperator:()=>ok,operatorComponentProps:()=>oE});var n={};l.r(n),l.d(n,{ActionGroupModel:()=>j,ActionModel:()=>P,ActionSceneEnum:()=>A,ActionWithoutPermission:()=>C,AddChildActionModel:()=>ta,AddNewActionModel:()=>eP,AssignFormGridModel:()=>tc,AssignFormItemModel:()=>tP,AssignFormModel:()=>td,AssociationFieldGroupModel:()=>D,AssociationFieldModel:()=>t$,BasePageTabModel:()=>e_,BlockGridModel:()=>el,BlockModel:()=>eo.z,BlockSceneEnum:()=>eo.P,BulkDeleteActionModel:()=>eT,CascadeSelectFieldModel:()=>iE,CascadeSelectInnerFieldModel:()=>iY,CascadeSelectListFieldModel:()=>iR,CheckboxFieldModel:()=>re,CheckboxGroupFieldModel:()=>rt,ChildPageModel:()=>em,ChildPageTabModel:()=>ex,ClickableFieldModel:()=>ix,CollectionActionGroupModel:()=>I,CollectionActionModel:()=>en,CollectionBlockModel:()=>ei.t,CollectionSelectorFieldModel:()=>ro,ColorFieldModel:()=>ri,CommonItemModel:()=>er,CreateContent:()=>t9,CreateFormModel:()=>oN,CustomWidth:()=>ne,DataBlockModel:()=>ea.R,DateOnlyFieldModel:()=>rc,DateOnlyFilterFieldModel:()=>lc,DateOnlyPicker:()=>ru,DateTimeFilterFieldModel:()=>ld,DateTimeNoTzFieldModel:()=>rm,DateTimeNoTzFilterFieldModel:()=>lm,DateTimeNoTzPicker:()=>rp,DateTimeTzFieldModel:()=>rv,DateTimeTzFilterFieldModel:()=>lf,DateTimeTzPicker:()=>rg,DeleteActionModel:()=>ej,DetailsAssociationFieldGroupModel:()=>tT,DetailsBlockModel:()=>tL,DetailsCustomItemModel:()=>tD,DetailsGridModel:()=>tE,DetailsItemModel:()=>tb,DetailsJSFieldItemModel:()=>tH,DisplayCheckboxFieldModel:()=>aN,DisplayColorFieldModel:()=>ap,DisplayDateTimeFieldModel:()=>am,DisplayEnumFieldModel:()=>ag,DisplayHtmlFieldModel:()=>ay,DisplayIconFieldModel:()=>a_,DisplayJSONFieldModel:()=>aM,DisplayNumberFieldModel:()=>aj,DisplayPasswordFieldModel:()=>aL,DisplayPercentFieldModel:()=>aY,DisplaySubItemFieldModel:()=>aa,DisplaySubListFieldModel:()=>ac,DisplaySubTableFieldModel:()=>ar,DisplayTextFieldModel:()=>aD,DisplayTimeFieldModel:()=>aR,DisplayTitleFieldModel:()=>at,DisplayURLFieldModel:()=>aE,DividerItemModel:()=>r4,EditActionModel:()=>eI,EditFormContent:()=>iU,EditFormModel:()=>tx.EditFormModel,ExpandCollapseActionModel:()=>tn,FieldDeletePlaceholder:()=>o9,FieldModel:()=>es.o,FieldModelSelect:()=>lF,FieldOperatorSelect:()=>lV,FilterActionModel:()=>eY,FilterBlockModel:()=>ed,FilterFormActionGroupModel:()=>l8,FilterFormActionModel:()=>l4,FilterFormBlockModel:()=>on,FilterFormCollapseActionModel:()=>oa,FilterFormCustomFieldModel:()=>lW,FilterFormCustomItemModel:()=>lz,FilterFormCustomRecordSelectFieldModel:()=>l5,FilterFormFieldModel:()=>tq,FilterFormGridModel:()=>ov,FilterFormItemModel:()=>og,FilterFormJSActionModel:()=>oy,FilterFormRecordSelectFieldModel:()=>la,FilterFormResetActionModel:()=>o_,FilterFormSubmitActionModel:()=>ob,FilterManager:()=>O,FormActionGroupModel:()=>eV,FormActionModel:()=>eq,FormAssociationFieldGroupModel:()=>o$,FormAssociationItemModel:()=>oG,FormBlockContent:()=>ts.JU,FormBlockModel:()=>ts.F4,FormComponent:()=>ts.s2,FormCustomItemModel:()=>oB,FormGridModel:()=>tu,FormItemModel:()=>tF,FormJSFieldItemModel:()=>oO,FormModel:()=>ts.mO,FormSubmitActionModel:()=>e$,GRID_FLOW_KEY:()=>G,GRID_STEP:()=>W,GridModel:()=>X,IconFieldModel:()=>rx,InputFieldModel:()=>oC.m,InputNumberField:()=>rF,JSActionModel:()=>eB,JSBlockModel:()=>oX,JSCollectionActionModel:()=>eO,JSColumnModel:()=>nB,JSEditableFieldModel:()=>r5,JSFieldModel:()=>r0,JSFormActionModel:()=>oH,JSItemActionModel:()=>eW,JSItemModel:()=>ae,JSRecordActionModel:()=>eJ,JsonFieldModel:()=>rS,JsonInput:()=>rw,LinkActionModel:()=>to,MainPageModel:()=>eg,MarkdownItemModel:()=>r7,NBColorPicker:()=>rn,NumberFieldModel:()=>rC,ObjectNester:()=>ip,PageModel:()=>ep,PageTabModel:()=>eM,PasswordFieldModel:()=>rA,PercentFieldModel:()=>rI,PercentInput:()=>rj,PluginSettingsTopbarActionModel:()=>aB.ES,PopupActionModel:()=>eF,PopupCollectionActionModel:()=>eX,PopupSubTableActionGroupModel:()=>i5,PopupSubTableActionsColumnModel:()=>i3,PopupSubTableEditActionModel:()=>iW,PopupSubTableFieldModel:()=>i1,PopupSubTableFormActionGroupModel:()=>eU,PopupSubTableFormModel:()=>i6,PopupSubTableFormSubmitActionModel:()=>eK,PopupSubTableRemoveActionModel:()=>i2,QuickEditFormModel:()=>oq,RadioGroupFieldModel:()=>rL,RecordActionGroupModel:()=>L,RecordActionModel:()=>eC,RecordPickerContent:()=>n5,RecordPickerFieldModel:()=>n8,RecordSelectFieldModel:()=>lt,RefreshActionModel:()=>eQ,RichTextField:()=>rq,RichTextFieldModel:()=>r$,RootPageModel:()=>ew,RootPageTabModel:()=>eb,RouteModel:()=>eA.j,SelectFieldModel:()=>rz,SourceCascader:()=>lK,SubFormFieldModel:()=>im,SubFormListFieldModel:()=>ig,SubPageModel:()=>eS,SubTableColumnModel:()=>ii,SubTableFieldModel:()=>id,SubTableRecordAction:()=>iG,TableActionsColumnModel:()=>nr,TableAssociationFieldGroupModel:()=>na,TableBlockModel:()=>nI,TableColumnModel:()=>nt,TableCustomColumnModel:()=>nl,TableJSFieldItemModel:()=>nN,TableSelectModel:()=>nR,TextareaFieldModel:()=>rK,TimeFieldModel:()=>rJ,TopbarActionModel:()=>aB.k9,UIEditorTopbarActionModel:()=>aB.h2,USER_CENTER_ACTION_ID:()=>aO.Bn,UnitConversion:()=>aI,UpdateRecordActionModel:()=>e8,UserCenterActionItemModel:()=>aO.ng,UserCenterItemModel:()=>aO.np,UserCenterSelectItemModel:()=>aO.FK,UserCenterTextItemModel:()=>aO.ys,UserCenterTopbarActionModel:()=>aO.cc,VariableFieldFormModel:()=>rQ,ViewActionModel:()=>e3,buildDisplayPathFromValue:()=>iA,buildRecordPickerParentItemContext:()=>nZ,buildRecordPickerPopupContextInputArgs:()=>n1,collectAssociationHydrationCandidates:()=>t8,collectCascadeHydrationCandidate:()=>iF,connectFields:()=>ox,customizeFilterRender:()=>oL,defaultOperator:()=>ok,findOptionPathByTk:()=>iP,formatNumber:()=>aP,getAllDataModels:()=>B,getDefaultOperator:()=>R,getDetailsItemValue:()=>ty,getDisplayNumber:()=>aT,getTopbarPluginSettingsItems:()=>aB.XC,getValueWithIndex:()=>tv,injectRecordPickerPopupContext:()=>n0,isFilterValueEmpty:()=>N,joinUrlSearch:()=>e7,markCascadeHydrationDone:()=>iC,operatorComponentProps:()=>oE,recalculateGridSizes:()=>Z,resolveCustomFieldOperatorList:()=>lH,resolveDefaultCustomFieldOperator:()=>lq,toOperatorSelectOptions:()=>l$,transformNestedData:()=>i_,transformRowsToSingleColumn:()=>Q});var i={};l.r(i),l.d(i,{aclCheck:()=>sm,aclCheckRefresh:()=>sy,actionLinkageRules:()=>d_,afterSuccess:()=>c,blockHeight:()=>sK,blockLinkageRules:()=>dy,confirm:()=>p,customVariable:()=>a0,dataLoadingMode:()=>si,dataScope:()=>g,dateTimeFormat:()=>sl,detailsFieldLinkageRules:()=>dM,displayFieldComponent:()=>su,fieldComponent:()=>sc,fieldLinkageRules:()=>db,filterFormDefaultValues:()=>sH,fixed:()=>sx,formAssignRules:()=>sB,layout:()=>sa,linkageAssignField:()=>dc,linkageRulesRefresh:()=>sq,linkageRunjs:()=>dm,linkageSetActionProps:()=>de,linkageSetBlockProps:()=>s7,linkageSetDetailsFieldProps:()=>dn,linkageSetFieldProps:()=>dt,navigateToURL:()=>aZ,numberFormat:()=>dF,openView:()=>az,overflowMode:()=>dS,pattern:()=>s_,refreshTargetBlocks:()=>a8,renderMode:()=>sr,required:()=>ss,runjs:()=>aK,setTargetDataScope:()=>a6,showMessage:()=>aW,showNotification:()=>aQ,sortingRule:()=>sn,subFormFieldLinkageRules:()=>dx,subFormLinkageAssignField:()=>dp,subFormLinkageSetFieldProps:()=>dl,titleField:()=>st,validation:()=>sb});var r=l(504),a=l(6305),s=l(1357),d=l(3526),u=l(4244);let c=(0,r.defineAction)({name:"afterSuccess",title:(0,r.tExpr)("After successful submission"),uiSchema:{successMessage:{type:"string",title:(0,r.tExpr)("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea"},manualClose:{type:"boolean",title:(0,r.tExpr)("Message popup close method"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,r.tExpr)("Automatic close"),value:!1},{label:(0,r.tExpr)("Manually close"),value:!0}]},actionAfterSuccess:{type:"string",title:(0,r.tExpr)("Action after successful submission"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,r.tExpr)("Stay on the current popup or page"),value:"stay"},{label:(0,r.tExpr)("Return to the previous popup or page"),value:"previous"},{label:(0,r.tExpr)("Close popup and redirect to"),value:"redirect"}]},redirectTo:{type:"string",title:(0,r.tExpr)("Link"),"x-decorator":"FormItem","x-component":u.n,"x-reactions":{dependencies:["actionAfterSuccess"],fulfill:{state:{visible:"{{$deps[0]==='redirect'}}"}}}}},defaultParams:{successMessage:(0,r.tExpr)("Saved successfully"),manualClose:!1,actionAfterSuccess:"previous"},async handler(e,t){let{successMessage:l,manualClose:o=!1,actionAfterSuccess:n="previous",redirectTo:i}=t;"previous"===n&&e.view&&e.view.close();let r=t=>{if(e.engine){let t=e.engine;for(;t.nextEngine;)t=t.nextEngine;let l=[],o=t;for(;o;)l.push(o),o=o.previousEngine;for(let e of l)e.destroyView()}e.router.navigate(t)},a=e=>{if((0,d.isURL)(e)){window.location.href=e;return}r(e)};if(l){let t=e.t(l);if(o)return void await e.modal.success({title:t,onOk:async()=>{"redirect"===n&&i&&a(i)}});e.message.success(t)}"redirect"===n&&i&&a(i)}}),p=(0,r.defineAction)({name:"confirm",title:(0,r.tExpr)("Confirmation"),uiSchema:{enable:{type:"boolean",title:(0,r.tExpr)("Enable secondary confirmation"),"x-decorator":"FormItem","x-component":"Switch"},title:{type:"string",title:(0,r.tExpr)("Title"),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:2}},content:{type:"string",title:(0,r.tExpr)("Content"),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:3}}},defaultParams:{enable:!1,title:(0,r.tExpr)("Please Confirm"),content:(0,r.tExpr)("Are you sure you want to perform the action?")},async handler(e,t){t.enable&&(await e.modal.confirm({title:e.t(t.title,{ns:"lm-flow-engine"}),content:e.t(t.content,{ns:"lm-flow-engine"}),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||e.exit())}});var m=l(1178),h=l(1649),f=l(9215);let g=(0,r.defineAction)({name:"dataScope",title:(0,r.tExpr)("Data scope"),uiMode:{type:"dialog",props:{width:800}},uiSchema:{filter:{type:"object","x-decorator":"FormItem","x-component":function(e){let t=(0,r.useFlowSettingsContext)();return(0,m.jsx)(f.I8,{value:e.value,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:t.model,rightAsVariable:!0})})}}},defaultParams:e=>({filter:{logic:"$and",items:[]}}),async handler(e,t){var l;let o=null==(l=e.model)?void 0:l.resource;if(!o)return;let n=(0,r.pruneFilter)((0,d.transformFilter)(t.filter));(0,d.isEmptyFilter)(n)?o.removeFilterGroup(e.model.uid):o.addFilterGroup(e.model.uid,n)}});var v=l(1883),y=l(2600),_=l(2793);function b(e){return(0,m.jsx)(_.Card,{...e,children:(0,m.jsx)(_.Skeleton,{paragraph:{rows:3}})})}function x(e){let{uid:t,...l}=e,o=(0,r.useFlowModelById)(t);return(0,m.jsx)(r.FlowModelRenderer,{model:o,fallback:(0,m.jsx)(b,{style:{margin:(null==o?void 0:o.context.isMobileLayout)?8:null==o?void 0:o.context.themeToken.marginBlock}}),hideRemoveInSettings:!0,showFlowSettings:{showBackground:!1,showBorder:!1},...l})}let M=h.default.memo(e=>{let{pageModelClass:t="ChildPageModel",parentId:l,onModelLoaded:o,defaultTabTitle:n,...i}=e,a=(0,r.useFlowEngine)(),s=(0,r.useFlowViewContext)(),{loading:d,data:u}=(0,v.useRequest)(async()=>{let e={async:!0,parentId:l,subKey:"page",subType:"object",use:t};if("ChildPageModel"===t){var i;e.subModels={tabs:[{use:"ChildPageTabModel",stepParams:{pageTabSettings:{tab:{title:n||(null==(i=a.translate)?void 0:i.call(a,"Details"))}}}}]},e.stepParams={pageSettings:{general:{displayTitle:!1,enableTabs:!0}}}}let r=await a.loadOrCreateModel(e,{skipSave:!a.context.flowSettingsEnabled});return(null==r?void 0:r.uid)&&o&&(r.context.addDelegate(s),r.removeParentDelegate(),o(r.uid,r)),r},{refreshDeps:[l]});return!d&&(null==u?void 0:u.uid)?(0,m.jsx)(x,{uid:u.uid,...i}):(0,m.jsx)(b,{style:{margin:(null==s?void 0:s.isMobileLayout)?8:null==s?void 0:s.themeToken.marginBlock}})});M.displayName="FlowPage";let w=e=>{let{uid:t,parentId:l,subKey:o,...n}=e,i=(0,r.useFlowEngine)(),{loading:a,data:s}=(0,v.useRequest)(async()=>await i.loadModel({uid:t,parentId:l,subKey:o}),{refreshDeps:[t,l,o]});return!a&&(null==s?void 0:s.uid)?(0,m.jsx)(x,{uid:s.uid,...n}):(0,m.jsx)(b,{style:{margin:16}})};var S=l(7583),k=l(5640),F=l(7843);function C(e){let{t}=(0,F.useTranslation)(),l=(0,r.useFlowModel)(),o=l.context.blockModel,n=e.collection||o.collection,i=n.dataSource,a=(0,h.useMemo)(()=>{let e=`${t(i.displayName||i.key)} > `,l=n?`${t(n.title)||n.name||n.tableName} `:"";return`${e}${l}`},[]),{actionName:s}=(null==e?void 0:e.forbidden)||l.forbidden,d=(0,h.useMemo)(()=>t('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:a,actionName:t(S.default.capitalize(s))}).replaceAll(">",">"),[s,a,t]);return(0,m.jsx)(_.Tooltip,{title:e.message||d,children:e.children})}let A={collection:"collection",record:"record",all:["collection","record"],both:["collection","record"]};class P extends r.FlowModel{static _getScene(){return S.default.castArray(this.scene||[])}static _isScene(e){return this._getScene().includes(e)}getAclActionName(){return null}onInit(e){super.onInit(e),this.context.defineProperty("actionName",{get:()=>this.getAclActionName(),cache:!1})}getInputArgs(){let e={},t=[];if(this.context.resource){let l=this.context.resource.getSourceId();l&&(e.sourceId=l,t.push("sourceId"))}if(this.context.collection&&this.context.record){let l=this.context.collection.getFilterByTK(this.context.record);l&&(e.filterByTk=l,t.push("filterByTk"))}return t.length&&(e.defaultInputKeys=t),e}onClick(e){this.dispatchEvent("click",{event:e,...this.getInputArgs()},{debounce:!0})}getTitle(){return this.props.title}getIcon(){return this.props.icon}renderButton(){let e=this.props,t=this.getIcon()?(0,m.jsx)(k.In,{type:this.getIcon()}):void 0;return(0,m.jsx)(_.Button,{...e,onClick:this.onClick.bind(this),icon:t,children:e.children||this.getTitle()})}render(){return this.props.tooltip?(0,m.jsx)(_.Tooltip,{title:this.props.tooltip,children:this.renderButton()}):this.renderButton()}renderHiddenInConfig(){let e=this.props,t=this.getIcon()?(0,m.jsx)(k.In,{type:this.getIcon()}):void 0;return this.forbidden?(0,m.jsx)(C,{children:(0,m.jsx)(_.Button,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})}):(0,m.jsx)(_.Tooltip,{title:this.context.t("The button is hidden and only visible when the UI Editor is active"),children:(0,m.jsx)(_.Button,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})})}constructor(...e){super(...e),this.defaultProps={type:"default",title:(0,r.tExpr)("Action")},this.enableEditTooltip=!0,this.enableEditTitle=!0,this.enableEditIcon=!0,this.enableEditType=!0,this.enableEditDanger=!0,this.enableEditColor=!1}}var T=l(8481);class j extends r.FlowModel{static getAllParentClasses(){let e=[],t=this;for(;t&&t!==Object;)(null==(t=Object.getPrototypeOf(t))?void 0:t.currentModels)&&e.push(t);return e}static get currentModels(){return Object.prototype.hasOwnProperty.call(this,"_models")&&this._models||(this._models=new Map),this._models}static get models(){let e=new Map;for(let t of this.getAllParentClasses())for(let[l,o]of t.currentModels)e.set(l,o);for(let[t,l]of this.currentModels)e.set(t,l);return e}static registerActionModels(e){for(let[t,l]of Object.entries(e))Object.defineProperty(l,"name",{value:t}),this.currentModels.set(t,l)}static isActionModelVisible(e,t){var l;let o=t.collection||(null==(l=t.blockModel)?void 0:l.collection),n=(0,T.GX)(e);return(0,T.F3)(o,n)}static async defineChildren(e){let t=this.baseClass?await (0,r.buildSubModelItems)(this.baseClass)(e):[],l=[],o=t.filter(t=>{let l=e.engine.getModelClass(t.useModel);return!!this.isActionModelVisible(l,e)&&(!this.scene||l._isScene(this.scene))});for(let[t,n]of this.models){if(!this.isActionModelVisible(n,e)||o.find(e=>e.useModel===n.name))continue;let t=await (0,r.buildSubModelItem)(n,e);t&&l.push(t)}return S.default.sortBy([...o,...l],"sort")}}class I extends j{}I.baseClass=P,I.scene=A.collection;class L extends j{}L.baseClass=P,L.scene=A.record;var Y=l(2542);P.registerFlow({key:"buttonSettings",title:(0,r.tExpr)("Button settings"),sort:-999,steps:{general:{title:(0,r.tExpr)("Edit button"),uiSchema:e=>({title:e.model.enableEditTitle?{"x-decorator":"FormItem","x-component":"Input",title:(0,r.tExpr)("Button title")}:void 0,tooltip:e.model.enableEditTooltip?{"x-decorator":"FormItem","x-component":"Input",title:(0,r.tExpr)("Button tooltip")}:void 0,icon:e.model.enableEditIcon?{"x-decorator":"FormItem","x-component":"IconPicker",title:(0,r.tExpr)("Button icon")}:void 0,type:e.model.enableEditType?{"x-decorator":"FormItem","x-component":"Radio.Group",title:(0,r.tExpr)("Button type"),enum:[{value:"default",label:'{{t("Default")}}'},{value:"primary",label:'{{t("Primary")}}'},{value:"dashed",label:'{{t("Dashed")}}'},{value:"link",label:'{{t("Link")}}'},{value:"text",label:'{{t("Text")}}'}]}:void 0,danger:e.model.enableEditDanger?{"x-decorator":"FormItem","x-component":"Switch",title:(0,r.tExpr)("Danger action")}:void 0,color:e.model.enableEditColor?{"x-decorator":"FormItem","x-component":a.sk,title:(0,r.tExpr)("Color")}:void 0}),defaultParams:e=>e.model.defaultProps,handler(e,t){let{title:l,tooltip:o,...n}=t;e.model.setProps({title:e.t(l,{ns:"lm-flow-engine"}),tooltip:e.t(o,{ns:"lm-flow-engine"}),...n})}},linkageRules:{use:"actionLinkageRules"}}}),P.registerFlow({key:"buttonAclSettings",steps:{aclCheck:{use:"aclCheck"}}}),P.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh"},linkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"actionLinkageRules",flowKey:"buttonSettings",stepKey:"linkageRules"}}}}),P.registerEvents({click:{title:(0,r.tExpr)("Click"),name:"click",uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":Y.H}},handler:Y.b}});class D extends r.FlowModel{static defineChildren(e){let t=this.itemModelName,l=function(o){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return o.getToOneAssociationFields().map(o=>{let i=n?`${n}.${o.name}`:o.name;return o.targetCollection?{key:`${i}-assocationField`,label:o.title,children:()=>[{key:`${i}-children-collectionField`,label:e.t("Display fields"),type:"group",children:o.targetCollection.getFields().map(l=>{let o=`${i}.${l.name}`,n=r.DisplayItemModel.getDefaultBindingByField(e,l,{fallbackToTargetTitleField:!0});if(!n)return;let a=n.modelName;return{key:`c-${i}.${l.name}`,label:l.title,useModel:t,toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===o},createModelOptions:{stepParams:{fieldSettings:{init:{dataSourceKey:e.collection.dataSourceKey,collectionName:e.prefixFieldPath?e.blockModel.context.collection.name:e.collection.name,fieldPath:o,associationPathName:i}}},subModels:{field:{use:a}}}}}).filter(Boolean)},{key:`${i}-children-associationField`,label:"Display association fields",type:"group",children:(l(o.targetCollection,i)||[]).filter(Boolean)}]}:void console.error(`AssociationFieldGroupModel: target collection ${o.target} not found for field ${o.name}`)}).filter(Boolean)};return l(e.collection,e.prefixFieldPath)}}D.itemModelName="DetailsItemModel",D.define({label:'{{t("Display fields")}}'});var E=l(2113);function R(e){var t,l,o,n,i,r;return e.operator||(null==(t=e.getStepParams("filterFormItemSettings","defaultOperator"))?void 0:t.value)||(null==(l=e.subModels.field)?void 0:l.operator)||(null==(r=e.collectionField)||null==(i=r.filterable)||null==(n=i.operators)||null==(o=n[0])?void 0:o.value)||"$includes"}function N(e){return!!(null==e||"string"==typeof e&&""===e.trim()||Array.isArray(e)&&0===e.filter(e=>null!=e&&("string"!=typeof e||""!==e.trim())).length)||"object"==typeof e&&e.constructor===Object&&0===Object.keys(e).length}function B(e){return e.filterSubModels("items",e=>{var t;return!!(null==(t=e.resource)?void 0:t.supportsFilter)})}class O{async saveFilterConfigs(){await this.gridModel.saveStepParams()}getFilterConfigs(){return this.filterConfigs}getConnectFieldsConfig(e){let t=this.filterConfigs.filter(t=>t.filterId===e);if(0!==t.length)return{targets:t.map(e=>({targetId:e.targetId,filterPaths:e.filterPaths}))}}async saveConnectFieldsConfig(e,t){let l=t.targets.map(t=>({filterId:e,targetId:t.targetId,filterPaths:t.filterPaths})),o=this.filterConfigs.filter(t=>t.filterId!==e);this.filterConfigs=[],this.filterConfigs.push(...o,...l),await this.saveFilterConfigs()}async addFilterConfig(e){if(!e.filterId||!e.targetId)return void console.error("FilterConfig must have filterId, targetId, and operator");if(!Array.isArray(e.filterPaths)||0===e.filterPaths.length)return void console.error("FilterConfig must have non-empty filterPaths array");let t=this.filterConfigs.findIndex(t=>t.filterId===e.filterId&&t.targetId===e.targetId);t>=0?this.filterConfigs[t]={...e}:this.filterConfigs.push({...e}),await this.saveFilterConfigs()}async removeFilterConfig(e){let{filterId:t,targetId:l,persist:o=!0}=e;if(!t&&!l)return console.error("At least one of filterId or targetId must be provided"),0;let n=this.filterConfigs.length;this.filterConfigs=this.filterConfigs.filter(e=>t&&l?e.filterId!==t||e.targetId!==l:t?e.filterId!==t:!l||e.targetId!==l);let i=n-this.filterConfigs.length;return i>0&&o&&await this.saveFilterConfigs(),i}bindToTarget(e){if(!e||"string"!=typeof e)return void console.error("[NocoBase]: targetId must be a non-empty string");let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`[NocoBase]: Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.addFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with addFilterGroup method`);if("function"!=typeof t.resource.removeFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with removeFilterGroup method`);let l=this.filterConfigs.filter(t=>t.targetId===e);if(0===l.length)return;let o=t;l.forEach(e=>{let l=this.gridModel.flowEngine.getModel(e.filterId);if(!l)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" not found`);if(!l.getFilterValue)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" does not have getFilterValue method`);let n=l.getFilterValue();if(N(n)){try{t.resource.removeFilterGroup(e.filterId),o.setFilterActive(e.filterId,!1)}catch(e){console.error(`[NocoBase]: Failed to remove filter configuration from target model: ${e.message}`)}return}o.setFilterActive(e.filterId,!0);let i=e.filterPaths.map(t=>({path:t,operator:e.operator||R(l),value:n}));try{if(1===i.length)t.resource.addFilterGroup(e.filterId,new r.FilterItem({path:i[0].path,operator:i[0].operator,value:i[0].value}));else if(i.length>1){let l={logic:"$or",items:i};t.resource.addFilterGroup(e.filterId,new r.FilterGroup(l))}}catch(e){console.error(`Failed to bind filter configuration to target model: ${e.message}`);return}})}unbindFromTarget(e){if(!e||"string"!=typeof e)return void console.error("targetId must be a non-empty string");let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.removeFilterGroup)return void console.error(`Target model with uid "${e}" does not have a valid resource with removeFilterGroup method`);let l=this.filterConfigs.filter(t=>t.targetId===e);if(0===l.length)return;let o=t;l.forEach(e=>{try{t.resource.removeFilterGroup(e.filterId),"function"==typeof(null==o?void 0:o.removeFilterSource)&&o.removeFilterSource(e.filterId)}catch(e){console.error(`Failed to unbind filter configuration from target model: ${e.message}`);return}})}async refreshTargetsByFilter(e){if(!e)return void console.error("filterId must be provided");let t=Array.isArray(e)?e:[e];if(0===t.length||t.some(e=>!e||"string"!=typeof e))return void console.error("filterId must be non-empty string(s)");let l=this.filterConfigs.filter(e=>t.includes(e.filterId));if(0===l.length)return;let o=[...new Set(l.map(e=>e.targetId))].map(async e=>{try{this.bindToTarget(e);let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.refresh)return void console.error(`Target model with uid "${e}" does not have a valid resource with refresh method`);let l=t,o=t.resource,n=l.getDataLoadingMode();if("manual"===n&&!l.hasActiveFilters()){o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1;return}"function"==typeof o.setPage&&o.setPage(1),await o.refresh()}catch(t){console.error(`Failed to refresh target model "${e}": ${t.message}`);return}});await Promise.all(o)}constructor(e,t){this.gridModel=e,this.filterConfigs=t||[]}}var H=l(7404);function q(e){let{rows:t,sizes:l={},renderItem:o,rowGap:n=16,colGap:i=16,dragOverlayRect:r}=e;return 0===Object.keys(t||{}).length?(0,m.jsx)("div",{style:{position:"relative"},"data-grid-empty-container":!0,children:r&&(0,m.jsx)(V,{rect:r})}):(0,m.jsxs)("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:n},children:[r&&(0,m.jsx)(V,{rect:r}),Object.entries(t).map(e=>{let[t,r]=e,a=r.length,s=l[t]||[],d=s.some(e=>null!=e&&void 0!==e),u=r.map((e,t)=>{if(!d)return 24/a;{let e=s.reduce((e,t)=>e+(t||0),0),l=a-s.filter(Boolean).length,o=l>0?(24-e)/l:0;return s[t]??o}});return(0,m.jsx)(_.Row,{gutter:i,"data-grid-row-id":t,children:r.map((e,l)=>(0,m.jsx)($,{rowKey:t,columnIndex:l,span:u[l],rowGap:n,cell:e,renderItem:o},`${t}:${e.join("|")||"empty"}`))},t)})]})}let $=h.default.memo(function(e){let{rowKey:t,columnIndex:l,span:o,rowGap:n,cell:i,renderItem:a}=e;return(0,m.jsx)(_.Col,{span:o,"data-grid-column-row-id":t,"data-grid-column-index":l,children:(0,m.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:n},children:i.map((e,o)=>e===r.EMPTY_COLUMN_UID?null:(0,m.jsx)("div",{"data-grid-item-row-id":t,"data-grid-column-index":l,"data-grid-item-index":o,"data-grid-item-uid":e,children:a(e)},e))})})});function V(e){let{rect:t}=e,l={position:"absolute",top:t.top,left:t.left,width:t.width,height:t.height,borderRadius:6,pointerEvents:"none",transition:"all 60ms ease-out",zIndex:100},o={column:{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.08)"},"column-edge":{border:"2px solid var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.12)"},"row-gap":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.05)"},"empty-row":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.04)"},"empty-column":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.04)"}};return(0,m.jsx)("div",{style:{...l,...o[t.type]}})}$.displayName="GridColumn";var z=l(6920);let K=e=>{let{value:t,onChange:l,rows:o=10,...n}=e,[i,r]=(0,h.useState)(()=>t?JSON.stringify(t,null,2):""),[a,s]=(0,h.useState)(null);(0,h.useEffect)(()=>{r(t?JSON.stringify(t,null,2):"")},[t]);let d=e=>{let t=e.target.value;r(t);try{let e=t.trim()?JSON.parse(t):void 0;s(null),null==l||l(e)}catch(e){s(e.message)}};return(0,m.jsxs)("div",{children:[(0,m.jsx)(_.Input.TextArea,{value:i,autoSize:{minRows:o,maxRows:o+10},onChange:d,...n}),a&&(0,m.jsx)(_.Alert,{type:"error",message:a,showIcon:!0,style:{marginTop:8}})]})},U=(0,z.connect)(K),G="gridSettings",W="grid",J=e=>{if(!e)return null;if("number"==typeof e.clientX&&"number"==typeof e.clientY)return{x:e.clientX,y:e.clientY};if(e.touches&&e.touches.length>0){let t=e.touches[0];return{x:t.clientX,y:t.clientY}}if(e.changedTouches&&e.changedTouches.length>0){let t=e.changedTouches[0];return{x:t.clientX,y:t.clientY}}return null};class X extends r.FlowModel{deriveRowOrder(e,t){let l=[],o=new Set;return(t||Object.keys(e)).forEach(t=>{e[t]&&!o.has(t)&&(l.push(t),o.add(t))}),Object.keys(e).forEach(e=>{o.has(e)||(l.push(e),o.add(e))}),l}normalizeRowsWithOrder(e,t){let l=this.deriveRowOrder(e,t),o={};return l.forEach(t=>{e[t]&&(o[t]=e[t])}),Object.keys(e).forEach(t=>{o[t]||(o[t]=e[t])}),{rows:o,rowOrder:l}}orderSizesByRowOrder(e,t){let l={};return t.forEach(t=>{e[t]&&(l[t]=e[t])}),Object.keys(e).forEach(t=>{l[t]||(l[t]=e[t])}),l}getItemFlowSettings(){return this._memoItemFlowSettings||(this._memoItemFlowSettings={showBackground:!1,showDragHandle:!0,...this.itemFlowSettings}),this._memoItemFlowSettings}onMount(){super.onMount(),this.emitter.on("onSubModelAdded",e=>{if(!e.isNew)return;this.resetRows(!0);let t=(0,r.findModelUidPosition)(e.uid,this.props.rows||{});if(t){let e=S.default.cloneDeep(this.props.sizes||{});e[t.rowId]=[24];let{rowOrder:l}=this.normalizeRowsWithOrder(this.props.rows||{},this.props.rowOrder),o=this.orderSizesByRowOrder(e,l);this.setStepParams(G,W,{rows:this.props.rows||{},sizes:o,rowOrder:l}),this.setProps("sizes",o),this.setProps("rowOrder",l)}}),this.emitter.on("onSubModelDestroyed",e=>{var t,l,o,n;let i=e.uid,a=(0,r.findModelUidPosition)(i,this.props.rows||{});if(this.resetRows(!0),a){let e=this.props.rows||{},t=S.default.cloneDeep(this.props.sizes||{});(null==(o=e[a.rowId])?void 0:o[a.columnIndex])===void 0&&(null==(n=t[a.rowId])||n.splice(a.columnIndex,1)),void 0===e[a.rowId]&&delete t[a.rowId];let{rowOrder:l}=this.normalizeRowsWithOrder(e,this.props.rowOrder),i=this.orderSizesByRowOrder(t,l);this.setStepParams(G,W,{rows:e,sizes:i,rowOrder:l}),this.setProps("sizes",i),this.setProps("rowOrder",l)}null==(t=this.context.filterManager)||t.removeFilterConfig({targetId:i}),null==(l=this.context.filterManager)||l.removeFilterConfig({filterId:i}),this.saveStepParams()}),this.emitter.on("onSubModelMoved",()=>{this.resetRows(!0)}),this.emitter.on("onResizeLeft",e=>{var t;let{resizeDistance:l,model:o}=e,n=(0,r.findModelUidPosition)(o.uid,this.props.rows||{}),i=(null==(t=this.gridContainerRef.current)?void 0:t.clientWidth)||0,{newRows:a,newSizes:s,moveDistance:d}=Z({position:n,direction:"left",resizeDistance:l,prevMoveDistance:this.prevMoveDistance,oldRows:this.props.rows||{},oldSizes:this.props.sizes||{},gutter:this.context.themeToken.marginBlock,gridContainerWidth:i});this.prevMoveDistance=d,this.setProps("rows",a),this.setProps("sizes",s)}),this.emitter.on("onResizeRight",e=>{var t;let{resizeDistance:l,model:o}=e,n=(0,r.findModelUidPosition)(o.uid,this.props.rows||{}),i=(null==(t=this.gridContainerRef.current)?void 0:t.clientWidth)||0,{newRows:a,newSizes:s,moveDistance:d}=Z({position:n,direction:"right",resizeDistance:l,prevMoveDistance:this.prevMoveDistance,oldRows:this.props.rows||{},oldSizes:this.props.sizes||{},gutter:this.context.themeToken.marginBlock,gridContainerWidth:i});this.prevMoveDistance=d,this.setProps("rows",a),this.setProps("sizes",s)}),this.emitter.on("onResizeBottom",e=>{let{resizeDistance:t,model:l}=e}),this.emitter.on("onResizeEnd",()=>{this.prevMoveDistance=0,this.saveGridLayout()})}saveGridLayout(e){let t=(null==e?void 0:e.rows)??this.props.rows??{},l=(null==e?void 0:e.rowOrder)??this.props.rowOrder,{rows:o,rowOrder:n}=this.normalizeRowsWithOrder(t,l),i=this.orderSizesByRowOrder((null==e?void 0:e.sizes)??this.props.sizes??{},n);this.setStepParams(G,W,{rows:o,sizes:i,rowOrder:n}),this.setProps("rowOrder",n),this.saveStepParams()}mergeRowsWithItems(e){let t=this.subModels.items||[];if(!t||0===t.length)return{};let l=new Set(t.map(e=>e.uid));l.add(r.EMPTY_COLUMN_UID);let o=new Set,n={};for(let[t,i]of Object.entries(e)){let e=i.map(e=>S.default.castArray(e).filter(e=>l.has(e))).filter(e=>e.length>0);e.length>0&&(n[t]=e,e.forEach(e=>e.forEach(e=>o.add(e))))}let i=new Set;for(let e of(Object.values(n).forEach(e=>e.forEach(e=>e.forEach(e=>i.add(e)))),t))i.has(e.uid)||(n[(0,H.uid)()]=[[e.uid]]);return n}resetRows(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getStepParams(G,W)||{},l=this.mergeRowsWithItems(t.rows||{}),{rows:o,rowOrder:n}=this.normalizeRowsWithOrder(l,t.rowOrder),i=this.orderSizesByRowOrder(t.sizes||{},n);this.setStepParams(G,W,{rows:o,sizes:i,rowOrder:n}),e&&(this.setProps("rows",o),this.setProps("sizes",i),this.setProps("rowOrder",n))}computePointerPosition(e){var t;if(!this.dragState)return null;let l=this.dragState.pointerOrigin;if(l)return{x:l.x+e.delta.x,y:l.y+e.delta.y};let o=J(e.activatorEvent);if(o)return this.dragState.pointerOrigin=o,{x:o.x+e.delta.x,y:o.y+e.delta.y};let n=null==(t=e.over)?void 0:t.rect;return n?{x:n.left+n.width/2,y:n.top+n.height/2}:null}getDragContainer(){if(!this.dragState)return this.gridContainerRef.current;let e=this.gridContainerRef.current;return e&&this.dragState.containerEl!==e&&(this.dragState.containerEl=e),this.dragState.containerEl||e}updateLayoutSnapshot(){if(!this.dragState)return;let e=(0,r.buildLayoutSnapshot)({container:this.getDragContainer()});this.dragState.slots=e.slots,this.dragState.containerRect=e.containerRect}scheduleSnapshotRefresh(){this.dragState&&(this.dragState.refreshTimer&&clearTimeout(this.dragState.refreshTimer),this.dragState.refreshTimer=setTimeout(()=>{this.dragState&&(this.dragState.refreshTimer=null,this.updateLayoutSnapshot())},16))}computeOverlayRect(e){var t,l,o;let n=this.dragOverlayConfig,i=e.rect;switch(e.type){case"column":{let l=null==n||null==(t=n.columnInsert)?void 0:t[e.position],o=(null==l?void 0:l.height)??i.height,r=(null==l?void 0:l.offsetTop)??0;return{top:i.top+r,left:i.left,width:i.width,height:o}}case"column-edge":{let t=null==n||null==(l=n.columnEdge)?void 0:l[e.direction],o=(null==t?void 0:t.width)??i.width,r=(null==t?void 0:t.offsetLeft)??0;return{top:i.top,left:i.left+r,width:o,height:i.height}}case"row-gap":{let t=null==n||null==(o=n.rowGap)?void 0:o[e.position],l=(null==t?void 0:t.height)??i.height,r=(null==t?void 0:t.offsetTop)??0;return{top:i.top+r,left:i.left,width:i.width,height:l}}default:return{top:i.top,left:i.left,width:i.width,height:i.height}}}applyPreview(e){if(!this.dragState)return;if(!e){null!==this.dragState.activeSlotKey&&(this.dragState.activeSlotKey=null,this.dragState.previewLayout=void 0,this.setProps("dragOverlayRect",null));return}let t=(0,r.getSlotKey)(e);if(this.dragState.activeSlotKey===t&&this.dragState.previewLayout)return;let l=(0,r.simulateLayoutForSlot)({slot:e,sourceUid:this.dragState.sourceUid,layout:this.dragState.snapshot,generateRowId:H.uid});this.dragState.previewLayout={rows:S.default.cloneDeep(l.rows),sizes:S.default.cloneDeep(l.sizes),rowOrder:S.default.cloneDeep(l.rowOrder)};let o=this.getDragContainer(),n=(null==o?void 0:o.scrollTop)??0,i=(null==o?void 0:o.scrollLeft)??0,a=this.computeOverlayRect(e),s={top:a.top-this.dragState.containerRect.top+n,left:a.left-this.dragState.containerRect.left+i,width:a.width,height:a.height,type:e.type};this.setProps("dragOverlayRect",s),this.dragState.activeSlotKey=t}handleDragStart(e){let t=e.active.id,{rows:l,rowOrder:o}=this.normalizeRowsWithOrder(this.props.rows||{},this.props.rowOrder),n=this.orderSizesByRowOrder(this.props.sizes||{},o);this.dragState={sourceUid:t,snapshot:{rows:S.default.cloneDeep(l),sizes:S.default.cloneDeep(n),rowOrder:o},slots:[],containerEl:this.gridContainerRef.current,containerRect:{top:0,left:0,width:0,height:0},pointerOrigin:J(e.activatorEvent)??void 0,activeSlotKey:null,previewLayout:void 0,refreshTimer:null},this.setProps("dragOverlayRect",null),this.updateLayoutSnapshot(),this.scheduleSnapshotRefresh()}handleDragMove(e){if(!this.dragState)return;this.dragState.slots.length||this.updateLayoutSnapshot();let t=this.computePointerPosition(e);if(!t)return void this.applyPreview(null);let l=(0,r.resolveDropIntent)(t,this.dragState.slots);this.applyPreview(l)}finishDrag(){this.dragState&&(this.dragState.refreshTimer&&clearTimeout(this.dragState.refreshTimer),this.dragState=void 0,this.setProps("dragOverlayRect",null))}handleDragEnd(e){if(!this.dragState)return;let t=this.dragState.previewLayout;t&&(this.setProps("rows",S.default.cloneDeep(t.rows)),this.setProps("sizes",S.default.cloneDeep(t.sizes)),t.rowOrder&&this.setProps("rowOrder",S.default.cloneDeep(t.rowOrder)),this.saveGridLayout(t)),this.finishDrag()}handleDragCancel(e){this.finishDrag()}renderAddSubModelButton(){throw Error("renderAddSubModelButton method must be implemented in subclasses of GridModel")}getVisibleLayout(){var e;let t=this.props.rows||{},l=this.props.sizes||{},o=this.context.isMobileLayout?Q(t):t,n=this.context.isMobileLayout?{}:l,{rows:i,rowOrder:a}=this.normalizeRowsWithOrder(o,this.props.rowOrder),s=this.orderSizesByRowOrder(n,a);if(this.context.flowSettingsEnabled)return{rows:i,sizes:s};let d=(null==(e=this.subModels)?void 0:e.items)||[];if(!d.length)return{rows:o,sizes:n};let u=new Map(d.map(e=>[e.uid,e])),c={},p={};return a.forEach(e=>{let t=i[e],l=s[e]||[],o=[],n=[];t.forEach((e,t)=>{(e=e.filter(e=>{var t;return e!==r.EMPTY_COLUMN_UID&&(null==(t=u.get(e))?void 0:t.hidden)!==!0})).some(e=>{if(e===r.EMPTY_COLUMN_UID)return!1;let t=u.get(e);return!t||!t.hidden})&&(o.push(e),n.push(l[t]))}),o.length>0&&(c[e]=o,n.length>0&&(p[e]=n))}),{rows:c,sizes:p}}render(){let{rows:e,sizes:t}=this.getVisibleLayout(),l=Object.keys(e||{}).length>0;return(0,m.jsxs)(m.Fragment,{children:[l&&(0,m.jsx)(_.Space,{ref:this.gridContainerRef,direction:"vertical",style:{width:"100%",marginBottom:this.props.rowGap},size:this.props.rowGap,children:(0,m.jsx)(r.DndProvider,{onDragStart:this.handleDragStart.bind(this),onDragMove:this.handleDragMove.bind(this),onDragEnd:this.handleDragEnd.bind(this),onDragCancel:this.handleDragCancel.bind(this),children:(0,m.jsx)(q,{rowGap:this.props.rowGap,colGap:this.props.colGap,rows:e,sizes:t,dragOverlayRect:this.props.dragOverlayRect,renderItem:e=>{var t,l,o,n,i;let a=this.flowEngine.getModel(e);if(!a)return this.itemFallback;let s=this.context.fieldKey,d=this.context.fieldIndex,u=this.context.getPropertyOptions("item"),c=null==(t=(l=this.context).getPropertyOptions)?void 0:t.call(l,"record"),p=null==(o=(n=this.context).getPropertyOptions)?void 0:o.call(n,"currentObject"),h=null==d?a:(()=>{let t=a.createFork({},`${s}:${e}`);t.context.defineProperty("fieldIndex",{get:()=>d}),t.context.defineProperty("fieldKey",{get:()=>s}),t.context.defineProperty("record",{get:()=>this.context.record,cache:!1,meta:null==c?void 0:c.meta,resolveOnServer:null==c?void 0:c.resolveOnServer,serverOnlyWhenContextParams:null==c?void 0:c.serverOnlyWhenContextParams}),t.context.defineProperty("currentObject",{get:()=>this.context.currentObject,cache:!1,resolveOnServer:null==p?void 0:p.resolveOnServer,serverOnlyWhenContextParams:null==p?void 0:p.serverOnlyWhenContextParams});let{value:l,...o}=u||{};return t.context.defineProperty("item",{...o,get:()=>this.context.item,cache:!1}),t})();return(0,m.jsx)(r.Droppable,{model:h,children:(0,m.jsx)(r.MemoFlowModelRenderer,{model:h,fallback:a.skeleton||this.itemFallback,showFlowSettings:!!this.context.flowSettingsEnabled&&this.getItemFlowSettings(),showErrorFallback:!0,settingsMenuLevel:(null==h?void 0:h.settingsMenuLevel)??this.itemSettingsMenuLevel,showTitle:!0,extraToolbarItems:this.itemExtraToolbarItems},`${h.uid}:${s}:${(null==h?void 0:h.use)||(null==h||null==(i=h.constructor)?void 0:i.name)||"m"}`)})}})})}),this.context.flowSettingsEnabled&&(0,m.jsx)("div",{style:{marginBottom:16},children:this.renderAddSubModelButton()})]})}constructor(...e){super(...e),this.subModelBaseClass="BlockModel",this.gridContainerRef=h.default.createRef(),this.prevMoveDistance=0,this.itemSettingsMenuLevel=1,this.itemFlowSettings={},this.itemFallback=(0,m.jsx)(b,{}),this.itemExtraToolbarItems=[{key:"drag-handler",component:r.DragHandler,sort:1}]}}function Q(e,t){let l=(null==t?void 0:t.emptyColumnUid)??r.EMPTY_COLUMN_UID,o={};return Object.keys(e).forEach(t=>{e[t].forEach(e=>{let t=e.filter(e=>e!==l);t.length>0&&(o[(0,H.uid)()]=[t])})}),o}function Z(e){var t,l;let{position:o,direction:n,resizeDistance:i,prevMoveDistance:r,oldSizes:a,oldRows:s,gridContainerWidth:d,gutter:u=16,columnCount:c=24}=e,p=S.default.cloneDeep(s),m=S.default.cloneDeep(a),h=Math.floor(i/(d-u*((m[o.rowId]||[]).length-1))*c);if(h===r)return{newRows:p,newSizes:m,moveDistance:h};(t=m)[l=o.rowId]??(t[l]=[c]);let f=m[o.rowId],g=h-r,v="left"===n&&o.columnIndex>0,y="right"===n&&o.columnIndex<f.length-1;if(!v&&!y&&g>0){let e=c-f.reduce((e,t)=>e+t,0);if(e<=0)return{newRows:p,newSizes:m,moveDistance:r};g>e&&(h=r+e,g=e)}if(m[o.rowId][o.columnIndex]+=g,"left"===n&&o.columnIndex>0&&(m[o.rowId][o.columnIndex-1]-=g,0===m[o.rowId][o.columnIndex-1]&&et({rows:p,sizes:m,position:o,direction:"left"})),"left"===n&&0===o.columnIndex){let e=m[o.rowId].slice(1).reduce((e,t)=>e+t,0);m[o.rowId][0]<c-e&&ee({rows:p,sizes:m,position:o,direction:"left"})}if("right"===n&&o.columnIndex<m[o.rowId].length-1&&(m[o.rowId][o.columnIndex+1]-=g,0===m[o.rowId][o.columnIndex+1]&&et({rows:p,sizes:m,position:o,direction:"right"})),"right"===n&&o.columnIndex===m[o.rowId].length-1){let e=m[o.rowId].slice(0,-1).reduce((e,t)=>e+t,0);m[o.rowId][o.columnIndex]<c-e&&ee({rows:p,sizes:m,position:o,direction:"right"})}return{newRows:p,newSizes:m,moveDistance:h}}function ee(e){let{rows:t,sizes:l,position:o,direction:n}=e,i=t[o.rowId]||[],a=l[o.rowId]||[];if("left"===n){let e=i[o.columnIndex-1];if(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID))return;i.splice(o.columnIndex,0,[r.EMPTY_COLUMN_UID]),a.splice(o.columnIndex,0,1)}if("right"===n){let e=i[o.columnIndex+1];if(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID))return;i.splice(o.columnIndex+1,0,[r.EMPTY_COLUMN_UID]),a.splice(o.columnIndex+1,0,1)}}function et(e){let{rows:t,sizes:l,position:o,direction:n}=e,i=t[o.rowId]||[],a=l[o.rowId]||[];if("left"===n){let e=i[o.columnIndex-1];if(!(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID)))return;i.splice(o.columnIndex-1,1),a.splice(o.columnIndex-1,1)}if("right"===n){let e=i[o.columnIndex+1];if(!(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID)))return;i.splice(o.columnIndex+1,1),a.splice(o.columnIndex+1,1)}}X.registerFlow({key:G,steps:{resetRows:{handler(e){e.model.resetRows()}},grid:{uiSchema:{rows:{title:(0,r.tExpr)("Rows"),"x-decorator":"FormItem","x-component":U,"x-component-props":{autoSize:{minRows:10,maxRows:20},description:(0,r.tExpr)("Configure the rows and columns of the grid.")}},sizes:{title:(0,r.tExpr)("Sizes"),"x-decorator":"FormItem","x-component":U,"x-component-props":{rows:5},description:(0,r.tExpr)("Configure the sizes of each row. The value is an array of numbers representing the width of each column in the row.")}},async handler(e,t){let l=e.model.mergeRowsWithItems(t.rows||{}),{rows:o,rowOrder:n}=e.model.normalizeRowsWithOrder(l,t.rowOrder),i=e.model.orderSizesByRowOrder(t.sizes||{},n);e.model.setProps("rows",o),e.model.setProps("sizes",i),e.model.setProps("rowOrder",n)}}}});class el extends X{onInit(e){super.onInit(e),this.context.defineProperty("blockGridModel",{value:this}),this.context.defineProperty("filterManager",{once:!0,get:()=>new O(this,e.filterManager)})}get subModelBaseClasses(){var e;let t=(null==(e=this.context.view)?void 0:e.inputArgs)??{};return t.collectionName&&!t.filterByTk,["DataBlockModel","FilterBlockModel","BlockModel"]}get filterManager(){return this.context.filterManager}serialize(){let e=super.serialize();return e.filterManager=this.filterManager.getFilterConfigs(),e}renderAddSubModelButton(){return(0,m.jsx)(r.AddSubModelButton,{model:this,subModelKey:"items",subModelBaseClasses:this.subModelBaseClasses,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.PlusOutlined,{}),"data-flow-add-block":!0,children:this.context.t("Add block")})})}render(){return(0,m.jsx)("div",{className:"nb-block-grid",style:this.context.disableBlockGridPadding?null:{padding:this.context.isMobileLayout?8:this.context.themeToken.marginBlock,paddingBottom:0},children:super.render()})}constructor(...e){super(...e),this.dragOverlayConfig={columnInsert:{before:{offsetTop:-24},after:{offsetTop:24}},columnEdge:{left:{offsetLeft:-5},right:{offsetLeft:6}}}}}el.registerFlow({key:"blockGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",e.isMobileLayout?12:e.themeToken.marginBlock),e.model.setProps("colGap",e.themeToken.marginBlock)}}}});var eo=l(3890);class en extends P{}en.define({children:async e=>(await (0,r.buildSubModelItems)(P)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(A.collection))});var ei=l(146);class er extends r.FlowModel{}var ea=l(2606),es=l(6859);class ed extends eo.z{}ed.define({hide:!0,label:"Filter blocks"});var eu=l(4829);async function ec(e){var t,l,o,n,i;(null==(l=e.inputArgs)||null==(t=l.dirty)?void 0:t.hasDirtyForms)&&(await e.modal.confirm({title:e.t("Unsaved changes"),content:e.t("Are you sure you don't want to save?"),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||(null==(i=e.inputArgs)||null==(n=i.controller)||null==(o=n.prevent)||o.call(n),e.exitAll()))}class ep extends r.FlowModel{getActiveTabKey(){var e,t,l,o;let n=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;return n?n.tabUid||(null==(o=this.getFirstTab())?void 0:o.uid):this.props.tabActiveKey||(null==(l=this.getFirstTab())?void 0:l.uid)}scheduleActiveLifecycleRefresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirtyRefreshScheduled||(this.dirtyRefreshScheduled=!0,Promise.resolve().then(()=>{if(this.dirtyRefreshScheduled=!1,this.unmounted||!1===(0,r.getPageActive)(this.context))return;let t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive",e)}).catch(()=>{}))}onMount(){var e,t,l,o,n,i,a,s,d;super.onMount(),this.unmounted=!1,this.setProps("tabActiveKey",null==(e=this.context.view.inputArgs)?void 0:e.tabUid),(null==(t=this.context)?void 0:t.pageInfo)&&(this.context.pageInfo.version="v2"),this.updateDocumentTitle(),this.viewActivatedListener||(this.viewActivatedListener=e=>{let t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive")},null==(i=this.flowEngine)||null==(n=i.emitter)||null==(o=n.on)||o.call(n,r.VIEW_ACTIVATED_EVENT,this.viewActivatedListener));let u=(0,r.getEmitterViewActivatedVersion)(null==(l=this.flowEngine)?void 0:l.emitter),c=u>0&&u!==this.lastSeenEmitterViewActivatedVersion;if(this.lastSeenEmitterViewActivatedVersion=u,c&&!1!==(0,r.getPageActive)(this.context)){let e=this.getActiveTabKey();e&&this.invokeTabModelLifecycleMethod(e,"onActive")}this.dataSourceDirtyListener||(this.dataSourceDirtyListener=e=>{this.scheduleActiveLifecycleRefresh()},null==(d=this.flowEngine)||null==(s=d.emitter)||null==(a=s.on)||a.call(s,r.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener))}onUnmount(){var e,t,l,o,n,i;this.unmounted=!0,this.viewActivatedListener&&(null==(l=this.flowEngine)||null==(t=l.emitter)||null==(e=t.off)||e.call(t,r.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),this.dataSourceDirtyListener&&(null==(i=this.flowEngine)||null==(n=i.emitter)||null==(o=n.off)||o.call(n,r.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener),this.dataSourceDirtyListener=void 0),super.onUnmount()}invokeTabModelLifecycleMethod(e,t){var l,o;let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];"onActive"===t&&(null==(l=this.context)?void 0:l.pageInfo)&&(this.context.pageInfo.version="v2");let i=this.flowEngine.getModel(e);if(i){if(i.context.tabActive){let e=!1!==(0,r.getPageActive)(i.context);i.context.tabActive.value=e&&"onActive"===t}null==(o=i.subModels.grid)||o.mapSubModels("items",e=>{var l;null==(l=e[t])||l.call(e,n)})}"onActive"===t&&this.updateDocumentTitle(e)}async updateDocumentTitle(e){var t,l,o,n,i,a,s,d,u,c,p,m,h,f,g,v;let y=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.unmounted||!1===(0,r.getPageActive)(this.context))return;let _=!!(null==(l=this.context)||null==(t=l.view)?void 0:t.navigation),b=null==(i=this.context)||null==(n=i.view)||null==(o=n.inputArgs)?void 0:o.viewUid,x=null==(d=this.flowEngine)||null==(s=d.context)||null==(a=s.route)?void 0:a.pathname;if(_&&b&&"string"==typeof x){let e=null==(u=(0,r.parsePathnameToViewParams)(x).at(-1))?void 0:u.viewUid;if(e&&e!==b)return}let M=++this.documentTitleUpdateVersion,w=async e=>{if(!e||"string"!=typeof e)return"";try{var t,l;let o=await (null==(t=(l=this.context).resolveJsonTemplate)?void 0:t.call(l,e));return null==o?"":String(o)}catch(t){return e}},S="";if(this.props.enableTabs){let t=e||this.getActiveTabKey(),l=t?this.flowEngine.getModel(t):this.getFirstTab();if(!l&&y<5)return void window.setTimeout(()=>{this.unmounted||M===this.documentTitleUpdateVersion&&this.updateDocumentTitle(t,y+1)},0);S=await w(null==l||null==(m=l.stepParams)||null==(p=m.pageTabSettings)||null==(c=p.tab)?void 0:c.documentTitle)||(null==l||null==(h=l.getTabTitle)?void 0:h.call(l))||""}else S=await w(null==(v=this.stepParams)||null==(g=v.pageSettings)||null==(f=g.general)?void 0:f.documentTitle)||this.props.title||"";M===this.documentTitleUpdateVersion&&"string"==typeof S&&""!==S&&(document.title=S)}mapTabs(){return this.mapSubModels("tabs",e=>!this.context.flowSettingsEnabled&&e.hidden?null:{key:e.uid,label:(0,m.jsx)(r.Droppable,{model:e,children:(0,m.jsx)(r.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!0,showBorder:!1,toolbarPosition:"above",style:{transform:"translateY(8px)"}},extraToolbarItems:[{key:"drag-handler",component:r.DragHandler,sort:1}]})}),children:e.renderChildren()}).filter(Boolean)}getFirstTab(){var e;return null==(e=this.subModels.tabs)?void 0:e[0]}renderFirstTab(){var e;let t=this.getFirstTab();return null==t||null==(e=t.renderChildren)?void 0:e.call(t)}async handleDragEnd(e){throw Error("Method not implemented.")}renderTabs(){var e,t,l,o;let n=(null==(e=this.context.themeToken)?void 0:e.paddingLG)??16,i=void 0!==this.tabBarExtraContent.left?this.tabBarExtraContent.left:(0,m.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:n,height:1}}),a=void 0!==this.tabBarExtraContent.right?this.tabBarExtraContent.right:(0,m.jsx)("span",{style:{display:"inline-flex",marginInlineEnd:n},children:(0,m.jsx)(r.AddSubModelButton,{model:this,subModelKey:"tabs",items:[{key:"blank",label:this.context.t("Blank tab"),createModelOptions:this.createPageTabModelOptions}],children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.PlusOutlined,{}),children:this.context.t("Add tab")})})});return(0,m.jsx)(r.DndProvider,{onDragEnd:this.handleDragEnd.bind(this),children:(0,m.jsx)(_.Tabs,{activeKey:(null==(l=this.context.view)||null==(t=l.navigation)?void 0:t.viewParams)?this.context.view.navigation.viewParams.tabUid||(null==(o=this.getFirstTab())?void 0:o.uid):this.props.tabActiveKey,tabBarStyle:this.props.tabBarStyle,items:this.mapTabs(),onChange:e=>{var t,l;null==(l=this.context.view.navigation)||null==(t=l.changeTo)||t.call(l,{tabUid:e}),this.invokeTabModelLifecycleMethod(e,"onActive"),this.invokeTabModelLifecycleMethod(this.props.tabActiveKey,"onInactive"),this.setProps("tabActiveKey",e)},tabBarExtraContent:{left:i,right:a}})})}render(){let e=this.context.themeToken,t={...this.props.headerStyle};return e&&(t.paddingBlock=e.paddingSM,t.paddingInline=e.paddingLG),this.props.enableTabs&&(t.paddingBottom=0),(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&(0,m.jsx)(eu.PageHeader,{title:this.props.title,style:t}),this.props.enableTabs?this.renderTabs():this.renderFirstTab()]})}constructor(...e){super(...e),this.tabBarExtraContent={},this.lastSeenEmitterViewActivatedVersion=0,this.dirtyRefreshScheduled=!1,this.unmounted=!1,this.documentTitleUpdateVersion=0,this.createPageTabModelOptions=()=>{let e=(0,H.uid)();return{uid:e,use:"RootPageTabModel",props:{route:{parentId:this.props.routeId,type:"tabs",schemaUid:e,tabSchemaName:(0,H.uid)(),params:[],hideInMenu:!1,enableTabs:!1}}}}}}ep.registerEvents({close:{title:(0,r.tExpr)("Close"),name:"close",hideInSettings(e){var t;return!!(null==(t=e.view)?void 0:t.preventClose)},uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":Y.H}},handler:Y.b}}),ep.registerFlow({key:"closeGuard",title:(0,r.tExpr)("Close guard"),on:"close",steps:{confirmUnsavedChanges:{title:(0,r.tExpr)("Unsaved changes confirmation"),handler:ec}}}),ep.registerFlow({key:"pageSettings",title:(0,r.tExpr)("Page settings"),steps:{general:{title:(0,r.tExpr)("Edit page"),uiSchema:{title:{type:"string",title:(0,r.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},documentTitle:{type:"string",title:(0,r.tExpr)("Document title"),description:(0,r.tExpr)("Used as the browser tab title when tabs are disabled. Supports variables. Leave empty to use Page title."),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:1,maxRows:6}},displayTitle:{type:"boolean",title:(0,r.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"},enableTabs:{type:"boolean",title:(0,r.tExpr)("Enable tabs"),"x-decorator":"FormItem","x-component":"Switch"}},defaultParams:e=>({displayTitle:!0,enableTabs:!1}),async handler(e,t){if(e.model.setProps("displayTitle",t.displayTitle),e.model.context.closable)e.model.setProps("title",e.t(t.title,{ns:"lm-desktop-routes"}));else{var l,o;let n=null==(o=e.model.context)||null==(l=o.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||n,{ns:"lm-desktop-routes"}))}e.model.setProps("enableTabs",t.enableTabs),"embed"===e.view.type?(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgContainer)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgContainer)",marginBottom:0})):(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgLayout)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgLayout)",marginBottom:0})),e.model.updateDocumentTitle()}}}});class em extends ep{renderBackButtonWhenTabsDisabled(){var e,t,l;if((null==(t=this.context)||null==(e=t.view)?void 0:e.type)!=="embed")return null;let o=null==(l=this.context)?void 0:l.themeToken,n={...this.props.tabBarStyle,paddingBlock:(null==o?void 0:o.paddingXS)??8};return(0,m.jsx)("div",{style:n,children:(0,m.jsx)(eh,{renderSpacerWhenNoBack:!1})})}async handleDragEnd(e){var t,l;if(!(null==(t=e.active)?void 0:t.id)||!(null==(l=e.over)?void 0:l.id))throw Error("Invalid drag event");this.flowEngine.moveModel(e.active.id,e.over.id)}render(){return(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&this.props.title&&(0,m.jsx)(eu.PageHeader,{title:this.props.title,style:this.props.headerStyle}),this.props.enableTabs?this.renderTabs():(0,m.jsxs)(m.Fragment,{children:[this.renderBackButtonWhenTabsDisabled(),this.renderFirstTab()]})]})}constructor(...e){super(...e),this.tabBarExtraContent={left:(0,m.jsx)(eh,{})},this.createPageTabModelOptions=()=>({use:"ChildPageTabModel"})}}let eh=e=>{let{renderSpacerWhenNoBack:t=!0}=e,l=(0,r.useFlowContext)(),o=l.themeToken,n=32,i=(null==o?void 0:o.paddingLG)??16,a=(0,h.useMemo)(()=>({width:"auto",height:"auto",lineHeight:1,padding:o.paddingXS,marginLeft:o.paddingLG,marginRight:n-o.paddingXS}),[o.paddingLG,o.paddingXS]);return"embed"!==l.view.type?t?(0,m.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:i,height:1}}):null:(0,m.jsx)(_.Button,{"aria-label":"back-button",type:"text",icon:(0,m.jsx)(E.ArrowLeftOutlined,{}),style:a,onClick:l.view.close})};class ef extends r.FlowModel{}ef.registerFlow({key:"pageSettings",title:(0,r.tExpr)("Page settings"),steps:{general:{title:(0,r.tExpr)("General"),uiSchema:{title:{type:"string",title:(0,r.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},displayTitle:{type:"boolean",title:(0,r.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"}},defaultParams:e=>({displayTitle:!0,enableTabs:!1}),async handler(e,t){if(e.model.setProps("displayTitle",t.displayTitle),e.model.context.closable)e.model.setProps("title",t.title?e.t(t.title):null);else{var l,o;let n=null==(o=e.model.context)||null==(l=o.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||n))}e.model.setProps("enableTabs",t.enableTabs),e.model.context.closable?(e.model.setProps("headerStyle",{backgroundColor:e.themeToken.colorBgContainer}),e.model.setProps("tabBarStyle",{backgroundColor:e.themeToken.colorBgLayout,paddingInline:16,marginBottom:0})):(e.model.setProps("headerStyle",{backgroundColor:e.themeToken.colorBgContainer}),e.model.setProps("tabBarStyle",{backgroundColor:e.themeToken.colorBgContainer,paddingInline:16,marginBottom:0}))}}}});class eg extends ef{renderFirstTab(){var e;return(0,m.jsx)(r.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&(0,m.jsx)(eu.PageHeader,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}function ev(e){let{ctx:t,options:l}=e,{data:o,loading:n}=(0,v.useRequest)(async()=>{let e=await t.engine.loadOrCreateModel(l,{skipSave:!t.flowSettingsEnabled});return e.context.addDelegate(t),e},{refreshDeps:[t.model.uid]}),i=(null==t?void 0:t.isMobileLayout)?8:null==t?void 0:t.themeToken.marginBlock;return!n&&(null==o?void 0:o.uid)?(0,m.jsx)(r.FlowModelRenderer,{model:o,fallback:(0,m.jsx)(b,{style:{margin:i}})}):(0,m.jsx)(b,{style:{margin:i}})}function ey(e){return Array.isArray(e)?e.find(e=>!!e&&"object"==typeof e):e&&"object"==typeof e?e:void 0}class e_ extends r.FlowModel{onInit(e){super.onInit(e),this.context.defineProperty("tabActive",{value:r.observable.ref(!0),info:{description:"Whether current tab is active (observable.ref).",detail:"observable.ref<boolean>"}})}getTabTitle(){var e,t;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Untitled",o=this.context.t(l,{ns:"client"});return this.context.t(null==(t=this.stepParams.pageTabSettings)||null==(e=t.tab)?void 0:e.title,{ns:"lm-desktop-routes"})||o}getTabIcon(){var e,t;return null==(t=this.stepParams.pageTabSettings)||null==(e=t.tab)?void 0:e.icon}renderChildren(){return null}renderHiddenInConfig(){return(0,m.jsxs)("span",{style:{display:"inline-block",opacity:.5},children:[(0,m.jsx)(a.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}render(){return(0,m.jsxs)("span",{style:{display:"inline-block"},children:[(0,m.jsx)(a.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}}e_.registerFlow({key:"pageTabSettings",title:(0,r.tExpr)("Tab settings"),steps:{tab:{title:(0,r.tExpr)("Edit tab"),preset:!0,uiSchema:{title:{title:(0,r.tExpr)("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},documentTitle:{type:"string",title:(0,r.tExpr)("Document title"),description:(0,r.tExpr)("Used as the browser tab title when this tab is active. Supports variables. Leave empty to use Tab name."),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:1,maxRows:6}},icon:{title:(0,r.tExpr)("Icon"),"x-decorator":"FormItem","x-component":"IconPicker"}},async handler(e,t){var l;let o="function"==typeof(null==e?void 0:e.t)?e.t.bind(e):e=>e;e.model.setProps("title",o(t.title,{ns:"lm-desktop-routes"})),e.model.setProps("icon",t.icon);let n=e.engine.getModel(e.model.parentId);null==n||null==(l=n.updateDocumentTitle)||l.call(n)}}}});class eb extends e_{renderChildren(){return(0,m.jsx)(ev,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}async saveStepParams(){return this.save()}async save(){var e,t,l,o,n;let i=this.serialize(),r=null==(l=this.stepParams)||null==(t=l.pageTabSettings)||null==(e=t.tab)?void 0:e.documentTitle,a=await this.context.api.request({method:"post",url:"desktopRoutes:updateOrCreate",params:{filterKeys:["schemaUid"]},data:{...this.props.route,title:this.getTabTitle(""),icon:this.getTabIcon(),options:{flowRegistry:i.flowRegistry,documentTitle:r}}}),s=ey(null==a||null==(o=a.data)?void 0:o.data);s&&this.setProps("route",{...this.props.route,...s,options:{...null==(n=this.props.route)?void 0:n.options,...s.options}})}async destroy(){return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.removeModel(this.uid),await this.context.api.request({method:"post",url:"desktopRoutes:destroy",params:{filter:{schemaUid:this.uid}},data:this.props.route}),!0}}class ex extends e_{renderChildren(){return(0,m.jsx)(ev,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class eM extends r.FlowModel{render(){return(0,m.jsx)(ev,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class ew extends ep{async ensurePersistedRouteId(e){var t,l,o,n;let i=null==e||null==(l=e.props)||null==(t=l.route)?void 0:t.id;return null!=i?i:("function"==typeof(null==e?void 0:e.save)&&await e.save(),null==e||null==(n=e.props)||null==(o=n.route)?void 0:o.id)}onMount(){super.onMount(),(0,r.reaction)(()=>this.context.pageActive.value,()=>{var e,t;if(this.context.pageActive.value&&this.mounted){let t=null==(e=this.subModels.tabs)?void 0:e[0];t&&(this.setProps("tabActiveKey",t.uid),this.invokeTabModelLifecycleMethod(t.uid,"onActive",!0))}if(!1===this.context.pageActive.value)if(this.props.tabActiveKey)this.invokeTabModelLifecycleMethod(this.props.tabActiveKey,"onInactive");else{let e=null==(t=this.subModels.tabs)?void 0:t[0];e&&this.invokeTabModelLifecycleMethod(e.uid,"onInactive")}this.mounted=!0})}async saveStepParams(){await super.saveStepParams(),this.stepParams.pageSettings&&this.context.api.request({url:`desktopRoutes:update?filter[id]=${this.props.routeId}`,method:"post",data:{enableTabs:!!this.stepParams.pageSettings.general.enableTabs}})}async handleDragEnd(e){var t,l;let o=this.flowEngine.getModel(null==(t=e.active)?void 0:t.id),n=this.flowEngine.getModel(null==(l=e.over)?void 0:l.id);if(!o||!n||o.uid===n.uid)return;let[i,r]=await Promise.all([this.ensurePersistedRouteId(o),this.ensurePersistedRouteId(n)]);null!=i&&null!=r&&(await this.context.api.request({url:"desktopRoutes:move",method:"post",params:{sourceId:i,targetId:r,sortField:"sort"}}),this.flowEngine.moveModel(o.uid,n.uid,{persist:!1}))}constructor(...e){super(...e),this.mounted=!1}}ew.registerFlow({key:"rootPageSettings",steps:{init:{async handler(e,t){if(e.model.hasSubModel("tabs"))return;let l=e.routeRepository.getRouteBySchemaUid(e.model.parentId);for(let t of(e.model.setProps("routeId",null==l?void 0:l.id),S.default.castArray(null==l?void 0:l.children).sort((e,t)=>e.sort-t.sort))){var o,n;if(t.hideInMenu)continue;let l=e.engine.createModel({parentId:e.model.uid,uid:t.schemaUid,subKey:"tabs",subType:"array",use:"RootPageTabModel",sortIndex:t.sort,props:{route:t},flowRegistry:null==(o=t.options)?void 0:o.flowRegistry,stepParams:{pageTabSettings:{tab:{title:t.title,icon:t.icon,documentTitle:null==(n=t.options)?void 0:n.documentTitle}}}});e.model.addSubModel("tabs",l)}}}}});class eS extends ef{renderFirstTab(){var e;return(0,m.jsx)(r.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&(0,m.jsx)(eu.PageHeader,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}var ek=l(296);class eF extends P{constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Popup"),icon:"ExportOutlined"}}}eF.define({label:(0,r.tExpr)("Popup")}),eF.registerFlow(ek.g);class eC extends P{}eC.define({children:async e=>(await (0,r.buildSubModelItems)(P)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(A.record))});var eA=l(1442);class eP extends eF{getAclActionName(){return"create"}constructor(...e){super(...e),this.defaultPopupTitle=(0,r.tExpr)("Add new"),this.defaultProps={type:"primary",title:(0,r.tExpr)("Add new"),icon:"PlusOutlined"}}}eP.scene=A.collection,eP.define({label:(0,r.tExpr)("Add new"),sort:10});class eT extends P{getAclActionName(){return"destroy"}constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Delete"),icon:"DeleteOutlined"}}}eT.scene=A.collection,eT.capabilityActionName="destroyMany",eT.define({label:(0,r.tExpr)("Delete")}),eT.registerFlow({key:"deleteSettings",title:(0,r.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,r.tExpr)("Delete record"),content:(0,r.tExpr)("Are you sure you want to delete it?")}},delete:{async handler(e,t){var l;if(!(null==(l=e.blockModel)?void 0:l.resource))return void e.message.error(e.t("No resource selected for deletion"));let o=e.blockModel.resource;0===o.getSelectedRows().length?e.message.warning(e.t("Please select at least one record to delete")):(await o.destroy(e.blockModel.collection.getFilterByTK(o.getSelectedRows())),e.message.success(e.t("Selected records deleted successfully")))}}}});class ej extends P{getAclActionName(){return"destroy"}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,r.tExpr)("Delete"),icon:"DeleteOutlined"}}}ej.scene=A.record,ej.define({label:(0,r.tExpr)("Delete"),sort:60}),ej.registerFlow({key:"deleteSettings",title:(0,r.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,r.tExpr)("Delete record"),content:(0,r.tExpr)("Are you sure you want to delete it?")}},delete:{async handler(e,t){e.resource?e.record?(await e.resource.destroy(e.blockModel.collection.getFilterByTK(e.record)),e.message.success(e.t("Record deleted successfully"))):e.message.error(e.t("No resource or record selected for deletion")):e.message.error(e.t("No resource selected for deletion"))}}}});class eI extends eF{getAclActionName(){return"update"}constructor(...e){super(...e),this.defaultPopupTitle=(0,r.tExpr)("Edit"),this.defaultProps={title:(0,r.tExpr)("Edit"),icon:"EditOutlined"}}}eI.scene=A.record,eI.define({label:(0,r.tExpr)("Edit"),sort:20});var eL=l(8442);class eY extends P{getIgnoreFieldNames(){var e;if(this.map.has(this.props.filterableFieldNames))return this.map.get(this.props.filterableFieldNames);let t=(null==(e=this.context.blockModel.collection)?void 0:e.getFields())||[],l=eE(this.props.filterableFieldNames||[],t.map(e=>e.name));return this.map.set(this.props.filterableFieldNames,l),l}render(){return this.context.isMobileLayout?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(r.MobilePopup,{title:this.context.t("Filter"),visible:this.props.open,onClose:()=>{this.setProps("open",!1)},children:(0,m.jsxs)("div",{style:{padding:this.context.themeToken.paddingMD,backgroundColor:this.context.themeToken.colorBgContainer},children:[(0,m.jsx)(eL.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames()})}),(0,m.jsx)("div",{style:{height:150}})]})}),super.render()]}):(0,m.jsx)(_.Popover,{open:this.props.open,content:(0,m.jsx)(eL.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames()})}),trigger:"click",placement:"bottomLeft",onOpenChange:e=>{!1===e&&this.setProps("open",void 0)},children:super.render()})}constructor(...e){super(...e),this.map=new WeakMap,this.defaultProps={type:"default",title:(0,r.tExpr)("Filter"),icon:"FilterOutlined",filterValue:{logic:"$and",items:[]}}}}function eD(e,t){var l;let o=(null==e||null==(l=e.getFields)?void 0:l.call(e))||[];return t?o.filter(e=>{if(!(null==e?void 0:e.interface)||(null==e?void 0:e.filterable)===!1)return!1;let l=t.getFieldInterface(e.interface);return!!(null==l?void 0:l.filterable)}):[]}function eE(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}eY.scene="collection",eY.define({label:(0,r.tExpr)("Filter"),toggleable:!0,sort:5}),eY.registerFlow({key:"filterSettings",title:(0,r.tExpr)("Filter settings"),steps:{position:{handler(e,t){e.model.setProps("position",t.position||"left")}},filterableFieldNames:{title:(0,r.tExpr)("Filterable fields"),uiSchema:{filterableFieldNames:{type:"array","x-decorator":"FormItem","x-component":e=>{var t,l;let{model:o}=(0,r.useFlowSettingsContext)(),n=null==o||null==(l=o.context)||null==(t=l.app)?void 0:t.dataSourceManager,i=null==n?void 0:n.collectionFieldInterfaceManager,a=eD(o.context.blockModel.collection,i).map(e=>({key:e.name,title:e.title}));return(0,m.jsx)(_.Transfer,{...e,dataSource:a,targetKeys:e.value||[],onChange:t=>{var l;return null==(l=e.onChange)?void 0:l.call(e,t)},render:e=>e.title})},"x-component-props":{showSearch:!0,listStyle:{width:280,height:360}}}},defaultParams(e){var t,l,o;let n=null==e||null==(o=e.model)||null==(l=o.context)||null==(t=l.app)?void 0:t.dataSourceManager,i=null==n?void 0:n.collectionFieldInterfaceManager;return{filterableFieldNames:eD(e.blockModel.collection,i).map(e=>e.name)||[]}},handler(e,t){e.model.setProps("filterableFieldNames",t.filterableFieldNames)}},defaultFilter:{title:(0,r.tExpr)("Default filter conditions"),uiSchema:{defaultFilter:{type:"object","x-decorator":"FormItem","x-component":e=>{let{model:t}=(0,r.useFlowSettingsContext)();return(0,m.jsx)(f.I8,{value:e.value||{},FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:t})})}}},defaultParams:e=>({defaultFilter:e.model.defaultProps.filterValue}),handler(e,t){e.model.setProps("defaultFilterValue",S.default.cloneDeep(t.defaultFilter)),e.model.setProps("filterValue",S.default.cloneDeep(t.defaultFilter))}}}}),eY.registerFlow({key:"submitSettings",on:"submit",steps:{submit:{handler(e,t){let l=e.blockModel,o=null==l?void 0:l.resource;if(!l||!o)return;let n=(0,d.transformFilter)(e.model.props.filterValue),i=!(0,d.isEmptyFilter)(n);l.setFilterActive(e.model.uid,i),i?(o.addFilterGroup(e.model.uid,n),o.setPage(1)):o.removeFilterGroup(e.model.uid),"manual"!==l.getDataLoadingMode()||i||l.hasActiveFilters()?o.refresh():(o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1),e.model.setProps("open",!1)}}}}),eY.registerFlow({key:"resetSettings",title:(0,r.tExpr)("Reset"),on:"reset",steps:{reset:{handler(e,t){let l=e.blockModel,o=null==l?void 0:l.resource;if(!l||!o)return;o.removeFilterGroup(e.model.uid),l.setFilterActive(e.model.uid,!1);let n=l.getDataLoadingMode(),i=e.model.props.defaultFilterValue,r=!(0,d.isEmptyFilter)((0,d.transformFilter)(i));"manual"!==n||r||l.hasActiveFilters()?(r&&(o.addFilterGroup(e.model.uid,(0,d.transformFilter)(i)),l.setFilterActive(e.model.uid,!0),o.setPage(1)),o.refresh()):(o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1),e.model.setProps("open",!1),e.model.setProps("filterValue",S.default.cloneDeep(i))}}}}),eY.registerFlow({key:"openSettings",on:"click",steps:{open:{handler(e,t){e.model.setProps("open",!e.model.props.open)}}}});var eR=l(9253);function eN(e,t){var l;let o=(null==(l=e.inputArgs)?void 0:l.preview)||{},n=(null==o?void 0:o.version)??(null==t?void 0:t.version)??"v1";return{code:("string"==typeof(null==o?void 0:o.code)?o.code:void 0)??(null==t?void 0:t.code)??"",version:n}}class eB extends P{constructor(...e){super(...e),this.defaultProps={type:"default",title:(0,r.tExpr)("JS action"),icon:"JavaScriptOutlined"}}}eB.define({label:(0,r.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSActionModel"}}),eB.registerFlow({key:"clickSettings",on:"click",title:(0,r.tExpr)("Click settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":eR.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
|
|
246
|
+
${n}`,d)}}let o=P(e.issues.filter(e=>"runtime"===e.type)),n=o?`Key runtime issue: ${T(o)}`:"",i=["RunJS preview output was truncated.",t,e.execution?j(e.execution):void 0,n||void 0].filter(Boolean).join("\n").trim();return i.length<=d?i:I(i,d-1)+"\n"}function D(e){return Y(e)}async function E(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o="string"==typeof e?e:String(e??""),n=[],i=[],r=null==l?void 0:l.version,a=(0,s.shouldPreprocessRunJSTemplates)({version:r});i.push(...F(o)),i.push(...C(o));let d="u">typeof performance&&"function"==typeof performance.now?performance.now():Date.now(),c={started:!1,finished:!1,timeout:!1,durationMs:void 0};try{c.started=!0;let{consoleCapture:e,loggerCapture:l}=A(n),d={console:e};try{if("u">typeof window){let e=(0,s.createSafeNavigator)();d.navigator=e,d.window=(0,s.createSafeWindow)({navigator:e}),d.document=(0,s.createSafeDocument)()}}catch(e){}let p=o;try{p=await (0,s.prepareRunJsCode)(o,{preprocessTemplates:a})}catch(o){let e=String((null==o?void 0:o.name)||""),t=g((null==o?void 0:o.message)||o),l=o instanceof SyntaxError||/^SyntaxError\b/i.test(e)||/SyntaxError\b/i.test(t);return i.push({type:"runtime",ruleId:l?"preview-start-failed":"internal",message:l?t:`Preview internal failure: ${t}`,stack:x(o)}),c.finished=!0,c.timeout=!1,{issues:S(i),logs:n,execution:c}}let m=await t.createJSRunner({globals:d,timeoutMs:u,version:r});m.globals.ctx.defineProperty("logger",{value:l});let h=await m.run(p);if(c.finished=!0,c.timeout=!!(null==h?void 0:h.timeout),!(null==h?void 0:h.success)){let e=null==h?void 0:h.error,t=(null==h?void 0:h.timeout)?"Execution timed out":g((null==e?void 0:e.message)||e||"Unknown error"),l=e instanceof SyntaxError||/^SyntaxError\b/i.test(String((null==e?void 0:e.name)||""));i.push({type:"runtime",ruleId:(null==h?void 0:h.timeout)?"timeout":l?"preview-start-failed":"runtime-error",message:t,stack:x(e)})}}catch(e){c.finished=!0,c.timeout=!1,i.push({type:"runtime",ruleId:"internal",message:`Preview internal failure: ${g((null==e?void 0:e.message)||e)}`,stack:x(e)})}finally{let e=Math.max(0,("u">typeof performance&&"function"==typeof performance.now?performance.now():Date.now())-d);c.durationMs=Number.isFinite(e)?e:void 0}return{issues:S(i),logs:n,execution:c}}function R(e){let t=new s.FlowContext;if(t.addDelegate(e),"u">typeof document&&"function"==typeof document.createElement&&!e.element)try{let e=document.createElement("div");t.defineProperty("element",{value:e})}catch(e){}return t}async function N(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=R(t),n=await E(e,o,l),i=0===n.issues.length,r=D(n);return{success:i,message:r.length>d?I(r,d):r}}},8442(e,t,l){l.d(t,{a:()=>r});var o=l(1178),n=l(2793);l(1649);var i=l(5886);let r=(0,l(504).observer)(e=>{var t;let{value:l,FilterItem:r,ctx:a}=e;l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let s=()=>{var e;(null==a||null==(e=a.model)?void 0:e.dispatchEvent)&&a.model.dispatchEvent("reset")},d=()=>{var e;(null==a||null==(e=a.model)?void 0:e.dispatchEvent)&&a.model.dispatchEvent("submit")},u=(null==a||null==(t=a.model)?void 0:t.translate)||(e=>e);return(0,o.jsxs)("form",{onSubmit:e=>{e.preventDefault(),d()},children:[(0,o.jsx)(i.I,{value:l,FilterItem:r}),(0,o.jsxs)(n.Space,{style:{width:"100%",display:"flex",justifyContent:"flex-end"},children:[(0,o.jsx)(n.Button,{htmlType:"button",onClick:s,children:u("Reset")}),(0,o.jsx)(n.Button,{type:"primary",htmlType:"submit",children:u("Submit")})]})]})},{displayName:"FilterContent"})},5886(e,t,l){l.d(t,{I:()=>c});var o=l(1178),n=l(2113),i=l(2793),r=l(7843);l(1649);var a=l(504);let s=new WeakMap,d=0,u=e=>{let t=s.get(e);return t||(d+=1,t=`filter-item-${d}`,s.set(e,t)),t},c=(0,a.observer)(e=>{let{token:t}=i.theme.useToken(),{value:l={logic:"$and",items:[]},FilterItem:a,showBorder:s=!1,onRemove:d,onChange:p,closeIcon:m=(0,o.jsx)(n.CloseCircleOutlined,{style:{color:t.colorIcon}})}=e,{t:h}=(0,r.useTranslation)();l.logic||(l.logic="$and"),Array.isArray(l.items)||(l.items=[]);let{logic:f,items:g}=l,v=s?{position:"relative",border:`1px dashed ${t.colorBorder}`,padding:t.paddingSM,marginBottom:t.marginXS,borderRadius:t.borderRadius}:{position:"relative",marginBottom:t.marginXS},y=e=>{l.logic=e,null==p||p(l)},_=()=>{g.push({path:"",operator:"",value:""}),null==p||p(l)},b=()=>{g.push({logic:"$and",items:[]}),null==p||p(l)},x=e=>{g.splice(e,1),null==p||p(l)},M=e=>"path"in e||"operator"in e||"value"in e,w=e=>"logic"in e&&"items"in e;return(0,o.jsxs)("div",{style:v,children:[s&&d&&(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{position:"absolute",right:10,top:10,cursor:"pointer",background:"transparent",border:0,padding:0},onClick:d,children:m}),(0,o.jsx)("div",{style:{marginBottom:8,color:t.colorText},children:(0,o.jsxs)("span",{children:[h("Meet")," ",(0,o.jsxs)(i.Select,{"data-testid":"filter-select-all-or-any",style:{width:"auto"},value:f,onChange:y,children:[(0,o.jsx)(i.Select.Option,{value:"$and",children:h("All")}),(0,o.jsx)(i.Select.Option,{value:"$or",children:h("Any")})]})," ",h("conditions in the group")]})}),(0,o.jsx)("div",{children:g.map((e,n)=>w(e)?(0,o.jsx)(c,{value:e,FilterItem:a,showBorder:!0,onRemove:()=>x(n),onChange:e=>{g[n]=e,null==p||p(l)}},u(e)):M(e)?a?(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsx)(a,{value:e}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)):(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsxs)("span",{children:[e.path," ",e.operator," ",String(e.value)]}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)):(0,o.jsx)("div",{style:{marginBottom:8,display:"flex",alignItems:"flex-end"},children:(0,o.jsxs)(i.Space,{style:{flex:1,minWidth:0},children:[(0,o.jsx)("span",{style:{color:t.colorTextTertiary},children:"Invalid filter item"}),(0,o.jsx)("button",{type:"button","aria-label":"icon-close",style:{marginLeft:8,marginRight:8,flex:"0 0 auto",cursor:"pointer",background:"transparent",border:0,padding:0},onClick:()=>x(n),children:m})]})},u(e)))}),(0,o.jsxs)(i.Space,{size:16,style:{marginTop:8,marginBottom:8},children:[(0,o.jsx)(i.Button,{style:{padding:0},type:"link",size:"small",icon:(0,o.jsx)(n.PlusOutlined,{}),onClick:_,children:h("Add condition")}),(0,o.jsx)(i.Button,{style:{padding:0},type:"link",size:"small",icon:(0,o.jsx)(n.PlusOutlined,{}),onClick:b,children:h("Add condition group")})]})]})},{displayName:"FilterGroup"})},9215(e,t,l){l.d(t,{Ru:()=>I,I8:()=>n.I,qi:()=>c,oJ:()=>o.a,Et:()=>M});var o=l(8442),n=l(5886),i=l(1178),r=l(504),a=l(2793),s=l(1649);let d=(e,t,l,o)=>e.map(e=>u(e,t,l,o)).filter(Boolean),u=(e,t,l,o)=>{var n;if(l.length&&1===t&&l.includes(e.name)||!e.interface||!1===e.filterable)return;let i=e.getInterfaceOptions();if(!(null==i?void 0:i.filterable))return;let{nested:r,children:a,operators:s}=i.filterable,u={name:e.name,type:e.type,target:e.target,title:o(e.title),schema:null==e?void 0:e.uiSchema,operators:((null==s||null==(n=s.filter)?void 0:n.call(s,t=>!(null==t?void 0:t.visible)||t.visible(e)))||[]).map(e=>({...e,label:o(e.label)}))};if(!e.target||!(t>2)){if(t>2)return u;if((null==a?void 0:a.length)&&(u.children=a),r){let n=d(e.getFields().filter(e=>"attachments"!==e.target&&"formula"!==e.interface),t+1,l,o).filter(Boolean);u.children=u.children||[],u.children.push(...n)}return u}},c=(0,r.observer)(e=>{var t;let{path:l,operator:o,value:n}=e.value,r=e.model,u=(null==(t=r.context.blockModel.collection)?void 0:t.getFields().filter(e=>"attachments"!==e.target))||[],c=p(r.props.filterableFieldNames||[],u.map(e=>e.name)),m=r.translate,h=d(u.filter(e=>"attachments"!==e.target&&"formula"!==e.interface&&!["belongsTo","belongsToMany","hasOne","hasMany","oho","obo","m2o","o2m","m2m"].includes(e.type)),1,e.noIgnore?[]:c,m).filter(Boolean),f=(0,s.useMemo)(()=>{let e=h.find(e=>e.name===l);return(null==e?void 0:e.operators)||[]},[h,l]),g=t=>{var l;e.value.path=t;let o=h.find(e=>e.name===t);(null==o||null==(l=o.operators)?void 0:l.length)>0?e.value.operator=o.operators[0].value:e.value.operator="",e.value.value=""},v=t=>{e.value.operator=t},y=t=>{e.value.value=t.target.value};return(0,i.jsxs)(a.Space,{children:[(0,i.jsx)(a.Select,{style:{width:200},placeholder:m("Select field"),value:l||void 0,onChange:g,children:h.map(e=>(0,i.jsx)(a.Select.Option,{value:e.name,children:e.title},e.name))}),(0,i.jsx)(a.Select,{style:{width:120},placeholder:m("Select operator"),value:o||void 0,onChange:v,disabled:!l||0===f.length,children:f.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),(0,i.jsx)(a.Input,{style:{width:200},placeholder:m("Enter value"),value:n,onChange:y})]})},{displayName:"FilterItem"});function p(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}var m=l(6305),h=l(7583),f=l(6220),g=l(7309),v=l(7720);let{DateFilterDynamicComponent:y}=(0,m.RZ)(()=>Promise.resolve().then(l.bind(l,6832)),"DateFilterDynamicComponent");async function _(e){var t,l,o,n;let i=async e=>Array.isArray(e)?e:"function"==typeof e?await e():[];if(null==(l=e.getPropertyOptions)||null==(t=l.call(e,"collection"))?void 0:t.meta){let t=null==(n=e.getPropertyMetaTree)?void 0:n.call(e,"{{ ctx.collection }}");return await i(t)}let a=()=>(null==e?void 0:e.collection)??null,s=await (0,r.createEphemeralContext)(e,{defineProperties:{collection:{get:a,meta:(0,r.createCollectionContextMeta)(a,"Current collection")}}}),d=null==(o=s.getPropertyMetaTree)?void 0:o.call(s,"{{ ctx.collection }}");return await i(d)}function b(e,t,l,o){var n;let r=null==e?void 0:e["x-component"],s=(null==t||null==(n=t.uiSchema)?void 0:n["x-component-props"])||{},d=(null==e?void 0:e["x-component-props"])||{},u=(0,__rspack_external_lodash_merge_8f812c65.default)({},s,d),c=(0,g.di)(null==e?void 0:e.enum,l)||[],p={style:{width:200,...(null==u?void 0:u.style)||{}},placeholder:(null==u?void 0:u.placeholder)||l("Enter value"),...u},m=e=>{if("number"==typeof e||(null==u?void 0:u.stringMode)===!0&&"string"==typeof e)return e};return e=>{let{value:t,onChange:l,...n}=e||{};if("InputNumber"===r)return(0,i.jsx)(a.InputNumber,{...p,...n,value:m(t),onChange:e=>null==l?void 0:l(e)});if("NumberPicker"===r)return(0,i.jsx)(f.NumberPicker,{...p,...n,value:m(t),onChange:e=>null==l?void 0:l(e)});if("Switch"===r)return(0,i.jsx)(a.Switch,{...p,...n,checked:!!t,onChange:e=>null==l?void 0:l(e)});if("Select"===r)return(0,i.jsx)(a.Select,{options:c,...p,...n,value:Array.isArray(t)||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Checkbox"===r)return(0,i.jsx)(a.Checkbox,{...p,...n,checked:!!t,onChange:e=>null==l?void 0:l(e.target.checked)});if("Checkbox.Group"===r)return(0,i.jsx)(a.Checkbox.Group,{...p,...n,value:Array.isArray(t)?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Radio.Group"===r)return(0,i.jsx)(a.Radio.Group,{...p,...n,value:Array.isArray(t)||"string"==typeof t||"number"==typeof t||"boolean"==typeof t?t:void 0,onChange:e=>null==l?void 0:l(e.target.value)});if("Cascader"===r)return(0,i.jsx)(a.Cascader,{...p,...n,value:Array.isArray(t)?t:void 0,onChange:e=>null==l?void 0:l(e)});if("Input.TextArea"===r||"TextArea"===r)return(0,i.jsx)(a.Input.TextArea,{...p,...n,value:"string"==typeof t?t:null==t?"":String(t),onChange:e=>null==l?void 0:l(e.target.value)});if("DateFilterDynamicComponent"===r)return(0,i.jsx)(y,{...p,...n,value:t,onChange:e=>null==l?void 0:l(e)});if(r&&(null==o?void 0:o.getComponent)){let e=o.getComponent(r);if(e)return(0,i.jsx)(e,{...p,...n,value:t,onChange:e=>null==l?void 0:l(e),style:{width:200,...p.style||{},...null==n?void 0:n.style}})}return(0,i.jsx)(a.Input,{...p,...n,value:"string"==typeof t?t:null==t?"":String(t),onChange:e=>null==l?void 0:l(e.target.value)})}}function x(e){if(e&&"object"==typeof e){let l=e;if("function"==typeof l.preventDefault||l.nativeEvent||"target"in l){var t;let o=null==(t=l.target)?void 0:t.value;return void 0!==o?o:e}}return e}let M=(0,r.observer)(e=>{let{value:t,model:l,rightAsVariable:o,rightMetaTree:n,ignoreFieldNames:d}=e,u=(0,r.useFlowViewContext)(),c=l.translate,{path:p,operator:m,value:f}=t,[y,M]=(0,s.useState)(null),w=(0,s.useMemo)(()=>{var e,t,o,n;if(!y)return[];let i=null==(e=l.context.app)?void 0:e.dataSourceManager,r=y.interface?null==i||null==(t=i.collectionFieldInterfaceManager)?void 0:t.getFieldInterface(y.interface):void 0,a=null==y||null==(o=y.uiSchema)?void 0:o["x-filter-operators"];return((Array.isArray(a)&&a.length?a:null==r||null==(n=r.filterable)?void 0:n.operators)||[]).filter(e=>!e.visible||e.visible(y))},[y,l]);(0,s.useEffect)(()=>{if(!w.length)return;let e=h.default.find(w,e=>e.value===t.operator);if(e)t.noValue=!!e.noValue;else{let e=w[0];t.operator=e.value,t.value=!!e.noValue||void 0,t.noValue=!!e.noValue}},[w,t]);let S=(0,s.useMemo)(()=>w.map(e=>({value:e.value,label:"string"==typeof e.label?c(e.label):e.label})),[w,c]),k=(0,s.useCallback)((e,l)=>{let o=t.path||"",n=e||"",i=n!==o;t.path=n,i&&o&&(t.operator="",t.value=void 0,t.noValue=!1),l&&M(l)},[t]),F=(0,s.useMemo)(()=>({resolveValueFromPath:e=>(M(e),(null==e?void 0:e.paths.slice(1).join("."))||null),resolvePathFromValue(e){if(null==e)return;let t=String(e).trim();if(t)return["collection",...t.split(".")]}}),[]),C=(0,s.useCallback)(e=>{t.operator=e;let l=w.find(t=>t.value===e);(null==l?void 0:l.noValue)?(t.value=!0,t.noValue=!0):(t.value=void 0,t.noValue=!1)},[w,t]),A=(0,s.useMemo)(()=>w.find(e=>e.value===m),[w,m]),P=(0,s.useCallback)(e=>{var t,l;return(null==e||null==(t=e.options)?void 0:t.dataType)||(null==e?void 0:e.dataType)||(null==e?void 0:e.type)||(null==e||null==(l=e.uiSchema)?void 0:l.type)||"double"},[]),T=(0,s.useCallback)(e=>{switch(e){case"boolean":return"Switch";case"date":return"DateFilterDynamicComponent";case"integer":case"bigInt":case"double":case"decimal":case"number":return"InputNumber";default:return"Input"}},[]),j=(0,s.useMemo)(()=>{let e=(null==y?void 0:y.uiSchema)||{},t=(null==A?void 0:A.schema)||{},l=(0,__rspack_external_lodash_merge_8f812c65.default)({},e,t);if((null==y?void 0:y.interface)==="formula"){let e={"x-read-pretty":!1,"x-component":T(P(y)),"x-component-props":{...l["x-component-props"]}};return(0,__rspack_external_lodash_merge_8f812c65.default)({},l,e)}return l},[y,A,T,P]),I=s.default.useRef(null==j?void 0:j["x-component"]),L=null==j?void 0:j["x-component"],Y=(0,s.useMemo)(()=>{let e=I.current;I.current=L;let l=void 0!==e&&e!==L;if(null==A?void 0:A.noValue)return f;if(l&&null!=f){t.value=void 0;return}return f},[L,f,t,A]),D=(0,s.useCallback)(e=>{t.value=x(e)},[t]),E=s.default.useRef(c);s.default.useEffect(()=>{E.current=c},[c]);let R=s.default.useCallback(e=>{var t;return(null==(t=E.current)?void 0:t.call(E,e))??e},[]),N=(0,s.useMemo)(()=>(0,g.di)(null==j?void 0:j.enum,R)||[],[j,R]),B=(0,s.useMemo)(()=>b(j,y,R,l.context.app),[j,y,R,l.context.app]),O=(0,s.useCallback)(()=>{let e=(0,v._)(l.context.app,m,w),t="$in"===m||"$notIn"===m;if(e&&t){let{Comp:t,props:l}=e,o={...l};(!(null==o?void 0:o.options)||(null==o?void 0:o.options.length)===0)&&(null==N?void 0:N.length)&&(o.options=N);let n={flex:"1 1 40%",minWidth:160,maxWidth:"100%",...(null==o?void 0:o.style)||{}},r=Array.isArray(Y)&&Y.every(e=>"string"==typeof e||"number"==typeof e)?Y:"string"==typeof Y?Y.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[];return(0,i.jsx)("div",{style:n,children:(0,i.jsx)(t,{...o,style:{width:"100%",...(null==o?void 0:o.style)||{}},value:r,onChange:e=>D(e)})})}let o=B;return(0,i.jsx)("div",{style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},children:(0,i.jsx)(o,{value:Y,onChange:e=>D(e)})})},[m,w,Y,B,l.context.app,D,N]),H=(0,s.useMemo)(()=>function(){return(0,i.jsx)(a.Input,{placeholder:`<${c("Null")}>`,readOnly:!0})},[c]),q=(0,s.useMemo)(()=>async()=>{let e="function"==typeof n?await n():n??u.getPropertyMetaTree(),t=Array.isArray(e)?e:await e();return[{title:c("Constant"),name:"constant",type:"string",paths:["constant"],render:B},{title:c("Null"),name:"null",type:"object",paths:["null"],render:H},...t]},[n,u,B,H,c]),$=(0,s.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?B:"null"===l?H:null},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:void 0},resolvePathFromValue:e=>{if(null===e)return["null"];let t="string"==typeof e?(0,r.parseValueToPath)(e):void 0;return t||["constant"]}}),[H,B]),V=(0,s.useMemo)(()=>async()=>{var e;let t=null==(e=l.context.app)?void 0:e.dataSourceManager,o=null==t?void 0:t.collectionFieldInterfaceManager,n=await _(l.context),i=async e=>{let t=e.interface?null==o?void 0:o.getFieldInterface(e.interface):void 0,n=[],i=null==t?void 0:t.filterable,r=null==i?void 0:i.children;if(Array.isArray(r)&&r.length)for(let t of r){var a,s,d;let o=t.title||t.name,i=(null==(a=l.context)?void 0:a.t)?l.context.t(o):o;n.push({name:t.name,title:i,type:(null==(s=t.schema)?void 0:s.type)||"string",interface:(null==(d=t.schema)?void 0:d["x-component"])==="Select"?"select":"input",uiSchema:{...t.schema||{},"x-filter-operators":t.operators},paths:[...e.paths||[],t.name],parentTitles:[...e.parentTitles||[],e.title]})}if("function"==typeof e.children){let t=e.children;return{...e,children:async()=>{let e=await t(),l=[...Array.isArray(e)?e:[],...n];return h.default.uniqBy(l,"name")}}}let u=[...Array.isArray(e.children)?e.children:[],...n];return{...e,children:u.length?u:e.children}},r=[];for(let e of n)r.push(await i(e));return r},[l]);return(0,i.jsxs)(a.Space,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:p,metaTree:V,onChange:k,converters:F,showValueComponent:!1,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},onlyLeafSelectable:!0,placeholder:c("Select field"),ignoreFieldNames:d}),(0,i.jsx)(a.Select,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:c("Comparison"),value:m||void 0,onChange:C,children:S.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),!(null==A?void 0:A.noValue)&&(o?(0,i.jsx)(r.VariableInput,{value:Y,onChange:e=>D(e),metaTree:q,converters:$,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:c("Enter value")}):O())]})});var w=l(1793);let{DateFilterDynamicComponent:S}=(0,m.RZ)(()=>Promise.resolve().then(l.bind(l,6832)),"DateFilterDynamicComponent");function k(e,t,l){var o,n,r;let s=null==e?void 0:e["x-component"],d=(null==t||null==(o=t.uiSchema)?void 0:o["x-component-props"])||{},u=(null==e?void 0:e["x-component-props"])||{},c=(0,__rspack_external_lodash_merge_8f812c65.default)({},d,u),p=Array.isArray(null==t||null==(n=t.uiSchema)?void 0:n.enum)?null==t||null==(r=t.uiSchema)?void 0:r.enum:void 0,m=(0,g.di)(p,l),h={style:{width:200,...(null==c?void 0:c.style)||{}},placeholder:(null==c?void 0:c.placeholder)||l("Enter value"),...c};return e=>{let{value:t,onChange:o,...n}=e||{};if("InputNumber"===s)return(0,i.jsx)(a.InputNumber,{...h,...n,value:t,onChange:o});if("NumberPicker"===s)return(0,i.jsx)(f.NumberPicker,{...h,...n,value:t,onChange:o});if("Switch"===s)return(0,i.jsx)(a.Switch,{...h,...n,checked:!!t,onChange:o});if("Select"===s){let e=h;return Array.isArray(null==e?void 0:e.options)&&e.options.length>0?e={...e,options:(0,g.ZY)(e.options,l)}:m&&(e={...e,options:m}),(0,i.jsx)(a.Select,{...e,...n,value:t,onChange:o})}return"DateFilterDynamicComponent"===s?(0,i.jsx)(S,{...h,...n,value:t,onChange:o}):(0,i.jsx)(a.Input,{...h,...n,value:t,onChange:e=>{var t;return null==o?void 0:o(null==e||null==(t=e.target)?void 0:t.value)}})}}let F=[{value:"$includes",label:"contains",selected:!0},{value:"$notIncludes",label:"does not contain"},{value:"$eq",label:"is"},{value:"$ne",label:"is not"},{value:"$empty",label:"is empty",noValue:!0},{value:"$notEmpty",label:"is not empty",noValue:!0}],C=new Set(["$in","$notIn"]);function A(e,t){let l=Array.isArray(e)?e:[],o=Array.isArray(t)?t:[];if(!o.length)return l;let n=o.find(e=>(null==e?void 0:e.name)==="item");if(!n)return[...o,...l];let i=(0,w.mD)(l,[n]);return[...o.filter(e=>(null==e?void 0:e.name)!=="item"),...i]}function P(e,t){var l,o;return{name:t.name,title:t.title||t.name,type:(null==(l=t.schema)?void 0:l.type)||"string",interface:(null==(o=t.schema)?void 0:o["x-component"])==="Select"?"select":"input",uiSchema:{...t.schema||{},"x-filter-operators":t.operators},paths:[...e.paths||[],t.name],parentTitles:[...e.parentTitles||[],e.title]}}async function T(e,t){var l,o;let n=e.interface&&t?t(e.interface):void 0,i=(Array.isArray(null==n||null==(l=n.filterable)?void 0:l.children)?null==n||null==(o=n.filterable)?void 0:o.children:[]).map(t=>P(e,t)),r=async e=>{let l=[...await Promise.all(e.map(e=>T(e,t))),...i];return(0,__rspack_external_lodash_uniqBy_85106929.default)(l,e=>e.name)};if("function"==typeof e.children){let t=e.children;return{...e,children:async()=>{let e=await t(),l=Array.isArray(e)?e:[];return await r(l)}}}return Array.isArray(e.children)?{...e,children:await r(e.children)}:i.length?{...e,children:i}:e}async function j(e,t){let l=Array.isArray(e)?e:[];return await Promise.all(l.map(e=>T(e,t)))}let I=(0,r.observer)(e=>{var t;let{value:l,model:o,extraMetaTree:n}=e,d=(0,r.useFlowViewContext)(),u=o.translate,{path:c,operator:p,value:m}=l||{},[h,f]=(0,s.useState)(null),y=(0,s.useRef)(!1),_=(0,s.useMemo)(()=>{if(h){var e,t;let l=o.context.app.dataSourceManager,n=h.interface?l.collectionFieldInterfaceManager.getFieldInterface(h.interface):void 0,i=null==h||null==(e=h.uiSchema)?void 0:e["x-filter-operators"];return((Array.isArray(i)&&i.length?i:null==n||null==(t=n.filterable)?void 0:t.operators)||F).filter(e=>!e.visible||e.visible(h)).map(e=>({value:e.value,label:e.label,noValue:!!e.noValue,schema:e.schema,selected:!!e.selected}))}return[]},[h,o]),b=(0,s.useMemo)(()=>_.map(e=>({value:e.value,label:"string"==typeof e.label?u(e.label):e.label})),[_,u]);(0,s.useEffect)(()=>{if(0!==_.length){if(!p){if(y.current){let e=_.find(e=>e.selected)||_[0];l.operator=(null==e?void 0:e.value)||"",(null==e?void 0:e.noValue)?(l.value=!0,l.noValue=!0):l.noValue=!1,y.current=!1}return}if(!_.some(e=>e.value===p)){let e=_.find(e=>e.selected)||_[0];l.operator=(null==e?void 0:e.value)||"",(null==e?void 0:e.noValue)?(l.value=!0,l.noValue=!0):l.noValue=!1}}},[_,p,l]);let x=(0,s.useMemo)(()=>_.find(e=>e.value===p),[_,p]),M=(0,s.useMemo)(()=>{let e=(null==h?void 0:h.uiSchema)||{},t=(null==x?void 0:x.schema)||{};return(0,__rspack_external_lodash_merge_8f812c65.default)({},e,t)},[h,x]),w=(0,s.useRef)(u);(0,s.useEffect)(()=>{w.current=u},[u]);let S=(0,s.useCallback)(e=>{var t;return(null==(t=w.current)?void 0:t.call(w,e))??e},[]),P=(0,s.useMemo)(()=>k(M,h,S),[M,h,S]),T=(0,s.useMemo)(()=>(0,g.di)(null==M?void 0:M.enum,S)||[],[M,S]),I=(0,s.useMemo)(()=>{let e=(0,v._)(o.context.app,p,_),t=C.has(p);if(!e||!t)return P;let{Comp:l,props:n}=e;return e=>{let{value:t,onChange:o,...r}=e||{},a={...n};(null==a?void 0:a.options)&&(null==a?void 0:a.options.length)!==0||!(T.length>0)||(a.options=T);let s=Array.isArray(t)?t:"string"==typeof t?t.split(/\r?\n/).map(e=>e.trim()).filter(Boolean):[];return(0,i.jsx)(l,{...a,...r,value:s,onChange:o,style:{width:200,...(null==a?void 0:a.style)||{},...(null==r?void 0:r.style)||{}}})}},[T,o.context.app,_,p,P]),L=(0,s.useMemo)(()=>function(){return(0,i.jsx)(a.Input,{placeholder:`<${u("Null")}>`,readOnly:!0})},[u]),Y=(0,s.useMemo)(()=>async()=>{let e=A((null==o?void 0:o.context.getPropertyMetaTree())||d.getPropertyMetaTree(),n);return[{title:u("Constant"),name:"constant",type:"string",paths:["constant"]},{title:u("Null"),name:"null",type:"object",paths:["null"]},...e]},[d,o,u,n]),D=(0,s.useCallback)(async()=>{var e,t;let l=(null==o||null==(t=o.context)||null==(e=t.getPropertyMetaTree)?void 0:e.call(t))||d.getPropertyMetaTree(),i=A(Array.isArray(l)?l:[],n),r=e=>{var t,l,n,i;return null==(i=o.context.app)||null==(n=i.dataSourceManager)||null==(l=n.collectionFieldInterfaceManager)||null==(t=l.getFieldInterface)?void 0:t.call(l,e)};return await j(i,r)},[d,o,n]),E=(0,s.useMemo)(()=>({renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?I:"null"===l?L:null},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:void 0},resolvePathFromValue:e=>{if(null===e)return["null"];let t=(0,r.parseValueToPath)(e);return t||["constant"]}}),[L,I]),R=(0,s.useCallback)((e,t)=>{let o=l.path||"",n=e||"",i=n!==o;l.path=n,i&&o&&(l.operator="",l.value="",y.current=!0),o||!n||l.operator||(y.current=!0),t&&f(t)},[l]),N=(0,s.useCallback)(e=>{let t=l.operator;l.operator=e;let o=_.find(t=>t.value===e);(null==o?void 0:o.noValue)?(l.value=!0,l.noValue=!0):(C.has(t)&&!C.has(e)&&Array.isArray(l.value)&&(l.value=l.value.join("\n")),l.noValue=!1)},[l,_]);return(0,i.jsxs)(a.Space,{wrap:!0,style:{width:"100%"},children:[(0,i.jsx)(r.VariableInput,{value:c,onChange:R,metaTree:D,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:u("Select variable"),onlyLeafSelectable:!0}),(0,i.jsx)(a.Select,{style:{flex:"0 0 140px",minWidth:120,maxWidth:"100%"},placeholder:u("Comparison"),value:p||void 0,onChange:N,children:b.map(e=>(0,i.jsx)(a.Select.Option,{value:e.value,children:e.label},e.value))}),!(null==(t=_.find(e=>e.value===p))?void 0:t.noValue)&&(0,i.jsx)(r.VariableInput,{value:m,onChange:e=>l.value=e,metaTree:Y,converters:E,showValueComponent:!0,style:{flex:"1 1 40%",minWidth:160,maxWidth:"100%"},placeholder:u("Enter value"),clearValue:""})]})})},1077(e,t,l){l.d(t,{S5:()=>m.S,b2:()=>m.b,tn:()=>o.t,R_:()=>p});var o=l(8804),n=l(1178);l(8533),l(8198),l(504);var i=l(1649);l(7326);var r=l(2793);let a=e=>{if(e){let t=document.createRange();return t.selectNodeContents(e),t.getBoundingClientRect().width}},s={overflow:"hidden",overflowWrap:"break-word",textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"break-all"},d={overflowWrap:"break-word",whiteSpace:"normal",wordBreak:"break-word"},u=e=>!!e&&a(e)>e.offsetWidth,c={maxWidth:600,overflow:"auto",maxHeight:400},p=(0,i.forwardRef)((e,t)=>{let[l,o]=(0,i.useState)(!1),[a,p]=(0,i.useState)(!1),m=(0,i.useRef)();(0,i.useImperativeHandle)(t,()=>({setPopoverVisible:p}),[]);let h=(0,i.useCallback)(e=>{let t=e.target;u(m.current)&&o(t.scrollWidth>=t.clientWidth)},[]),f=(0,i.useMemo)(()=>{let t=e.ellipsis?{onMouseEnter:h}:{};return(0,n.jsx)("div",{ref:m,role:e.role,style:e.ellipsis?s:d,...t,children:e.children})},[h,e.children,e.ellipsis,e.role]);return e.ellipsis&&l?(0,n.jsx)(r.Popover,{open:l&&a,onOpenChange:e=>{p(l&&e)},content:(0,n.jsx)("div",{style:c,children:e.popoverContent||e.children}),children:f}):f});p.displayName="EllipsisWithTooltip";var m=l(5026);l(9253),l(4244)},296(e,t,l){l.d(t,{g:()=>n,k:()=>i});var o=l(504);let n=(0,o.defineFlow)({key:"popupSettings",title:(0,o.tExpr)("Popup settings"),on:"click",sort:300,steps:{openView:{use:"openView",hideInSettings:async e=>{var t,l,o,n;let i=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return!!e.collectionField&&(void 0===i?!(null==(n=e.collectionField)?void 0:n.isAssociationField())||e.disableFieldClickToOpen:!1===i)}}},defaultParams:e=>{var t,l,o,n,i,r,a,s;let d,u,c,p=e.collectionField,m=e.blockModel,h=null==(l=e.model)||null==(t=l.parent)?void 0:t.associationPathName,f=e.collection||(null==m?void 0:m.collection),g=e=>{var t;return!!(null==e||null==(t=e.isAssociationField)?void 0:t.call(e))},v=!g(p)&&h?null==f||null==(o=f.getFieldByPath)?void 0:o.call(f,h):void 0,y=g(p)?p:v;if(g(y)){let e=y.targetCollection;null==m||m.collection,d=null==e?void 0:e.name,u=null==e?void 0:e.dataSourceKey,c=null==y?void 0:y.resourceName}else p?(d=null==(n=e.collection)?void 0:n.name,u=null==(i=e.collection)?void 0:i.dataSourceKey,c=null==p?void 0:p.target):(d=null==(r=e.collection)?void 0:r.name,u=null==(a=e.collection)?void 0:a.dataSourceKey,c=null==(s=e.association)?void 0:s.resourceName);return{openView:{collectionName:d,associationName:c,dataSourceKey:u}}}}),i=e=>e.getStepParams("popupSettings","openView")},4815(e,t,l){l.d(t,{er5:()=>rL,tPG:()=>er.t,wUQ:()=>oY,Ui7:()=>ui.Ui,JvK:()=>eh,m5p:()=>as,l5h:()=>oq,jqd:()=>dA,WHj:()=>ia,T9:()=>l$,ZMt:()=>ls,Xw5:()=>tu,xEQ:()=>ax,r39:()=>rP,YXI:()=>eQ,riZ:()=>uo.ri,s2k:()=>rm,zA_:()=>eN.zA,gbJ:()=>di,DvX:()=>rz,wwh:()=>rD,p$W:()=>ui.p$,xtQ:()=>uo.xt,qi_:()=>f.qi,d13:()=>eG,sJK:()=>iN,mzg:()=>iE,mHU:()=>ic,Ppd:()=>ah,Tuv:()=>aR,Uk$:()=>i5,byO:()=>eN.by,Tnx:()=>uo.Tn,ZCq:()=>aG,HWn:()=>uo.HW,I8R:()=>f.I8,v9U:()=>aO,T16:()=>sx,spd:()=>eU,xz3:()=>lJ,ROt:()=>t_,jjG:()=>uo.jj,$T1:()=>aD,Px_:()=>uo.Px,COB:()=>dF,ysz:()=>aq.ys,kA1:()=>lV,_IX:()=>uo._I,AvD:()=>lU,cYG:()=>dL,mOW:()=>td.mO,zqF:()=>r_,_TB:()=>C,uMh:()=>r7,mQM:()=>dl,aDm:()=>Z,Hn2:()=>eO,KTk:()=>M,rGX:()=>aX,y2s:()=>ox,s2f:()=>td.s2,upH:()=>r3,BmO:()=>ui.Bm,foc:()=>lu,Uhv:()=>ea,ZVp:()=>aj,bPr:()=>tV,hNf:()=>aE,u36:()=>eV,J$w:()=>n3,Bum:()=>sG,ux6:()=>uo.ux,Ra0:()=>af,QuL:()=>X,V6y:()=>uo.V6,djK:()=>ui.dj,qh$:()=>O,K4N:()=>lp,xIu:()=>o7,XK0:()=>em,xc1:()=>uo.xc,C_u:()=>ui.C_,Ru1:()=>f.Ru,s$$:()=>ur,lrV:()=>e0.lr,znN:()=>dM,OaU:()=>ui.O,N9e:()=>un.N,m$$:()=>r0,cPq:()=>rf,gk0:()=>L,to1:()=>eT,dhL:()=>ad,mSG:()=>nN,Fy3:()=>rQ,VPO:()=>aY,d6j:()=>iT,y8o:()=>uo.y8,nCj:()=>ui.nC,eLO:()=>uo.eL,LAC:()=>eA,fCM:()=>uo.fC,R0X:()=>ui.R0,Dsh:()=>a0,saj:()=>tT,VcJ:()=>ay,dv2:()=>l3,t_Y:()=>uo.t_,Ucr:()=>uo.Uc,FKm:()=>aq.FK,ksX:()=>ui.ks,Eq4:()=>sM,xkv:()=>rp,sEB:()=>e$,W4I:()=>iB,qPo:()=>aS,n8$:()=>uo.n8,vIF:()=>ov,vrA:()=>ab,tUI:()=>N,CII:()=>tn,v6e:()=>rY,MeX:()=>ro,ccc:()=>aq.cc,mw1:()=>D,hOt:()=>e0.hO,sJA:()=>iJ,biS:()=>o$,AMH:()=>rG,fMK:()=>dm,PU8:()=>tY,UZR:()=>ei,fAh:()=>g,Yjq:()=>uo.FY,_e9:()=>nB,Myf:()=>df,fnr:()=>rk,qqP:()=>at,BYM:()=>eN.BY,RBt:()=>es.R,dpX:()=>tp,sYw:()=>ew,oM7:()=>n0,e7P:()=>sm,ODR:()=>tq,hCX:()=>ti,zDb:()=>nL,Imp:()=>ig,ivU:()=>nl,mNj:()=>rF,P0:()=>r2,Qt8:()=>uo.Qt,uFv:()=>dn,Pqd:()=>so,VGp:()=>sf,Gap:()=>uo.G,kkB:()=>sp,wqT:()=>te,R8A:()=>ez,vbm:()=>Q,IAc:()=>ss,KYF:()=>oM,FaR:()=>i9,v8l:()=>e6,lv4:()=>ui.lv,qlo:()=>iA,I6c:()=>a2,_UX:()=>W,t_n:()=>o_,Xig:()=>e0.Xi,isP:()=>a1,fi1:()=>uo.fi,a6D:()=>eC,uTv:()=>ui.uT,MhO:()=>e3,l2T:()=>nO,n6C:()=>eZ,OtO:()=>uo.Ot,FWr:()=>uo.FW,wW_:()=>eM,X2M:()=>ui.X2,h2d:()=>aH.h2,cm5:()=>aI,eCD:()=>lq,GJ1:()=>ns,B94:()=>uo.B9,gaO:()=>n1,orA:()=>ul.o,OsV:()=>rV,I6Z:()=>lK,zsf:()=>I,HJv:()=>i8,WzN:()=>ui.Wz,qNx:()=>uo.qN,mYX:()=>uo.mY,G9F:()=>t7,YjI:()=>uo.Yj,xFY:()=>uo.xF,PW6:()=>en.P,rvE:()=>eI,cNN:()=>l8,mLo:()=>rA,YJB:()=>oQ,QBt:()=>uo.QB,LFq:()=>dt,Ck8:()=>iP,hPI:()=>eN.hP,ur8:()=>oW,F4f:()=>td.F4,tQF:()=>dx,aWb:()=>db,iT0:()=>i7,zUb:()=>ob,rpg:()=>rw,sW6:()=>iy,Z0H:()=>ri,K$V:()=>nt,v$f:()=>eu,_$j:()=>ex,ULH:()=>t3,M6q:()=>e0.M6,pKk:()=>lg,www:()=>oy,MMn:()=>uo.MM,kPK:()=>ty,Xmd:()=>ih,B82:()=>uo.B8,zCA:()=>w,np$:()=>aq.np,hsC:()=>sr,IBN:()=>s$,Zu2:()=>sw,m2W:()=>eL,k9E:()=>aH.k9,KSc:()=>b,Yh4:()=>sb,Mxl:()=>uo.Mx,B6V:()=>na,KAX:()=>dr,J9o:()=>a6,mUg:()=>ry,mU7:()=>ao,YmV:()=>y.default,pXX:()=>uo.pX,EcU:()=>oV,mRH:()=>oA.m,j0c:()=>eP.j,ThI:()=>uo.Th,o8y:()=>eN.o8,e6V:()=>ul.e,Anr:()=>ix,tSM:()=>uo.tS,qir:()=>ev,kN:()=>oH,s5W:()=>ij,NYj:()=>e0.NY,LE6:()=>sn,ngq:()=>aq.ng,omq:()=>eD,Nxx:()=>r8,gvx:()=>eF.g,upW:()=>iw,D1b:()=>os,Cuw:()=>uo.Cu,S3Z:()=>sV,B_2:()=>uo.B_,D8m:()=>oi,e8C:()=>aU,T8$:()=>lz,nap:()=>u.n,CCB:()=>rU,zFh:()=>rl,lJp:()=>p,Dhs:()=>dS,eDc:()=>ui.eD,Zpx:()=>sd,Fts:()=>no,$FU:()=>aB,oJ5:()=>f.oJ,RLu:()=>ek,wBN:()=>oO,Ybt:()=>tc,A14:()=>uo.A1,o2o:()=>uo.o2,hHg:()=>e0.hH,CDb:()=>oF,BpQ:()=>eb,gLn:()=>ui.gL,Bnh:()=>aq.Bn,oIl:()=>iX,uVo:()=>eX,Ie6:()=>i4,mKE:()=>c,dWc:()=>sH,CM3:()=>ui.CM,SMJ:()=>e0.SM,lcp:()=>ts,ivi:()=>tE,dIg:()=>eH,jmZ:()=>ui.jm,sD1:()=>tj,ymi:()=>eJ,Kgy:()=>uo.Kg,ESx:()=>aH.ES,wLo:()=>oB,vy4:()=>n4,Et2:()=>f.Et,xdz:()=>j,Y5n:()=>tM.EditFormModel,BgT:()=>ll,S0L:()=>P,zTu:()=>dh,qtW:()=>rr,Ni4:()=>ej,Mf0:()=>t$,khg:()=>lC,S5n:()=>n2,k9Q:()=>am,Q7G:()=>ui.Q7,mw3:()=>su,D2p:()=>dw,mp5:()=>a7,LaP:()=>eo,eDQ:()=>uo.eD,qJ3:()=>al,s5y:()=>A,ql0:()=>tR,dWg:()=>rT,e7h:()=>lh,ZjK:()=>tx,w5F:()=>B,C9C:()=>ui.C9,aqk:()=>R,JUj:()=>td.JU,udY:()=>l4,Vrl:()=>aN,t4X:()=>ra,JgE:()=>tC,kbf:()=>sa,fLT:()=>eN.fL,HZo:()=>e0.HZ,LbM:()=>aL,oLV:()=>ed.o,T6P:()=>eS,KHY:()=>oR,WuM:()=>dI,zgg:()=>en.z,Hwd:()=>un.H,Evi:()=>uo.Ev,Qb_:()=>uo.Qb,AV5:()=>iW,cEK:()=>G,XCP:()=>aH.XC,pVr:()=>rh});var o={};l.r(o),l.d(o,{connectFields:()=>oM,customizeFilterRender:()=>oY,defaultOperator:()=>oF,operatorComponentProps:()=>oR});var n={};l.r(n),l.d(n,{ActionGroupModel:()=>j,ActionModel:()=>P,ActionSceneEnum:()=>A,ActionWithoutPermission:()=>C,AddChildActionModel:()=>ts,AddNewActionModel:()=>eT,AssignFormGridModel:()=>tp,AssignFormItemModel:()=>tT,AssignFormModel:()=>tu,AssociationFieldGroupModel:()=>D,AssociationFieldModel:()=>tV,BasePageTabModel:()=>eb,BlockGridModel:()=>eo,BlockModel:()=>en.z,BlockSceneEnum:()=>en.P,BulkDeleteActionModel:()=>ej,CascadeSelectFieldModel:()=>iN,CascadeSelectInnerFieldModel:()=>iE,CascadeSelectListFieldModel:()=>iB,CheckboxFieldModel:()=>rl,CheckboxGroupFieldModel:()=>ro,ChildPageModel:()=>eh,ChildPageTabModel:()=>eM,ClickableFieldModel:()=>iw,CollectionActionGroupModel:()=>I,CollectionActionModel:()=>ei,CollectionBlockModel:()=>er.t,CollectionSelectorFieldModel:()=>ri,ColorFieldModel:()=>ra,CommonItemModel:()=>ea,CreateContent:()=>t7,CreateFormModel:()=>oB,CustomWidth:()=>nt,DataBlockModel:()=>es.R,DateOnlyFieldModel:()=>rm,DateOnlyFilterFieldModel:()=>lp,DateOnlyPicker:()=>rp,DateTimeFilterFieldModel:()=>lu,DateTimeNoTzFieldModel:()=>rf,DateTimeNoTzFilterFieldModel:()=>lh,DateTimeNoTzPicker:()=>rh,DateTimeTzFieldModel:()=>r_,DateTimeTzFilterFieldModel:()=>lg,DateTimeTzPicker:()=>ry,DeleteActionModel:()=>eI,DetailsAssociationFieldGroupModel:()=>tj,DetailsBlockModel:()=>tY,DetailsCustomItemModel:()=>tE,DetailsGridModel:()=>tR,DetailsItemModel:()=>tx,DetailsJSFieldItemModel:()=>tq,DisplayCheckboxFieldModel:()=>aO,DisplayColorFieldModel:()=>ah,DisplayDateTimeFieldModel:()=>af,DisplayEnumFieldModel:()=>ay,DisplayHtmlFieldModel:()=>ab,DisplayIconFieldModel:()=>ax,DisplayJSONFieldModel:()=>aS,DisplayNumberFieldModel:()=>aL,DisplayPasswordFieldModel:()=>aD,DisplayPercentFieldModel:()=>aE,DisplaySubItemFieldModel:()=>ad,DisplaySubListFieldModel:()=>am,DisplaySubTableFieldModel:()=>as,DisplayTextFieldModel:()=>aR,DisplayTimeFieldModel:()=>aB,DisplayTitleFieldModel:()=>ao,DisplayURLFieldModel:()=>aN,DividerItemModel:()=>r3,EditActionModel:()=>eL,EditFormContent:()=>iW,EditFormModel:()=>tM.EditFormModel,ExpandCollapseActionModel:()=>ti,FieldDeletePlaceholder:()=>o7,FieldModel:()=>ed.o,FieldModelSelect:()=>lC,FieldOperatorSelect:()=>lz,FilterActionModel:()=>eD,FilterBlockModel:()=>eu,FilterFormActionGroupModel:()=>l3,FilterFormActionModel:()=>l8,FilterFormBlockModel:()=>oi,FilterFormCollapseActionModel:()=>os,FilterFormCustomFieldModel:()=>lJ,FilterFormCustomItemModel:()=>lK,FilterFormCustomRecordSelectFieldModel:()=>l4,FilterFormFieldModel:()=>t$,FilterFormGridModel:()=>oy,FilterFormItemModel:()=>ov,FilterFormJSActionModel:()=>o_,FilterFormRecordSelectFieldModel:()=>ls,FilterFormResetActionModel:()=>ob,FilterFormSubmitActionModel:()=>ox,FilterManager:()=>O,FormActionGroupModel:()=>ez,FormActionModel:()=>e$,FormAssociationFieldGroupModel:()=>oV,FormAssociationItemModel:()=>oW,FormBlockContent:()=>td.JU,FormBlockModel:()=>td.F4,FormComponent:()=>td.s2,FormCustomItemModel:()=>oO,FormGridModel:()=>tc,FormItemModel:()=>tC,FormJSFieldItemModel:()=>oH,FormModel:()=>td.mO,FormSubmitActionModel:()=>eV,GRID_FLOW_KEY:()=>G,GRID_STEP:()=>W,GridModel:()=>X,IconFieldModel:()=>rw,InputFieldModel:()=>oA.m,InputNumberField:()=>rA,JSActionModel:()=>eO,JSBlockModel:()=>oQ,JSCollectionActionModel:()=>eH,JSColumnModel:()=>nO,JSEditableFieldModel:()=>r8,JSFieldModel:()=>r2,JSFormActionModel:()=>oq,JSItemActionModel:()=>eJ,JSItemModel:()=>al,JSRecordActionModel:()=>eX,JsonFieldModel:()=>rF,JsonInput:()=>rk,LinkActionModel:()=>tn,MainPageModel:()=>ev,MarkdownItemModel:()=>at,NBColorPicker:()=>rr,NumberFieldModel:()=>rP,ObjectNester:()=>ih,PageModel:()=>em,PageTabModel:()=>ew,PasswordFieldModel:()=>rT,PercentFieldModel:()=>rY,PercentInput:()=>rL,PluginSettingsTopbarActionModel:()=>aH.ES,PopupActionModel:()=>eC,PopupCollectionActionModel:()=>eQ,PopupSubTableActionGroupModel:()=>i8,PopupSubTableActionsColumnModel:()=>i9,PopupSubTableEditActionModel:()=>iX,PopupSubTableFieldModel:()=>i5,PopupSubTableFormActionGroupModel:()=>eG,PopupSubTableFormModel:()=>i7,PopupSubTableFormSubmitActionModel:()=>eU,PopupSubTableRemoveActionModel:()=>i4,QuickEditFormModel:()=>o$,RadioGroupFieldModel:()=>rD,RecordActionGroupModel:()=>L,RecordActionModel:()=>eA,RecordPickerContent:()=>n4,RecordPickerFieldModel:()=>n3,RecordSelectFieldModel:()=>ll,RefreshActionModel:()=>eZ,RichTextField:()=>rV,RichTextFieldModel:()=>rz,RootPageModel:()=>eS,RootPageTabModel:()=>ex,RouteModel:()=>eP.j,SelectFieldModel:()=>rU,SourceCascader:()=>lU,SubFormFieldModel:()=>ig,SubFormListFieldModel:()=>iy,SubPageModel:()=>ek,SubTableColumnModel:()=>ia,SubTableFieldModel:()=>ic,SubTableRecordAction:()=>iJ,TableActionsColumnModel:()=>na,TableAssociationFieldGroupModel:()=>ns,TableBlockModel:()=>nL,TableColumnModel:()=>nl,TableCustomColumnModel:()=>no,TableJSFieldItemModel:()=>nB,TableSelectModel:()=>nN,TextareaFieldModel:()=>rG,TimeFieldModel:()=>rQ,TopbarActionModel:()=>aH.k9,UIEditorTopbarActionModel:()=>aH.h2,USER_CENTER_ACTION_ID:()=>aq.Bn,UnitConversion:()=>aY,UpdateRecordActionModel:()=>e3,UserCenterActionItemModel:()=>aq.ng,UserCenterItemModel:()=>aq.np,UserCenterSelectItemModel:()=>aq.FK,UserCenterTextItemModel:()=>aq.ys,UserCenterTopbarActionModel:()=>aq.cc,VariableFieldFormModel:()=>r0,ViewActionModel:()=>e6,buildDisplayPathFromValue:()=>iT,buildRecordPickerParentItemContext:()=>n0,buildRecordPickerPopupContextInputArgs:()=>n2,collectAssociationHydrationCandidates:()=>t3,collectCascadeHydrationCandidate:()=>iA,connectFields:()=>oM,customizeFilterRender:()=>oY,defaultOperator:()=>oF,findOptionPathByTk:()=>ij,formatNumber:()=>aj,getAllDataModels:()=>B,getDefaultOperator:()=>R,getDetailsItemValue:()=>t_,getDisplayNumber:()=>aI,getTopbarPluginSettingsItems:()=>aH.XC,getValueWithIndex:()=>ty,injectRecordPickerPopupContext:()=>n1,isFilterValueEmpty:()=>N,joinUrlSearch:()=>te,markCascadeHydrationDone:()=>iP,operatorComponentProps:()=>oR,recalculateGridSizes:()=>Z,resolveCustomFieldOperatorList:()=>lq,resolveDefaultCustomFieldOperator:()=>l$,toOperatorSelectOptions:()=>lV,transformNestedData:()=>ix,transformRowsToSingleColumn:()=>Q});var i={};l.r(i),l.d(i,{aclCheck:()=>sf,aclCheckRefresh:()=>sb,actionLinkageRules:()=>dx,afterSuccess:()=>c,blockHeight:()=>sG,blockLinkageRules:()=>db,confirm:()=>p,customVariable:()=>a2,dataLoadingMode:()=>sa,dataScope:()=>g,dateTimeFormat:()=>sn,detailsFieldLinkageRules:()=>dS,displayFieldComponent:()=>sp,fieldComponent:()=>sm,fieldLinkageRules:()=>dM,filterFormDefaultValues:()=>s$,fixed:()=>sw,formAssignRules:()=>sH,layout:()=>sd,linkageAssignField:()=>dm,linkageRulesRefresh:()=>sV,linkageRunjs:()=>df,linkageSetActionProps:()=>dl,linkageSetBlockProps:()=>dt,linkageSetDetailsFieldProps:()=>dr,linkageSetFieldProps:()=>dn,navigateToURL:()=>a1,numberFormat:()=>dA,openView:()=>aU,overflowMode:()=>dF,pattern:()=>sx,refreshTargetBlocks:()=>a6,renderMode:()=>ss,required:()=>su,runjs:()=>aG,setTargetDataScope:()=>a7,showMessage:()=>aX,showNotification:()=>a0,sortingRule:()=>sr,subFormFieldLinkageRules:()=>dw,subFormLinkageAssignField:()=>dh,subFormLinkageSetFieldProps:()=>di,titleField:()=>so,validation:()=>sM});var r=l(504),a=l(6305),s=l(1357),d=l(3526),u=l(4244);let c=(0,r.defineAction)({name:"afterSuccess",title:(0,r.tExpr)("After successful submission"),uiSchema:{successMessage:{type:"string",title:(0,r.tExpr)("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea"},manualClose:{type:"boolean",title:(0,r.tExpr)("Message popup close method"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,r.tExpr)("Automatic close"),value:!1},{label:(0,r.tExpr)("Manually close"),value:!0}]},actionAfterSuccess:{type:"string",title:(0,r.tExpr)("Action after successful submission"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:(0,r.tExpr)("Stay on the current popup or page"),value:"stay"},{label:(0,r.tExpr)("Return to the previous popup or page"),value:"previous"},{label:(0,r.tExpr)("Close popup and redirect to"),value:"redirect"}]},redirectTo:{type:"string",title:(0,r.tExpr)("Link"),"x-decorator":"FormItem","x-component":u.n,"x-reactions":{dependencies:["actionAfterSuccess"],fulfill:{state:{visible:"{{$deps[0]==='redirect'}}"}}}}},defaultParams:{successMessage:(0,r.tExpr)("Saved successfully"),manualClose:!1,actionAfterSuccess:"previous"},async handler(e,t){let{successMessage:l,manualClose:o=!1,actionAfterSuccess:n="previous",redirectTo:i}=t;"previous"===n&&e.view&&e.view.close();let r=t=>{if(e.engine){let t=e.engine;for(;t.nextEngine;)t=t.nextEngine;let l=[],o=t;for(;o;)l.push(o),o=o.previousEngine;for(let e of l)e.destroyView()}e.router.navigate(t)},a=e=>{if((0,d.isURL)(e)){window.location.href=e;return}r(e)};if(l){let t=e.t(l);if(o)return void await e.modal.success({title:t,onOk:async()=>{"redirect"===n&&i&&a(i)}});e.message.success(t)}"redirect"===n&&i&&a(i)}}),p=(0,r.defineAction)({name:"confirm",title:(0,r.tExpr)("Confirmation"),uiSchema:{enable:{type:"boolean",title:(0,r.tExpr)("Enable secondary confirmation"),"x-decorator":"FormItem","x-component":"Switch"},title:{type:"string",title:(0,r.tExpr)("Title"),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:2}},content:{type:"string",title:(0,r.tExpr)("Content"),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:3}}},defaultParams:{enable:!1,title:(0,r.tExpr)("Please Confirm"),content:(0,r.tExpr)("Are you sure you want to perform the action?")},async handler(e,t){t.enable&&(await e.modal.confirm({title:e.t(t.title,{ns:"lm-flow-engine"}),content:e.t(t.content,{ns:"lm-flow-engine"}),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||e.exit())}});var m=l(1178),h=l(1649),f=l(9215);let g=(0,r.defineAction)({name:"dataScope",title:(0,r.tExpr)("Data scope"),uiMode:{type:"dialog",props:{width:800}},uiSchema:{filter:{type:"object","x-decorator":"FormItem","x-component":function(e){let t=(0,r.useFlowSettingsContext)();return(0,m.jsx)(f.I8,{value:e.value,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:t.model,rightAsVariable:!0})})}}},defaultParams:e=>({filter:{logic:"$and",items:[]}}),async handler(e,t){var l;let o=null==(l=e.model)?void 0:l.resource;if(!o)return;let n=(0,r.pruneFilter)((0,d.transformFilter)(t.filter));(0,d.isEmptyFilter)(n)?o.removeFilterGroup(e.model.uid):o.addFilterGroup(e.model.uid,n)}});var v=l(1883),y=l(2600),_=l(2793);function b(e){return(0,m.jsx)(_.Card,{...e,children:(0,m.jsx)(_.Skeleton,{paragraph:{rows:3}})})}function x(e){let{uid:t,...l}=e,o=(0,r.useFlowModelById)(t);return(0,m.jsx)(r.FlowModelRenderer,{model:o,fallback:(0,m.jsx)(b,{style:{margin:(null==o?void 0:o.context.isMobileLayout)?8:null==o?void 0:o.context.themeToken.marginBlock}}),hideRemoveInSettings:!0,showFlowSettings:{showBackground:!1,showBorder:!1},...l})}let M=h.default.memo(e=>{let{pageModelClass:t="ChildPageModel",parentId:l,onModelLoaded:o,defaultTabTitle:n,...i}=e,a=(0,r.useFlowEngine)(),s=(0,r.useFlowViewContext)(),{loading:d,data:u}=(0,v.useRequest)(async()=>{let e={async:!0,parentId:l,subKey:"page",subType:"object",use:t};if("ChildPageModel"===t){var i;e.subModels={tabs:[{use:"ChildPageTabModel",stepParams:{pageTabSettings:{tab:{title:n||(null==(i=a.translate)?void 0:i.call(a,"Details"))}}}}]},e.stepParams={pageSettings:{general:{displayTitle:!1,enableTabs:!0}}}}let r=await a.loadOrCreateModel(e,{skipSave:!a.context.flowSettingsEnabled});return(null==r?void 0:r.uid)&&o&&(r.context.addDelegate(s),r.removeParentDelegate(),o(r.uid,r)),r},{refreshDeps:[l]});return!d&&(null==u?void 0:u.uid)?(0,m.jsx)(x,{uid:u.uid,...i}):(0,m.jsx)(b,{style:{margin:(null==s?void 0:s.isMobileLayout)?8:null==s?void 0:s.themeToken.marginBlock}})});M.displayName="FlowPage";let w=e=>{let{uid:t,parentId:l,subKey:o,...n}=e,i=(0,r.useFlowEngine)(),{loading:a,data:s}=(0,v.useRequest)(async()=>await i.loadModel({uid:t,parentId:l,subKey:o}),{refreshDeps:[t,l,o]});return!a&&(null==s?void 0:s.uid)?(0,m.jsx)(x,{uid:s.uid,...n}):(0,m.jsx)(b,{style:{margin:16}})};var S=l(7583),k=l(5640),F=l(7843);function C(e){let{t}=(0,F.useTranslation)(),l=(0,r.useFlowModel)(),o=l.context.blockModel,n=e.collection||o.collection,i=n.dataSource,a=(0,h.useMemo)(()=>{let e=`${t(i.displayName||i.key)} > `,l=n?`${t(n.title)||n.name||n.tableName} `:"";return`${e}${l}`},[]),{actionName:s}=(null==e?void 0:e.forbidden)||l.forbidden,d=(0,h.useMemo)(()=>t('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:a,actionName:t(S.default.capitalize(s))}).replaceAll(">",">"),[s,a,t]);return(0,m.jsx)(_.Tooltip,{title:e.message||d,children:e.children})}let A={collection:"collection",record:"record",all:["collection","record"],both:["collection","record"]};class P extends r.FlowModel{static _getScene(){return S.default.castArray(this.scene||[])}static _isScene(e){return this._getScene().includes(e)}getAclActionName(){return null}onInit(e){super.onInit(e),this.context.defineProperty("actionName",{get:()=>this.getAclActionName(),cache:!1})}getInputArgs(){let e={},t=[];if(this.context.resource){let l=this.context.resource.getSourceId();l&&(e.sourceId=l,t.push("sourceId"))}if(this.context.collection&&this.context.record){let l=this.context.collection.getFilterByTK(this.context.record);l&&(e.filterByTk=l,t.push("filterByTk"))}return t.length&&(e.defaultInputKeys=t),e}onClick(e){this.dispatchEvent("click",{event:e,...this.getInputArgs()},{debounce:!0})}getTitle(){return this.props.title}getIcon(){return this.props.icon}renderButton(){let e=this.props,t=this.getIcon()?(0,m.jsx)(k.In,{type:this.getIcon()}):void 0;return(0,m.jsx)(_.Button,{...e,onClick:this.onClick.bind(this),icon:t,children:e.children||this.getTitle()})}render(){return this.props.tooltip?(0,m.jsx)(_.Tooltip,{title:this.props.tooltip,children:this.renderButton()}):this.renderButton()}renderHiddenInConfig(){let e=this.props,t=this.getIcon()?(0,m.jsx)(k.In,{type:this.getIcon()}):void 0;return this.forbidden?(0,m.jsx)(C,{children:(0,m.jsx)(_.Button,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})}):(0,m.jsx)(_.Tooltip,{title:this.context.t("The button is hidden and only visible when the UI Editor is active"),children:(0,m.jsx)(_.Button,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})})}constructor(...e){super(...e),this.defaultProps={type:"default",title:(0,r.tExpr)("Action")},this.enableEditTooltip=!0,this.enableEditTitle=!0,this.enableEditIcon=!0,this.enableEditType=!0,this.enableEditDanger=!0,this.enableEditColor=!1}}var T=l(8481);class j extends r.FlowModel{static getAllParentClasses(){let e=[],t=this;for(;t&&t!==Object;)(null==(t=Object.getPrototypeOf(t))?void 0:t.currentModels)&&e.push(t);return e}static get currentModels(){return Object.prototype.hasOwnProperty.call(this,"_models")&&this._models||(this._models=new Map),this._models}static get models(){let e=new Map;for(let t of this.getAllParentClasses())for(let[l,o]of t.currentModels)e.set(l,o);for(let[t,l]of this.currentModels)e.set(t,l);return e}static registerActionModels(e){for(let[t,l]of Object.entries(e))Object.defineProperty(l,"name",{value:t}),this.currentModels.set(t,l)}static isActionModelVisible(e,t){var l;let o=t.collection||(null==(l=t.blockModel)?void 0:l.collection),n=(0,T.GX)(e);return(0,T.F3)(o,n)}static async defineChildren(e){let t=this.baseClass?await (0,r.buildSubModelItems)(this.baseClass)(e):[],l=[],o=t.filter(t=>{let l=e.engine.getModelClass(t.useModel);return!!this.isActionModelVisible(l,e)&&(!this.scene||l._isScene(this.scene))});for(let[t,n]of this.models){if(!this.isActionModelVisible(n,e)||o.find(e=>e.useModel===n.name))continue;let t=await (0,r.buildSubModelItem)(n,e);t&&l.push(t)}return S.default.sortBy([...o,...l],"sort")}}class I extends j{}I.baseClass=P,I.scene=A.collection;class L extends j{}L.baseClass=P,L.scene=A.record;var Y=l(2542);P.registerFlow({key:"buttonSettings",title:(0,r.tExpr)("Button settings"),sort:-999,steps:{general:{title:(0,r.tExpr)("Edit button"),uiSchema:e=>({title:e.model.enableEditTitle?{"x-decorator":"FormItem","x-component":"Input",title:(0,r.tExpr)("Button title")}:void 0,tooltip:e.model.enableEditTooltip?{"x-decorator":"FormItem","x-component":"Input",title:(0,r.tExpr)("Button tooltip")}:void 0,icon:e.model.enableEditIcon?{"x-decorator":"FormItem","x-component":"IconPicker",title:(0,r.tExpr)("Button icon")}:void 0,type:e.model.enableEditType?{"x-decorator":"FormItem","x-component":"Radio.Group",title:(0,r.tExpr)("Button type"),enum:[{value:"default",label:'{{t("Default")}}'},{value:"primary",label:'{{t("Primary")}}'},{value:"dashed",label:'{{t("Dashed")}}'},{value:"link",label:'{{t("Link")}}'},{value:"text",label:'{{t("Text")}}'}]}:void 0,danger:e.model.enableEditDanger?{"x-decorator":"FormItem","x-component":"Switch",title:(0,r.tExpr)("Danger action")}:void 0,color:e.model.enableEditColor?{"x-decorator":"FormItem","x-component":a.sk,title:(0,r.tExpr)("Color")}:void 0}),defaultParams:e=>e.model.defaultProps,handler(e,t){let{title:l,tooltip:o,...n}=t;e.model.setProps({title:e.t(l,{ns:"lm-flow-engine"}),tooltip:e.t(o,{ns:"lm-flow-engine"}),...n})}},linkageRules:{use:"actionLinkageRules"}}}),P.registerFlow({key:"buttonAclSettings",steps:{aclCheck:{use:"aclCheck"}}}),P.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh"},linkageRulesRefresh:{use:"linkageRulesRefresh",defaultParams:{actionName:"actionLinkageRules",flowKey:"buttonSettings",stepKey:"linkageRules"}}}}),P.registerEvents({click:{title:(0,r.tExpr)("Click"),name:"click",uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":Y.H}},handler:Y.b}});class D extends r.FlowModel{static defineChildren(e){let t=this.itemModelName,l=function(o){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return o.getToOneAssociationFields().map(o=>{let i=n?`${n}.${o.name}`:o.name;return o.targetCollection?{key:`${i}-assocationField`,label:o.title,children:()=>[{key:`${i}-children-collectionField`,label:e.t("Display fields"),type:"group",children:o.targetCollection.getFields().map(l=>{let o=`${i}.${l.name}`,n=r.DisplayItemModel.getDefaultBindingByField(e,l,{fallbackToTargetTitleField:!0});if(!n)return;let a=n.modelName;return{key:`c-${i}.${l.name}`,label:l.title,useModel:t,toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===o},createModelOptions:{stepParams:{fieldSettings:{init:{dataSourceKey:e.collection.dataSourceKey,collectionName:e.prefixFieldPath?e.blockModel.context.collection.name:e.collection.name,fieldPath:o,associationPathName:i}}},subModels:{field:{use:a}}}}}).filter(Boolean)},{key:`${i}-children-associationField`,label:"Display association fields",type:"group",children:(l(o.targetCollection,i)||[]).filter(Boolean)}]}:void console.error(`AssociationFieldGroupModel: target collection ${o.target} not found for field ${o.name}`)}).filter(Boolean)};return l(e.collection,e.prefixFieldPath)}}D.itemModelName="DetailsItemModel",D.define({label:'{{t("Display fields")}}'});var E=l(2113);function R(e){var t,l,o,n,i,r;return e.operator||(null==(t=e.getStepParams("filterFormItemSettings","defaultOperator"))?void 0:t.value)||(null==(l=e.subModels.field)?void 0:l.operator)||(null==(r=e.collectionField)||null==(i=r.filterable)||null==(n=i.operators)||null==(o=n[0])?void 0:o.value)||"$includes"}function N(e){return!!(null==e||"string"==typeof e&&""===e.trim()||Array.isArray(e)&&0===e.filter(e=>null!=e&&("string"!=typeof e||""!==e.trim())).length)||"object"==typeof e&&e.constructor===Object&&0===Object.keys(e).length}function B(e){return e.filterSubModels("items",e=>{var t;return!!(null==(t=e.resource)?void 0:t.supportsFilter)})}class O{async saveFilterConfigs(){await this.gridModel.saveStepParams()}getFilterConfigs(){return this.filterConfigs}getConnectFieldsConfig(e){let t=this.filterConfigs.filter(t=>t.filterId===e);if(0!==t.length)return{targets:t.map(e=>({targetId:e.targetId,filterPaths:e.filterPaths}))}}async saveConnectFieldsConfig(e,t){let l=t.targets.map(t=>({filterId:e,targetId:t.targetId,filterPaths:t.filterPaths})),o=this.filterConfigs.filter(t=>t.filterId!==e);this.filterConfigs=[],this.filterConfigs.push(...o,...l),await this.saveFilterConfigs()}async addFilterConfig(e){if(!e.filterId||!e.targetId)return void console.error("FilterConfig must have filterId, targetId, and operator");if(!Array.isArray(e.filterPaths)||0===e.filterPaths.length)return void console.error("FilterConfig must have non-empty filterPaths array");let t=this.filterConfigs.findIndex(t=>t.filterId===e.filterId&&t.targetId===e.targetId);t>=0?this.filterConfigs[t]={...e}:this.filterConfigs.push({...e}),await this.saveFilterConfigs()}async removeFilterConfig(e){let{filterId:t,targetId:l,persist:o=!0}=e;if(!t&&!l)return console.error("At least one of filterId or targetId must be provided"),0;let n=this.filterConfigs.length;this.filterConfigs=this.filterConfigs.filter(e=>t&&l?e.filterId!==t||e.targetId!==l:t?e.filterId!==t:!l||e.targetId!==l);let i=n-this.filterConfigs.length;return i>0&&o&&await this.saveFilterConfigs(),i}bindToTarget(e){if(!e||"string"!=typeof e)return void console.error("[NocoBase]: targetId must be a non-empty string");let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`[NocoBase]: Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.addFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with addFilterGroup method`);if("function"!=typeof t.resource.removeFilterGroup)return void console.error(`[NocoBase]: Target model with uid "${e}" does not have a valid resource with removeFilterGroup method`);let l=this.filterConfigs.filter(t=>t.targetId===e);if(0===l.length)return;let o=t;l.forEach(e=>{let l=this.gridModel.flowEngine.getModel(e.filterId);if(!l)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" not found`);if(!l.getFilterValue)return void console.error(`[NocoBase]: Filter model with uid "${e.filterId}" does not have getFilterValue method`);let n=l.getFilterValue();if(N(n)){try{t.resource.removeFilterGroup(e.filterId),o.setFilterActive(e.filterId,!1)}catch(e){console.error(`[NocoBase]: Failed to remove filter configuration from target model: ${e.message}`)}return}o.setFilterActive(e.filterId,!0);let i=e.filterPaths.map(t=>({path:t,operator:e.operator||R(l),value:n}));try{if(1===i.length)t.resource.addFilterGroup(e.filterId,new r.FilterItem({path:i[0].path,operator:i[0].operator,value:i[0].value}));else if(i.length>1){let l={logic:"$or",items:i};t.resource.addFilterGroup(e.filterId,new r.FilterGroup(l))}}catch(e){console.error(`Failed to bind filter configuration to target model: ${e.message}`);return}})}unbindFromTarget(e){if(!e||"string"!=typeof e)return void console.error("targetId must be a non-empty string");let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.removeFilterGroup)return void console.error(`Target model with uid "${e}" does not have a valid resource with removeFilterGroup method`);let l=this.filterConfigs.filter(t=>t.targetId===e);if(0===l.length)return;let o=t;l.forEach(e=>{try{t.resource.removeFilterGroup(e.filterId),"function"==typeof(null==o?void 0:o.removeFilterSource)&&o.removeFilterSource(e.filterId)}catch(e){console.error(`Failed to unbind filter configuration from target model: ${e.message}`);return}})}async refreshTargetsByFilter(e){if(!e)return void console.error("filterId must be provided");let t=Array.isArray(e)?e:[e];if(0===t.length||t.some(e=>!e||"string"!=typeof e))return void console.error("filterId must be non-empty string(s)");let l=this.filterConfigs.filter(e=>t.includes(e.filterId));if(0===l.length)return;let o=[...new Set(l.map(e=>e.targetId))].map(async e=>{try{this.bindToTarget(e);let t=this.gridModel.flowEngine.getModel(e);if(!t)return void console.error(`Target model with uid "${e}" not found`);if(!t.resource||"function"!=typeof t.resource.refresh)return void console.error(`Target model with uid "${e}" does not have a valid resource with refresh method`);let l=t,o=t.resource,n=l.getDataLoadingMode();if("manual"===n&&!l.hasActiveFilters()){o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1;return}"function"==typeof o.setPage&&o.setPage(1),await o.refresh()}catch(t){console.error(`Failed to refresh target model "${e}": ${t.message}`);return}});await Promise.all(o)}constructor(e,t){this.gridModel=e,this.filterConfigs=t||[]}}var H=l(7404);function q(e){let{rows:t,sizes:l={},renderItem:o,rowGap:n=16,colGap:i=16,dragOverlayRect:r}=e;return 0===Object.keys(t||{}).length?(0,m.jsx)("div",{style:{position:"relative"},"data-grid-empty-container":!0,children:r&&(0,m.jsx)(V,{rect:r})}):(0,m.jsxs)("div",{style:{position:"relative",display:"flex",flexDirection:"column",gap:n},children:[r&&(0,m.jsx)(V,{rect:r}),Object.entries(t).map(e=>{let[t,r]=e,a=r.length,s=l[t]||[],d=s.some(e=>null!=e&&void 0!==e),u=r.map((e,t)=>{if(!d)return 24/a;{let e=s.reduce((e,t)=>e+(t||0),0),l=a-s.filter(Boolean).length,o=l>0?(24-e)/l:0;return s[t]??o}});return(0,m.jsx)(_.Row,{gutter:i,"data-grid-row-id":t,children:r.map((e,l)=>(0,m.jsx)($,{rowKey:t,columnIndex:l,span:u[l],rowGap:n,cell:e,renderItem:o},`${t}:${e.join("|")||"empty"}`))},t)})]})}let $=h.default.memo(function(e){let{rowKey:t,columnIndex:l,span:o,rowGap:n,cell:i,renderItem:a}=e;return(0,m.jsx)(_.Col,{span:o,"data-grid-column-row-id":t,"data-grid-column-index":l,children:(0,m.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:n},children:i.map((e,o)=>e===r.EMPTY_COLUMN_UID?null:(0,m.jsx)("div",{"data-grid-item-row-id":t,"data-grid-column-index":l,"data-grid-item-index":o,"data-grid-item-uid":e,children:a(e)},e))})})});function V(e){let{rect:t}=e,l={position:"absolute",top:t.top,left:t.left,width:t.width,height:t.height,borderRadius:6,pointerEvents:"none",transition:"all 60ms ease-out",zIndex:100},o={column:{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.08)"},"column-edge":{border:"2px solid var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.12)"},"row-gap":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.05)"},"empty-row":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.04)"},"empty-column":{border:"2px dashed var(--colorPrimary)",backgroundColor:"rgba(22, 119, 255, 0.04)"}};return(0,m.jsx)("div",{style:{...l,...o[t.type]}})}$.displayName="GridColumn";var z=l(6920);let K=e=>{let{value:t,onChange:l,rows:o=10,...n}=e,[i,r]=(0,h.useState)(()=>t?JSON.stringify(t,null,2):""),[a,s]=(0,h.useState)(null);(0,h.useEffect)(()=>{r(t?JSON.stringify(t,null,2):"")},[t]);let d=e=>{let t=e.target.value;r(t);try{let e=t.trim()?JSON.parse(t):void 0;s(null),null==l||l(e)}catch(e){s(e.message)}};return(0,m.jsxs)("div",{children:[(0,m.jsx)(_.Input.TextArea,{value:i,autoSize:{minRows:o,maxRows:o+10},onChange:d,...n}),a&&(0,m.jsx)(_.Alert,{type:"error",message:a,showIcon:!0,style:{marginTop:8}})]})},U=(0,z.connect)(K),G="gridSettings",W="grid",J=e=>{if(!e)return null;if("number"==typeof e.clientX&&"number"==typeof e.clientY)return{x:e.clientX,y:e.clientY};if(e.touches&&e.touches.length>0){let t=e.touches[0];return{x:t.clientX,y:t.clientY}}if(e.changedTouches&&e.changedTouches.length>0){let t=e.changedTouches[0];return{x:t.clientX,y:t.clientY}}return null};class X extends r.FlowModel{deriveRowOrder(e,t){let l=[],o=new Set;return(t||Object.keys(e)).forEach(t=>{e[t]&&!o.has(t)&&(l.push(t),o.add(t))}),Object.keys(e).forEach(e=>{o.has(e)||(l.push(e),o.add(e))}),l}normalizeRowsWithOrder(e,t){let l=this.deriveRowOrder(e,t),o={};return l.forEach(t=>{e[t]&&(o[t]=e[t])}),Object.keys(e).forEach(t=>{o[t]||(o[t]=e[t])}),{rows:o,rowOrder:l}}orderSizesByRowOrder(e,t){let l={};return t.forEach(t=>{e[t]&&(l[t]=e[t])}),Object.keys(e).forEach(t=>{l[t]||(l[t]=e[t])}),l}getItemFlowSettings(){return this._memoItemFlowSettings||(this._memoItemFlowSettings={showBackground:!1,showDragHandle:!0,...this.itemFlowSettings}),this._memoItemFlowSettings}onMount(){super.onMount(),this.emitter.on("onSubModelAdded",e=>{if(!e.isNew)return;this.resetRows(!0);let t=(0,r.findModelUidPosition)(e.uid,this.props.rows||{});if(t){let e=S.default.cloneDeep(this.props.sizes||{});e[t.rowId]=[24];let{rowOrder:l}=this.normalizeRowsWithOrder(this.props.rows||{},this.props.rowOrder),o=this.orderSizesByRowOrder(e,l);this.setStepParams(G,W,{rows:this.props.rows||{},sizes:o,rowOrder:l}),this.setProps("sizes",o),this.setProps("rowOrder",l)}}),this.emitter.on("onSubModelDestroyed",e=>{var t,l,o,n;let i=e.uid,a=(0,r.findModelUidPosition)(i,this.props.rows||{});if(this.resetRows(!0),a){let e=this.props.rows||{},t=S.default.cloneDeep(this.props.sizes||{});(null==(o=e[a.rowId])?void 0:o[a.columnIndex])===void 0&&(null==(n=t[a.rowId])||n.splice(a.columnIndex,1)),void 0===e[a.rowId]&&delete t[a.rowId];let{rowOrder:l}=this.normalizeRowsWithOrder(e,this.props.rowOrder),i=this.orderSizesByRowOrder(t,l);this.setStepParams(G,W,{rows:e,sizes:i,rowOrder:l}),this.setProps("sizes",i),this.setProps("rowOrder",l)}null==(t=this.context.filterManager)||t.removeFilterConfig({targetId:i}),null==(l=this.context.filterManager)||l.removeFilterConfig({filterId:i}),this.saveStepParams()}),this.emitter.on("onSubModelMoved",()=>{this.resetRows(!0)}),this.emitter.on("onResizeLeft",e=>{var t;let{resizeDistance:l,model:o}=e,n=(0,r.findModelUidPosition)(o.uid,this.props.rows||{}),i=(null==(t=this.gridContainerRef.current)?void 0:t.clientWidth)||0,{newRows:a,newSizes:s,moveDistance:d}=Z({position:n,direction:"left",resizeDistance:l,prevMoveDistance:this.prevMoveDistance,oldRows:this.props.rows||{},oldSizes:this.props.sizes||{},gutter:this.context.themeToken.marginBlock,gridContainerWidth:i});this.prevMoveDistance=d,this.setProps("rows",a),this.setProps("sizes",s)}),this.emitter.on("onResizeRight",e=>{var t;let{resizeDistance:l,model:o}=e,n=(0,r.findModelUidPosition)(o.uid,this.props.rows||{}),i=(null==(t=this.gridContainerRef.current)?void 0:t.clientWidth)||0,{newRows:a,newSizes:s,moveDistance:d}=Z({position:n,direction:"right",resizeDistance:l,prevMoveDistance:this.prevMoveDistance,oldRows:this.props.rows||{},oldSizes:this.props.sizes||{},gutter:this.context.themeToken.marginBlock,gridContainerWidth:i});this.prevMoveDistance=d,this.setProps("rows",a),this.setProps("sizes",s)}),this.emitter.on("onResizeBottom",e=>{let{resizeDistance:t,model:l}=e}),this.emitter.on("onResizeEnd",()=>{this.prevMoveDistance=0,this.saveGridLayout()})}saveGridLayout(e){let t=(null==e?void 0:e.rows)??this.props.rows??{},l=(null==e?void 0:e.rowOrder)??this.props.rowOrder,{rows:o,rowOrder:n}=this.normalizeRowsWithOrder(t,l),i=this.orderSizesByRowOrder((null==e?void 0:e.sizes)??this.props.sizes??{},n);this.setStepParams(G,W,{rows:o,sizes:i,rowOrder:n}),this.setProps("rowOrder",n),this.saveStepParams()}mergeRowsWithItems(e){let t=this.subModels.items||[];if(!t||0===t.length)return{};let l=new Set(t.map(e=>e.uid));l.add(r.EMPTY_COLUMN_UID);let o=new Set,n={};for(let[t,i]of Object.entries(e)){let e=i.map(e=>S.default.castArray(e).filter(e=>l.has(e))).filter(e=>e.length>0);e.length>0&&(n[t]=e,e.forEach(e=>e.forEach(e=>o.add(e))))}let i=new Set;for(let e of(Object.values(n).forEach(e=>e.forEach(e=>e.forEach(e=>i.add(e)))),t))i.has(e.uid)||(n[(0,H.uid)()]=[[e.uid]]);return n}resetRows(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.getStepParams(G,W)||{},l=this.mergeRowsWithItems(t.rows||{}),{rows:o,rowOrder:n}=this.normalizeRowsWithOrder(l,t.rowOrder),i=this.orderSizesByRowOrder(t.sizes||{},n);this.setStepParams(G,W,{rows:o,sizes:i,rowOrder:n}),e&&(this.setProps("rows",o),this.setProps("sizes",i),this.setProps("rowOrder",n))}computePointerPosition(e){var t;if(!this.dragState)return null;let l=this.dragState.pointerOrigin;if(l)return{x:l.x+e.delta.x,y:l.y+e.delta.y};let o=J(e.activatorEvent);if(o)return this.dragState.pointerOrigin=o,{x:o.x+e.delta.x,y:o.y+e.delta.y};let n=null==(t=e.over)?void 0:t.rect;return n?{x:n.left+n.width/2,y:n.top+n.height/2}:null}getDragContainer(){if(!this.dragState)return this.gridContainerRef.current;let e=this.gridContainerRef.current;return e&&this.dragState.containerEl!==e&&(this.dragState.containerEl=e),this.dragState.containerEl||e}updateLayoutSnapshot(){if(!this.dragState)return;let e=(0,r.buildLayoutSnapshot)({container:this.getDragContainer()});this.dragState.slots=e.slots,this.dragState.containerRect=e.containerRect}scheduleSnapshotRefresh(){this.dragState&&(this.dragState.refreshTimer&&clearTimeout(this.dragState.refreshTimer),this.dragState.refreshTimer=setTimeout(()=>{this.dragState&&(this.dragState.refreshTimer=null,this.updateLayoutSnapshot())},16))}computeOverlayRect(e){var t,l,o;let n=this.dragOverlayConfig,i=e.rect;switch(e.type){case"column":{let l=null==n||null==(t=n.columnInsert)?void 0:t[e.position],o=(null==l?void 0:l.height)??i.height,r=(null==l?void 0:l.offsetTop)??0;return{top:i.top+r,left:i.left,width:i.width,height:o}}case"column-edge":{let t=null==n||null==(l=n.columnEdge)?void 0:l[e.direction],o=(null==t?void 0:t.width)??i.width,r=(null==t?void 0:t.offsetLeft)??0;return{top:i.top,left:i.left+r,width:o,height:i.height}}case"row-gap":{let t=null==n||null==(o=n.rowGap)?void 0:o[e.position],l=(null==t?void 0:t.height)??i.height,r=(null==t?void 0:t.offsetTop)??0;return{top:i.top+r,left:i.left,width:i.width,height:l}}default:return{top:i.top,left:i.left,width:i.width,height:i.height}}}applyPreview(e){if(!this.dragState)return;if(!e){null!==this.dragState.activeSlotKey&&(this.dragState.activeSlotKey=null,this.dragState.previewLayout=void 0,this.setProps("dragOverlayRect",null));return}let t=(0,r.getSlotKey)(e);if(this.dragState.activeSlotKey===t&&this.dragState.previewLayout)return;let l=(0,r.simulateLayoutForSlot)({slot:e,sourceUid:this.dragState.sourceUid,layout:this.dragState.snapshot,generateRowId:H.uid});this.dragState.previewLayout={rows:S.default.cloneDeep(l.rows),sizes:S.default.cloneDeep(l.sizes),rowOrder:S.default.cloneDeep(l.rowOrder)};let o=this.getDragContainer(),n=(null==o?void 0:o.scrollTop)??0,i=(null==o?void 0:o.scrollLeft)??0,a=this.computeOverlayRect(e),s={top:a.top-this.dragState.containerRect.top+n,left:a.left-this.dragState.containerRect.left+i,width:a.width,height:a.height,type:e.type};this.setProps("dragOverlayRect",s),this.dragState.activeSlotKey=t}handleDragStart(e){let t=e.active.id,{rows:l,rowOrder:o}=this.normalizeRowsWithOrder(this.props.rows||{},this.props.rowOrder),n=this.orderSizesByRowOrder(this.props.sizes||{},o);this.dragState={sourceUid:t,snapshot:{rows:S.default.cloneDeep(l),sizes:S.default.cloneDeep(n),rowOrder:o},slots:[],containerEl:this.gridContainerRef.current,containerRect:{top:0,left:0,width:0,height:0},pointerOrigin:J(e.activatorEvent)??void 0,activeSlotKey:null,previewLayout:void 0,refreshTimer:null},this.setProps("dragOverlayRect",null),this.updateLayoutSnapshot(),this.scheduleSnapshotRefresh()}handleDragMove(e){if(!this.dragState)return;this.dragState.slots.length||this.updateLayoutSnapshot();let t=this.computePointerPosition(e);if(!t)return void this.applyPreview(null);let l=(0,r.resolveDropIntent)(t,this.dragState.slots);this.applyPreview(l)}finishDrag(){this.dragState&&(this.dragState.refreshTimer&&clearTimeout(this.dragState.refreshTimer),this.dragState=void 0,this.setProps("dragOverlayRect",null))}handleDragEnd(e){if(!this.dragState)return;let t=this.dragState.previewLayout;t&&(this.setProps("rows",S.default.cloneDeep(t.rows)),this.setProps("sizes",S.default.cloneDeep(t.sizes)),t.rowOrder&&this.setProps("rowOrder",S.default.cloneDeep(t.rowOrder)),this.saveGridLayout(t)),this.finishDrag()}handleDragCancel(e){this.finishDrag()}renderAddSubModelButton(){throw Error("renderAddSubModelButton method must be implemented in subclasses of GridModel")}getVisibleLayout(){var e;let t=this.props.rows||{},l=this.props.sizes||{},o=this.context.isMobileLayout?Q(t):t,n=this.context.isMobileLayout?{}:l,{rows:i,rowOrder:a}=this.normalizeRowsWithOrder(o,this.props.rowOrder),s=this.orderSizesByRowOrder(n,a);if(this.context.flowSettingsEnabled)return{rows:i,sizes:s};let d=(null==(e=this.subModels)?void 0:e.items)||[];if(!d.length)return{rows:o,sizes:n};let u=new Map(d.map(e=>[e.uid,e])),c={},p={};return a.forEach(e=>{let t=i[e],l=s[e]||[],o=[],n=[];t.forEach((e,t)=>{(e=e.filter(e=>{var t;return e!==r.EMPTY_COLUMN_UID&&(null==(t=u.get(e))?void 0:t.hidden)!==!0})).some(e=>{if(e===r.EMPTY_COLUMN_UID)return!1;let t=u.get(e);return!t||!t.hidden})&&(o.push(e),n.push(l[t]))}),o.length>0&&(c[e]=o,n.length>0&&(p[e]=n))}),{rows:c,sizes:p}}render(){let{rows:e,sizes:t}=this.getVisibleLayout(),l=Object.keys(e||{}).length>0;return(0,m.jsxs)(m.Fragment,{children:[l&&(0,m.jsx)(_.Space,{ref:this.gridContainerRef,direction:"vertical",style:{width:"100%",marginBottom:this.props.rowGap},size:this.props.rowGap,children:(0,m.jsx)(r.DndProvider,{onDragStart:this.handleDragStart.bind(this),onDragMove:this.handleDragMove.bind(this),onDragEnd:this.handleDragEnd.bind(this),onDragCancel:this.handleDragCancel.bind(this),children:(0,m.jsx)(q,{rowGap:this.props.rowGap,colGap:this.props.colGap,rows:e,sizes:t,dragOverlayRect:this.props.dragOverlayRect,renderItem:e=>{var t,l,o,n,i;let a=this.flowEngine.getModel(e);if(!a)return this.itemFallback;let s=this.context.fieldKey,d=this.context.fieldIndex,u=this.context.getPropertyOptions("item"),c=null==(t=(l=this.context).getPropertyOptions)?void 0:t.call(l,"record"),p=null==(o=(n=this.context).getPropertyOptions)?void 0:o.call(n,"currentObject"),h=null==d?a:(()=>{let t=a.createFork({},`${s}:${e}`);t.context.defineProperty("fieldIndex",{get:()=>d}),t.context.defineProperty("fieldKey",{get:()=>s}),t.context.defineProperty("record",{get:()=>this.context.record,cache:!1,meta:null==c?void 0:c.meta,resolveOnServer:null==c?void 0:c.resolveOnServer,serverOnlyWhenContextParams:null==c?void 0:c.serverOnlyWhenContextParams}),t.context.defineProperty("currentObject",{get:()=>this.context.currentObject,cache:!1,resolveOnServer:null==p?void 0:p.resolveOnServer,serverOnlyWhenContextParams:null==p?void 0:p.serverOnlyWhenContextParams});let{value:l,...o}=u||{};return t.context.defineProperty("item",{...o,get:()=>this.context.item,cache:!1}),t})();return(0,m.jsx)(r.Droppable,{model:h,children:(0,m.jsx)(r.MemoFlowModelRenderer,{model:h,fallback:a.skeleton||this.itemFallback,showFlowSettings:!!this.context.flowSettingsEnabled&&this.getItemFlowSettings(),showErrorFallback:!0,settingsMenuLevel:(null==h?void 0:h.settingsMenuLevel)??this.itemSettingsMenuLevel,showTitle:!0,extraToolbarItems:this.itemExtraToolbarItems},`${h.uid}:${s}:${(null==h?void 0:h.use)||(null==h||null==(i=h.constructor)?void 0:i.name)||"m"}`)})}})})}),this.context.flowSettingsEnabled&&(0,m.jsx)("div",{style:{marginBottom:16},children:this.renderAddSubModelButton()})]})}constructor(...e){super(...e),this.subModelBaseClass="BlockModel",this.gridContainerRef=h.default.createRef(),this.prevMoveDistance=0,this.itemSettingsMenuLevel=1,this.itemFlowSettings={},this.itemFallback=(0,m.jsx)(b,{}),this.itemExtraToolbarItems=[{key:"drag-handler",component:r.DragHandler,sort:1}]}}function Q(e,t){let l=(null==t?void 0:t.emptyColumnUid)??r.EMPTY_COLUMN_UID,o={};return Object.keys(e).forEach(t=>{e[t].forEach(e=>{let t=e.filter(e=>e!==l);t.length>0&&(o[(0,H.uid)()]=[t])})}),o}function Z(e){var t,l;let{position:o,direction:n,resizeDistance:i,prevMoveDistance:r,oldSizes:a,oldRows:s,gridContainerWidth:d,gutter:u=16,columnCount:c=24}=e,p=S.default.cloneDeep(s),m=S.default.cloneDeep(a),h=Math.floor(i/(d-u*((m[o.rowId]||[]).length-1))*c);if(h===r)return{newRows:p,newSizes:m,moveDistance:h};(t=m)[l=o.rowId]??(t[l]=[c]);let f=m[o.rowId],g=h-r,v="left"===n&&o.columnIndex>0,y="right"===n&&o.columnIndex<f.length-1;if(!v&&!y&&g>0){let e=c-f.reduce((e,t)=>e+t,0);if(e<=0)return{newRows:p,newSizes:m,moveDistance:r};g>e&&(h=r+e,g=e)}if(m[o.rowId][o.columnIndex]+=g,"left"===n&&o.columnIndex>0&&(m[o.rowId][o.columnIndex-1]-=g,0===m[o.rowId][o.columnIndex-1]&&et({rows:p,sizes:m,position:o,direction:"left"})),"left"===n&&0===o.columnIndex){let e=m[o.rowId].slice(1).reduce((e,t)=>e+t,0);m[o.rowId][0]<c-e&&ee({rows:p,sizes:m,position:o,direction:"left"})}if("right"===n&&o.columnIndex<m[o.rowId].length-1&&(m[o.rowId][o.columnIndex+1]-=g,0===m[o.rowId][o.columnIndex+1]&&et({rows:p,sizes:m,position:o,direction:"right"})),"right"===n&&o.columnIndex===m[o.rowId].length-1){let e=m[o.rowId].slice(0,-1).reduce((e,t)=>e+t,0);m[o.rowId][o.columnIndex]<c-e&&ee({rows:p,sizes:m,position:o,direction:"right"})}return{newRows:p,newSizes:m,moveDistance:h}}function ee(e){let{rows:t,sizes:l,position:o,direction:n}=e,i=t[o.rowId]||[],a=l[o.rowId]||[];if("left"===n){let e=i[o.columnIndex-1];if(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID))return;i.splice(o.columnIndex,0,[r.EMPTY_COLUMN_UID]),a.splice(o.columnIndex,0,1)}if("right"===n){let e=i[o.columnIndex+1];if(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID))return;i.splice(o.columnIndex+1,0,[r.EMPTY_COLUMN_UID]),a.splice(o.columnIndex+1,0,1)}}function et(e){let{rows:t,sizes:l,position:o,direction:n}=e,i=t[o.rowId]||[],a=l[o.rowId]||[];if("left"===n){let e=i[o.columnIndex-1];if(!(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID)))return;i.splice(o.columnIndex-1,1),a.splice(o.columnIndex-1,1)}if("right"===n){let e=i[o.columnIndex+1];if(!(null==e?void 0:e.includes(r.EMPTY_COLUMN_UID)))return;i.splice(o.columnIndex+1,1),a.splice(o.columnIndex+1,1)}}X.registerFlow({key:G,steps:{resetRows:{handler(e){e.model.resetRows()}},grid:{uiSchema:{rows:{title:(0,r.tExpr)("Rows"),"x-decorator":"FormItem","x-component":U,"x-component-props":{autoSize:{minRows:10,maxRows:20},description:(0,r.tExpr)("Configure the rows and columns of the grid.")}},sizes:{title:(0,r.tExpr)("Sizes"),"x-decorator":"FormItem","x-component":U,"x-component-props":{rows:5},description:(0,r.tExpr)("Configure the sizes of each row. The value is an array of numbers representing the width of each column in the row.")}},async handler(e,t){let l=e.model.mergeRowsWithItems(t.rows||{}),{rows:o,rowOrder:n}=e.model.normalizeRowsWithOrder(l,t.rowOrder),i=e.model.orderSizesByRowOrder(t.sizes||{},n);e.model.setProps("rows",o),e.model.setProps("sizes",i),e.model.setProps("rowOrder",n)}}}});let el=["JSBlockModel","IframeBlockModel","MarkdownBlockModel"];class eo extends X{onInit(e){super.onInit(e),this.context.defineProperty("blockGridModel",{value:this}),this.context.defineProperty("filterManager",{once:!0,get:()=>new O(this,e.filterManager)})}get subModelBaseClasses(){var e;let t=(null==(e=this.context.view)?void 0:e.inputArgs)??{};return t.collectionName&&!t.filterByTk,["DataBlockModel","FilterBlockModel","BlockModel"]}get filterManager(){return this.context.filterManager}get addBlockItems(){var e,t;if((null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.scene)==="select")return async e=>{let t=await (0,r.buildSubModelGroups)(["DataBlockModel","FilterBlockModel"])(e),l=el.filter(t=>!!e.engine.getModelClass(t)),o=(await Promise.all(l.map(t=>(0,r.buildSubModelItems)(t)(e)))).flat().sort((e,t)=>(e.sort??1e3)-(t.sort??1e3));return o.length>0&&t.push({key:"select-scene-other-blocks",type:"group",label:e.t("Other blocks"),sort:1e3,children:o}),t}}serialize(){let e=super.serialize();return e.filterManager=this.filterManager.getFilterConfigs(),e}renderAddSubModelButton(){let e=this.addBlockItems;return(0,m.jsx)(r.AddSubModelButton,{model:this,subModelKey:"items",items:e,subModelBaseClasses:e?void 0:this.subModelBaseClasses,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.PlusOutlined,{}),"data-flow-add-block":!0,children:this.context.t("Add block")})})}render(){return(0,m.jsx)("div",{className:"nb-block-grid",style:this.context.disableBlockGridPadding?null:{padding:this.context.isMobileLayout?8:this.context.themeToken.marginBlock,paddingBottom:0},children:super.render()})}constructor(...e){super(...e),this.dragOverlayConfig={columnInsert:{before:{offsetTop:-24},after:{offsetTop:24}},columnEdge:{left:{offsetLeft:-5},right:{offsetLeft:6}}}}}eo.registerFlow({key:"blockGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",e.isMobileLayout?12:e.themeToken.marginBlock),e.model.setProps("colGap",e.themeToken.marginBlock)}}}});var en=l(3890);class ei extends P{}ei.define({children:async e=>(await (0,r.buildSubModelItems)(P)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(A.collection))});var er=l(146);class ea extends r.FlowModel{}var es=l(2606),ed=l(6859);class eu extends en.z{}eu.define({hide:!0,label:"Filter blocks"});var ec=l(4829);async function ep(e){var t,l,o,n,i;(null==(l=e.inputArgs)||null==(t=l.dirty)?void 0:t.hasDirtyForms)&&(await e.modal.confirm({title:e.t("Unsaved changes"),content:e.t("Are you sure you don't want to save?"),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||(null==(i=e.inputArgs)||null==(n=i.controller)||null==(o=n.prevent)||o.call(n),e.exitAll()))}class em extends r.FlowModel{getActiveTabKey(){var e,t,l,o;let n=null==(t=this.context.view)||null==(e=t.navigation)?void 0:e.viewParams;return n?n.tabUid||(null==(o=this.getFirstTab())?void 0:o.uid):this.props.tabActiveKey||(null==(l=this.getFirstTab())?void 0:l.uid)}scheduleActiveLifecycleRefresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.dirtyRefreshScheduled||(this.dirtyRefreshScheduled=!0,Promise.resolve().then(()=>{if(this.dirtyRefreshScheduled=!1,this.unmounted||!1===(0,r.getPageActive)(this.context))return;let t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive",e)}).catch(()=>{}))}onMount(){var e,t,l,o,n,i,a,s,d;super.onMount(),this.unmounted=!1,this.setProps("tabActiveKey",null==(e=this.context.view.inputArgs)?void 0:e.tabUid),(null==(t=this.context)?void 0:t.pageInfo)&&(this.context.pageInfo.version="v2"),this.updateDocumentTitle(),this.viewActivatedListener||(this.viewActivatedListener=e=>{let t=this.getActiveTabKey();t&&this.invokeTabModelLifecycleMethod(t,"onActive")},null==(i=this.flowEngine)||null==(n=i.emitter)||null==(o=n.on)||o.call(n,r.VIEW_ACTIVATED_EVENT,this.viewActivatedListener));let u=(0,r.getEmitterViewActivatedVersion)(null==(l=this.flowEngine)?void 0:l.emitter),c=u>0&&u!==this.lastSeenEmitterViewActivatedVersion;if(this.lastSeenEmitterViewActivatedVersion=u,c&&!1!==(0,r.getPageActive)(this.context)){let e=this.getActiveTabKey();e&&this.invokeTabModelLifecycleMethod(e,"onActive")}this.dataSourceDirtyListener||(this.dataSourceDirtyListener=e=>{this.scheduleActiveLifecycleRefresh()},null==(d=this.flowEngine)||null==(s=d.emitter)||null==(a=s.on)||a.call(s,r.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener))}onUnmount(){var e,t,l,o,n,i;this.unmounted=!0,this.viewActivatedListener&&(null==(l=this.flowEngine)||null==(t=l.emitter)||null==(e=t.off)||e.call(t,r.VIEW_ACTIVATED_EVENT,this.viewActivatedListener),this.viewActivatedListener=void 0),this.dataSourceDirtyListener&&(null==(i=this.flowEngine)||null==(n=i.emitter)||null==(o=n.off)||o.call(n,r.DATA_SOURCE_DIRTY_EVENT,this.dataSourceDirtyListener),this.dataSourceDirtyListener=void 0),super.onUnmount()}invokeTabModelLifecycleMethod(e,t){var l,o;let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];"onActive"===t&&(null==(l=this.context)?void 0:l.pageInfo)&&(this.context.pageInfo.version="v2");let i=this.flowEngine.getModel(e);if(i){if(i.context.tabActive){let e=!1!==(0,r.getPageActive)(i.context);i.context.tabActive.value=e&&"onActive"===t}null==(o=i.subModels.grid)||o.mapSubModels("items",e=>{var l;null==(l=e[t])||l.call(e,n)})}"onActive"===t&&this.updateDocumentTitle(e)}async updateDocumentTitle(e){var t,l,o,n,i,a,s,d,u,c,p,m,h,f,g,v;let y=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.unmounted||!1===(0,r.getPageActive)(this.context))return;let _=!!(null==(l=this.context)||null==(t=l.view)?void 0:t.navigation),b=null==(i=this.context)||null==(n=i.view)||null==(o=n.inputArgs)?void 0:o.viewUid,x=null==(d=this.flowEngine)||null==(s=d.context)||null==(a=s.route)?void 0:a.pathname;if(_&&b&&"string"==typeof x){let e=null==(u=(0,r.parsePathnameToViewParams)(x).at(-1))?void 0:u.viewUid;if(e&&e!==b)return}let M=++this.documentTitleUpdateVersion,w=async e=>{if(!e||"string"!=typeof e)return"";try{var t,l;let o=await (null==(t=(l=this.context).resolveJsonTemplate)?void 0:t.call(l,e));return null==o?"":String(o)}catch(t){return e}},S="";if(this.props.enableTabs){let t=e||this.getActiveTabKey(),l=t?this.flowEngine.getModel(t):this.getFirstTab();if(!l&&y<5)return void window.setTimeout(()=>{this.unmounted||M===this.documentTitleUpdateVersion&&this.updateDocumentTitle(t,y+1)},0);S=await w(null==l||null==(m=l.stepParams)||null==(p=m.pageTabSettings)||null==(c=p.tab)?void 0:c.documentTitle)||(null==l||null==(h=l.getTabTitle)?void 0:h.call(l))||""}else S=await w(null==(v=this.stepParams)||null==(g=v.pageSettings)||null==(f=g.general)?void 0:f.documentTitle)||this.props.title||"";M===this.documentTitleUpdateVersion&&"string"==typeof S&&""!==S&&(document.title=S)}mapTabs(){return this.mapSubModels("tabs",e=>!this.context.flowSettingsEnabled&&e.hidden?null:{key:e.uid,label:(0,m.jsx)(r.Droppable,{model:e,children:(0,m.jsx)(r.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!0,showBorder:!1,toolbarPosition:"above",style:{transform:"translateY(8px)"}},extraToolbarItems:[{key:"drag-handler",component:r.DragHandler,sort:1}]})}),children:e.renderChildren()}).filter(Boolean)}getFirstTab(){var e;return null==(e=this.subModels.tabs)?void 0:e[0]}renderFirstTab(){var e;let t=this.getFirstTab();return null==t||null==(e=t.renderChildren)?void 0:e.call(t)}async handleDragEnd(e){throw Error("Method not implemented.")}renderTabs(){var e,t,l,o;let n=(null==(e=this.context.themeToken)?void 0:e.paddingLG)??16,i=void 0!==this.tabBarExtraContent.left?this.tabBarExtraContent.left:(0,m.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:n,height:1}}),a=void 0!==this.tabBarExtraContent.right?this.tabBarExtraContent.right:(0,m.jsx)("span",{style:{display:"inline-flex",marginInlineEnd:n},children:(0,m.jsx)(r.AddSubModelButton,{model:this,subModelKey:"tabs",items:[{key:"blank",label:this.context.t("Blank tab"),createModelOptions:this.createPageTabModelOptions}],children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.PlusOutlined,{}),children:this.context.t("Add tab")})})});return(0,m.jsx)(r.DndProvider,{onDragEnd:this.handleDragEnd.bind(this),children:(0,m.jsx)(_.Tabs,{activeKey:(null==(l=this.context.view)||null==(t=l.navigation)?void 0:t.viewParams)?this.context.view.navigation.viewParams.tabUid||(null==(o=this.getFirstTab())?void 0:o.uid):this.props.tabActiveKey,tabBarStyle:this.props.tabBarStyle,items:this.mapTabs(),onChange:e=>{var t,l;null==(l=this.context.view.navigation)||null==(t=l.changeTo)||t.call(l,{tabUid:e}),this.invokeTabModelLifecycleMethod(e,"onActive"),this.invokeTabModelLifecycleMethod(this.props.tabActiveKey,"onInactive"),this.setProps("tabActiveKey",e)},tabBarExtraContent:{left:i,right:a}})})}render(){let e=this.context.themeToken,t={...this.props.headerStyle};return e&&(t.paddingBlock=e.paddingSM,t.paddingInline=e.paddingLG),this.props.enableTabs&&(t.paddingBottom=0),(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&(0,m.jsx)(ec.PageHeader,{title:this.props.title,style:t}),this.props.enableTabs?this.renderTabs():this.renderFirstTab()]})}constructor(...e){super(...e),this.tabBarExtraContent={},this.lastSeenEmitterViewActivatedVersion=0,this.dirtyRefreshScheduled=!1,this.unmounted=!1,this.documentTitleUpdateVersion=0,this.createPageTabModelOptions=()=>{let e=(0,H.uid)();return{uid:e,use:"RootPageTabModel",props:{route:{parentId:this.props.routeId,type:"tabs",schemaUid:e,tabSchemaName:(0,H.uid)(),params:[],hideInMenu:!1,enableTabs:!1}}}}}}em.registerEvents({close:{title:(0,r.tExpr)("Close"),name:"close",hideInSettings(e){var t;return!!(null==(t=e.view)?void 0:t.preventClose)},uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":Y.H}},handler:Y.b}}),em.registerFlow({key:"closeGuard",title:(0,r.tExpr)("Close guard"),on:"close",steps:{confirmUnsavedChanges:{title:(0,r.tExpr)("Unsaved changes confirmation"),handler:ep}}}),em.registerFlow({key:"pageSettings",title:(0,r.tExpr)("Page settings"),steps:{general:{title:(0,r.tExpr)("Edit page"),uiSchema:{title:{type:"string",title:(0,r.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},documentTitle:{type:"string",title:(0,r.tExpr)("Document title"),description:(0,r.tExpr)("Used as the browser tab title when tabs are disabled. Supports variables. Leave empty to use Page title."),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:1,maxRows:6}},displayTitle:{type:"boolean",title:(0,r.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"},enableTabs:{type:"boolean",title:(0,r.tExpr)("Enable tabs"),"x-decorator":"FormItem","x-component":"Switch"}},defaultParams:e=>({displayTitle:!0,enableTabs:!1}),async handler(e,t){if(e.model.setProps("displayTitle",t.displayTitle),e.model.context.closable)e.model.setProps("title",e.t(t.title,{ns:"lm-desktop-routes"}));else{var l,o;let n=null==(o=e.model.context)||null==(l=o.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||n,{ns:"lm-desktop-routes"}))}e.model.setProps("enableTabs",t.enableTabs),"embed"===e.view.type?(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgContainer)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgContainer)",marginBottom:0})):(e.model.setProps("headerStyle",{backgroundColor:"var(--colorBgLayout)"}),e.model.setProps("tabBarStyle",{backgroundColor:"var(--colorBgLayout)",marginBottom:0})),e.model.updateDocumentTitle()}}}});class eh extends em{renderBackButtonWhenTabsDisabled(){var e,t,l;if((null==(t=this.context)||null==(e=t.view)?void 0:e.type)!=="embed")return null;let o=null==(l=this.context)?void 0:l.themeToken,n={...this.props.tabBarStyle,paddingBlock:(null==o?void 0:o.paddingXS)??8};return(0,m.jsx)("div",{style:n,children:(0,m.jsx)(ef,{renderSpacerWhenNoBack:!1})})}async handleDragEnd(e){var t,l;if(!(null==(t=e.active)?void 0:t.id)||!(null==(l=e.over)?void 0:l.id))throw Error("Invalid drag event");this.flowEngine.moveModel(e.active.id,e.over.id)}render(){return(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&this.props.title&&(0,m.jsx)(ec.PageHeader,{title:this.props.title,style:this.props.headerStyle}),this.props.enableTabs?this.renderTabs():(0,m.jsxs)(m.Fragment,{children:[this.renderBackButtonWhenTabsDisabled(),this.renderFirstTab()]})]})}constructor(...e){super(...e),this.tabBarExtraContent={left:(0,m.jsx)(ef,{})},this.createPageTabModelOptions=()=>({use:"ChildPageTabModel"})}}let ef=e=>{let{renderSpacerWhenNoBack:t=!0}=e,l=(0,r.useFlowContext)(),o=l.themeToken,n=32,i=(null==o?void 0:o.paddingLG)??16,a=(0,h.useMemo)(()=>({width:"auto",height:"auto",lineHeight:1,padding:o.paddingXS,marginLeft:o.paddingLG,marginRight:n-o.paddingXS}),[o.paddingLG,o.paddingXS]);return"embed"!==l.view.type?t?(0,m.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:i,height:1}}):null:(0,m.jsx)(_.Button,{"aria-label":"back-button",type:"text",icon:(0,m.jsx)(E.ArrowLeftOutlined,{}),style:a,onClick:l.view.close})};class eg extends r.FlowModel{}eg.registerFlow({key:"pageSettings",title:(0,r.tExpr)("Page settings"),steps:{general:{title:(0,r.tExpr)("General"),uiSchema:{title:{type:"string",title:(0,r.tExpr)("Page title"),"x-decorator":"FormItem","x-component":"Input","x-reactions":{dependencies:["displayTitle"],fulfill:{state:{visible:"{{$deps[0]}}"}}}},displayTitle:{type:"boolean",title:(0,r.tExpr)("Display page title"),"x-decorator":"FormItem","x-component":"Switch"}},defaultParams:e=>({displayTitle:!0,enableTabs:!1}),async handler(e,t){if(e.model.setProps("displayTitle",t.displayTitle),e.model.context.closable)e.model.setProps("title",t.title?e.t(t.title):null);else{var l,o;let n=null==(o=e.model.context)||null==(l=o.currentRoute)?void 0:l.title;e.model.setProps("title",e.t(t.title||n))}e.model.setProps("enableTabs",t.enableTabs),e.model.context.closable?(e.model.setProps("headerStyle",{backgroundColor:e.themeToken.colorBgContainer}),e.model.setProps("tabBarStyle",{backgroundColor:e.themeToken.colorBgLayout,paddingInline:16,marginBottom:0})):(e.model.setProps("headerStyle",{backgroundColor:e.themeToken.colorBgContainer}),e.model.setProps("tabBarStyle",{backgroundColor:e.themeToken.colorBgContainer,paddingInline:16,marginBottom:0}))}}}});class ev extends eg{renderFirstTab(){var e;return(0,m.jsx)(r.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&(0,m.jsx)(ec.PageHeader,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}function ey(e){let{ctx:t,options:l}=e,{data:o,loading:n}=(0,v.useRequest)(async()=>{let e=await t.engine.loadOrCreateModel(l,{skipSave:!t.flowSettingsEnabled});return e.context.addDelegate(t),e},{refreshDeps:[t.model.uid]}),i=(null==t?void 0:t.isMobileLayout)?8:null==t?void 0:t.themeToken.marginBlock;return!n&&(null==o?void 0:o.uid)?(0,m.jsx)(r.FlowModelRenderer,{model:o,fallback:(0,m.jsx)(b,{style:{margin:i}})}):(0,m.jsx)(b,{style:{margin:i}})}function e_(e){return Array.isArray(e)?e.find(e=>!!e&&"object"==typeof e):e&&"object"==typeof e?e:void 0}class eb extends r.FlowModel{onInit(e){super.onInit(e),this.context.defineProperty("tabActive",{value:r.observable.ref(!0),info:{description:"Whether current tab is active (observable.ref).",detail:"observable.ref<boolean>"}})}getTabTitle(){var e,t;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Untitled",o=this.context.t(l,{ns:"client"});return this.context.t(null==(t=this.stepParams.pageTabSettings)||null==(e=t.tab)?void 0:e.title,{ns:"lm-desktop-routes"})||o}getTabIcon(){var e,t;return null==(t=this.stepParams.pageTabSettings)||null==(e=t.tab)?void 0:e.icon}renderChildren(){return null}renderHiddenInConfig(){return(0,m.jsxs)("span",{style:{display:"inline-block",opacity:.5},children:[(0,m.jsx)(a.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}render(){return(0,m.jsxs)("span",{style:{display:"inline-block"},children:[(0,m.jsx)(a.In,{style:{marginRight:8},type:this.getTabIcon()}),this.getTabTitle()]})}}eb.registerFlow({key:"pageTabSettings",title:(0,r.tExpr)("Tab settings"),steps:{tab:{title:(0,r.tExpr)("Edit tab"),preset:!0,uiSchema:{title:{title:(0,r.tExpr)("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},documentTitle:{type:"string",title:(0,r.tExpr)("Document title"),description:(0,r.tExpr)("Used as the browser tab title when this tab is active. Supports variables. Leave empty to use Tab name."),"x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:1,maxRows:6}},icon:{title:(0,r.tExpr)("Icon"),"x-decorator":"FormItem","x-component":"IconPicker"}},async handler(e,t){var l;let o="function"==typeof(null==e?void 0:e.t)?e.t.bind(e):e=>e;e.model.setProps("title",o(t.title,{ns:"lm-desktop-routes"})),e.model.setProps("icon",t.icon);let n=e.engine.getModel(e.model.parentId);null==n||null==(l=n.updateDocumentTitle)||l.call(n)}}}});class ex extends eb{renderChildren(){return(0,m.jsx)(ey,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}async saveStepParams(){return this.save()}async save(){var e,t,l,o,n;let i=this.serialize(),r=null==(l=this.stepParams)||null==(t=l.pageTabSettings)||null==(e=t.tab)?void 0:e.documentTitle,a=await this.context.api.request({method:"post",url:"desktopRoutes:updateOrCreate",params:{filterKeys:["schemaUid"]},data:{...this.props.route,title:this.getTabTitle(""),icon:this.getTabIcon(),options:{flowRegistry:i.flowRegistry,documentTitle:r}}}),s=e_(null==a||null==(o=a.data)?void 0:o.data);s&&this.setProps("route",{...this.props.route,...s,options:{...null==(n=this.props.route)?void 0:n.options,...s.options}})}async destroy(){return this.observerDispose(),this.invalidateFlowCache("beforeRender",!0),this.flowEngine.removeModel(this.uid),await this.context.api.request({method:"post",url:"desktopRoutes:destroy",params:{filter:{schemaUid:this.uid}},data:this.props.route}),!0}}class eM extends eb{renderChildren(){return(0,m.jsx)(ey,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class ew extends r.FlowModel{render(){return(0,m.jsx)(ey,{ctx:this.context,options:{parentId:this.uid,subKey:"grid",async:!0,subType:"object",use:"BlockGridModel"}})}}class eS extends em{async ensurePersistedRouteId(e){var t,l,o,n;let i=null==e||null==(l=e.props)||null==(t=l.route)?void 0:t.id;return null!=i?i:("function"==typeof(null==e?void 0:e.save)&&await e.save(),null==e||null==(n=e.props)||null==(o=n.route)?void 0:o.id)}onMount(){super.onMount(),(0,r.reaction)(()=>this.context.pageActive.value,()=>{var e,t;if(this.context.pageActive.value&&this.mounted){let t=null==(e=this.subModels.tabs)?void 0:e[0];t&&(this.setProps("tabActiveKey",t.uid),this.invokeTabModelLifecycleMethod(t.uid,"onActive",!0))}if(!1===this.context.pageActive.value)if(this.props.tabActiveKey)this.invokeTabModelLifecycleMethod(this.props.tabActiveKey,"onInactive");else{let e=null==(t=this.subModels.tabs)?void 0:t[0];e&&this.invokeTabModelLifecycleMethod(e.uid,"onInactive")}this.mounted=!0})}async saveStepParams(){await super.saveStepParams(),this.stepParams.pageSettings&&this.context.api.request({url:`desktopRoutes:update?filter[id]=${this.props.routeId}`,method:"post",data:{enableTabs:!!this.stepParams.pageSettings.general.enableTabs}})}async handleDragEnd(e){var t,l;let o=this.flowEngine.getModel(null==(t=e.active)?void 0:t.id),n=this.flowEngine.getModel(null==(l=e.over)?void 0:l.id);if(!o||!n||o.uid===n.uid)return;let[i,r]=await Promise.all([this.ensurePersistedRouteId(o),this.ensurePersistedRouteId(n)]);null!=i&&null!=r&&(await this.context.api.request({url:"desktopRoutes:move",method:"post",params:{sourceId:i,targetId:r,sortField:"sort"}}),this.flowEngine.moveModel(o.uid,n.uid,{persist:!1}))}constructor(...e){super(...e),this.mounted=!1}}eS.registerFlow({key:"rootPageSettings",steps:{init:{async handler(e,t){if(e.model.hasSubModel("tabs"))return;let l=e.routeRepository.getRouteBySchemaUid(e.model.parentId);for(let t of(e.model.setProps("routeId",null==l?void 0:l.id),S.default.castArray(null==l?void 0:l.children).sort((e,t)=>e.sort-t.sort))){var o,n;if(t.hideInMenu)continue;let l=e.engine.createModel({parentId:e.model.uid,uid:t.schemaUid,subKey:"tabs",subType:"array",use:"RootPageTabModel",sortIndex:t.sort,props:{route:t},flowRegistry:null==(o=t.options)?void 0:o.flowRegistry,stepParams:{pageTabSettings:{tab:{title:t.title,icon:t.icon,documentTitle:null==(n=t.options)?void 0:n.documentTitle}}}});e.model.addSubModel("tabs",l)}}}}});class ek extends eg{renderFirstTab(){var e;return(0,m.jsx)(r.FlowModelRenderer,{model:null==(e=this.subModels.tabs)?void 0:e[0]})}render(){return(0,m.jsxs)(m.Fragment,{children:[this.props.displayTitle&&(0,m.jsx)(ec.PageHeader,{title:this.props.title,style:this.props.headerStyle}),this.renderFirstTab()]})}}var eF=l(296);class eC extends P{constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Popup"),icon:"ExportOutlined"}}}eC.define({label:(0,r.tExpr)("Popup")}),eC.registerFlow(eF.g);class eA extends P{}eA.define({children:async e=>(await (0,r.buildSubModelItems)(P)(e)).filter(t=>e.engine.getModelClass(t.useModel)._isScene(A.record))});var eP=l(1442);class eT extends eC{getAclActionName(){return"create"}constructor(...e){super(...e),this.defaultPopupTitle=(0,r.tExpr)("Add new"),this.defaultProps={type:"primary",title:(0,r.tExpr)("Add new"),icon:"PlusOutlined"}}}eT.scene=A.collection,eT.define({label:(0,r.tExpr)("Add new"),sort:10});class ej extends P{getAclActionName(){return"destroy"}constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Delete"),icon:"DeleteOutlined"}}}ej.scene=A.collection,ej.capabilityActionName="destroyMany",ej.define({label:(0,r.tExpr)("Delete")}),ej.registerFlow({key:"deleteSettings",title:(0,r.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,r.tExpr)("Delete record"),content:(0,r.tExpr)("Are you sure you want to delete it?")}},delete:{async handler(e,t){var l;if(!(null==(l=e.blockModel)?void 0:l.resource))return void e.message.error(e.t("No resource selected for deletion"));let o=e.blockModel.resource;0===o.getSelectedRows().length?e.message.warning(e.t("Please select at least one record to delete")):(await o.destroy(e.blockModel.collection.getFilterByTK(o.getSelectedRows())),e.message.success(e.t("Selected records deleted successfully")))}}}});class eI extends P{getAclActionName(){return"destroy"}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,r.tExpr)("Delete"),icon:"DeleteOutlined"}}}eI.scene=A.record,eI.define({label:(0,r.tExpr)("Delete"),sort:60}),eI.registerFlow({key:"deleteSettings",title:(0,r.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,r.tExpr)("Delete record"),content:(0,r.tExpr)("Are you sure you want to delete it?")}},delete:{async handler(e,t){e.resource?e.record?(await e.resource.destroy(e.blockModel.collection.getFilterByTK(e.record)),e.message.success(e.t("Record deleted successfully"))):e.message.error(e.t("No resource or record selected for deletion")):e.message.error(e.t("No resource selected for deletion"))}}}});class eL extends eC{getAclActionName(){return"update"}constructor(...e){super(...e),this.defaultPopupTitle=(0,r.tExpr)("Edit"),this.defaultProps={title:(0,r.tExpr)("Edit"),icon:"EditOutlined"}}}eL.scene=A.record,eL.define({label:(0,r.tExpr)("Edit"),sort:20});var eY=l(8442);class eD extends P{getIgnoreFieldNames(){var e;if(this.map.has(this.props.filterableFieldNames))return this.map.get(this.props.filterableFieldNames);let t=(null==(e=this.context.blockModel.collection)?void 0:e.getFields())||[],l=eR(this.props.filterableFieldNames||[],t.map(e=>e.name));return this.map.set(this.props.filterableFieldNames,l),l}render(){return this.context.isMobileLayout?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(r.MobilePopup,{title:this.context.t("Filter"),visible:this.props.open,onClose:()=>{this.setProps("open",!1)},children:(0,m.jsxs)("div",{style:{padding:this.context.themeToken.paddingMD,backgroundColor:this.context.themeToken.colorBgContainer},children:[(0,m.jsx)(eY.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames()})}),(0,m.jsx)("div",{style:{height:150}})]})}),super.render()]}):(0,m.jsx)(_.Popover,{open:this.props.open,content:(0,m.jsx)(eY.a,{value:this.props.filterValue||this.props.defaultFilterValue,ctx:this.context,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:this,ignoreFieldNames:this.getIgnoreFieldNames()})}),trigger:"click",placement:"bottomLeft",onOpenChange:e=>{!1===e&&this.setProps("open",void 0)},children:super.render()})}constructor(...e){super(...e),this.map=new WeakMap,this.defaultProps={type:"default",title:(0,r.tExpr)("Filter"),icon:"FilterOutlined",filterValue:{logic:"$and",items:[]}}}}function eE(e,t){var l;let o=(null==e||null==(l=e.getFields)?void 0:l.call(e))||[];return t?o.filter(e=>{if(!(null==e?void 0:e.interface)||(null==e?void 0:e.filterable)===!1)return!1;let l=t.getFieldInterface(e.interface);return!!(null==l?void 0:l.filterable)}):[]}function eR(e,t){return null==t?void 0:t.filter(t=>!e.includes(t))}eD.scene="collection",eD.define({label:(0,r.tExpr)("Filter"),toggleable:!0,sort:5}),eD.registerFlow({key:"filterSettings",title:(0,r.tExpr)("Filter settings"),steps:{position:{handler(e,t){e.model.setProps("position",t.position||"left")}},filterableFieldNames:{title:(0,r.tExpr)("Filterable fields"),uiSchema:{filterableFieldNames:{type:"array","x-decorator":"FormItem","x-component":e=>{var t,l;let{model:o}=(0,r.useFlowSettingsContext)(),n=null==o||null==(l=o.context)||null==(t=l.app)?void 0:t.dataSourceManager,i=null==n?void 0:n.collectionFieldInterfaceManager,a=eE(o.context.blockModel.collection,i).map(e=>({key:e.name,title:e.title}));return(0,m.jsx)(_.Transfer,{...e,dataSource:a,targetKeys:e.value||[],onChange:t=>{var l;return null==(l=e.onChange)?void 0:l.call(e,t)},render:e=>e.title})},"x-component-props":{showSearch:!0,listStyle:{width:280,height:360}}}},defaultParams(e){var t,l,o;let n=null==e||null==(o=e.model)||null==(l=o.context)||null==(t=l.app)?void 0:t.dataSourceManager,i=null==n?void 0:n.collectionFieldInterfaceManager;return{filterableFieldNames:eE(e.blockModel.collection,i).map(e=>e.name)||[]}},handler(e,t){e.model.setProps("filterableFieldNames",t.filterableFieldNames)}},defaultFilter:{title:(0,r.tExpr)("Default filter conditions"),uiSchema:{defaultFilter:{type:"object","x-decorator":"FormItem","x-component":e=>{let{model:t}=(0,r.useFlowSettingsContext)();return(0,m.jsx)(f.I8,{value:e.value||{},FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:t})})}}},defaultParams:e=>({defaultFilter:e.model.defaultProps.filterValue}),handler(e,t){e.model.setProps("defaultFilterValue",S.default.cloneDeep(t.defaultFilter)),e.model.setProps("filterValue",S.default.cloneDeep(t.defaultFilter))}}}}),eD.registerFlow({key:"submitSettings",on:"submit",steps:{submit:{handler(e,t){let l=e.blockModel,o=null==l?void 0:l.resource;if(!l||!o)return;let n=(0,d.transformFilter)(e.model.props.filterValue),i=!(0,d.isEmptyFilter)(n);l.setFilterActive(e.model.uid,i),i?(o.addFilterGroup(e.model.uid,n),o.setPage(1)):o.removeFilterGroup(e.model.uid),"manual"!==l.getDataLoadingMode()||i||l.hasActiveFilters()?o.refresh():(o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1),e.model.setProps("open",!1)}}}}),eD.registerFlow({key:"resetSettings",title:(0,r.tExpr)("Reset"),on:"reset",steps:{reset:{handler(e,t){let l=e.blockModel,o=null==l?void 0:l.resource;if(!l||!o)return;o.removeFilterGroup(e.model.uid),l.setFilterActive(e.model.uid,!1);let n=l.getDataLoadingMode(),i=e.model.props.defaultFilterValue,r=!(0,d.isEmptyFilter)((0,d.transformFilter)(i));"manual"!==n||r||l.hasActiveFilters()?(r&&(o.addFilterGroup(e.model.uid,(0,d.transformFilter)(i)),l.setFilterActive(e.model.uid,!0),o.setPage(1)),o.refresh()):(o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1),e.model.setProps("open",!1),e.model.setProps("filterValue",S.default.cloneDeep(i))}}}}),eD.registerFlow({key:"openSettings",on:"click",steps:{open:{handler(e,t){e.model.setProps("open",!e.model.props.open)}}}});var eN=l(9253);function eB(e,t){var l;let o=(null==(l=e.inputArgs)?void 0:l.preview)||{},n=(null==o?void 0:o.version)??(null==t?void 0:t.version)??"v1";return{code:("string"==typeof(null==o?void 0:o.code)?o.code:void 0)??(null==t?void 0:t.code)??"",version:n}}class eO extends P{constructor(...e){super(...e),this.defaultProps={type:"default",title:(0,r.tExpr)("JS action"),icon:"JavaScriptOutlined"}}}eO.define({label:(0,r.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSActionModel"}}),eO.registerFlow({key:"clickSettings",on:"click",title:(0,r.tExpr)("Click settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":eN.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
|
|
247
247
|
ctx.message.info('Hello JS action.');
|
|
248
|
-
`}),async handler(e,t){let{code:l,version:o}=
|
|
248
|
+
`}),async handler(e,t){let{code:l,version:o}=eB(e,t),n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})}}}});class eH extends P{constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("JS action"),icon:"JavaScriptOutlined"}}}eH.scene=A.collection,eH.define({label:(0,r.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSCollectionActionModel"}}),eH.registerFlow({key:"clickSettings",on:"click",title:(0,r.tExpr)("Click settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":eN.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
|
|
249
249
|
const rows = ctx.resource?.getSelectedRows?.() || [];
|
|
250
250
|
if (!rows.length) {
|
|
251
251
|
ctx.message.warning('请选择数据');
|
|
252
252
|
} else {
|
|
253
253
|
ctx.message.success('已选择 ' + rows.length + ' 条');
|
|
254
254
|
}
|
|
255
|
-
`}),async handler(e,t){let{code:l,version:o}=
|
|
255
|
+
`}),async handler(e,t){let{code:l,version:o}=eB(e,t),n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})}}}});var eq=l(24);class e$ extends P{}class eV extends e${setSaveRequestConfig(e){this.setStepParams("submitSettings","saveResource",{requestConfig:e})}constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Submit"),type:"primary",htmlType:"submit"}}}eV.define({label:(0,r.tExpr)("Submit")}),eV.registerFlow({key:"submitSettings",on:"click",title:(0,r.tExpr)("Submit action settings"),steps:{confirm:{use:"confirm",defaultParams:{enable:!1,title:(0,r.tExpr)("Submit record"),content:(0,r.tExpr)("Are you sure you want to save it?")},async handler(e,t){if(t.enable)try{await (0,eq.D9)({form:e.form,blockModel:e.blockModel,flowSettingsEnabled:null==e?void 0:e.flowSettingsEnabled,skipValidator:(0,eq.go)(null==e?void 0:e.model)}),await e.modal.confirm({title:e.t(t.title,{ns:"lm-flow-engine"}),content:e.t(t.content,{ns:"lm-flow-engine"}),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||e.exit()}catch(t){e.exit()}}},skipRequiredValidation:{title:(0,r.tExpr)("Skip required validation"),uiMode:{type:"switch",key:"skipValidator"},defaultParams:{skipValidator:!1},handler(){}},saveResource:{async handler(e,t){if(!(null==e?void 0:e.resource))throw Error("Resource is not initialized");if(!e.blockModel)throw Error("Block model is not initialized");try{e.model.setProps("loading",!0);let{submitHandler:o}=await Promise.resolve().then(l.bind(l,4084));await o(e,t),e.message.success(e.t("Saved successfully")),e.model.setProps("loading",!1)}catch(t){e.model.setProps("loading",!1),e.message.error(e.t("Save failed")),console.error("Form submission error:",t),e.exit()}finally{e.model.setProps("loading",!1)}}},refreshAndClose:{async handler(e){e.view&&e.view.close()}}}});class ez extends j{}function eK(e,t){return e.find(e=>e===t||e.endsWith(`.${t}`))??t}ez.baseClass=e$;class eU extends P{constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Submit"),type:"primary",htmlType:"submit"}}}eU.define({label:(0,r.tExpr)("Submit")}),eU.registerFlow({key:"submitSettings",on:"click",title:(0,r.tExpr)("Submit action settings"),steps:{confirm:{use:"confirm",defaultParams:{enable:!1,title:(0,r.tExpr)("Submit record"),content:(0,r.tExpr)("Are you sure you want to save it?")},async handler(e,t){if(t.enable)try{await (0,eq.D9)({form:e.form,blockModel:e.blockModel,flowSettingsEnabled:null==e?void 0:e.flowSettingsEnabled,skipValidator:(0,eq.go)(null==e?void 0:e.model)}),await e.modal.confirm({title:e.t(t.title,{ns:"lm-flow-engine"}),content:e.t(t.content,{ns:"lm-flow-engine"}),okText:e.t("Confirm"),cancelText:e.t("Cancel")})||e.exit()}catch(t){e.exit()}}},skipRequiredValidation:{title:(0,r.tExpr)("Skip required validation"),uiMode:{type:"switch",key:"skipValidator"},defaultParams:{skipValidator:!1},handler(){}},save:{async handler(e,t){let l=e.blockModel,o=l.context.associationModel,n=o.context.resource,i=l.resource.getUpdateAssociationValues(),r=o.context.collectionField.name,a=eK(n.getUpdateAssociationValues(),r);try{var s;await (0,eq.D9)({form:null==l?void 0:l.form,blockModel:l,flowSettingsEnabled:null==e?void 0:e.flowSettingsEnabled,skipValidator:(0,eq.go)(null==e?void 0:e.model)});let t=l.form.getFieldsValue(!0),r=(0,eq.xT)(t,l);o.dispatchEvent("updateRow",{updatedRecord:r});let d=i.map(e=>`${a}.${e}`);n.addUpdateAssociationValues(d),null==(s=l.resetUserModifiedFields)||s.call(l)}catch(e){return}e.view&&e.view.close()}}}});class eG extends j{}eG.baseClass=eU;let eW=`
|
|
256
256
|
const { Button } = ctx.antd;
|
|
257
257
|
|
|
258
258
|
function JsItem() {
|
|
@@ -266,13 +266,13 @@ function JsItem() {
|
|
|
266
266
|
}
|
|
267
267
|
|
|
268
268
|
ctx.render(<JsItem />);
|
|
269
|
-
`;class
|
|
269
|
+
`;class eJ extends P{render(){return(0,m.jsx)("div",{ref:this.context.ref,style:{display:"inline-flex",minHeight:22,alignItems:"center"}})}renderHiddenInConfig(){return(0,m.jsx)("div",{ref:this.context.ref,style:{display:"inline-flex",minHeight:22,alignItems:"center",opacity:.3}})}onMount(){var e;let t=this.context.resource;if(t){let e=()=>{this.applyFlow("jsSettings")};t.on("refresh",e),this._offResourceRefresh=()=>{t.off("refresh",e)}}this._mountedOnce&&(null==(e=this.context.ref)?void 0:e.current)&&this.applyFlow("jsSettings"),this._mountedOnce=!0}onUnmount(){var e,t;null==(e=(t=this)._offResourceRefresh)||e.call(t),this._offResourceRefresh=void 0}constructor(...e){super(...e),this._mountedOnce=!1}}eJ.scene=A.all,eJ.define({label:(0,r.tExpr)("JS item"),sort:9998,createModelOptions:{use:"JSItemActionModel"}}),eJ.registerFlow({key:"buttonSettings",title:(0,r.tExpr)("Button settings"),sort:-999,steps:{linkageRules:{use:"actionLinkageRules"}}}),eJ.registerFlow({key:"jsSettings",title:(0,r.tExpr)("JavaScript settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":eN.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:()=>({version:"v2",code:eW.trim()}),async handler(e,t){let{code:l,version:o}=eB(e,t);e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>new r.ElementProxy(t)});let n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})})}}}}),I.registerActionModels({JSItemActionModel:eJ}),L.registerActionModels({JSItemActionModel:eJ}),ez.registerActionModels({JSItemActionModel:eJ}),eG.registerActionModels({JSItemActionModel:eJ});class eX extends eA{constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,r.tExpr)("JS action"),icon:"JavaScriptOutlined"}}}eX.scene=A.record,eX.define({label:(0,r.tExpr)("JS action"),sort:9999,createModelOptions:{use:"JSRecordActionModel"}}),eX.registerFlow({key:"clickSettings",on:"click",title:(0,r.tExpr)("Click settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":eN.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
|
|
270
270
|
if (!ctx.record) {
|
|
271
271
|
ctx.message.error('No record');
|
|
272
272
|
} else {
|
|
273
273
|
ctx.message.success('Record ID: ' + (ctx.filterByTk ?? ctx.record?.id));
|
|
274
274
|
}
|
|
275
|
-
`}),async handler(e,t){let{code:l,version:o}=
|
|
275
|
+
`}),async handler(e,t){let{code:l,version:o}=eB(e,t),n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})}}}});class eQ extends eC{constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Popup"),icon:"ExportOutlined"}}}eQ.scene=A.all,eQ.define({label:(0,r.tExpr)("Popup"),sort:30});class eZ extends P{constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Refresh"),icon:"ReloadOutlined"}}}eZ.scene=A.collection,eZ.define({label:(0,r.tExpr)("Refresh"),toggleable:!0}),eZ.registerFlow({key:"refreshSettings",title:(0,r.tExpr)("Refresh settings"),on:"click",steps:{refresh:{async handler(e,t){var l;let o=null==(l=e.blockModel)?void 0:l.resource;o?(o.loading=!0,await o.refresh()):e.message.error(e.t("No resource selected for refresh"))}}}});var e0=l(7093);async function e1(e){var t,l,o;let n=(null==e?void 0:e.blockModel)||(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.blockModel)||(null==e?void 0:e.model),i=null==e?void 0:e.model,r=e=>{var t;(null==e||null==(t=e.context)?void 0:t.defineProperty)&&"function"==typeof(null==n?void 0:n.getCurrentRecord)&&e.context.defineProperty("record",{get:()=>n.getCurrentRecord(),cache:!1})};if(r(null==e?void 0:e.model),(null==e||null==(o=e.model)?void 0:o.forks)&&"function"==typeof e.model.forks.forEach&&e.model.forks.forEach(e=>r(e)),"function"==typeof(null==n?void 0:n.getCurrentRecord)){let t=n.getCurrentRecord();"function"==typeof(null==e?void 0:e.defineProperty)?e.defineProperty("record",{get:()=>n.getCurrentRecord(),cache:!1}):e.record=t}i&&await (0,e0.Xi)(i,"paginationChange"),n&&n!==i&&await (0,e0.Xi)(n,"paginationChange")}async function e2(e,t,l){var o,n,i;let a=(null==l?void 0:l.settingsFlowKey)||"assignSettings",s=e.model.getStepParams(a,"confirm"),d=s&&"object"==typeof s?s:{enable:!1};await e.runAction("confirm",d);let u={};try{u=await (0,r.resolveRunJSObjectValues)(e,null==t?void 0:t.assignedValues)}catch(t){console.error("[UpdateRecordAction] RunJS execution failed",t),e.message.error(e.t("RunJS execution failed"));return}if(!u||"object"!=typeof u||!Object.keys(u).length)return void e.message.warning(e.t("No assigned fields configured"));let c=null==(o=e.collection)?void 0:o.name,p=null==(i=e.collection)||null==(n=i.getFilterByTK)?void 0:n.call(i,e.record);c&&null!=p?(e.resource instanceof r.SingleRecordResource?await e.resource.save(u,t.requestConfig):e.resource instanceof r.MultiRecordResource&&await e.resource.update(p,u,t.requestConfig),await e1(e),e.message.success(e.t("Saved successfully"))):e.message.error(e.t("Record is required to perform this action"))}let e5="assignSettings";function e4(){let{model:e,blockModel:t}=(0,r.useFlowSettingsContext)(),l=e,o=(0,r.useFlowEngine)(),n=(0,h.useRef)(!1),[i,a]=h.default.useState(null);return(0,h.useEffect)(()=>{let t=!1;return(async()=>{let n=await o.loadOrCreateModel({parentId:l.uid,subKey:"assignForm",use:"AssignFormModel"},{skipSave:!e.context.flowSettingsEnabled});t||(a(n),l.assignFormUid=(null==n?void 0:n.uid)||l.assignFormUid)})(),()=>{t=!0}},[l,o]),(0,h.useEffect)(()=>{var e,o,r;if(n.current||!i)return;let a=(null==(e=l.getStepParams)?void 0:e.call(l,e5,"assignFieldValues"))||{},s=(null==t?void 0:t.collection)||(null==l||null==(o=l.context)?void 0:o.collection),d=null==s?void 0:s.dataSourceKey,u=null==s?void 0:s.name;d&&u&&i.setStepParams("resourceSettings","init",{dataSourceKey:d,collectionName:u}),i.setInitialAssignedValues((null==a?void 0:a.assignedValues)||{}),l instanceof ei&&!(l instanceof eA)&&(null==i||null==(r=i.context)?void 0:r.defineProperty)&&i.context.defineProperty("record",{get:()=>void 0,cache:!1}),n.current=!0},[l,null==t?void 0:t.collection,i]),i?(0,m.jsx)(r.FlowModelRenderer,{model:i,showFlowSettings:!1}):null}function e8(){let e=(0,r.useFlowSettingsContext)();return(0,m.jsx)(_.Alert,{type:"info",showIcon:!0,message:e.t("After clicking the custom button, the following fields of the current record will be saved according to the following form.")})}class e3 extends P{getAclActionName(){return"update"}setSaveRequestConfig(e){this.setStepParams("apply","apply",{requestConfig:e})}constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Update record"),type:"link",icon:"EditOutlined"}}}e3.scene=A.record,e3.define({label:(0,r.tExpr)("Update record"),sort:50,createModelOptions:e=>{let t=e.collection.dataSourceKey,l=e.collection.name;return{subModels:{assignForm:{async:!0,use:"AssignFormModel",stepParams:{resourceSettings:{init:t&&l?{dataSourceKey:t,collectionName:l}:void 0}}}}}}}),e3.registerFlow({key:e5,title:(0,r.tExpr)("Action settings"),manual:!0,steps:{confirm:{title:(0,r.tExpr)("Secondary confirmation"),use:"confirm",defaultParams:{enable:!1,title:(0,r.tExpr)("Perform the Update record"),content:(0,r.tExpr)("Are you sure you want to perform the Update record action?")}},assignFieldValues:{title:(0,r.tExpr)("Field values"),uiSchema:()=>({tip:{"x-decorator":"FormItem","x-component":()=>(0,m.jsx)(e8,{})},editor:{"x-decorator":"FormItem","x-component":()=>(0,m.jsx)(e4,{})}}),async beforeParamsSave(e){var t,l,o,n,i,r,a;let s=e.model,d=(null==s?void 0:s.assignFormUid)&&(null==(t=(l=e.engine).getModel)?void 0:t.call(l,s.assignFormUid,!0));if(!d)return;await (null==d||null==(n=d.form)||null==(o=n.validateFields)?void 0:o.call(n));let u=(null==d||null==(i=d.getAssignedValues)?void 0:i.call(d))||{},c=null==d||null==(r=d.subModels)?void 0:r.grid;null==c||null==(a=c.subModels)||a.items,e.model.setStepParams(e5,"assignFieldValues",{assignedValues:u})}}}}),e3.registerFlow({key:"apply",on:"click",steps:{apply:{async defaultParams(e){let t=e.model.getStepParams(e5,"assignFieldValues")||{};return{assignedValues:(null==t?void 0:t.assignedValues)||{}}},async handler(e,t){await e2(e,t,{settingsFlowKey:e5})}}}});class e6 extends eC{getAclActionName(){return"view"}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,r.tExpr)("View"),icon:"EyeOutlined"}}}e6.scene=A.record,e6.define({label:(0,r.tExpr)("View"),sort:10});var e9=l(691);function e7(e,t){let l=e.indexOf("?"),o=l>=0?e.slice(0,l):e,n=new URLSearchParams(l>=0?e.slice(l+1):"");for(let{name:e,value:l}of t)n.set(e,String(l));let i=n.toString();return i?`${o}?${i}`:o}function te(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!(null==t?void 0:t.length))return e;let l=t.filter(e=>e.name&&void 0!==e.value&&null!==e.value&&""!==e.value);if(!l.length)return e;let o=e.indexOf("#"),n=o>=0,i=n?e.slice(0,o):e,r=n?e.slice(o+1):"",a=r.startsWith("/")||r.startsWith("!/");if(n&&a)return`${i}#${e7(r,l)}`;let s=e7(i,l);return n?`${s}#${r}`:s}function tt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.origin;return e?(0,d.isURL)(e)?e:e.startsWith("/")?`${t}${e}`:`${t}/${e}`:""}function tl(e){let{link:t,openInNewWindow:l,router:o,isExternalLink:n}=e,i=e.setLocationHref??(e=>window.location.href=e),r=e.openWindow??((e,t)=>window.open(e,t));l?r(tt(t),"_blank"):n?i(t):o.navigate(t,{replace:!0})}function to(e){let{openInNewWindow:t,isExternalLink:l,viewType:o}=e;return!t&&!l&&"embed"!==o}class tn extends P{constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Link"),icon:"LinkOutlined"}}}tn.scene=A.all,tn.define({label:(0,r.tExpr)("Link")}),tn.registerFlow({key:"actionPanelLinkSettings",on:"click",steps:{click:{async handler(e,t){let{url:l,searchParams:o,openInNewWindow:n}=e.model.props,i=e.t;if(!l)return void e.message.warning(i("Please configure the URL"));let r=te(l,o);if(r){let t=(0,d.isURL)(r);tl({link:r,openInNewWindow:n,router:e.router,isExternalLink:t}),e.view&&to({openInNewWindow:n,isExternalLink:t,viewType:e.view.type})&&e.view.destroy()}else console.error("link should be a string")}}}}),tn.registerFlow({key:"linkButtonSettings",title:(0,r.tExpr)("Link action settings"),steps:{editLink:{title:(0,r.tExpr)("Edit link"),uiSchema(e){let t=e.t;return{url:{title:(0,r.tExpr)("URL"),type:"string","x-decorator":"FormItem","x-component":u.n,description:t("Do not concatenate search params in the URL"),"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "html"}}'}}},required:!0},searchParams:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:'{{t("Search parameters")}}',items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,e9.css)`
|
|
276
276
|
& > .ant-space-item:first-child {
|
|
277
277
|
flex: 3;
|
|
278
278
|
}
|
|
@@ -285,67 +285,67 @@ if (!ctx.record) {
|
|
|
285
285
|
flex-shrink: 0;
|
|
286
286
|
flex: 1;
|
|
287
287
|
}
|
|
288
|
-
`},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:1}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},"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 tn extends P{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 ti(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}tn.scene=A.collection;let tr=e=>ti(e);tn.registerFlow({key:"expandCollapseSettingsInit",sort:200,steps:{init:{handler(e,t){e.blockModel.props.defaultExpandAllRows?e.model.setExpandFlag(!0):e.model.setExpandFlag(!1)}}}}),tn.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=tr(o.getData());e.blockModel.setProps({expandedRowKeys:t}),e.model.setExpandFlag(!0)}}}}}),tn.define({label:(0,r.escapeT)("Expand/Collapse"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.model.props.treeTable}});class ta extends eF{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,r.tExpr)("Add child"),icon:"PlusOutlined"}}}ta.capabilityActionName=null,ta.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})}}}}}),ta.define({label:(0,r.tExpr)("Add child"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.blockModel.props.treeTable}}),L.registerActionModels({AddChildActionModel:ta});var ts=l(793);class td extends ts.F4{useHooksBeforeRender(){let[e]=_.Form.useForm();this.context.defineProperty("form",{get:()=>e})}onInit(e){super.onInit(e);let t=(0,r.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,r.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 O(this,null==e?void 0:e.filterManager)}),this.isManualRefresh=!0}createResource(e,t){let l=this.context.createResource(r.SingleRecordResource);return l.isNewRecord=!0,l}renderComponent(){var e;let{colon:t,labelAlign:l,labelWidth:o,labelWrap:n,layout:i}=this.props;return(0,m.jsx)(ts.s2,{model:this,layoutProps:{colon:t,labelAlign:l,labelWidth:o,labelWrap:n,layout:i},children:(0,m.jsx)(r.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()||{}}}td.define({label:(0,r.tExpr)("Field assignments"),hide:!0,createModelOptions:{use:"AssignFormModel",subModels:{grid:{use:"AssignFormGridModel"}}}});class tu extends X{renderAddSubModelButton(){return(0,m.jsx)(r.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,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.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,m.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,m.jsx)(_.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:-12,height:24},after:{offsetTop:7,height:24}},columnEdge:{left:{offsetLeft:-5,width:24},right:{offsetLeft:8,width:24}},rowGap:{above:{offsetTop:0,height:24},below:{offsetTop:-14,height:24}}}}}tu.registerFlow({key:"formFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});class tc extends tu{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="function"==typeof(null==l?void 0:l.getPrimaryKey)?l.getPrimaryKey():void 0,i=null==l?void 0:l.filterTargetKey,a=e=>!!e&&!!(n&&e===n||"string"==typeof i&&e===i||Array.isArray(i)&&i.includes(e)),s=o.filter(e=>!a(null==e?void 0:e.name)).map(e=>{let t=e.name,o=e.title||e.name,n=r.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,m.jsx)(r.AddSubModelButton,{subModelKey:"items",model:this,items:s,keepDropdownOpen:!0,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.SettingOutlined,{}),children:this.translate("Fields")})})}addOrEnsureItem(e,t){var l,o,n;let i=null==(l=this.context)?void 0:l.collection,a=((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(a){"function"==typeof(null==a?void 0:a.setStepParams)&&a.setStepParams("fieldSettings","assignValue",{value:t}),a.assignValue=t;return}let s=((null==i||null==(n=i.getFields)?void 0:n.call(i))||[]).find(t=>t.name===e),d=r.EditableItemModel.getDefaultBindingByField(this.context,s);if(!d)return;let u=d.modelName;this.flowEngine.createModel({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:u,stepParams:{fieldSettings:{init:{dataSourceKey:null==i?void 0:i.dataSourceKey,collectionName:null==i?void 0:i.name,fieldPath:e}}}}},parentId:this.uid,subKey:"items"}).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}}tc.define({label:(0,r.tExpr)("Assign grid")});var tp=l(2314),tm=l(9829);function th(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 tf(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=(null==d?void 0:d.stepParams)||{},m=s??(null==(o=n.getFieldSettingsInitParams)?void 0:o.call(n)),h={...p,fieldBinding:{...p.fieldBinding,use:i},fieldSettings:{init:m}},f=n.flowEngine;u&&(null==d||d.invalidateFlowCache("beforeRender",!0),f.removeModelWithSubModels(u));let g=n.setSubModel("field",{uid:u,use:es.o,props:{...r||{},...a?{pattern:a}:{}},stepParams:h,subModels:c});await g.dispatchEvent("beforeRender",void 0,{useCache:!1}),await n.save()}var tg=l(9133);function tv(e,t,l){let o=(0,S.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,S.get)(e,t)}return(0,S.get)(e,n)}function ty(e){let{record:t,currentObject:l,fieldPath:o,prefixFieldPath:n,idx:i}=e,r=tv(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,S.get)(l,a):l}function t_(e,t){return!(0,tg.E4)(e)||Array.isArray(t)?t:t&&"object"==typeof t&&Array.isArray(t.rows)?t.rows:null==t?[]:[t]}class tb extends r.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"),a=this.context.prefixFieldPath,s=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},u=t_(this.collectionField,ty({record:l,currentObject:o,fieldPath:this.fieldPath,prefixFieldPath:a,idx:t}));return(0,m.jsx)(r.FormItem,{...d,value:u,children:(0,m.jsx)(r.FieldModelRenderer,{model:s})})}}tb.define({label:(0,r.tExpr)("Display fields"),sort:100}),tb.registerFlow({key:"detailItemSettings",sort:300,title:(0,r.tExpr)("Detail item settings"),steps:{showLabel:{title:(0,r.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,r.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,r.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,r.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,r.tExpr)("Field component"),use:"displayFieldComponent"},fieldNames:{use:"titleField",title:(0,r.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=r.DisplayItemModel.getDefaultBindingByField(e,l),a=i.modelName;await tf({parentModel:e.model,targetUse:a,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=r.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}}}),tb.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh"}}});var tx=l(1961);function tM(e){if(!e)return!1;let t=null==e?void 0:e.type;return"belongsToMany"===t||"hasMany"===t||"belongsToArray"===t}function tw(e,t){var l;let o=!!(null==e||null==(l=e.isAssociationField)?void 0:l.call(e)),n=tM(e);return o&&!n&&Array.isArray(t)?t.length?t[0]:void 0:t}function tS(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 tk=["o2o","oho","obo","o2m","attachment","expression","point","lineString","circle","polygon","sequence","formula"];class tF extends r.EditableItemModel{static defineChildren(e){let t=e.collection;return t.getFields().map(l=>{let o=this.getDefaultBindingByField(e,l);if(!o)return;let n=o.modelName,i=e.prefixFieldPath?`${e.prefixFieldPath}.${l.name}`:l.name;return{key:i,label:l.title,refreshTargets:["FormItemModel/FormJSFieldItemModel"],toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===i},useModel:"FormItemModel",createModelOptions:()=>({use:"FormItemModel",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.emitter.on("onSubModelAdded",e=>{if(this.collectionField){let t=this.collectionField.getComponentProps();e.setProps(t),this.setProps({...S.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)||[],a=null!=o?(()=>{let e=l.createFork({},`${n}`);e.context.defineProperty("fieldIndex",{get:()=>o}),e.context.defineProperty("fieldKey",{get:()=>n}),this.context.currentObject&&e.context.defineProperty("currentObject",{get:()=>this.context.currentObject});let t=this.context.getPropertyOptions("item");if(this.context.item){let{value:l,...o}=t||{};e.context.defineProperty("item",{...o,get:()=>this.context.item,cache:!1})}return this.context.pattern&&e.context.defineProperty("pattern",{get:()=>this.context.pattern}),e})():l,{initialValue:s,...d}=this.context.pattern?{...this.props,pattern:this.context.pattern}:this.props,u=tS(this.props.name,o);this.context.defineProperty("fieldPathArray",{value:[...i,...S.default.castArray(u)]});let c=(null==(t=this.context.item)?void 0:t.value)||this.context.record;return(0,m.jsx)(r.FormItem,{...d,name:u,validateFirst:!0,disabled:this.props.disabled||!S.default.isEmpty(c)&&!c.__is_new__&&this.props.aclDisabled||!S.default.isEmpty(c)&&c.__is_new__&&this.props.aclCreateDisabled,children:(0,m.jsx)(r.FieldModelRenderer,{model:a,name:u})})}}tF.define({label:(0,r.tExpr)("Display fields"),sort:100}),tF.registerFlow({key:"editItemSettings",sort:300,title:(0,r.tExpr)("Form item settings"),steps:{showLabel:{title:(0,r.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,r.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,r.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,r.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,r.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 tx.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==tk||null==(n=tk.includes)||!n.call(tk,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,tm.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==tk||null==(o=tk.includes)?void 0:o.call(tk,n))return;let i=tw(e.model.collectionField,t.defaultValue);e.model.setProps({initialValue:i})}},validation:{title:(0,r.tExpr)("Validation"),use:"validation"},required:{title:(0,r.tExpr)("Required"),use:"required"},model:{use:"fieldComponent",title:(0,r.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=>({titleField:e.model.props.titleField||e.model.context.collectionField.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=tb.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})}}}}),tF.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh",defaultParams:{strategy:"formItem"}}}});var tC=l(7309),tA=l(9624);class tP extends tF{onInit(e){var t,l,o,n,i,a,s;let d=null==(t=this.getStepParams("fieldSettings","assignValue"))?void 0:t.value;void 0!==d&&(this.assignValue=d),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 u=this.context,c=null==u?void 0:u.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=r.EditableItemModel.getDefaultBindingByField(u,e);if(!t)return;let l=t.modelName;null==u||null==(a=u.engine)||null==(i=a.createModel)||i.call(a,{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==(s=m.getField)?void 0:s.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;let t=this.context,l=t.collection,o=this.fieldInit,n=(null==(e=this.props)?void 0:e.name)||(this.fieldPath?[this.fieldPath]:void 0),i=this.fieldPath,a=()=>{var e,a,s;let[d,u]=h.default.useState(null);h.default.useEffect(()=>{var e,n,a,s,d,c,p,m,h,f,g,v,y,_,b,x,M,w,S,k,F;if(!i)return;let C=((null==l||null==(e=l.getFields)?void 0:e.call(l))||[]).find(e=>(null==e?void 0:e.name)===i);l.getField(i);let A=r.EditableItemModel.getDefaultBindingByField(t,C);if(!A)return;let P=A.modelName,T=null==t||null==(a=t.engine)||null==(n=a.createModel)?void 0:n.call(a,{use:"VariableFieldFormModel",subModels:{fields:[{use:P,stepParams:{fieldSettings:{init:o}}}]}});if(!T)return;null==(d=T.context)||null==(s=d.defineProperty)||s.call(d,"collection",{value:l});let j=null==t?void 0:t.dataSource;j&&(null==(p=T.context)||null==(c=p.defineProperty)||c.call(p,"dataSource",{value:j}));let I=null==l||null==(m=l.getField)?void 0:m.call(l,null==o?void 0:o.fieldPath);I&&(null==(f=T.context)||null==(h=f.defineProperty)||h.call(f,"collectionField",{value:I}));let L=null==t?void 0:t.blockModel;L&&(null==(v=T.context)||null==(g=v.defineProperty)||g.call(v,"blockModel",{value:L}));let Y=t.form;Y&&(null==(k=T.context)||null==(S=k.defineProperty)||S.call(k,"form",{value:Y})),T.context&&Object.defineProperty(T.context,"resource",{configurable:!0,enumerable:!0,get:()=>null==L?void 0:L.resource});let D=null==T||null==(_=T.subModels)||null==(y=_.fields)?void 0:y[0],E=null==l||null==(b=l.getField)?void 0:b.call(l,null==o?void 0:o.fieldPath),R=null==E?void 0:E.type,N=null==E?void 0:E.interface,B="belongsToMany"===R||"hasMany"===R||"belongsToArray"===R||"m2m"===N||"o2m"===N||"mbm"===N;if(null==D||null==(x=D.setProps)||x.call(D,{disabled:!1,readPretty:!1,pattern:"editable",updateAssociation:!1,multiple:B}),null==D||null==(M=D.dispatchEvent)||M.call(D,"beforeRender",void 0,{sequential:!0,useCache:!0}),(0,tC.NI)(D,E),!(null==D||null==(w=D.props)?void 0:w.fieldNames)&&(null==E?void 0:E.targetCollection)){let e=E.targetCollection,t=(null==E?void 0:E.targetKey)||(null==e?void 0:e.filterTargetKey)||"id";null==D||null==(F=D.setProps)||F.call(D,{fieldNames:{label:null==e?void 0:e.titleField,value:t}})}return u(T),()=>{var e,t,l,o;null==T||null==(l=T.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==T||null==(o=T.remove)||o.call(T)}},[]);let c=e=>(h.default.useEffect(()=>{var t,l,o,n;if(!d)return;null==(t=d.setProps)||t.call(d,{...e});let i=null==d||null==(o=d.subModels)||null==(l=o.fields)?void 0:l[0];i&&(null==(n=i.setProps)||n.call(i,{value:null==e?void 0:e.value,onChange:function(){for(var t,l=arguments.length,o=Array(l),n=0;n<l;n++)o[n]=arguments[n];let i=o&&o.length?o[0]:void 0;null==e||null==(t=e.onChange)||t.call(e,i)}}))},[e]),d?(0,m.jsx)("div",{style:{width:"100%"},children:(0,m.jsx)(r.FlowModelRenderer,{model:d,showFlowSettings:!1})}):null),p=()=>(0,m.jsx)(_.Input,{placeholder:"<Null>",readOnly:!0,style:{width:"100%"}}),f=e=>(0,m.jsx)(tA.h,{t:this.context.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange,containerStyle:{width:"100%"}}),g={renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?c:"null"===l?p:"runjs"===l?f:void 0},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:"runjs"===l?{code:"",version:"v2"}:void 0},resolvePathFromValue:e=>null===e?["null"]:(0,r.isRunJSValue)(e)?["runjs"]:(0,r.isVariableExpression)(e)?(0,r.parseValueToPath)(e):["constant"]},v=async()=>{var e;let t=null==(e=this.context)?void 0:e.getPropertyMetaTree,l="function"==typeof t?await t():[];return[{title:(0,r.tExpr)("Constant"),name:"constant",type:"string",paths:["constant"],render:c},{title:(0,r.tExpr)("Null"),name:"null",type:"object",paths:["null"],render:p},{title:(0,r.tExpr)("RunJS"),name:"runjs",type:"object",paths:["runjs"],render:f},...l]},y=(null==(e=this.props)?void 0:e.label)??this.fieldPath??"",b=null==l||null==(a=l.getField)?void 0:a.call(l,this.fieldPath);return y=(null==(s=this.props)?void 0:s.label)??(null==b?void 0:b.title)??y,(0,m.jsx)(r.FormItem,{...this.props,label:y,name:n,initialValue:this.assignValue,valuePropName:"__assign_value__",trigger:"__assign_trigger__",validateTrigger:"__assign_trigger__",children:h.default.createElement(e=>{let t=null==e?void 0:e.__assign_value__,l=void 0===t?this.assignValue:t;return(0,m.jsx)(r.VariableInput,{value:l,onChange:t=>{var l;this.assignValue=t,null==e||null==(l=e.__assign_trigger__)||l.call(e,t)},metaTree:v,converters:g,clearValue:""})})})};return(0,m.jsx)(a,{})}constructor(e){super(e),this.assignValue=void 0,(0,tp.define)(this,{assignValue:tp.observable})}}tP.define({label:(0,r.tExpr)("Assign field")}),tP.registerFlow({key:"editItemSettings",sort:300,title:(0,r.tExpr)("Form item settings"),steps:{showLabel:{title:(0,r.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,r.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,r.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,r.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,r.tExpr)("Validation"),use:"validation"},required:{title:(0,r.tExpr)("Required"),use:"required"}}});class tT extends D{}tT.itemModelName="DetailsItemModel",tT.define({label:'{{t("Display association fields")}}'});let tj=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},tI=e=>{let{heightMode:t,containerRef:l,actionsRef:o,paginationRef:n,deps:i=[]}=e,[r,a]=(0,h.useState)(),s=(0,h.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-tj(o.current)-tj(n.current)));a(e=>e===r?e:r)},[t,l,o,n]);return(0,h.useLayoutEffect)(()=>{s()},[s,...i]),(0,h.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 tL extends ei.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(r.SingleRecordResource);return e.isNewRecord=!1,e}let n=this.context.createResource(r.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,r.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>this.getCurrentRecord(),cache:!1,resolveOnServer:(0,r.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>this.getCurrentRecord()),meta:o}),this.resource.on("refresh",()=>{var e,t;if(this.isMultiRecordResource()){this.hasMultiRefreshDispatched=!0,(0,eZ.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,eZ.Xi)(this,"paginationChange")})}isMultiRecordResource(){return this.resource instanceof r.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,m.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,m.jsx)("div",{style:{textAlign:"center"},children:(0,m.jsx)(_.Pagination,{simple:!0,pageSize:1,showSizeChanger:!1,defaultCurrent:l.getPage(),total:l.getTotalPage(),onChange:this.handlePageChange,style:{display:"inline-block"}})})}renderConfigureActions(){return(0,m.jsx)(r.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("RecordActionGroupModel"),afterSubModelInit:async e=>{e.setStepParams("buttonSettings","general",{type:"default"})},children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.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,a=!i&&!this.hasAvailableData(),{heightMode:s,height:d}=this.decoratorProps;return(0,m.jsx)(tY,{model:this,gridModel:this.subModels.grid,isConfigMode:i,heightMode:s,height:d,layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n},actions:(0,m.jsx)(r.DndProvider,{children:(0,m.jsx)("div",{style:a?{pointerEvents:"none",opacity:.45}:void 0,children:(0,m.jsxs)(_.Space,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||i)return(0,m.jsx)(r.Droppable,{model:e,children:(0,m.jsx)(r.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!1,showBorder:!1,toolbarPosition:"above"},extraToolbarItems:[{key:"drag-handler",component:r.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 r.MultiRecordResource){let t=this.resource;t.setPage(e),t.loading=!0,await this.refresh()}}}}tL.scene=eo.P.oam;let tY=e=>{let{model:t,gridModel:l,isConfigMode:o,heightMode:n,height:i,layoutProps:a,actions:s}=e,d=(0,h.useRef)(null),u=(0,h.useRef)(null),c=(0,h.useRef)(null),p="specifyValue"===n||"fullHeight"===n,f=tI({heightMode:n,containerRef:d,actionsRef:u,paginationRef:c,deps:[i]});(0,h.useEffect)(()=>{var e,t;if(!l)return;let o=p?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,p,n]);let g=p?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,v=p?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,m.jsx)(ts.s2,{model:t,layoutProps:a,style:g,children:(0,m.jsxs)("div",{ref:d,style:v,children:[(0,m.jsx)("div",{ref:u,style:{textAlign:"right",lineHeight:"0px",paddingBottom:o&&t.context.themeToken.padding},children:s}),(0,m.jsx)(r.FlowModelRenderer,{model:l,showFlowSettings:!1},`${(null==l?void 0:l.uid)||"details-grid"}:${o?"design":"runtime"}`),(0,m.jsx)("div",{ref:c,children:t.renderPagination()})]})})};tL.registerFlow({key:"detailsSettings",title:(0,r.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,r.tExpr)("Layout")},dataScope:{use:"dataScope"},defaultSorting:{use:"sortingRule",title:(0,r.tExpr)("Default sorting")},linkageRules:{use:"detailsFieldLinkageRules"}}}),tL.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"}}}}),tL.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,eZ.Xi)(e.model,"paginationChange")}}}}),tL.define({label:(0,r.tExpr)("Details"),searchable:!0,searchPlaceholder:(0,r.tExpr)("Search"),createModelOptions:{use:"DetailsBlockModel",subModels:{grid:{use:"DetailsGridModel"}}},sort:350});class tD extends r.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 S.default.sortBy([...o(t),...o(l)],"sort")}}tD.renderMode=r.ModelRenderMode.RenderFunction,tD.define({hide:!0,label:(0,r.tExpr)("Others")});class tE extends X{renderAddSubModelButton(){return this.context.flowSettingsEnabled?(0,m.jsx)(r.AddSubModelButton,{model:this,subModelKey:"items",subModelBaseClasses:[this.context.getModelClassName("DetailsItemModel"),this.context.getModelClassName("DetailsAssociationFieldGroupModel"),this.context.getModelClassName("DetailsCustomItemModel")].filter(Boolean),keepDropdownOpen:!0,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.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,m.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,m.jsx)(_.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:-12,height:24},after:{offsetTop:7,height:24}},columnEdge:{left:{offsetLeft:-5,width:24},right:{offsetLeft:8,width:24}},rowGap:{above:{offsetTop:0,height:24},below:{offsetTop:-14,height:24}}}}}function tR(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 tN(e,t,l){let{fieldUseModel:o,refreshTargets:n}=l,i=l.key??"js-association-fields",a=l.label??(0,r.tExpr)("Display association fields");return{key:i,type:"group",label:a,searchable:l.searchable??!0,searchPlaceholder:l.searchPlaceholder??(0,r.tExpr)("Search fields"),children:async e=>tR(await t(e),{fieldUseModel:o,refreshTargets:n})}}tE.registerFlow({key:"detailFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});class tB extends D{}async function tO(e,t){var l;let{useModel:o,fieldUseModel:n,refreshTargets:i,associationPathName:a,associationProvider:s}=t,d=(0,r.buildWrapperFieldChildren)(e,{useModel:o,fieldUseModel:n,associationPathName:a,refreshTargets:i}),u=[],c=null==d||null==(l=d[0])?void 0:l.children;if(Array.isArray(c)&&(u=c),!s)return u;let p=await s(e);return Array.isArray(p)&&0!==p.length?[...u,tN(e,s,{fieldUseModel:n,refreshTargets:i})]:u}tB.itemModelName="FormItemModel";class tH extends tD{static defineChildren(e){return tO(e,{useModel:"DetailsItemModel",fieldUseModel:"JSFieldModel",refreshTargets:["DetailsItemModel"],associationProvider:e=>tT.defineChildren(e)})}}tH.define({label:(0,r.tExpr)("JS field"),searchable:!0,searchPlaceholder:(0,r.tExpr)("Search fields"),sort:110});class tq extends es.o{}class t$ extends es.o{constructor(...e){super(...e),this.operator="$eq",this.updateAssociation=!0}}t$.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 tV=(e,t)=>e===t,tz=e=>{if(e&&"object"==typeof e){let t=e.data;return t&&"object"==typeof t?t:e}};function tK(e){return"string"==typeof e&&e?e:Array.isArray(e)&&1===e.length&&"string"==typeof e[0]?e[0]:void 0}function tU(e,t){var l;let o="string"==typeof(null==t||null==(l=t.titleCollectionField)?void 0:l.name)?t.titleCollectionField.name:void 0,n=tK(null==t?void 0:t.filterTargetKey)||"id",i="string"==typeof(null==e?void 0:e.value)&&e.value&&!tV(e.value,"value")?e.value:void 0,r="string"==typeof(null==e?void 0:e.label)&&e.label&&!tV(e.label,"label")?e.label:void 0,a=i||n;return{label:r||o||a,value:a}}function tG(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 tW(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 tJ(e){var t,l,o;let{option:n,fieldNames:i}=e,a=(0,r.useFlowModel)(),s=tz(n),d=tU(i,null==(t=a.context.collectionField)?void 0:t.targetCollection),u=a.subModels.field,c=tW(null==s?void 0:s[d.label])??tW(null==s?void 0:s.label)??tW(null==s?void 0:s[d.value]);if(!u)return(0,m.jsx)("span",{children:c??"N/A"});let p=String((null==s?void 0:s[d.value])??c??"association-option"),h=u.createFork({},p);h.context.defineProperty("record",{get:()=>s,cache:!1,meta:(0,r.createCurrentRecordMetaFactory)(h.context,()=>h.context.collection)});let f=null==(o=a.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:c,clickToOpen:!1,...g});let v=null!=c&&""!==c?h.render():"N/A";return(0,m.jsx)("span",{style:{pointerEvents:"none"},children:v})}function tX(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,m.jsx)(tJ,{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 tQ(e,t,l){return(null==e?void 0:e.length)?e.map(e=>(0,S.omit)(e,"disabled","options","style")):l?Array.isArray(t)?t.filter(e=>"object"==typeof e&&null!==e):[]:t&&"object"==typeof t?[t]:[]}let tZ=(0,e6.css)`
|
|
288
|
+
`},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:1}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},"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 ti extends P{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 tr(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}ti.scene=A.collection;let ta=e=>tr(e);ti.registerFlow({key:"expandCollapseSettingsInit",sort:200,steps:{init:{handler(e,t){e.blockModel.props.defaultExpandAllRows?e.model.setExpandFlag(!0):e.model.setExpandFlag(!1)}}}}),ti.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=ta(o.getData());e.blockModel.setProps({expandedRowKeys:t}),e.model.setExpandFlag(!0)}}}}}),ti.define({label:(0,r.escapeT)("Expand/Collapse"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.model.props.treeTable}});class ts extends eC{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,r.tExpr)("Add child"),icon:"PlusOutlined"}}}ts.capabilityActionName=null,ts.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})}}}}}),ts.define({label:(0,r.tExpr)("Add child"),hide(e){var t;return(null==(t=e.collection)?void 0:t.template)!=="tree"||!1===e.blockModel.props.treeTable}}),L.registerActionModels({AddChildActionModel:ts});var td=l(793);class tu extends td.F4{useHooksBeforeRender(){let[e]=_.Form.useForm();this.context.defineProperty("form",{get:()=>e})}onInit(e){super.onInit(e);let t=(0,r.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,r.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 O(this,null==e?void 0:e.filterManager)}),this.isManualRefresh=!0}createResource(e,t){let l=this.context.createResource(r.SingleRecordResource);return l.isNewRecord=!0,l}renderComponent(){var e;let{colon:t,labelAlign:l,labelWidth:o,labelWrap:n,layout:i}=this.props;return(0,m.jsx)(td.s2,{model:this,layoutProps:{colon:t,labelAlign:l,labelWidth:o,labelWrap:n,layout:i},children:(0,m.jsx)(r.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()||{}}}tu.define({label:(0,r.tExpr)("Field assignments"),hide:!0,createModelOptions:{use:"AssignFormModel",subModels:{grid:{use:"AssignFormGridModel"}}}});class tc extends X{renderAddSubModelButton(){return(0,m.jsx)(r.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,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.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,m.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,m.jsx)(_.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:-12,height:24},after:{offsetTop:7,height:24}},columnEdge:{left:{offsetLeft:-5,width:24},right:{offsetLeft:8,width:24}},rowGap:{above:{offsetTop:0,height:24},below:{offsetTop:-14,height:24}}}}}tc.registerFlow({key:"formFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});class tp extends tc{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="function"==typeof(null==l?void 0:l.getPrimaryKey)?l.getPrimaryKey():void 0,i=null==l?void 0:l.filterTargetKey,a=e=>!!e&&!!(n&&e===n||"string"==typeof i&&e===i||Array.isArray(i)&&i.includes(e)),s=o.filter(e=>!a(null==e?void 0:e.name)).map(e=>{let t=e.name,o=e.title||e.name,n=r.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,m.jsx)(r.AddSubModelButton,{subModelKey:"items",model:this,items:s,keepDropdownOpen:!0,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.SettingOutlined,{}),children:this.translate("Fields")})})}addOrEnsureItem(e,t){var l,o,n;let i=null==(l=this.context)?void 0:l.collection,a=((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(a){"function"==typeof(null==a?void 0:a.setStepParams)&&a.setStepParams("fieldSettings","assignValue",{value:t}),a.assignValue=t;return}let s=((null==i||null==(n=i.getFields)?void 0:n.call(i))||[]).find(t=>t.name===e),d=r.EditableItemModel.getDefaultBindingByField(this.context,s);if(!d)return;let u=d.modelName;this.flowEngine.createModel({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:u,stepParams:{fieldSettings:{init:{dataSourceKey:null==i?void 0:i.dataSourceKey,collectionName:null==i?void 0:i.name,fieldPath:e}}}}},parentId:this.uid,subKey:"items"}).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}}tp.define({label:(0,r.tExpr)("Assign grid")});var tm=l(2314),th=l(9829);function tf(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 tg(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=(null==d?void 0:d.stepParams)||{},m=s??(null==(o=n.getFieldSettingsInitParams)?void 0:o.call(n)),h={...p,fieldBinding:{...p.fieldBinding,use:i},fieldSettings:{init:m}},f=n.flowEngine;u&&(null==d||d.invalidateFlowCache("beforeRender",!0),f.removeModelWithSubModels(u));let g=n.setSubModel("field",{uid:u,use:ed.o,props:{...r||{},...a?{pattern:a}:{}},stepParams:h,subModels:c});await g.dispatchEvent("beforeRender",void 0,{useCache:!1}),await n.save()}var tv=l(9133);function ty(e,t,l){let o=(0,S.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,S.get)(e,t)}return(0,S.get)(e,n)}function t_(e){let{record:t,currentObject:l,fieldPath:o,prefixFieldPath:n,idx:i}=e,r=ty(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,S.get)(l,a):l}function tb(e,t){return!(0,tv.E4)(e)||Array.isArray(t)?t:t&&"object"==typeof t&&Array.isArray(t.rows)?t.rows:null==t?[]:[t]}class tx extends r.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"),a=this.context.prefixFieldPath,s=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},u=tb(this.collectionField,t_({record:l,currentObject:o,fieldPath:this.fieldPath,prefixFieldPath:a,idx:t}));return(0,m.jsx)(r.FormItem,{...d,value:u,children:(0,m.jsx)(r.FieldModelRenderer,{model:s})})}}tx.define({label:(0,r.tExpr)("Display fields"),sort:100}),tx.registerFlow({key:"detailItemSettings",sort:300,title:(0,r.tExpr)("Detail item settings"),steps:{showLabel:{title:(0,r.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,r.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,r.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,r.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,r.tExpr)("Field component"),use:"displayFieldComponent"},fieldNames:{use:"titleField",title:(0,r.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=r.DisplayItemModel.getDefaultBindingByField(e,l),a=i.modelName;await tg({parentModel:e.model,targetUse:a,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=r.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}}}),tx.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh"}}});var tM=l(1961);function tw(e){if(!e)return!1;let t=null==e?void 0:e.type;return"belongsToMany"===t||"hasMany"===t||"belongsToArray"===t}function tS(e,t){var l;let o=!!(null==e||null==(l=e.isAssociationField)?void 0:l.call(e)),n=tw(e);return o&&!n&&Array.isArray(t)?t.length?t[0]:void 0:t}function tk(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 tF=["o2o","oho","obo","o2m","attachment","expression","point","lineString","circle","polygon","sequence","formula"];class tC extends r.EditableItemModel{static defineChildren(e){let t=e.collection;return t.getFields().map(l=>{let o=this.getDefaultBindingByField(e,l);if(!o)return;let n=o.modelName,i=e.prefixFieldPath?`${e.prefixFieldPath}.${l.name}`:l.name;return{key:i,label:l.title,refreshTargets:["FormItemModel/FormJSFieldItemModel"],toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===i},useModel:"FormItemModel",createModelOptions:()=>({use:"FormItemModel",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.emitter.on("onSubModelAdded",e=>{if(this.collectionField){let t=this.collectionField.getComponentProps();e.setProps(t),this.setProps({...S.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)||[],a=null!=o?(()=>{let e=l.createFork({},`${n}`);e.context.defineProperty("fieldIndex",{get:()=>o}),e.context.defineProperty("fieldKey",{get:()=>n}),this.context.currentObject&&e.context.defineProperty("currentObject",{get:()=>this.context.currentObject});let t=this.context.getPropertyOptions("item");if(this.context.item){let{value:l,...o}=t||{};e.context.defineProperty("item",{...o,get:()=>this.context.item,cache:!1})}return this.context.pattern&&e.context.defineProperty("pattern",{get:()=>this.context.pattern}),e})():l,{initialValue:s,...d}=this.context.pattern?{...this.props,pattern:this.context.pattern}:this.props,u=tk(this.props.name,o);this.context.defineProperty("fieldPathArray",{value:[...i,...S.default.castArray(u)]});let c=(null==(t=this.context.item)?void 0:t.value)||this.context.record;return(0,m.jsx)(r.FormItem,{...d,name:u,validateFirst:!0,disabled:this.props.disabled||!S.default.isEmpty(c)&&!c.__is_new__&&this.props.aclDisabled||!S.default.isEmpty(c)&&c.__is_new__&&this.props.aclCreateDisabled,children:(0,m.jsx)(r.FieldModelRenderer,{model:a,name:u})})}}tC.define({label:(0,r.tExpr)("Display fields"),sort:100}),tC.registerFlow({key:"editItemSettings",sort:300,title:(0,r.tExpr)("Form item settings"),steps:{showLabel:{title:(0,r.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,r.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,r.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,r.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,r.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 tM.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==tF||null==(n=tF.includes)||!n.call(tF,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,th.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==tF||null==(o=tF.includes)?void 0:o.call(tF,n))return;let i=tS(e.model.collectionField,t.defaultValue);e.model.setProps({initialValue:i})}},validation:{title:(0,r.tExpr)("Validation"),use:"validation"},required:{title:(0,r.tExpr)("Required"),use:"required"},model:{use:"fieldComponent",title:(0,r.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=>({titleField:e.model.props.titleField||e.model.context.collectionField.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=tx.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})}}}}),tC.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh",defaultParams:{strategy:"formItem"}}}});var tA=l(7309),tP=l(9624);class tT extends tC{onInit(e){var t,l,o,n,i,a,s;let d=null==(t=this.getStepParams("fieldSettings","assignValue"))?void 0:t.value;void 0!==d&&(this.assignValue=d),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 u=this.context,c=null==u?void 0:u.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=r.EditableItemModel.getDefaultBindingByField(u,e);if(!t)return;let l=t.modelName;null==u||null==(a=u.engine)||null==(i=a.createModel)||i.call(a,{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==(s=m.getField)?void 0:s.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;let t=this.context,l=t.collection,o=this.fieldInit,n=(null==(e=this.props)?void 0:e.name)||(this.fieldPath?[this.fieldPath]:void 0),i=this.fieldPath,a=()=>{var e,a,s;let[d,u]=h.default.useState(null);h.default.useEffect(()=>{var e,n,a,s,d,c,p,m,h,f,g,v,y,_,b,x,M,w,S,k,F;if(!i)return;let C=((null==l||null==(e=l.getFields)?void 0:e.call(l))||[]).find(e=>(null==e?void 0:e.name)===i);l.getField(i);let A=r.EditableItemModel.getDefaultBindingByField(t,C);if(!A)return;let P=A.modelName,T=null==t||null==(a=t.engine)||null==(n=a.createModel)?void 0:n.call(a,{use:"VariableFieldFormModel",subModels:{fields:[{use:P,stepParams:{fieldSettings:{init:o}}}]}});if(!T)return;null==(d=T.context)||null==(s=d.defineProperty)||s.call(d,"collection",{value:l});let j=null==t?void 0:t.dataSource;j&&(null==(p=T.context)||null==(c=p.defineProperty)||c.call(p,"dataSource",{value:j}));let I=null==l||null==(m=l.getField)?void 0:m.call(l,null==o?void 0:o.fieldPath);I&&(null==(f=T.context)||null==(h=f.defineProperty)||h.call(f,"collectionField",{value:I}));let L=null==t?void 0:t.blockModel;L&&(null==(v=T.context)||null==(g=v.defineProperty)||g.call(v,"blockModel",{value:L}));let Y=t.form;Y&&(null==(k=T.context)||null==(S=k.defineProperty)||S.call(k,"form",{value:Y})),T.context&&Object.defineProperty(T.context,"resource",{configurable:!0,enumerable:!0,get:()=>null==L?void 0:L.resource});let D=null==T||null==(_=T.subModels)||null==(y=_.fields)?void 0:y[0],E=null==l||null==(b=l.getField)?void 0:b.call(l,null==o?void 0:o.fieldPath),R=null==E?void 0:E.type,N=null==E?void 0:E.interface,B="belongsToMany"===R||"hasMany"===R||"belongsToArray"===R||"m2m"===N||"o2m"===N||"mbm"===N;if(null==D||null==(x=D.setProps)||x.call(D,{disabled:!1,readPretty:!1,pattern:"editable",updateAssociation:!1,multiple:B}),null==D||null==(M=D.dispatchEvent)||M.call(D,"beforeRender",void 0,{sequential:!0,useCache:!0}),(0,tA.NI)(D,E),!(null==D||null==(w=D.props)?void 0:w.fieldNames)&&(null==E?void 0:E.targetCollection)){let e=E.targetCollection,t=(null==E?void 0:E.targetKey)||(null==e?void 0:e.filterTargetKey)||"id";null==D||null==(F=D.setProps)||F.call(D,{fieldNames:{label:null==e?void 0:e.titleField,value:t}})}return u(T),()=>{var e,t,l,o;null==T||null==(l=T.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==T||null==(o=T.remove)||o.call(T)}},[]);let c=e=>(h.default.useEffect(()=>{var t,l,o,n;if(!d)return;null==(t=d.setProps)||t.call(d,{...e});let i=null==d||null==(o=d.subModels)||null==(l=o.fields)?void 0:l[0];i&&(null==(n=i.setProps)||n.call(i,{value:null==e?void 0:e.value,onChange:function(){for(var t,l=arguments.length,o=Array(l),n=0;n<l;n++)o[n]=arguments[n];let i=o&&o.length?o[0]:void 0;null==e||null==(t=e.onChange)||t.call(e,i)}}))},[e]),d?(0,m.jsx)("div",{style:{width:"100%"},children:(0,m.jsx)(r.FlowModelRenderer,{model:d,showFlowSettings:!1})}):null),p=()=>(0,m.jsx)(_.Input,{placeholder:"<Null>",readOnly:!0,style:{width:"100%"}}),f=e=>(0,m.jsx)(tP.h,{t:this.context.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange,containerStyle:{width:"100%"}}),g={renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?c:"null"===l?p:"runjs"===l?f:void 0},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:"runjs"===l?{code:"",version:"v2"}:void 0},resolvePathFromValue:e=>null===e?["null"]:(0,r.isRunJSValue)(e)?["runjs"]:(0,r.isVariableExpression)(e)?(0,r.parseValueToPath)(e):["constant"]},v=async()=>{var e;let t=null==(e=this.context)?void 0:e.getPropertyMetaTree,l="function"==typeof t?await t():[];return[{title:(0,r.tExpr)("Constant"),name:"constant",type:"string",paths:["constant"],render:c},{title:(0,r.tExpr)("Null"),name:"null",type:"object",paths:["null"],render:p},{title:(0,r.tExpr)("RunJS"),name:"runjs",type:"object",paths:["runjs"],render:f},...l]},y=(null==(e=this.props)?void 0:e.label)??this.fieldPath??"",b=null==l||null==(a=l.getField)?void 0:a.call(l,this.fieldPath);return y=(null==(s=this.props)?void 0:s.label)??(null==b?void 0:b.title)??y,(0,m.jsx)(r.FormItem,{...this.props,label:y,name:n,initialValue:this.assignValue,valuePropName:"__assign_value__",trigger:"__assign_trigger__",validateTrigger:"__assign_trigger__",children:h.default.createElement(e=>{let t=null==e?void 0:e.__assign_value__,l=void 0===t?this.assignValue:t;return(0,m.jsx)(r.VariableInput,{value:l,onChange:t=>{var l;this.assignValue=t,null==e||null==(l=e.__assign_trigger__)||l.call(e,t)},metaTree:v,converters:g,clearValue:""})})})};return(0,m.jsx)(a,{})}constructor(e){super(e),this.assignValue=void 0,(0,tm.define)(this,{assignValue:tm.observable})}}tT.define({label:(0,r.tExpr)("Assign field")}),tT.registerFlow({key:"editItemSettings",sort:300,title:(0,r.tExpr)("Form item settings"),steps:{showLabel:{title:(0,r.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,r.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,r.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,r.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,r.tExpr)("Validation"),use:"validation"},required:{title:(0,r.tExpr)("Required"),use:"required"}}});class tj extends D{}tj.itemModelName="DetailsItemModel",tj.define({label:'{{t("Display association fields")}}'});let tI=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},tL=e=>{let{heightMode:t,containerRef:l,actionsRef:o,paginationRef:n,deps:i=[]}=e,[r,a]=(0,h.useState)(),s=(0,h.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-tI(o.current)-tI(n.current)));a(e=>e===r?e:r)},[t,l,o,n]);return(0,h.useLayoutEffect)(()=>{s()},[s,...i]),(0,h.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 tY extends er.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(r.SingleRecordResource);return e.isNewRecord=!1,e}let n=this.context.createResource(r.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,r.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>this.getCurrentRecord(),cache:!1,resolveOnServer:(0,r.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>this.getCurrentRecord()),meta:o}),this.resource.on("refresh",()=>{var e,t;if(this.isMultiRecordResource()){this.hasMultiRefreshDispatched=!0,(0,e0.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,e0.Xi)(this,"paginationChange")})}isMultiRecordResource(){return this.resource instanceof r.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,m.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,m.jsx)("div",{style:{textAlign:"center"},children:(0,m.jsx)(_.Pagination,{simple:!0,pageSize:1,showSizeChanger:!1,defaultCurrent:l.getPage(),total:l.getTotalPage(),onChange:this.handlePageChange,style:{display:"inline-block"}})})}renderConfigureActions(){return(0,m.jsx)(r.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:this.getModelClassName("RecordActionGroupModel"),afterSubModelInit:async e=>{e.setStepParams("buttonSettings","general",{type:"default"})},children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.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,a=!i&&!this.hasAvailableData(),{heightMode:s,height:d}=this.decoratorProps;return(0,m.jsx)(tD,{model:this,gridModel:this.subModels.grid,isConfigMode:i,heightMode:s,height:d,layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n},actions:(0,m.jsx)(r.DndProvider,{children:(0,m.jsx)("div",{style:a?{pointerEvents:"none",opacity:.45}:void 0,children:(0,m.jsxs)(_.Space,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||i)return(0,m.jsx)(r.Droppable,{model:e,children:(0,m.jsx)(r.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!1,showBorder:!1,toolbarPosition:"above"},extraToolbarItems:[{key:"drag-handler",component:r.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 r.MultiRecordResource){let t=this.resource;t.setPage(e),t.loading=!0,await this.refresh()}}}}tY.scene=en.P.oam;let tD=e=>{let{model:t,gridModel:l,isConfigMode:o,heightMode:n,height:i,layoutProps:a,actions:s}=e,d=(0,h.useRef)(null),u=(0,h.useRef)(null),c=(0,h.useRef)(null),p="specifyValue"===n||"fullHeight"===n,f=tL({heightMode:n,containerRef:d,actionsRef:u,paginationRef:c,deps:[i]});(0,h.useEffect)(()=>{var e,t;if(!l)return;let o=p?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,p,n]);let g=p?{display:"flex",flexDirection:"column",minHeight:0,height:"100%"}:void 0,v=p?{display:"flex",flexDirection:"column",minHeight:0,flex:1}:void 0;return(0,m.jsx)(td.s2,{model:t,layoutProps:a,style:g,children:(0,m.jsxs)("div",{ref:d,style:v,children:[(0,m.jsx)("div",{ref:u,style:{textAlign:"right",lineHeight:"0px",paddingBottom:o&&t.context.themeToken.padding},children:s}),(0,m.jsx)(r.FlowModelRenderer,{model:l,showFlowSettings:!1},`${(null==l?void 0:l.uid)||"details-grid"}:${o?"design":"runtime"}`),(0,m.jsx)("div",{ref:c,children:t.renderPagination()})]})})};tY.registerFlow({key:"detailsSettings",title:(0,r.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,r.tExpr)("Layout")},dataScope:{use:"dataScope"},defaultSorting:{use:"sortingRule",title:(0,r.tExpr)("Default sorting")},linkageRules:{use:"detailsFieldLinkageRules"}}}),tY.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"}}}}),tY.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,e0.Xi)(e.model,"paginationChange")}}}}),tY.define({label:(0,r.tExpr)("Details"),searchable:!0,searchPlaceholder:(0,r.tExpr)("Search"),createModelOptions:{use:"DetailsBlockModel",subModels:{grid:{use:"DetailsGridModel"}}},sort:350});class tE extends r.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 S.default.sortBy([...o(t),...o(l)],"sort")}}tE.renderMode=r.ModelRenderMode.RenderFunction,tE.define({hide:!0,label:(0,r.tExpr)("Others")});class tR extends X{renderAddSubModelButton(){return this.context.flowSettingsEnabled?(0,m.jsx)(r.AddSubModelButton,{model:this,subModelKey:"items",subModelBaseClasses:[this.context.getModelClassName("DetailsItemModel"),this.context.getModelClassName("DetailsAssociationFieldGroupModel"),this.context.getModelClassName("DetailsCustomItemModel")].filter(Boolean),keepDropdownOpen:!0,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.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,m.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,m.jsx)(_.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:-12,height:24},after:{offsetTop:7,height:24}},columnEdge:{left:{offsetLeft:-5,width:24},right:{offsetLeft:8,width:24}},rowGap:{above:{offsetTop:0,height:24},below:{offsetTop:-14,height:24}}}}}function tN(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 tB(e,t,l){let{fieldUseModel:o,refreshTargets:n}=l,i=l.key??"js-association-fields",a=l.label??(0,r.tExpr)("Display association fields");return{key:i,type:"group",label:a,searchable:l.searchable??!0,searchPlaceholder:l.searchPlaceholder??(0,r.tExpr)("Search fields"),children:async e=>tN(await t(e),{fieldUseModel:o,refreshTargets:n})}}tR.registerFlow({key:"detailFieldGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});class tO extends D{}async function tH(e,t){var l;let{useModel:o,fieldUseModel:n,refreshTargets:i,associationPathName:a,associationProvider:s}=t,d=(0,r.buildWrapperFieldChildren)(e,{useModel:o,fieldUseModel:n,associationPathName:a,refreshTargets:i}),u=[],c=null==d||null==(l=d[0])?void 0:l.children;if(Array.isArray(c)&&(u=c),!s)return u;let p=await s(e);return Array.isArray(p)&&0!==p.length?[...u,tB(e,s,{fieldUseModel:n,refreshTargets:i})]:u}tO.itemModelName="FormItemModel";class tq extends tE{static defineChildren(e){return tH(e,{useModel:"DetailsItemModel",fieldUseModel:"JSFieldModel",refreshTargets:["DetailsItemModel"],associationProvider:e=>tj.defineChildren(e)})}}tq.define({label:(0,r.tExpr)("JS field"),searchable:!0,searchPlaceholder:(0,r.tExpr)("Search fields"),sort:110});class t$ extends ed.o{}class tV extends ed.o{constructor(...e){super(...e),this.operator="$eq",this.updateAssociation=!0}}tV.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 tz=(e,t)=>e===t,tK=e=>{if(e&&"object"==typeof e){let t=e.data;return t&&"object"==typeof t?t:e}};function tU(e){return"string"==typeof e&&e?e:Array.isArray(e)&&1===e.length&&"string"==typeof e[0]?e[0]:void 0}function tG(e,t){var l;let o="string"==typeof(null==t||null==(l=t.titleCollectionField)?void 0:l.name)?t.titleCollectionField.name:void 0,n=tU(null==t?void 0:t.filterTargetKey)||"id",i="string"==typeof(null==e?void 0:e.value)&&e.value&&!tz(e.value,"value")?e.value:void 0,r="string"==typeof(null==e?void 0:e.label)&&e.label&&!tz(e.label,"label")?e.label:void 0,a=i||n;return{label:r||o||a,value:a}}function tW(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 tJ(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 tX(e){var t,l,o;let{option:n,fieldNames:i}=e,a=(0,r.useFlowModel)(),s=tK(n),d=tG(i,null==(t=a.context.collectionField)?void 0:t.targetCollection),u=a.subModels.field,c=tJ(null==s?void 0:s[d.label])??tJ(null==s?void 0:s.label)??tJ(null==s?void 0:s[d.value]);if(!u)return(0,m.jsx)("span",{children:c??"N/A"});let p=String((null==s?void 0:s[d.value])??c??"association-option"),h=u.createFork({},p);h.context.defineProperty("record",{get:()=>s,cache:!1,meta:(0,r.createCurrentRecordMetaFactory)(h.context,()=>h.context.collection)});let f=null==(o=a.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:c,clickToOpen:!1,...g});let v=null!=c&&""!==c?h.render():"N/A";return(0,m.jsx)("span",{style:{pointerEvents:"none"},children:v})}function tQ(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,m.jsx)(tX,{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 tZ(e,t,l){return(null==e?void 0:e.length)?e.map(e=>(0,S.omit)(e,"disabled","options","style")):l?Array.isArray(t)?t.filter(e=>"object"==typeof e&&null!==e):[]:t&&"object"==typeof t?[t]:[]}let t0=(0,e9.css)`
|
|
289
289
|
div {
|
|
290
290
|
white-space: nowrap !important;
|
|
291
291
|
overflow: hidden;
|
|
292
292
|
text-overflow: ellipsis;
|
|
293
293
|
}
|
|
294
|
-
`;function
|
|
294
|
+
`;function t1(e){return e?{...e,display:"none"}:{display:"none"}}function t2(e){return(null==e?void 0:e.value)??"value"}function t5(e,t,l,o){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"record";if(o)return Array.isArray(e)?e.filter(Boolean).map(e=>{if("value"===n)return l.get(e)??{[t]:e};let o=null==e?void 0:e[t];return l.get(o)??e}):[];if("value"===n&&("string"==typeof e||"number"==typeof e))return[l.get(e)??{[t]:e}].filter(Boolean);if(e&&"object"==typeof e){let o=e[t],n=l.get(o)??e;return n?[n]:[]}return[]}function t4(e){let{fieldNames:t,value:l,multiple:o,allowMultiple:n,options:i,onChange:a,onDropdownVisibleChange:s,onPopupScroll:d,onSearch:u,disabled:c,dropdownStyle:p,loading:f=!1,valueMode:g="record",...v}=e,y=(0,r.useFlowModelContext)().t,b=!!(o&&n),x=t2(t),M=tZ(i,l,b),w=(0,h.useMemo)(()=>{let e=new Map;for(let t of M)e.set(null==t?void 0:t[x],t);return e},[M,x]),[S,k]=(0,h.useState)(!1),[F,C]=(0,h.useState)(""),A=(0,h.useMemo)(()=>t5(l,x,w,b,g),[l,x,w,b,g]),[P,T]=(0,h.useState)(()=>A);(0,h.useEffect)(()=>{S&&T(A)},[A,S]),(0,h.useEffect)(()=>{S||C("")},[S]);let j=(0,h.useMemo)(()=>{if(!P.length)return[];let e=[];for(let t of P){let l=null==t?void 0:t[x];null!=l&&e.push(l)}return e},[P,x]),I=(0,h.useCallback)(()=>{c||(k(!0),null==s||s(!0))},[c,s]),L=(0,h.useCallback)(()=>{k(!1),null==s||s(!1)},[s]),Y=(0,h.useCallback)(()=>{if("value"===g){if(b)a(P.map(e=>null==e?void 0:e[x]).filter(e=>null!=e));else{var e;a(null==P||null==(e=P[0])?void 0:e[x])}L();return}a(P),L()},[L,b,a,P,x,g]),D=(0,h.useCallback)(e=>{if(b)return void T(t=>{let l=new Map;for(let e of t)l.set(null==e?void 0:e[x],e);let o=[];for(let t of e){let e=w.get(t)??l.get(t);e&&o.push(e)}return o});let t=e[0],l=w.get(t);l&&("value"===g?a(null==l?void 0:l[x]):a(l)),L()},[L,b,a,w,x,g]),E=(0,h.useCallback)(e=>{if(!d)return;let t=e.currentTarget;t.scrollTop+t.clientHeight<t.scrollHeight-20||d({target:t})},[d]),R=(0,h.useCallback)(e=>{C(e),null==u||u(e)},[u]),N=(0,h.useCallback)(e=>{c||("Enter"===e.key||" "===e.key)&&(e.preventDefault(),I())},[c,I]);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(_.Select,{...v,dropdownStyle:t1(p),fieldNames:t,options:M,value:tQ(l,t,b,g,M),mode:b?"multiple":void 0,open:!1,onClick:I,onKeyDown:N,onChange:(e,t)=>{"value"===g?Array.isArray(t)?a(t.map(e=>(null==e?void 0:e[x])??(null==e?void 0:e.value)).filter(e=>void 0!==e)):a((null==t?void 0:t[x])??(null==t?void 0:t.value)):a(t)},loading:f,optionRender:e=>{let{data:l}=e;return(0,m.jsx)(tX,{option:l,fieldNames:t})},labelRender:e=>(0,m.jsx)("div",{className:t0,children:e.label}),showSearch:!1}),(0,m.jsxs)(__rspack_external_antd_mobile_0b674875.Popup,{visible:S,onMaskClick:L,destroyOnClose:!0,children:[(0,m.jsx)("div",{style:{margin:"10px"},children:(0,m.jsx)(__rspack_external_antd_mobile_0b674875.SearchBar,{placeholder:y("search"),value:F,onChange:R,onCancel:L,showCancelButton:!0})}),(0,m.jsxs)("div",{style:{maxHeight:"60vh",overflowY:"auto"},onScroll:E,children:[(0,m.jsx)(__rspack_external_antd_mobile_0b674875.CheckList,{multiple:b,value:j,onChange:D,children:M.map(e=>{let l=null==e?void 0:e[x];return(0,m.jsx)(__rspack_external_antd_mobile_0b674875.CheckList.Item,{value:l,children:(0,m.jsx)(tX,{option:e,fieldNames:t})},l)})}),f&&(0,m.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",padding:"12px 0"},children:(0,m.jsx)(__rspack_external_antd_mobile_0b674875.SpinLoading,{color:"primary"})})]}),b&&(0,m.jsx)(__rspack_external_antd_mobile_0b674875.Button,{block:!0,color:"primary",onClick:Y,style:{marginTop:"16px"},children:y("Confirm")})]})]})}function t8(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function t3(e){let{value:t,isMultiple:l,valueKey:o,labelKey:n,statusMap:i}=e,r=l?Array.isArray(t)?t:[]:null!=t?[t]:[],a=new Set;for(let e of r){if(!t8(e))continue;let t=null==e?void 0:e[o];if(null==t)continue;let l="object"==typeof t?JSON.stringify(t):String(t);l&&a.add(l)}for(let e of Array.from(i.keys()))a.has(e)||i.delete(e);let s=[];for(let e of r){if(!t8(e))continue;let t=null==e?void 0:e[o];if(null==t||(null==e?void 0:e[n])!=null)continue;let l="object"==typeof t?JSON.stringify(t):String(t);if(!l)continue;let r=i.get(l);"pending"!==r&&"done"!==r&&(i.set(l,"pending"),s.push({item:e,tk:t,tkKey:l}))}return s}function t6(e,t){t&&e.set(t,"done")}function t9(e){let{options:t}=e,l=(0,r.useFlowViewContext)(),{data:o,loading:n}=(0,v.useRequest)(async()=>await l.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:l,skipSave:!l.flowSettingsEnabled}),{refreshDeps:[l,t]});return!n&&(null==o?void 0:o.uid)?(0,m.jsx)(r.FlowModelRenderer,{model:o,fallback:(0,m.jsx)(b,{style:{margin:16}})}):(0,m.jsx)(b,{style:{margin:16}})}function t7(e){let{model:t,toOne:l=!1}=e,o=(0,r.useFlowContext)(),{Header:n,type:i}=o.view;return t._closeView=o.view.close,(0,m.jsxs)("div",{children:[(0,m.jsx)(n,{title:"dialog"===i?(0,m.jsx)("div",{style:{padding:`${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px 0`,marginBottom:-o.themeToken.marginSM,backgroundColor:"var(--colorBgLayout)"},children:o.t("Create record")}):o.t("Create record")}),(0,m.jsx)(t9,{options:{parentId:o.view.inputArgs.parentId,subKey:"grid",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"}})]})}let le=(e,t)=>{var l,o;let n=null==(l=e.context.collectionField)?void 0:l.collection,i=null==n?void 0:n.dataSource,r=e.context.t,a=(null==(o=e.context.collectionField)?void 0:o.name)||e.fieldPath,s=(0,h.useMemo)(()=>{let e=r((null==i?void 0:i.displayName)||(null==i?void 0:i.key)||""),t=e?`${e} > `:"",l=n?`${r(n.title)||n.name||n.tableName} > `:"";return`${t}${l}${a}`},[n,null==i?void 0:i.displayName,null==i?void 0:i.key,a,r]);return t?null:r('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:s,actionName:"Update"}).replaceAll(">",">")},lt=e=>{var t,l;let{fieldNames:o,value:n,multiple:i,allowMultiple:a,keepDropdownOpenOnSelect:s=!1,options:d,quickCreate:u,onChange:c,allowCreate:p=!0,allowEdit:f=!0,...g}=e,v=(0,r.useFlowModel)(),y=tG(o,null==v||null==(l=v.context)||null==(t=l.collectionField)?void 0:t.targetCollection),b=!!(i&&a),x=!!(s&&b),M=tZ(d,n,b),w=(0,h.useRef)();w.current||(w.current=v.__keepOpenOnSelectRuntime||(v.__keepOpenOnSelectRuntime={open:void 0,preventCloseOnSelect:!1}));let S=w.current,[k,A]=(0,h.useState)(S.open),P=e=>{Object.assign(S,e),Object.prototype.hasOwnProperty.call(e,"open")&&A(S.open)},T=!!v.context.flowSettingsEnabled,{t:j}=(0,F.useTranslation)(),I=(0,h.useRef)(new Map);(0,h.useEffect)(()=>{var e,t,l,o;let i=null==v?void 0:v.resource;if(!i||"function"!=typeof i.get)return;let r=y.value,a=y.label;if(!r||!a)return;let s=n,d=t3({value:s,isMultiple:b,valueKey:r,labelKey:a,statusMap:I.current});if(!d.length)return;let u=(null==v||null==(e=v.props)?void 0:e.name)??(null==v||null==(t=v.context)?void 0:t.fieldPathArray),p=null==v||null==(o=v.context)||null==(l=o.blockModel)?void 0:l.context;d.forEach(e=>{let{item:t,tk:l,tkKey:o}=e;(async()=>{try{let e=await i.get(l);if(!e||"object"!=typeof e)return;let o={...t,...e};if((null==o?void 0:o[a])==null)return;let n=b?(Array.isArray(s)?s:[]).map(e=>t8(e)&&(null==e?void 0:e[r])===l?o:e):o;if(p&&"function"==typeof p.setFormValue&&null!=u)return void await p.setFormValue(u,n,{source:"default",markExplicit:!1,triggerEvent:!1});c(n)}catch(e){}finally{t6(I.current,o)}})()})},[b,v,y.label,y.value,c,n]);let L=e=>{let{searchText:t}=e;return(0,m.jsxs)("div",{onClick:()=>g.onDropdownAddClick(t),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,m.jsx)(E.PlusOutlined,{}),(0,m.jsx)("span",{style:{paddingLeft:5},children:j("Add")+` “${t}” `})]})},Y=le(v,f);return(0,m.jsxs)(_.Space.Compact,{style:{width:"100%"},children:[(0,m.jsx)(_.Select,{style:{width:"100%"},...g,allowClear:!0,showSearch:!0,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,m.jsxs)(_.Tooltip,{title:(0,m.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,m.jsx)(_.Tag,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]}),filterOption:!1,labelInValue:!0,onCompositionEnd:e=>g.onCompositionEnd(e,!1),fieldNames:y,options:M,value:tQ(n,y,b),mode:b?"multiple":void 0,open:x?k:void 0,onChange:(e,t)=>{c(t)},onSelect:(e,t)=>{var l;x&&P({preventCloseOnSelect:!0,open:!0}),null==(l=g.onSelect)||l.call(g,e,t)},onDropdownVisibleChange:e=>{var t,l;if(x){if(!e&&S.preventCloseOnSelect){P({preventCloseOnSelect:!1,open:!0}),null==(l=g.onDropdownVisibleChange)||l.call(g,!0);return}P({preventCloseOnSelect:!1,open:e})}null==(t=g.onDropdownVisibleChange)||t.call(g,e)},optionRender:e=>{let{data:t}=e;return(0,m.jsx)("div",{onMouseDown:()=>{x&&P({preventCloseOnSelect:!0})},children:(0,m.jsx)(tX,{option:t,fieldNames:y})})},popupMatchSelectWidth:!0,labelRender:e=>(0,m.jsx)("div",{className:(0,e9.css)`
|
|
295
295
|
div {
|
|
296
296
|
white-space: nowrap !important;
|
|
297
297
|
overflow: hidden;
|
|
298
298
|
text-overflow: ellipsis;
|
|
299
299
|
}
|
|
300
|
-
`,children:e.label}),dropdownRender:e=>{let t=M.some(e=>e[y.label]===g.searchText);return(0,m.jsx)(m.Fragment,{children:"quickAdd"===u&&p&&f&&g.searchText?(0,m.jsxs)(m.Fragment,{children:[!(0===M.length&&g.searchText)&&e,M.length>0&&g.searchText&&!t&&(0,m.jsx)(_.Divider,{style:{margin:0}}),!t&&(0,m.jsx)(L,{searchText:g.searchText})]}):e})}}),"modalAdd"===u&&(p&&f||T)&&(p&&f?(0,m.jsx)(_.Button,{onClick:g.onModalAddClick,children:j("Add new")}):(0,m.jsx)(C,{forbidden:{actionName:"create"},collection:v.collectionField.targetCollection,message:Y,children:(0,m.jsx)(_.Button,{onClick:g.onModalAddClick,disabled:!f,style:{opacity:"0.3"},children:j("Add new")})}))]})};class lt extends t${get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.targetCollection}}),this.setDataSource([])}set onPopupScroll(e){this.setProps({onPopupScroll:e})}set onDropdownVisibleChange(e){this.setProps({onDropdownVisibleChange:e})}set onSearch(e){this.setProps({onSearch:e})}setDataSource(e){this.setProps({options:e})}getDataSource(){return this.props.options}getFilterValue(){var e,t;let l=tU(this.props.fieldNames,null==(e=this.context.collectionField)?void 0:e.targetCollection);return Array.isArray(this.props.value)?this.props.value.map(e=>e[l.value]):null==(t=this.props.value)?void 0:t[l.value]}onMount(){this.onModalAddClick=e=>{this.dispatchEvent("openView",{event:e,onChange:this.props.onChange})},this.onDropdownAddClick=e=>{this.dispatchEvent("dropdownAdd",{search:e,onChange:this.props.onChange})}}set onModalAddClick(e){this.setProps({onModalAddClick:e})}set onDropdownAddClick(e){this.setProps({onDropdownAddClick:e})}change(e){this.props.onChange(e)}render(){return this.context.isMobileLayout?(0,m.jsx)(t5,{...this.props,loading:this.resource.loading}):(0,m.jsx)(le,{...this.props})}}let ll={page:1,pageSize:40,loading:!1,hasMore:!0},lo=e=>`__search__${e}`,ln=e=>`__assoc__${e}`;async function li(e,t){try{var l,o,n,i;let t=e.model.collectionField.targetCollection,r=tU(e.model.props.fieldNames,t).label,a=t.getField(r);if(!a)return;let s=a.getInterfaceOptions(),d=(null==s||null==(n=s.filterable)||null==(o=n.operators)||null==(l=o[0])?void 0:l.value)||"$includes",u=null==(i=e.inputArgs.searchText)?void 0:i.trim(),c=e.model.resource,p=`${r}.${d}`;""===u?c.removeFilterGroup(lo(r)):(c.setPage(1),c.addFilterGroup(lo(r),{[p]:u})),await c.refresh();let m=c.getData();e.model.setDataSource(m),m.length<ll.pageSize?ll.hasMore=!1:(ll.hasMore=!0,ll.page++),e.model.setProps({searchText:u})}catch(t){console.error("AssociationSelectField search flow error:",t),e.model.setDataSource([])}}lt.registerFlow({key:"eventSettings",sort:900,steps:{bindEvent:{handler(e,t){var l;let o=lo(tU(e.model.props.fieldNames,null==(l=e.model.collectionField)?void 0:l.targetCollection).label);e.model.onDropdownVisibleChange=t=>{t?e.model.dispatchEvent("dropdownOpen",{apiClient:e.app.apiClient,form:e.model.context.form}):(e.model.resource.removeFilterGroup(o),ll.page=1)},e.model.onPopupScroll=t=>{e.model.dispatchEvent("popupScroll",{event:t,apiClient:e.app.apiClient})},e.model.onSearch=t=>{e.model.dispatchEvent("search",{searchText:t,apiClient:e.app.apiClient})}}}}}),lt.registerFlow({key:"dropdownOpenSettings",on:"dropdownOpen",steps:{setScope:{async handler(e,t){var l;let o=tU(e.model.props.fieldNames,null==(l=e.model.collectionField)?void 0:l.targetCollection).value,n=e.model.resource,i=e.model.getDataSource();n.setPage(1),await e.model.applyFlow("selectSettings"),await n.refresh();let{count:r}=n.getMeta(),a=n.getData();(!i||r!==i.length||a[0][o]!==i[0][o])&&(e.model.setDataSource(a),e.model.setProps({searchText:null}),a.length<ll.pageSize?ll.hasMore=!1:(ll.hasMore=!0,ll.page++))}}}}),lt.registerFlow({key:"popupScrollSettings",on:"popupScroll",steps:{step1:{async handler(e,t){var l;let{scrollTop:o,scrollHeight:n,clientHeight:i}=(null==(l=e.inputArgs)?void 0:l.event).target;if(!(o+i<n-20)&&!ll.loading&&ll.hasMore){ll.loading=!0;try{let t=e.model.resource;t.setPage(ll.page),await t.refresh();let l=t.getData(),o=e.model.getDataSource()||[];e.model.setDataSource([...o,...l]),l.length<ll.pageSize?(ll.hasMore=!1,ll.page=1):ll.page++}catch(e){console.error("Scroll pagination request failed:",e)}finally{ll.loading=!1}}}}}});let lr=(0,S.debounce)(li,500);lt.registerFlow({key:"searchSettings",on:"search",steps:{step1:{handler:lr}}}),lt.registerFlow({key:"recordSelectSettings",sort:200,steps:{init:{async handler(e){var t,l,o;let n=e.createResource(r.MultiRecordResource),i=e.model.context.collectionField,{target:a,dataSourceKey:s,foreignKey:d}=i;n.setDataSourceKey(s),n.setResourceName(a),n.setPageSize(ll.pageSize);let u=(null==e||null==(l=e.blockModel)||null==(t=l.constructor)?void 0:t.scene)===eo.P.filter,c=["oho","o2m"].includes(i.interface),p=(null==(o=e.item)?void 0:o.value)||e.record,m=null==p?void 0:p[null==i?void 0:i.sourceKey],h=[];if(!u&&null!=m&&c){let e=`${d}.$eq`;h.push({[e]:m})}if(!u&&c){let e=`${d}.$is`;h.push({[e]:null})}h.length>0&&n.addFilterGroup(ln(d),{$or:h}),e.model.resource=n}},allowEditCheck:{async handler(e){if(e.blockModel instanceof tx.EditFormModel){var t;let l=await e.aclCheck({dataSourceKey:e.collectionField.dataSourceKey,resourceName:null==(t=e.collectionField)?void 0:t.collectionName,actionName:"update",fields:[e.collectionField.name]});e.model.setProps({allowEdit:!!l})}}}}}),lt.registerFlow({key:"selectSettings",title:(0,r.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,r.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},hideInSettings:e=>!e.collectionField||!["belongsToMany","hasMany","belongsToArray"].includes(e.collectionField.type),defaultParams:e=>({allowMultiple:e.collectionField&&["belongsToMany","hasMany","belongsToArray"].includes(e.model.context.collectionField.type)}),handler(e,t){e.model.setProps({allowMultiple:null==t?void 0:t.allowMultiple})}},quickCreate:{title:(0,r.tExpr)("Quick create"),uiMode(e){let t=e.t;return{type:"select",key:"quickCreate",props:{options:[{label:t("None"),value:"none"},{label:t("Dropdown"),value:"quickAdd"},{label:t("Pop-up"),value:"modalAdd"}]}}},hideInSettings(e){var t,l;return(null==e||null==(l=e.blockModel)||null==(t=l.constructor)?void 0:t.scene)===eo.P.filter},defaultParams:{quickCreate:"none"},handler(e,t){e.model.setProps({quickCreate:t.quickCreate})}}}}),lt.registerFlow({key:"dropdownAdd",title:(0,r.tExpr)("Create record setting"),sort:900,on:{eventName:"dropdownAdd"},steps:{dropdownAdd:{async handler(e,t){var l,o,n;if("quickAdd"!==e.model.props.quickCreate)return null;let{onChange:i,search:r}=e.inputArgs,a=await e.model.resource.create({[(null==(o=e.model.props)||null==(l=o.fieldNames)?void 0:l.label)||"id"]:r},{refresh:!1});a&&(i(["m2m","o2m"].includes(null==(n=e.collectionField)?void 0:n.interface)&&!1!==e.model.props.allowMultiple?[...e.model.props.value||[],a.data].filter((t,l,o)=>l===o.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey])):a.data),e.message.success(e.t("Saved successfully")),e.model.setProps({searchText:null}))}}}}),lt.registerFlow({key:"popupSettings",title:(0,r.tExpr)("Create record setting"),sort:900,on:{eventName:"openView"},steps:{openView:{title:(0,r.tExpr)("Edit popup"),uiSchema:e=>"modalAdd"!==e.model.props.quickCreate?null:{mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,o,n,i,r;let{onChange:a}=e.inputArgs,s={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},d=e.inputArgs.mode||t.mode||"drawer",u=["belongsTo","hasOne"].includes(e.collectionField.type),c=e.inputArgs.size||t.size||"medium",p=null==(l=e.collectionField)?void 0:l.collection,h=(null==(o=e.item)?void 0:o.value)??e.record,f=h?null==p||null==(n=p.getFilterByTK)?void 0:n.call(p,h):void 0,g=null==(i=e.collectionField)?void 0:i.resourceName,v=tG(e,e.inputArgs);e.viewer.open({type:d,width:s[d][c],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"create",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(r=e.collectionField)?void 0:r.target,...g&&null!=f?{associationName:g,sourceId:f}:{},collectionField:e.collectionField,openerUids:v,onChange:t=>{if(u||!e.model.props.allowMultiple){a(t);let l=e.model.getDataSource()||[];l.push(t),e.model.setDataSource(l)}else{let l=[...e.model.props.value||[],t].filter((t,l,o)=>l===o.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]));a(l);let o=e.model.getDataSource()||[];e.model.setDataSource(o.concat(l))}}},content:()=>(0,m.jsx)(t9,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===d?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),lt.define({label:(0,r.tExpr)("Dropdown select")}),r.EditableItemModel.bindModelToInterface("RecordSelectFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{isDefault:!0,order:1});class la extends lt{onInit(e){var t;super.onInit(e);let l=null==(t=this.getStepParams("selectSettings","allowMultiple"))?void 0:t.allowMultiple,o="boolean"==typeof l?l:"boolean"!=typeof this.props.allowMultiple||this.props.allowMultiple;this.setProps({allowMultiple:o,multiple:o,quickCreate:"none"})}}la.registerFlow({key:"selectSettings",title:(0,r.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,r.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},defaultParams:{allowMultiple:!0},handler(e,t){var l;let o=null==(l=e.model.getStepParams("selectSettings","allowMultiple"))?void 0:l.allowMultiple,n="boolean"==typeof(null==t?void 0:t.allowMultiple)?t.allowMultiple:"boolean"==typeof o?o:"boolean"!=typeof e.model.props.allowMultiple||e.model.props.allowMultiple;e.model.setProps({allowMultiple:n,multiple:n})}}}}),la.define({label:(0,r.tExpr)("Dropdown select")}),r.FilterableItemModel.bindModelToInterface("FilterFormRecordSelectFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{isDefault:!0,defaultProps:{allowMultiple:!0,multiple:!0,quickCreate:"none"}});var ls=l(6832);class ld extends tq{render(){return(0,m.jsx)(ls.DateFilterDynamicComponent,{...this.props})}}let lu=e=>{let{value:t,format:l="YYYY-MM-DD",picker:o="date",showTime:n,...i}=e,r={...i,value:t,format:l,picker:o,showTime:n};return(0,m.jsx)(ls.DateFilterDynamicComponent,{...r})};class lc extends ld{setProps(e){super.setProps({...e,showTime:!1,utc:!1})}render(){return(0,m.jsx)(lu,{...this.props})}}r.FilterableItemModel.bindModelToInterface("DateOnlyFilterFieldModel",["date"],{isDefault:!0});let lp=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",showTime:o,picker:n="date",...i}=e,r=o&&"date"===n?"YYYY-MM-DD":l;return(0,m.jsx)(ls.DateFilterDynamicComponent,{...i,value:t,format:r,picker:n,showTime:o})};class lm extends ld{render(){return(0,m.jsx)(lp,{...this.props})}}r.FilterableItemModel.bindModelToInterface("DateTimeNoTzFilterFieldModel",["datetimeNoTz"],{isDefault:!0});let lh=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",picker:o="date",showTime:n,...i}=e,r=n&&"date"===o?"YYYY-MM-DD":l,a={...i,value:t,format:r,picker:o,showTime:n};return(0,m.jsx)(ls.DateFilterDynamicComponent,{...a})};class lf extends ld{setProps(e){super.setProps({...e,utc:!0})}render(){return(0,m.jsx)(lh,{...this.props})}}r.FilterableItemModel.bindModelToInterface("DateTimeTzFilterFieldModel",["createdAt","datetime","updatedAt","unixTimestamp"],{isDefault:!0});var lg=l(6220);let lv="recordSelectDataSourceKey",ly="recordSelectTargetCollection",l_="recordSelectTitleField",lb="recordSelectValueField",lx="allowMultiple",lM="multiple",lw="valueMode",lS=new Set(["belongsTo","belongsToMany","hasOne","hasMany","belongsToArray"]),lk=e=>{var t,l,o,n,i;let{fieldModel:s,source:d=[]}=e,u=(0,z.useField)(),{t:c}=(0,F.useTranslation)(),p=u.value||{},f=s||(null==p?void 0:p.fieldModel),g=(0,r.useFlowEngine)(),v=(0,r.useFlowContext)(),y=null==v||null==(t=v.app)?void 0:t.dataSourceManager,b=()=>u.value||{},x=(e,t)=>{u.setValue({...b(),[e]:t})},M=e=>{var t;(null==u||null==(t=u.form)?void 0:t.setValuesIn)&&(null==u?void 0:u.path)?u.form.setValuesIn(u.path,e):u.setValue(e)},w=e=>{var t,l,o,n;let i=`${u.path.toString()}.${e}`,r=null==(n=u.form)||null==(o=n.query)||null==(l=o.call(n,i))||null==(t=l.take)?void 0:t.call(l);return(Array.isArray(null==r?void 0:r.errors)?r.errors:[]).flatMap(e=>e?Array.isArray(e.messages)?e.messages:e.messages?[e.messages]:[]:[]).filter(Boolean)},S=e=>{let t=w(e);return t.length?{feedbackStatus:"error",feedbackText:t.join(", ")}:{}};(0,h.useEffect)(()=>{var e,t,l,o,n,i,a;let s=d.length?d:(null==p?void 0:p.source)||[];if(!s.length)return;let c=!!(null==g||null==(t=g.dataSourceManager)||null==(e=t.getDataSource)?void 0:e.call(t,s[0])),m=(null==g||null==(o=g.dataSourceManager)||null==(l=o.getDataSources)?void 0:l.call(o))??[],h=(c?s[0]:void 0)||(null==p?void 0:p[lv])||(null==(n=m[0])?void 0:n.key)||"main",y=(c?s.slice(1):s).join("."),_=g.dataSourceManager.getCollectionField(`${h}.${y}`),x=r.FilterableItemModel.getDefaultBindingByField(v.model.context,_);if(!_&&"FilterFormCustomRecordSelectFieldModel"!==f||!x&&"FilterFormCustomRecordSelectFieldModel"!==f)return;let w=(null==_||null==(i=_.getComponentProps)?void 0:i.call(_))||{},S={...(x&&"function"==typeof x.defaultProps?x.defaultProps(v.model.context,u):null==x?void 0:x.defaultProps)||{},...w,...b()};if(("FilterFormCustomRecordSelectFieldModel"===f||!f&&(null==_?void 0:_.target))&&(null==_?void 0:_.target)){let e=_.targetCollection||g.dataSourceManager.getCollection(_.dataSourceKey,_.target);S[lv]=_.dataSourceKey||h,S[ly]=_.target,S[l_]=_.targetCollectionTitleFieldName||(null==e||null==(a=e.titleCollectionField)?void 0:a.name)||S[l_],S[lb]=S[lb]||(null==e?void 0:e.filterTargetKey)||"id",void 0===S[lx]&&void 0===S[lM]&&(S[lx]=!0,S[lM]=!0),S[lw]||(S[lw]="value")}M(S)},[s,f,d.join("."),null==p?void 0:p.source,g]);let k=(0,h.useMemo)(()=>{var e,t;return(null==g||null==(t=g.dataSourceManager)||null==(e=t.getDataSources)?void 0:e.call(t))??[]},[g]),C=(0,h.useMemo)(()=>k.map(e=>({label:e.displayName??e.key,value:e.key})),[k]),A=(null==p?void 0:p[lv])||(null==(l=k[0])?void 0:l.key)||"main",P=A?null==g||null==(n=g.dataSourceManager)||null==(o=n.getDataSource)?void 0:o.call(n,A):void 0,T=null==p?void 0:p[ly],j=T?null==P||null==(i=P.getCollection)?void 0:i.call(P,T):void 0,I=(0,h.useCallback)(e=>e?(null==v?void 0:v.t)?v.t(e):c(e):e,[v,c]),L=(0,h.useMemo)(()=>(null==P?void 0:P.getCollections)?P.getCollections().filter(e=>{var t;return!(null==(t=e.options)?void 0:t.hidden)}).map(e=>({label:I(e.title)||e.name,value:e.name})):[],[P,I]),Y=(0,h.useMemo)(()=>{if(!(null==j?void 0:j.getFields))return[];let e=e=>!y||(0,a.ji)(y,e.options);return(j.getFields()||[]).filter(t=>e(t)).map(e=>{var t,l;return{label:I(null==(l=e.options)||null==(t=l.uiSchema)?void 0:t.title)||I(e.title)||e.name,value:e.name}})},[j,y,I]),D=(0,h.useMemo)(()=>{if(!(null==j?void 0:j.getFields))return[];let e=e=>{let t=(null==e?void 0:e.options)||{},l=t.interface||(null==e?void 0:e.interface);if(!1===t.filterable||!l)return!1;if(y){var o,n;let e=null==(n=y.collectionFieldInterfaceManager)||null==(o=n.getFieldInterface)?void 0:o.call(n,l);if(!(null==e?void 0:e.filterable))return!1}let i=t.type||(null==e?void 0:e.type);return!lS.has(i)};return(j.getFields()||[]).filter(t=>e(t)).map(e=>{var t,l;return{label:I(null==(l=e.options)||null==(t=l.uiSchema)?void 0:t.title)||I(e.title)||e.name,value:e.name}})},[j,y,I]);if((0,h.useEffect)(()=>{var e;if("FilterFormCustomRecordSelectFieldModel"!==f||!T||(null==p?void 0:p[l_]))return;let t=null==j||null==(e=j.titleCollectionField)?void 0:e.name;t&&u.setValue({...b(),[l_]:t})},[s,f,T,j,p]),(0,h.useEffect)(()=>{if("FilterFormCustomRecordSelectFieldModel"!==f||!T)return;let e=null==p?void 0:p[lb],t=D.map(e=>e.value);if(e&&t.includes(e))return;let l=null==j?void 0:j.filterTargetKey,o=l&&t.includes(l)&&l||t[0];o&&u.setValue({...b(),[lb]:o})},[s,f,T,j,p,D]),(0,h.useEffect)(()=>{"FilterFormCustomRecordSelectFieldModel"!==f||(null==p?void 0:p[lx])===void 0&&(null==p?void 0:p[lM])===void 0&&u.setValue({...b(),[lx]:!0,[lM]:!0})},[s,f,p]),"DateTimeFilterFieldModel"===s)return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(lg.FormItem,{label:c("Date format"),children:(0,m.jsxs)(_.Radio.Group,{value:p.format||"YYYY-MM-DD",onChange:e=>x("format",e.target.value),children:[(0,m.jsx)(_.Radio,{value:"YYYY/MM/DD",children:c("Year/Month/Day")}),(0,m.jsx)(_.Radio,{value:"YYYY-MM-DD",children:c("Year-Month-Day")}),(0,m.jsx)(_.Radio,{value:"DD/MM/YYYY",children:c("Day/Month/Year")})]})}),(0,m.jsx)(lg.FormItem,{label:c("Time"),children:(0,m.jsx)(_.Checkbox,{checked:p.showTime,onChange:e=>x("showTime",e.target.checked),children:c("Show time")})}),(0,m.jsx)(lg.FormItem,{label:c("Date range"),children:(0,m.jsx)(_.Checkbox,{checked:p.isRange,onChange:e=>x("isRange",e.target.checked),children:c("Show date range")})})]});if("SelectFieldModel"===s){let e=p.options||[];return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(lg.FormItem,{label:c("Mode"),children:(0,m.jsxs)(_.Radio.Group,{value:p.mode||"",onChange:e=>x("mode",e.target.value),children:[(0,m.jsx)(_.Radio,{value:"",children:c("Single select")}),(0,m.jsx)(_.Radio,{value:"multiple",children:c("Multiple select")})]})}),(0,m.jsx)(lg.FormItem,{label:c("Options"),children:(0,m.jsxs)(_.Space,{direction:"vertical",size:8,style:{width:"100%"},children:[e.map((t,l)=>(0,m.jsxs)(_.Space,{style:{width:"100%"},size:8,wrap:!0,align:"start",children:[(0,m.jsx)(_.Input,{style:{flex:1,minWidth:120},placeholder:c("Option label"),value:t.label,onChange:o=>{let n=[...e];n[l]={...t,label:o.target.value},x("options",n)}}),(0,m.jsx)(_.Input,{style:{flex:1,minWidth:120},placeholder:c("Option value"),value:t.value,onChange:o=>{let n=[...e];n[l]={...t,value:o.target.value},x("options",n)}}),(0,m.jsx)(_.Button,{type:"text",icon:(0,m.jsx)(E.CloseOutlined,{}),onClick:()=>{x("options",e.filter((e,t)=>t!==l))}})]},l)),(0,m.jsx)(_.Button,{type:"dashed",block:!0,icon:(0,m.jsx)(E.PlusOutlined,{}),onClick:()=>{x("options",[...e,{label:"",value:""}])},children:c("Add")})]})})]})}if("CheckboxGroupFieldModel"===s||"RadioGroupFieldModel"===s){let e=p.options||[];return(0,m.jsx)(lg.FormItem,{label:c("Options"),children:(0,m.jsxs)(_.Space,{direction:"vertical",size:8,style:{width:"100%"},children:[e.map((t,l)=>(0,m.jsxs)(_.Space,{style:{width:"100%"},size:8,wrap:!0,align:"start",children:[(0,m.jsx)(_.Input,{style:{flex:1,minWidth:120},placeholder:c("Option label"),value:t.label,onChange:o=>{let n=[...e];n[l]={...t,label:o.target.value},x("options",n)}}),(0,m.jsx)(_.Input,{style:{flex:1,minWidth:120},placeholder:c("Option value"),value:t.value,onChange:o=>{let n=[...e];n[l]={...t,value:o.target.value},x("options",n)}}),(0,m.jsx)(_.Button,{type:"text",icon:(0,m.jsx)(E.CloseOutlined,{}),onClick:()=>{x("options",e.filter((e,t)=>t!==l))}})]},`${t.value}-${l}`)),(0,m.jsx)(_.Button,{type:"dashed",block:!0,icon:(0,m.jsx)(E.PlusOutlined,{}),onClick:()=>{x("options",[...e,{label:"",value:""}])},children:c("Add")})]})})}return"FilterFormCustomRecordSelectFieldModel"===f?(0,m.jsxs)(m.Fragment,{children:[C.length>1&&(0,m.jsx)(lg.FormItem,{label:c("Data source"),children:(0,m.jsx)(_.Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:c("Please select"),value:A,options:C,onChange:e=>{u.setValue({...p,[lv]:e,[ly]:void 0,[l_]:void 0})}})}),(0,m.jsx)(lg.FormItem,{label:c("Target collection"),asterisk:!0,...S(ly),children:(0,m.jsx)(_.Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:c("Select collection"),value:T,options:L,onChange:e=>{u.setValue({...p,[ly]:e,[l_]:void 0})}})}),(0,m.jsx)(lg.FormItem,{label:c("Title field"),asterisk:!0,...S(l_),children:(0,m.jsx)(_.Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:c("Please select"),value:null==p?void 0:p[l_],options:Y,onChange:e=>x(l_,e)})}),(0,m.jsx)("div",{style:{color:"var(--colorTextDescription)",marginTop:-8,marginBottom:8},children:c("Used for display in the dropdown and selected tags.")}),(0,m.jsx)(lg.FormItem,{label:c("Value field"),asterisk:!0,...S(lb),children:(0,m.jsx)(_.Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:c("Please select"),value:null==p?void 0:p[lb],options:D,onChange:e=>x(lb,e)})}),(0,m.jsx)("div",{style:{color:"var(--colorTextDescription)",marginTop:-8,marginBottom:8},children:c("Stored as the field value for filtering (usually the primary key).")}),(0,m.jsx)(lg.FormItem,{label:c("Multiple"),children:(0,m.jsx)(_.Checkbox,{checked:(null==p?void 0:p[lx])!==!1,onChange:e=>{let t=e.target.checked;u.setValue({...p,[lx]:t,[lM]:t})},children:c("Allow multiple selection")})})]}):null};function lF(e){let{source:t=[],onChange:l}=e,o=(0,r.useFlowEngine)(),n=(0,r.useFlowContext)(),i=e.valueMap||{},a=t.join("."),s=(0,h.useRef)(),d=(0,h.useMemo)(()=>e=>i&&i[e]?i[e]:e,[i]),u=(0,h.useMemo)(()=>{if(!t.length)return;let e=o.dataSourceManager.getCollectionField(a),l=r.FilterableItemModel.getDefaultBindingByField(n.model.context,e);if(l)return d(l.modelName)},[a,d]);return(0,h.useEffect)(()=>{if(!u){s.current=a;return}let t=void 0!==s.current&&s.current!==a;s.current=a;let o=d(e.value);if(e.value&&e.value!==o&&o!==u){null==l||l(o);return}(!e.value||t)&&o!==u&&(null==l||l(u))},[u,l,e.value,a,d]),(0,m.jsx)(lg.Select,{allowClear:!0,...e,value:d(e.value??u)})}let lC={InputFieldModel:a.II.string,NumberFieldModel:a.II.number,DateTimeFilterFieldModel:a.II.datetime,SelectFieldModel:e=>(null==e?void 0:e.mode)==="multiple"?a.II.array:a.II.enumType,RadioGroupFieldModel:a.II.enumType,CheckboxGroupFieldModel:a.II.array},lA=new Set(["$in","$notIn","$empty","$notEmpty","$includes","$notIncludes"]),lP={label:'{{t("is any of")}}',value:"$in",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},lT={label:'{{t("is none of")}}',value:"$notIn",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},lj={input:a.II.string,email:a.II.string,phone:a.II.string,uuid:a.II.string,url:a.II.string,nanoid:a.II.string,textarea:a.II.string,markdown:a.II.bigField,vditor:a.II.bigField,richText:a.II.bigField,password:a.II.string,color:a.II.string,number:a.II.number,integer:a.II.number,id:a.II.id,snowflakeId:a.II.number,dateOnly:a.II.datetime,datetime:a.II.datetime,datetimeNoTz:a.II.datetime,unixTimestamp:a.II.datetime,time:a.II.time,select:a.II.enumType,multipleSelect:a.II.array,radioGroup:a.II.enumType,checkboxGroup:a.II.array,checkbox:a.II.boolean};function lI(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=lC[e];return l?"function"==typeof l?l(t)||[]:l||[]:[]}function lL(e){var t,l,o,n;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0;if(!Array.isArray(i)||0===i.length)return;let a=!!(null==e||null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,i[0])),s=a?i[0]:r||"main",d=(a?i.slice(1):i).join(".");if(d)return null==e||null==(n=e.dataSourceManager)||null==(o=n.getCollectionField)?void 0:o.call(n,`${s}.${d}`)}function lY(e){var t,l,o,n;let i;if(!e)return[];let r=null==(t=e.filterable)?void 0:t.operators;if(Array.isArray(r)&&r.length>0)return r;try{i=null==(n=e.getInterfaceOptions)||null==(o=n.call(e))||null==(l=o.filterable)?void 0:l.operators}catch(e){i=void 0}return Array.isArray(i)&&i.length>0?i:e.interface&&lj[e.interface]?lj[e.interface]:(null===a.II||void 0===a.II?void 0:a.II[e.type])||[]}function lD(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return"boolean"==typeof(null==e?void 0:e.multiple)?e.multiple:"boolean"!=typeof(null==e?void 0:e.allowMultiple)||e.allowMultiple}function lE(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Set;return e.filter(e=>!(!(null==e?void 0:e.value)||t.has(e.value))&&(t.add(e.value),!0))}function lR(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.some(e=>(null==e?void 0:e.value)==="$in"),l=e.some(e=>(null==e?void 0:e.value)==="$notIn"),o=e.filter(e=>lA.has(null==e?void 0:e.value)&&(null==e?void 0:e.value)!=="$in"&&(null==e?void 0:e.value)!=="$notIn"||(null==e?void 0:e.noValue)||(null==e?void 0:e.value)==="$exists"||(null==e?void 0:e.value)==="$notExists"),n=e.some(e=>(null==e?void 0:e.value)&&!e.noValue&&"$exists"!==e.value&&"$notExists"!==e.value),i=n||t,r=n||l,a=[];return i&&a.push(lP),r&&a.push(lT),lE([...a,...o])}function lN(e){var t,l,o,n,i;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],s=lL(e,a,null==r?void 0:r.recordSelectDataSourceKey),d=(null==s?void 0:s.dataSourceKey)||(null==a?void 0:a[0])||"main",u=(null==r?void 0:r.recordSelectDataSourceKey)||d,c=(null==r?void 0:r.recordSelectTargetCollection)||(null==s||null==(t=s.targetCollection)?void 0:t.name)||(null==s?void 0:s.target);if(!c)return;let p=null==e||null==(o=e.dataSourceManager)||null==(l=o.getCollection)?void 0:l.call(o,u,c);if(!p)return;let m=(null==r?void 0:r.recordSelectValueField)||(null==p?void 0:p.filterTargetKey)||(null==p||null==(n=p.getPrimaryKey)?void 0:n.call(p));if(m)return null==(i=p.getField)?void 0:i.call(p,m)}function lB(e){let{flowEngine:t,fieldModelProps:l={},source:o=[]}=e,n=lN(t,l,o),i=lY(n);return{operatorList:lD(l)?lR(i):i,meta:n}}function lO(e){let{flowEngine:t,fieldModel:l,fieldModelProps:o={},source:n=[]}=e;if("FilterFormCustomRecordSelectFieldModel"===l)return lB(e);let i=lI(l,o);if(i.length>0)return{operatorList:i,meta:{fieldModel:l}};let r=lL(t,n);return{operatorList:lY(r),meta:r}}function lH(e){let{operatorList:t,meta:l}=lO(e);return lE((t||[]).filter(e=>!(null==e?void 0:e.visible)||e.visible(l)))}function lq(e){var t,l;let{fieldModel:o,fieldModelProps:n={}}=e,i=lH(e);if("DateTimeFilterFieldModel"===o&&(null==n?void 0:n.isRange)){let e=i.find(e=>"$dateBetween"===e.value);if(e)return e.value}return(null==(t=i.find(e=>e.selected))?void 0:t.value)||(null==(l=i[0])?void 0:l.value)}function l$(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;return e.map(e=>({...e,label:t(e.label),value:e.value}))}let lV=(0,r.observer)(e=>{var t;let{fieldModel:l,source:o=[],fieldModelProps:n={},value:i,onChange:a,...s}=e,d=(0,z.useField)(),u=(0,r.useFlowEngine)(),c=(0,r.useFlowContext)(),p=(null==d||null==(t=d.form)?void 0:t.values)||{},f=l||(null==p?void 0:p.fieldModel),g=o.length?o:(null==p?void 0:p.source)||[],v=(null==p?void 0:p.fieldModelProps)&&Object.keys(p.fieldModelProps).length>0?p.fieldModelProps:n,y=Array.isArray(g)?g.join("."):"",_=null==v?void 0:v.mode,b=null==v?void 0:v.allowMultiple,x=null==v?void 0:v.multiple,M=null==v?void 0:v.recordSelectDataSourceKey,w=null==v?void 0:v.recordSelectTargetCollection,S=null==v?void 0:v.recordSelectValueField,k=(0,h.useMemo)(()=>lH({flowEngine:u,fieldModel:f,source:g,fieldModelProps:v}),[u,f,y,_,b,x,M,w,S]),F=(0,h.useMemo)(()=>l$(k,e=>c.t(e)),[k,c]);return(0,h.useEffect)(()=>{if(!F.length){void 0!==i&&(null==a||a(void 0));return}if(F.some(e=>e.value===i))return;let e=lq({flowEngine:u,fieldModel:f,source:g,fieldModelProps:v});e!==i&&(null==a||a(e))},[u,f,a,F,y,i,_,b,x,M,w,S]),(0,m.jsx)(lg.Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:c.t("Please select"),...s,options:F,value:i,onChange:a,disabled:0===F.length})});class lz extends r.FlowModel{static defineChildren(e){let t=e.engine.filterModelClassByParent("CommonItemModel"),l=e.engine.filterModelClassByParent("FilterFormCustomItemModel"),o=t=>Array.from(t.entries()).map(t=>{var l,o;let[n,i]=t,r={key:n,label:e.t(i.meta.label),sort:i.meta.sort??999,searchable:!!(null==(l=i.meta)?void 0:l.searchable),searchPlaceholder:null==(o=i.meta)?void 0:o.searchPlaceholder};return r.createModelOptions={use:n},r});return S.default.sortBy([...o(t),...o(l)],"sort")}}function lK(e){let t=(0,r.useFlowEngine)(),l=(0,h.useCallback)(()=>{let e=null==t?void 0:t.dataSourceManager;return e?e.getDataSources().map(e=>({value:e.key,label:e.displayName??e.key,isLeaf:!1,meta:{type:"dataSource",dataSourceKey:e.key}})):[]},[t]),[o,n]=(0,h.useState)(()=>l());(0,h.useEffect)(()=>{n(l())},[l]);let i=(0,h.useCallback)(e=>{var l;let o=e[e.length-1];if(!o||(null==(l=o.children)?void 0:l.length))return;let i=null==t?void 0:t.dataSourceManager;if(!i)return;let r=[];if(1===e.length){let e=o.value,t=i.getDataSource(e);r=((null==t?void 0:t.getCollections())??[]).map(t=>({value:t.name,label:t.title,isLeaf:!1,meta:{type:"collection",dataSourceKey:e,collectionName:t.name,fullPath:t.name}}))}else{let e=o.meta||{},t=e.dataSourceKey,l=i.getDataSource(t),a=null==l?void 0:l.collectionManager;if(!l||!a){o.isLeaf=!0,n(e=>[...e]);return}if("collection"===e.type){let l=a.getCollection(e.collectionName);r=((null==l?void 0:l.getFields())??[]).filter(e=>e.filterable).map(l=>{let o=`${e.fullPath}.${l.name}`,n=!!l.targetCollection;return{value:l.name,label:l.title,isLeaf:!n,meta:{type:"field",dataSourceKey:t,fullPath:o}}}).sort((e,t)=>t.isLeaf?0:-1)}else if("field"===e.type){let o=l.getCollectionField(e.fullPath),n=null==o?void 0:o.targetCollection;r=((null==n?void 0:n.getFields())??[]).filter(e=>e.filterable).map(l=>{let o=`${e.fullPath}.${l.name}`,n=!!l.targetCollection;return{value:l.name,label:l.title,isLeaf:!n,meta:{type:"field",dataSourceKey:t,fullPath:o}}}).sort((e,t)=>t.isLeaf?0:-1)}}r.length?o.children=r:o.isLeaf=!0,n(e=>[...e])},[t]);return(0,m.jsx)(_.Cascader,{allowClear:!0,...e,options:o,loadData:i})}lz.renderMode=r.ModelRenderMode.RenderFunction,lz.define({hide:!0,label:(0,r.tExpr)("Others")});var lU=l(6175);let lG=(e,t,l)=>{var o,n,i;if((null==l||null==(n=l.form)||null==(o=n.values)?void 0:o.fieldModel)==="FilterFormCustomRecordSelectFieldModel"&&(null==e||""===e))return(null==l||null==(i=l.t)?void 0:i.call(l,"The field value is required"))||"The field value is required"};class lW extends lz{buildRecordSelectCollectionField(e,t){var l,o,n,i,a,s;let d=(null==t?void 0:t.recordSelectDataSourceKey)||"main",u=null==t?void 0:t.recordSelectTargetCollection;if(!u)return;let c=null==(o=e.dataSourceManager)||null==(l=o.getDataSource)?void 0:l.call(o,d),p=null==c||null==(n=c.getCollection)?void 0:n.call(c,u);if(!c||!p)return;let m=(null==t?void 0:t.recordSelectTitleField)||(null==(i=p.titleCollectionField)?void 0:i.name)||(null==(s=p.titleCollectionField)||null==(a=s.options)?void 0:a.name),h=(null==t?void 0:t.recordSelectValueField)||p.filterTargetKey||"id",f=new r.CollectionField({name:(null==t?void 0:t.name)||"recordSelect",interface:"m2o",type:"belongsTo",target:u,dataSourceKey:d,uiSchema:{"x-component":"Select"},fieldNames:{label:m,value:h}});return f.setCollection(p),f}get defaultTargetUid(){return this.getStepParams("filterFormItemSettings","init").defaultTargetUid}onInit(e){super.onInit(e),this.debouncedDoFilter=(0,S.debounce)(this.doFilter.bind(this),300)}onUnmount(){super.onUnmount(),this.debouncedDoFilter.cancel()}doFilter(){this.context.filterManager.refreshTargetsByFilter(this.uid)}doReset(){this.context.filterManager.refreshTargetsByFilter(this.uid)}getFilterValue(){var e,t,l,o;let n=(null==(e=this.customFieldModelInstance)?void 0:e.getFilterValue)?this.customFieldModelInstance.getFilterValue():null==(t=this.context.form)?void 0:t.getFieldValue(this.props.name),i=this.getCurrentOperatorMeta(),r=(0,lU.S)(this.operator,n);return(null==i?void 0:i.noValue)&&!Array.isArray(null==i||null==(o=i.schema)||null==(l=o["x-component-props"])?void 0:l.options)||r}getCurrentOperatorMeta(){let e=this.getStepParams("formItemSettings","fieldSettings")||{},t=e.fieldModel,l=e.source||[],o=this.customFieldProps||e.fieldModelProps||{},n=lH({flowEngine:this.flowEngine,fieldModel:t,source:l,fieldModelProps:o}),i=this.operator||e.operator;return i&&n.find(e=>e.value===i)||null}getValueProps(e){return this.context.blockModel.autoTriggerFilter&&(this.autoTriggerInitialized?(0,S.isEqual)(this.lastAutoTriggerValue,e)||(this.lastAutoTriggerValue=(0,S.cloneDeep)(e),this.debouncedDoFilter()):(this.autoTriggerInitialized=!0,this.lastAutoTriggerValue=(0,S.cloneDeep)(e))),{value:e,onKeyDown:this.handleEnterPress.bind(this)}}render(){return this.customFieldModelInstance?(0,m.jsx)(r.FormItem,{...this.props,getValueProps:this.getValueProps.bind(this),children:(0,m.jsx)(r.FieldModelRenderer,{model:this.customFieldModelInstance})}):null}constructor(...e){super(...e),this.customFieldModelInstance=null,this.customFieldProps=null,this.autoTriggerInitialized=!1,this.handleEnterPress=e=>{"Enter"===e.key&&(e.preventDefault(),this.doFilter())}}}lW.define({label:'{{t("Custom field")}}',sort:1}),lW.registerFlow({key:"formItemSettings",title:(0,r.tExpr)("Form item settings"),steps:{fieldSettings:{preset:!0,title:(0,r.tExpr)("Field settings"),uiSchema:{title:{type:"string",title:(0,r.tExpr)("Field title"),"x-component":"Input","x-decorator":"FormItem",required:!0},name:{type:"string",title:(0,r.tExpr)("Field name"),"x-component":"Input","x-decorator":"FormItem",required:!0,description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")}}'},source:{type:"array",title:(0,r.tExpr)("Field source"),"x-decorator":"FormItem","x-component":lK,"x-component-props":{placeholder:(0,r.tExpr)("Select a source field to use metadata of the field")},description:(0,r.tExpr)("Select a source field to use metadata of the field")},fieldModel:{type:"string",title:(0,r.tExpr)("Field type"),"x-component":lF,"x-decorator":"FormItem",required:!0,enum:[{label:(0,r.tExpr)("Input"),value:"InputFieldModel"},{label:(0,r.tExpr)("Number"),value:"NumberFieldModel"},{label:(0,r.tExpr)("Date"),value:"DateTimeFilterFieldModel"},{label:(0,r.tExpr)("Select"),value:"SelectFieldModel"},{label:(0,r.tExpr)("Radio group"),value:"RadioGroupFieldModel"},{label:(0,r.tExpr)("Checkbox group"),value:"CheckboxGroupFieldModel"},{label:(0,r.tExpr)("Record select"),value:"FilterFormCustomRecordSelectFieldModel"}],"x-component-props":{placeholder:(0,r.tExpr)("Please select"),valueMap:{RecordSelectFieldModel:"FilterFormCustomRecordSelectFieldModel"}},"x-reactions":[{dependencies:["source"],fulfill:{state:{componentProps:{source:"{{$deps[0]}}",valueMap:{RecordSelectFieldModel:"FilterFormCustomRecordSelectFieldModel"}}}}}]},fieldModelProps:{type:"object",title:(0,r.tExpr)("Component properties"),"x-component":lk,properties:{recordSelectTargetCollection:{type:"string","x-validator":lG},recordSelectTitleField:{type:"string","x-validator":lG},recordSelectValueField:{type:"string","x-validator":lG}},"x-reactions":[{dependencies:["fieldModel","source"],fulfill:{state:{componentProps:{fieldModel:"{{$deps[0]}}",source:"{{$deps[1]}}"}}}}]},operator:{type:"string",title:(0,r.tExpr)("Operator"),"x-component":lV,"x-decorator":"FormItem",required:!0,"x-reactions":[{dependencies:["fieldModel","source","fieldModelProps"],fulfill:{state:{componentProps:{fieldModel:"{{$deps[0]}}",source:"{{$deps[1]}}",fieldModelProps:"{{$deps[2] || {}}}"}}}}]}},defaultParams:e=>({name:`f_${(0,d.uid)().slice(0,4)}`}),handler(e,t){var l,o;let n,{fieldModel:i,fieldModelProps:r={},title:a,name:s,source:d=[],operator:u}=t;e.model.setProps({label:a,name:s});let c=r;if("FilterFormCustomRecordSelectFieldModel"===i){let t=(null==r?void 0:r.allowMultiple)===void 0||!!(null==r?void 0:r.allowMultiple),o=(null==r?void 0:r.multiple)===void 0?t:!!(null==r?void 0:r.multiple);if(c={...r,allowMultiple:t,multiple:o,valueMode:(null==r?void 0:r.valueMode)||"value"},n=e.model.buildRecordSelectCollectionField(e,{...c,name:s})){let e=(null==r?void 0:r.recordSelectTitleField)||n.targetCollectionTitleFieldName,t=(null==r?void 0:r.recordSelectValueField)||(null==(l=n.targetCollection)?void 0:l.filterTargetKey)||"id";e&&t&&(c={...c,fieldNames:{label:e,value:t}})}}if(e.model.customFieldModelInstance?e.model.customFieldModelInstance.setProps({allowClear:!0,...c}):e.model.customFieldModelInstance=e.model.flowEngine.createModel({use:i,props:{allowClear:!0,...c}}),"FilterFormCustomRecordSelectFieldModel"===i){let t=(null==c?void 0:c.recordSelectTitleField)||(null==c||null==(o=c.fieldNames)?void 0:o.label);t&&e.model.customFieldModelInstance.setStepParams("selectSettings","fieldNames",{label:t})}n&&e.model.customFieldModelInstance.context.defineProperty("collectionField",{value:n});let p=!!lH({flowEngine:e.model.flowEngine,fieldModel:i,source:d,fieldModelProps:c}).find(e=>e.value===u);e.model.operator=(p?u:void 0)||lq({flowEngine:e.model.flowEngine,fieldModel:i,source:d,fieldModelProps:c}),e.model.customFieldProps=c}},connectFields:{use:"connectFields"}}});let lJ="__filter_form_value_options__",lX=(e,t)=>null!=e&&""!==e&&("number"==typeof e||"bigint"==typeof e||"string"==typeof e&&(!t||!/(int|big)/i.test(t)||/^-?\d+$/.test(e))),lQ=(e,t)=>{if("number"==typeof e||"bigint"==typeof e||"string"==typeof e&&/(int|big)/i.test(t||"")&&/^-?\d+$/.test(e))return e},lZ=(e,t,l,o,n,i)=>{let r=new Map;t.forEach(e=>{if(!e||"object"!=typeof e)return;let t=null==e?void 0:e[o],n=null==e?void 0:e[l];null!=t&&null!=n&&r.set(t,n)});let a=e=>{if(null==e)return;if("object"==typeof e){let t=null==e?void 0:e[l];if(null!=t)return t;let n=(null==e?void 0:e[o])??(null==e?void 0:e.value);if(o===l)return n;let a=r.get(n);return null!=a?a:lQ(n,i)}if(o===l)return e;let t=r.get(e);return null!=t?t:lQ(e,i)};return(n&&Array.isArray(e)?e:[e]).map(e=>a(e)).filter(e=>lX(e,i))},l0=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0,o=new Map;return[...e,...t].forEach(e=>{let t=null==e?void 0:e[l];null!=t&&o.set(t,e)}),Array.from(o.values())},l1=(e,t)=>{var l,o;let n=null==e||null==(l=e.context)?void 0:l.collectionField,i=null==n?void 0:n.collection,r=null==i?void 0:i.dataSource,a=null==e||null==(o=e.context)?void 0:o.t,s=(null==n?void 0:n.name)||e.fieldPath,d=(0,h.useMemo)(()=>{if(!a||!r)return"";let e=`${a(r.displayName||r.key)} > `,t=i?`${a(i.title)||i.name||i.tableName} > `:"";return`${e}${t}${s}`},[a,r,i,s]);return!t&&a&&r?a('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:d,actionName:"Update"}).replaceAll(">",">"):null},l2=e=>{var t;let{fieldNames:l={label:"label",value:"value"},value:o,multiple:n,allowMultiple:i,options:a,quickCreate:s,onChange:d,allowCreate:u=!0,allowEdit:c=!0,valueMode:p="record",...h}=e,f=!!(n&&i),g=tQ(a,o,f),v=(0,r.useFlowModel)(),y=!!v.context.flowSettingsEnabled,{t:b}=(0,F.useTranslation)(),x=e=>{let{searchText:t}=e;return(0,m.jsxs)("div",{onClick:()=>h.onDropdownAddClick(t),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,m.jsx)(E.PlusOutlined,{}),(0,m.jsx)("span",{style:{paddingLeft:5},children:b("Add")+` “${t}” `})]})},M=l1(v,c);return(0,m.jsxs)(_.Space.Compact,{style:{width:"100%"},children:[(0,m.jsx)(_.Select,{style:{width:"100%"},...h,allowClear:!0,showSearch:!0,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,m.jsxs)(_.Tooltip,{title:(0,m.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,m.jsx)(_.Tag,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]}),filterOption:!1,labelInValue:!0,onCompositionEnd:e=>h.onCompositionEnd(e,!1),fieldNames:l,options:g,value:tX(o,l,f,p,g),mode:f?"multiple":void 0,onChange:(e,t)=>{"value"===p?Array.isArray(t)?d(t.map(e=>(null==e?void 0:e[l.value])??(null==e?void 0:e.value)).filter(e=>void 0!==e)):d((null==t?void 0:t[l.value])??(null==t?void 0:t.value)):d(t)},optionRender:e=>{let{data:t}=e;return(0,m.jsx)(tJ,{option:t,fieldNames:l})},popupMatchSelectWidth:!0,labelRender:e=>(0,m.jsx)("div",{className:(0,e6.css)`
|
|
300
|
+
`,children:e.label}),dropdownRender:e=>{let t=M.some(e=>e[y.label]===g.searchText);return(0,m.jsx)(m.Fragment,{children:"quickAdd"===u&&p&&f&&g.searchText?(0,m.jsxs)(m.Fragment,{children:[!(0===M.length&&g.searchText)&&e,M.length>0&&g.searchText&&!t&&(0,m.jsx)(_.Divider,{style:{margin:0}}),!t&&(0,m.jsx)(L,{searchText:g.searchText})]}):e})}}),"modalAdd"===u&&(p&&f||T)&&(p&&f?(0,m.jsx)(_.Button,{onClick:g.onModalAddClick,children:j("Add new")}):(0,m.jsx)(C,{forbidden:{actionName:"create"},collection:v.collectionField.targetCollection,message:Y,children:(0,m.jsx)(_.Button,{onClick:g.onModalAddClick,disabled:!f,style:{opacity:"0.3"},children:j("Add new")})}))]})};class ll extends tV{get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.targetCollection}}),this.setDataSource([])}set onPopupScroll(e){this.setProps({onPopupScroll:e})}set onDropdownVisibleChange(e){this.setProps({onDropdownVisibleChange:e})}set onSearch(e){this.setProps({onSearch:e})}setDataSource(e){this.setProps({options:e})}getDataSource(){return this.props.options}getFilterValue(){var e,t;let l=tG(this.props.fieldNames,null==(e=this.context.collectionField)?void 0:e.targetCollection);return Array.isArray(this.props.value)?this.props.value.map(e=>e[l.value]):null==(t=this.props.value)?void 0:t[l.value]}onMount(){this.onModalAddClick=e=>{this.dispatchEvent("openView",{event:e,onChange:this.props.onChange})},this.onDropdownAddClick=e=>{this.dispatchEvent("dropdownAdd",{search:e,onChange:this.props.onChange})}}set onModalAddClick(e){this.setProps({onModalAddClick:e})}set onDropdownAddClick(e){this.setProps({onDropdownAddClick:e})}change(e){this.props.onChange(e)}render(){return this.context.isMobileLayout?(0,m.jsx)(t4,{...this.props,loading:this.resource.loading}):(0,m.jsx)(lt,{...this.props})}}let lo={page:1,pageSize:40,loading:!1,hasMore:!0},ln=e=>`__search__${e}`,li=e=>`__assoc__${e}`;async function lr(e,t){try{var l,o,n,i;let t=e.model.collectionField.targetCollection,r=tG(e.model.props.fieldNames,t).label,a=t.getField(r);if(!a)return;let s=a.getInterfaceOptions(),d=(null==s||null==(n=s.filterable)||null==(o=n.operators)||null==(l=o[0])?void 0:l.value)||"$includes",u=null==(i=e.inputArgs.searchText)?void 0:i.trim(),c=e.model.resource,p=`${r}.${d}`;""===u?c.removeFilterGroup(ln(r)):(c.setPage(1),c.addFilterGroup(ln(r),{[p]:u})),await c.refresh();let m=c.getData();e.model.setDataSource(m),m.length<lo.pageSize?lo.hasMore=!1:(lo.hasMore=!0,lo.page++),e.model.setProps({searchText:u})}catch(t){console.error("AssociationSelectField search flow error:",t),e.model.setDataSource([])}}ll.registerFlow({key:"eventSettings",sort:900,steps:{bindEvent:{handler(e,t){var l;let o=ln(tG(e.model.props.fieldNames,null==(l=e.model.collectionField)?void 0:l.targetCollection).label);e.model.onDropdownVisibleChange=t=>{t?e.model.dispatchEvent("dropdownOpen",{apiClient:e.app.apiClient,form:e.model.context.form}):(e.model.resource.removeFilterGroup(o),lo.page=1)},e.model.onPopupScroll=t=>{e.model.dispatchEvent("popupScroll",{event:t,apiClient:e.app.apiClient})},e.model.onSearch=t=>{e.model.dispatchEvent("search",{searchText:t,apiClient:e.app.apiClient})}}}}}),ll.registerFlow({key:"dropdownOpenSettings",on:"dropdownOpen",steps:{setScope:{async handler(e,t){var l;let o=tG(e.model.props.fieldNames,null==(l=e.model.collectionField)?void 0:l.targetCollection).value,n=e.model.resource,i=e.model.getDataSource();n.setPage(1),await e.model.applyFlow("selectSettings"),await n.refresh();let{count:r}=n.getMeta(),a=n.getData();(!i||r!==i.length||a[0][o]!==i[0][o])&&(e.model.setDataSource(a),e.model.setProps({searchText:null}),a.length<lo.pageSize?lo.hasMore=!1:(lo.hasMore=!0,lo.page++))}}}}),ll.registerFlow({key:"popupScrollSettings",on:"popupScroll",steps:{step1:{async handler(e,t){var l;let{scrollTop:o,scrollHeight:n,clientHeight:i}=(null==(l=e.inputArgs)?void 0:l.event).target;if(!(o+i<n-20)&&!lo.loading&&lo.hasMore){lo.loading=!0;try{let t=e.model.resource;t.setPage(lo.page),await t.refresh();let l=t.getData(),o=e.model.getDataSource()||[];e.model.setDataSource([...o,...l]),l.length<lo.pageSize?(lo.hasMore=!1,lo.page=1):lo.page++}catch(e){console.error("Scroll pagination request failed:",e)}finally{lo.loading=!1}}}}}});let la=(0,S.debounce)(lr,500);ll.registerFlow({key:"searchSettings",on:"search",steps:{step1:{handler:la}}}),ll.registerFlow({key:"recordSelectSettings",sort:200,steps:{init:{async handler(e){var t,l,o;let n=e.createResource(r.MultiRecordResource),i=e.model.context.collectionField,{target:a,dataSourceKey:s,foreignKey:d}=i;n.setDataSourceKey(s),n.setResourceName(a),n.setPageSize(lo.pageSize);let u=(null==e||null==(l=e.blockModel)||null==(t=l.constructor)?void 0:t.scene)===en.P.filter,c=["oho","o2m"].includes(i.interface),p=(null==(o=e.item)?void 0:o.value)||e.record,m=null==p?void 0:p[null==i?void 0:i.sourceKey],h=[];if(!u&&null!=m&&c){let e=`${d}.$eq`;h.push({[e]:m})}if(!u&&c){let e=`${d}.$is`;h.push({[e]:null})}h.length>0&&n.addFilterGroup(li(d),{$or:h}),e.model.resource=n}},allowEditCheck:{async handler(e){if(e.blockModel instanceof tM.EditFormModel){var t;let l=await e.aclCheck({dataSourceKey:e.collectionField.dataSourceKey,resourceName:null==(t=e.collectionField)?void 0:t.collectionName,actionName:"update",fields:[e.collectionField.name]});e.model.setProps({allowEdit:!!l})}}}}}),ll.registerFlow({key:"selectSettings",title:(0,r.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,r.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},hideInSettings:e=>!e.collectionField||!["belongsToMany","hasMany","belongsToArray"].includes(e.collectionField.type),defaultParams:e=>({allowMultiple:e.collectionField&&["belongsToMany","hasMany","belongsToArray"].includes(e.model.context.collectionField.type)}),handler(e,t){e.model.setProps({allowMultiple:null==t?void 0:t.allowMultiple})}},quickCreate:{title:(0,r.tExpr)("Quick create"),uiMode(e){let t=e.t;return{type:"select",key:"quickCreate",props:{options:[{label:t("None"),value:"none"},{label:t("Dropdown"),value:"quickAdd"},{label:t("Pop-up"),value:"modalAdd"}]}}},hideInSettings(e){var t,l;return(null==e||null==(l=e.blockModel)||null==(t=l.constructor)?void 0:t.scene)===en.P.filter},defaultParams:{quickCreate:"none"},handler(e,t){e.model.setProps({quickCreate:t.quickCreate})}}}}),ll.registerFlow({key:"dropdownAdd",title:(0,r.tExpr)("Create record setting"),sort:900,on:{eventName:"dropdownAdd"},steps:{dropdownAdd:{async handler(e,t){var l,o,n;if("quickAdd"!==e.model.props.quickCreate)return null;let{onChange:i,search:r}=e.inputArgs,a=await e.model.resource.create({[(null==(o=e.model.props)||null==(l=o.fieldNames)?void 0:l.label)||"id"]:r},{refresh:!1});a&&(i(["m2m","o2m"].includes(null==(n=e.collectionField)?void 0:n.interface)&&!1!==e.model.props.allowMultiple?[...e.model.props.value||[],a.data].filter((t,l,o)=>l===o.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey])):a.data),e.message.success(e.t("Saved successfully")),e.model.setProps({searchText:null}))}}}}),ll.registerFlow({key:"popupSettings",title:(0,r.tExpr)("Create record setting"),sort:900,on:{eventName:"openView"},steps:{openView:{title:(0,r.tExpr)("Edit popup"),uiSchema:e=>"modalAdd"!==e.model.props.quickCreate?null:{mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,o,n,i,r;let{onChange:a}=e.inputArgs,s={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},d=e.inputArgs.mode||t.mode||"drawer",u=["belongsTo","hasOne"].includes(e.collectionField.type),c=e.inputArgs.size||t.size||"medium",p=null==(l=e.collectionField)?void 0:l.collection,h=(null==(o=e.item)?void 0:o.value)??e.record,f=h?null==p||null==(n=p.getFilterByTK)?void 0:n.call(p,h):void 0,g=null==(i=e.collectionField)?void 0:i.resourceName,v=tW(e,e.inputArgs);e.viewer.open({type:d,width:s[d][c],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"create",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(r=e.collectionField)?void 0:r.target,...g&&null!=f?{associationName:g,sourceId:f}:{},collectionField:e.collectionField,openerUids:v,onChange:t=>{if(u||!e.model.props.allowMultiple){a(t);let l=e.model.getDataSource()||[];l.push(t),e.model.setDataSource(l)}else{let l=[...e.model.props.value||[],t].filter((t,l,o)=>l===o.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]));a(l);let o=e.model.getDataSource()||[];e.model.setDataSource(o.concat(l))}}},content:()=>(0,m.jsx)(t7,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===d?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),ll.define({label:(0,r.tExpr)("Dropdown select")}),r.EditableItemModel.bindModelToInterface("RecordSelectFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{isDefault:!0,order:1});class ls extends ll{onInit(e){var t;super.onInit(e);let l=null==(t=this.getStepParams("selectSettings","allowMultiple"))?void 0:t.allowMultiple,o="boolean"==typeof l?l:"boolean"!=typeof this.props.allowMultiple||this.props.allowMultiple;this.setProps({allowMultiple:o,multiple:o,quickCreate:"none"})}}ls.registerFlow({key:"selectSettings",title:(0,r.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,r.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},defaultParams:{allowMultiple:!0},handler(e,t){var l;let o=null==(l=e.model.getStepParams("selectSettings","allowMultiple"))?void 0:l.allowMultiple,n="boolean"==typeof(null==t?void 0:t.allowMultiple)?t.allowMultiple:"boolean"==typeof o?o:"boolean"!=typeof e.model.props.allowMultiple||e.model.props.allowMultiple;e.model.setProps({allowMultiple:n,multiple:n})}}}}),ls.define({label:(0,r.tExpr)("Dropdown select")}),r.FilterableItemModel.bindModelToInterface("FilterFormRecordSelectFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{isDefault:!0,defaultProps:{allowMultiple:!0,multiple:!0,quickCreate:"none"}});var ld=l(6832);class lu extends t${render(){return(0,m.jsx)(ld.DateFilterDynamicComponent,{...this.props})}}let lc=e=>{let{value:t,format:l="YYYY-MM-DD",picker:o="date",showTime:n,...i}=e,r={...i,value:t,format:l,picker:o,showTime:n};return(0,m.jsx)(ld.DateFilterDynamicComponent,{...r})};class lp extends lu{setProps(e){super.setProps({...e,showTime:!1,utc:!1})}render(){return(0,m.jsx)(lc,{...this.props})}}r.FilterableItemModel.bindModelToInterface("DateOnlyFilterFieldModel",["date"],{isDefault:!0});let lm=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",showTime:o,picker:n="date",...i}=e,r=o&&"date"===n?"YYYY-MM-DD":l;return(0,m.jsx)(ld.DateFilterDynamicComponent,{...i,value:t,format:r,picker:n,showTime:o})};class lh extends lu{render(){return(0,m.jsx)(lm,{...this.props})}}r.FilterableItemModel.bindModelToInterface("DateTimeNoTzFilterFieldModel",["datetimeNoTz"],{isDefault:!0});let lf=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",picker:o="date",showTime:n,...i}=e,r=n&&"date"===o?"YYYY-MM-DD":l,a={...i,value:t,format:r,picker:o,showTime:n};return(0,m.jsx)(ld.DateFilterDynamicComponent,{...a})};class lg extends lu{setProps(e){super.setProps({...e,utc:!0})}render(){return(0,m.jsx)(lf,{...this.props})}}r.FilterableItemModel.bindModelToInterface("DateTimeTzFilterFieldModel",["createdAt","datetime","updatedAt","unixTimestamp"],{isDefault:!0});var lv=l(6220);let ly="recordSelectDataSourceKey",l_="recordSelectTargetCollection",lb="recordSelectTitleField",lx="recordSelectValueField",lM="allowMultiple",lw="multiple",lS="valueMode",lk=new Set(["belongsTo","belongsToMany","hasOne","hasMany","belongsToArray"]),lF=e=>{var t,l,o,n,i;let{fieldModel:s,source:d=[]}=e,u=(0,z.useField)(),{t:c}=(0,F.useTranslation)(),p=u.value||{},f=s||(null==p?void 0:p.fieldModel),g=(0,r.useFlowEngine)(),v=(0,r.useFlowContext)(),y=null==v||null==(t=v.app)?void 0:t.dataSourceManager,b=()=>u.value||{},x=(e,t)=>{u.setValue({...b(),[e]:t})},M=e=>{var t;(null==u||null==(t=u.form)?void 0:t.setValuesIn)&&(null==u?void 0:u.path)?u.form.setValuesIn(u.path,e):u.setValue(e)},w=e=>{var t,l,o,n;let i=`${u.path.toString()}.${e}`,r=null==(n=u.form)||null==(o=n.query)||null==(l=o.call(n,i))||null==(t=l.take)?void 0:t.call(l);return(Array.isArray(null==r?void 0:r.errors)?r.errors:[]).flatMap(e=>e?Array.isArray(e.messages)?e.messages:e.messages?[e.messages]:[]:[]).filter(Boolean)},S=e=>{let t=w(e);return t.length?{feedbackStatus:"error",feedbackText:t.join(", ")}:{}};(0,h.useEffect)(()=>{var e,t,l,o,n,i,a;let s=d.length?d:(null==p?void 0:p.source)||[];if(!s.length)return;let c=!!(null==g||null==(t=g.dataSourceManager)||null==(e=t.getDataSource)?void 0:e.call(t,s[0])),m=(null==g||null==(o=g.dataSourceManager)||null==(l=o.getDataSources)?void 0:l.call(o))??[],h=(c?s[0]:void 0)||(null==p?void 0:p[ly])||(null==(n=m[0])?void 0:n.key)||"main",y=(c?s.slice(1):s).join("."),_=g.dataSourceManager.getCollectionField(`${h}.${y}`),x=r.FilterableItemModel.getDefaultBindingByField(v.model.context,_);if(!_&&"FilterFormCustomRecordSelectFieldModel"!==f||!x&&"FilterFormCustomRecordSelectFieldModel"!==f)return;let w=(null==_||null==(i=_.getComponentProps)?void 0:i.call(_))||{},S={...(x&&"function"==typeof x.defaultProps?x.defaultProps(v.model.context,u):null==x?void 0:x.defaultProps)||{},...w,...b()};if(("FilterFormCustomRecordSelectFieldModel"===f||!f&&(null==_?void 0:_.target))&&(null==_?void 0:_.target)){let e=_.targetCollection||g.dataSourceManager.getCollection(_.dataSourceKey,_.target);S[ly]=_.dataSourceKey||h,S[l_]=_.target,S[lb]=_.targetCollectionTitleFieldName||(null==e||null==(a=e.titleCollectionField)?void 0:a.name)||S[lb],S[lx]=S[lx]||(null==e?void 0:e.filterTargetKey)||"id",void 0===S[lM]&&void 0===S[lw]&&(S[lM]=!0,S[lw]=!0),S[lS]||(S[lS]="value")}M(S)},[s,f,d.join("."),null==p?void 0:p.source,g]);let k=(0,h.useMemo)(()=>{var e,t;return(null==g||null==(t=g.dataSourceManager)||null==(e=t.getDataSources)?void 0:e.call(t))??[]},[g]),C=(0,h.useMemo)(()=>k.map(e=>({label:e.displayName??e.key,value:e.key})),[k]),A=(null==p?void 0:p[ly])||(null==(l=k[0])?void 0:l.key)||"main",P=A?null==g||null==(n=g.dataSourceManager)||null==(o=n.getDataSource)?void 0:o.call(n,A):void 0,T=null==p?void 0:p[l_],j=T?null==P||null==(i=P.getCollection)?void 0:i.call(P,T):void 0,I=(0,h.useCallback)(e=>e?(null==v?void 0:v.t)?v.t(e):c(e):e,[v,c]),L=(0,h.useMemo)(()=>(null==P?void 0:P.getCollections)?P.getCollections().filter(e=>{var t;return!(null==(t=e.options)?void 0:t.hidden)}).map(e=>({label:I(e.title)||e.name,value:e.name})):[],[P,I]),Y=(0,h.useMemo)(()=>{if(!(null==j?void 0:j.getFields))return[];let e=e=>!y||(0,a.ji)(y,e.options);return(j.getFields()||[]).filter(t=>e(t)).map(e=>{var t,l;return{label:I(null==(l=e.options)||null==(t=l.uiSchema)?void 0:t.title)||I(e.title)||e.name,value:e.name}})},[j,y,I]),D=(0,h.useMemo)(()=>{if(!(null==j?void 0:j.getFields))return[];let e=e=>{let t=(null==e?void 0:e.options)||{},l=t.interface||(null==e?void 0:e.interface);if(!1===t.filterable||!l)return!1;if(y){var o,n;let e=null==(n=y.collectionFieldInterfaceManager)||null==(o=n.getFieldInterface)?void 0:o.call(n,l);if(!(null==e?void 0:e.filterable))return!1}let i=t.type||(null==e?void 0:e.type);return!lk.has(i)};return(j.getFields()||[]).filter(t=>e(t)).map(e=>{var t,l;return{label:I(null==(l=e.options)||null==(t=l.uiSchema)?void 0:t.title)||I(e.title)||e.name,value:e.name}})},[j,y,I]);if((0,h.useEffect)(()=>{var e;if("FilterFormCustomRecordSelectFieldModel"!==f||!T||(null==p?void 0:p[lb]))return;let t=null==j||null==(e=j.titleCollectionField)?void 0:e.name;t&&u.setValue({...b(),[lb]:t})},[s,f,T,j,p]),(0,h.useEffect)(()=>{if("FilterFormCustomRecordSelectFieldModel"!==f||!T)return;let e=null==p?void 0:p[lx],t=D.map(e=>e.value);if(e&&t.includes(e))return;let l=null==j?void 0:j.filterTargetKey,o=l&&t.includes(l)&&l||t[0];o&&u.setValue({...b(),[lx]:o})},[s,f,T,j,p,D]),(0,h.useEffect)(()=>{"FilterFormCustomRecordSelectFieldModel"!==f||(null==p?void 0:p[lM])===void 0&&(null==p?void 0:p[lw])===void 0&&u.setValue({...b(),[lM]:!0,[lw]:!0})},[s,f,p]),"DateTimeFilterFieldModel"===s)return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(lv.FormItem,{label:c("Date format"),children:(0,m.jsxs)(_.Radio.Group,{value:p.format||"YYYY-MM-DD",onChange:e=>x("format",e.target.value),children:[(0,m.jsx)(_.Radio,{value:"YYYY/MM/DD",children:c("Year/Month/Day")}),(0,m.jsx)(_.Radio,{value:"YYYY-MM-DD",children:c("Year-Month-Day")}),(0,m.jsx)(_.Radio,{value:"DD/MM/YYYY",children:c("Day/Month/Year")})]})}),(0,m.jsx)(lv.FormItem,{label:c("Time"),children:(0,m.jsx)(_.Checkbox,{checked:p.showTime,onChange:e=>x("showTime",e.target.checked),children:c("Show time")})}),(0,m.jsx)(lv.FormItem,{label:c("Date range"),children:(0,m.jsx)(_.Checkbox,{checked:p.isRange,onChange:e=>x("isRange",e.target.checked),children:c("Show date range")})})]});if("SelectFieldModel"===s){let e=p.options||[];return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(lv.FormItem,{label:c("Mode"),children:(0,m.jsxs)(_.Radio.Group,{value:p.mode||"",onChange:e=>x("mode",e.target.value),children:[(0,m.jsx)(_.Radio,{value:"",children:c("Single select")}),(0,m.jsx)(_.Radio,{value:"multiple",children:c("Multiple select")})]})}),(0,m.jsx)(lv.FormItem,{label:c("Options"),children:(0,m.jsxs)(_.Space,{direction:"vertical",size:8,style:{width:"100%"},children:[e.map((t,l)=>(0,m.jsxs)(_.Space,{style:{width:"100%"},size:8,wrap:!0,align:"start",children:[(0,m.jsx)(_.Input,{style:{flex:1,minWidth:120},placeholder:c("Option label"),value:t.label,onChange:o=>{let n=[...e];n[l]={...t,label:o.target.value},x("options",n)}}),(0,m.jsx)(_.Input,{style:{flex:1,minWidth:120},placeholder:c("Option value"),value:t.value,onChange:o=>{let n=[...e];n[l]={...t,value:o.target.value},x("options",n)}}),(0,m.jsx)(_.Button,{type:"text",icon:(0,m.jsx)(E.CloseOutlined,{}),onClick:()=>{x("options",e.filter((e,t)=>t!==l))}})]},l)),(0,m.jsx)(_.Button,{type:"dashed",block:!0,icon:(0,m.jsx)(E.PlusOutlined,{}),onClick:()=>{x("options",[...e,{label:"",value:""}])},children:c("Add")})]})})]})}if("CheckboxGroupFieldModel"===s||"RadioGroupFieldModel"===s){let e=p.options||[];return(0,m.jsx)(lv.FormItem,{label:c("Options"),children:(0,m.jsxs)(_.Space,{direction:"vertical",size:8,style:{width:"100%"},children:[e.map((t,l)=>(0,m.jsxs)(_.Space,{style:{width:"100%"},size:8,wrap:!0,align:"start",children:[(0,m.jsx)(_.Input,{style:{flex:1,minWidth:120},placeholder:c("Option label"),value:t.label,onChange:o=>{let n=[...e];n[l]={...t,label:o.target.value},x("options",n)}}),(0,m.jsx)(_.Input,{style:{flex:1,minWidth:120},placeholder:c("Option value"),value:t.value,onChange:o=>{let n=[...e];n[l]={...t,value:o.target.value},x("options",n)}}),(0,m.jsx)(_.Button,{type:"text",icon:(0,m.jsx)(E.CloseOutlined,{}),onClick:()=>{x("options",e.filter((e,t)=>t!==l))}})]},`${t.value}-${l}`)),(0,m.jsx)(_.Button,{type:"dashed",block:!0,icon:(0,m.jsx)(E.PlusOutlined,{}),onClick:()=>{x("options",[...e,{label:"",value:""}])},children:c("Add")})]})})}return"FilterFormCustomRecordSelectFieldModel"===f?(0,m.jsxs)(m.Fragment,{children:[C.length>1&&(0,m.jsx)(lv.FormItem,{label:c("Data source"),children:(0,m.jsx)(_.Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:c("Please select"),value:A,options:C,onChange:e=>{u.setValue({...p,[ly]:e,[l_]:void 0,[lb]:void 0})}})}),(0,m.jsx)(lv.FormItem,{label:c("Target collection"),asterisk:!0,...S(l_),children:(0,m.jsx)(_.Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:c("Select collection"),value:T,options:L,onChange:e=>{u.setValue({...p,[l_]:e,[lb]:void 0})}})}),(0,m.jsx)(lv.FormItem,{label:c("Title field"),asterisk:!0,...S(lb),children:(0,m.jsx)(_.Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:c("Please select"),value:null==p?void 0:p[lb],options:Y,onChange:e=>x(lb,e)})}),(0,m.jsx)("div",{style:{color:"var(--colorTextDescription)",marginTop:-8,marginBottom:8},children:c("Used for display in the dropdown and selected tags.")}),(0,m.jsx)(lv.FormItem,{label:c("Value field"),asterisk:!0,...S(lx),children:(0,m.jsx)(_.Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:c("Please select"),value:null==p?void 0:p[lx],options:D,onChange:e=>x(lx,e)})}),(0,m.jsx)("div",{style:{color:"var(--colorTextDescription)",marginTop:-8,marginBottom:8},children:c("Stored as the field value for filtering (usually the primary key).")}),(0,m.jsx)(lv.FormItem,{label:c("Multiple"),children:(0,m.jsx)(_.Checkbox,{checked:(null==p?void 0:p[lM])!==!1,onChange:e=>{let t=e.target.checked;u.setValue({...p,[lM]:t,[lw]:t})},children:c("Allow multiple selection")})})]}):null};function lC(e){let{source:t=[],onChange:l}=e,o=(0,r.useFlowEngine)(),n=(0,r.useFlowContext)(),i=e.valueMap||{},a=t.join("."),s=(0,h.useRef)(),d=(0,h.useMemo)(()=>e=>i&&i[e]?i[e]:e,[i]),u=(0,h.useMemo)(()=>{if(!t.length)return;let e=o.dataSourceManager.getCollectionField(a),l=r.FilterableItemModel.getDefaultBindingByField(n.model.context,e);if(l)return d(l.modelName)},[a,d]);return(0,h.useEffect)(()=>{if(!u){s.current=a;return}let t=void 0!==s.current&&s.current!==a;s.current=a;let o=d(e.value);if(e.value&&e.value!==o&&o!==u){null==l||l(o);return}(!e.value||t)&&o!==u&&(null==l||l(u))},[u,l,e.value,a,d]),(0,m.jsx)(lv.Select,{allowClear:!0,...e,value:d(e.value??u)})}let lA={InputFieldModel:a.II.string,NumberFieldModel:a.II.number,DateTimeFilterFieldModel:a.II.datetime,SelectFieldModel:e=>(null==e?void 0:e.mode)==="multiple"?a.II.array:a.II.enumType,RadioGroupFieldModel:a.II.enumType,CheckboxGroupFieldModel:a.II.array},lP=new Set(["$in","$notIn","$empty","$notEmpty","$includes","$notIncludes"]),lT={label:'{{t("is any of")}}',value:"$in",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},lj={label:'{{t("is none of")}}',value:"$notIn",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},lI={input:a.II.string,email:a.II.string,phone:a.II.string,uuid:a.II.string,url:a.II.string,nanoid:a.II.string,textarea:a.II.string,markdown:a.II.bigField,vditor:a.II.bigField,richText:a.II.bigField,password:a.II.string,color:a.II.string,number:a.II.number,integer:a.II.number,id:a.II.id,snowflakeId:a.II.number,dateOnly:a.II.datetime,datetime:a.II.datetime,datetimeNoTz:a.II.datetime,unixTimestamp:a.II.datetime,time:a.II.time,select:a.II.enumType,multipleSelect:a.II.array,radioGroup:a.II.enumType,checkboxGroup:a.II.array,checkbox:a.II.boolean};function lL(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=lA[e];return l?"function"==typeof l?l(t)||[]:l||[]:[]}function lY(e){var t,l,o,n;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0;if(!Array.isArray(i)||0===i.length)return;let a=!!(null==e||null==(l=e.dataSourceManager)||null==(t=l.getDataSource)?void 0:t.call(l,i[0])),s=a?i[0]:r||"main",d=(a?i.slice(1):i).join(".");if(d)return null==e||null==(n=e.dataSourceManager)||null==(o=n.getCollectionField)?void 0:o.call(n,`${s}.${d}`)}function lD(e){var t,l,o,n;let i;if(!e)return[];let r=null==(t=e.filterable)?void 0:t.operators;if(Array.isArray(r)&&r.length>0)return r;try{i=null==(n=e.getInterfaceOptions)||null==(o=n.call(e))||null==(l=o.filterable)?void 0:l.operators}catch(e){i=void 0}return Array.isArray(i)&&i.length>0?i:e.interface&&lI[e.interface]?lI[e.interface]:(null===a.II||void 0===a.II?void 0:a.II[e.type])||[]}function lE(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return"boolean"==typeof(null==e?void 0:e.multiple)?e.multiple:"boolean"!=typeof(null==e?void 0:e.allowMultiple)||e.allowMultiple}function lR(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new Set;return e.filter(e=>!(!(null==e?void 0:e.value)||t.has(e.value))&&(t.add(e.value),!0))}function lN(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.some(e=>(null==e?void 0:e.value)==="$in"),l=e.some(e=>(null==e?void 0:e.value)==="$notIn"),o=e.filter(e=>lP.has(null==e?void 0:e.value)&&(null==e?void 0:e.value)!=="$in"&&(null==e?void 0:e.value)!=="$notIn"||(null==e?void 0:e.noValue)||(null==e?void 0:e.value)==="$exists"||(null==e?void 0:e.value)==="$notExists"),n=e.some(e=>(null==e?void 0:e.value)&&!e.noValue&&"$exists"!==e.value&&"$notExists"!==e.value),i=n||t,r=n||l,a=[];return i&&a.push(lT),r&&a.push(lj),lR([...a,...o])}function lB(e){var t,l,o,n,i;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],s=lY(e,a,null==r?void 0:r.recordSelectDataSourceKey),d=(null==s?void 0:s.dataSourceKey)||(null==a?void 0:a[0])||"main",u=(null==r?void 0:r.recordSelectDataSourceKey)||d,c=(null==r?void 0:r.recordSelectTargetCollection)||(null==s||null==(t=s.targetCollection)?void 0:t.name)||(null==s?void 0:s.target);if(!c)return;let p=null==e||null==(o=e.dataSourceManager)||null==(l=o.getCollection)?void 0:l.call(o,u,c);if(!p)return;let m=(null==r?void 0:r.recordSelectValueField)||(null==p?void 0:p.filterTargetKey)||(null==p||null==(n=p.getPrimaryKey)?void 0:n.call(p));if(m)return null==(i=p.getField)?void 0:i.call(p,m)}function lO(e){let{flowEngine:t,fieldModelProps:l={},source:o=[]}=e,n=lB(t,l,o),i=lD(n);return{operatorList:lE(l)?lN(i):i,meta:n}}function lH(e){let{flowEngine:t,fieldModel:l,fieldModelProps:o={},source:n=[]}=e;if("FilterFormCustomRecordSelectFieldModel"===l)return lO(e);let i=lL(l,o);if(i.length>0)return{operatorList:i,meta:{fieldModel:l}};let r=lY(t,n);return{operatorList:lD(r),meta:r}}function lq(e){let{operatorList:t,meta:l}=lH(e);return lR((t||[]).filter(e=>!(null==e?void 0:e.visible)||e.visible(l)))}function l$(e){var t,l;let{fieldModel:o,fieldModelProps:n={}}=e,i=lq(e);if("DateTimeFilterFieldModel"===o&&(null==n?void 0:n.isRange)){let e=i.find(e=>"$dateBetween"===e.value);if(e)return e.value}return(null==(t=i.find(e=>e.selected))?void 0:t.value)||(null==(l=i[0])?void 0:l.value)}function lV(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;return e.map(e=>({...e,label:t(e.label),value:e.value}))}let lz=(0,r.observer)(e=>{var t;let{fieldModel:l,source:o=[],fieldModelProps:n={},value:i,onChange:a,...s}=e,d=(0,z.useField)(),u=(0,r.useFlowEngine)(),c=(0,r.useFlowContext)(),p=(null==d||null==(t=d.form)?void 0:t.values)||{},f=l||(null==p?void 0:p.fieldModel),g=o.length?o:(null==p?void 0:p.source)||[],v=(null==p?void 0:p.fieldModelProps)&&Object.keys(p.fieldModelProps).length>0?p.fieldModelProps:n,y=Array.isArray(g)?g.join("."):"",_=null==v?void 0:v.mode,b=null==v?void 0:v.allowMultiple,x=null==v?void 0:v.multiple,M=null==v?void 0:v.recordSelectDataSourceKey,w=null==v?void 0:v.recordSelectTargetCollection,S=null==v?void 0:v.recordSelectValueField,k=(0,h.useMemo)(()=>lq({flowEngine:u,fieldModel:f,source:g,fieldModelProps:v}),[u,f,y,_,b,x,M,w,S]),F=(0,h.useMemo)(()=>lV(k,e=>c.t(e)),[k,c]);return(0,h.useEffect)(()=>{if(!F.length){void 0!==i&&(null==a||a(void 0));return}if(F.some(e=>e.value===i))return;let e=l$({flowEngine:u,fieldModel:f,source:g,fieldModelProps:v});e!==i&&(null==a||a(e))},[u,f,a,F,y,i,_,b,x,M,w,S]),(0,m.jsx)(lv.Select,{allowClear:!0,showSearch:!0,optionFilterProp:"label",placeholder:c.t("Please select"),...s,options:F,value:i,onChange:a,disabled:0===F.length})});class lK extends r.FlowModel{static defineChildren(e){let t=e.engine.filterModelClassByParent("CommonItemModel"),l=e.engine.filterModelClassByParent("FilterFormCustomItemModel"),o=t=>Array.from(t.entries()).map(t=>{var l,o;let[n,i]=t,r={key:n,label:e.t(i.meta.label),sort:i.meta.sort??999,searchable:!!(null==(l=i.meta)?void 0:l.searchable),searchPlaceholder:null==(o=i.meta)?void 0:o.searchPlaceholder};return r.createModelOptions={use:n},r});return S.default.sortBy([...o(t),...o(l)],"sort")}}function lU(e){let t=(0,r.useFlowEngine)(),l=(0,h.useCallback)(()=>{let e=null==t?void 0:t.dataSourceManager;return e?e.getDataSources().map(e=>({value:e.key,label:e.displayName??e.key,isLeaf:!1,meta:{type:"dataSource",dataSourceKey:e.key}})):[]},[t]),[o,n]=(0,h.useState)(()=>l());(0,h.useEffect)(()=>{n(l())},[l]);let i=(0,h.useCallback)(e=>{var l;let o=e[e.length-1];if(!o||(null==(l=o.children)?void 0:l.length))return;let i=null==t?void 0:t.dataSourceManager;if(!i)return;let r=[];if(1===e.length){let e=o.value,t=i.getDataSource(e);r=((null==t?void 0:t.getCollections())??[]).map(t=>({value:t.name,label:t.title,isLeaf:!1,meta:{type:"collection",dataSourceKey:e,collectionName:t.name,fullPath:t.name}}))}else{let e=o.meta||{},t=e.dataSourceKey,l=i.getDataSource(t),a=null==l?void 0:l.collectionManager;if(!l||!a){o.isLeaf=!0,n(e=>[...e]);return}if("collection"===e.type){let l=a.getCollection(e.collectionName);r=((null==l?void 0:l.getFields())??[]).filter(e=>e.filterable).map(l=>{let o=`${e.fullPath}.${l.name}`,n=!!l.targetCollection;return{value:l.name,label:l.title,isLeaf:!n,meta:{type:"field",dataSourceKey:t,fullPath:o}}}).sort((e,t)=>t.isLeaf?0:-1)}else if("field"===e.type){let o=l.getCollectionField(e.fullPath),n=null==o?void 0:o.targetCollection;r=((null==n?void 0:n.getFields())??[]).filter(e=>e.filterable).map(l=>{let o=`${e.fullPath}.${l.name}`,n=!!l.targetCollection;return{value:l.name,label:l.title,isLeaf:!n,meta:{type:"field",dataSourceKey:t,fullPath:o}}}).sort((e,t)=>t.isLeaf?0:-1)}}r.length?o.children=r:o.isLeaf=!0,n(e=>[...e])},[t]);return(0,m.jsx)(_.Cascader,{allowClear:!0,...e,options:o,loadData:i})}lK.renderMode=r.ModelRenderMode.RenderFunction,lK.define({hide:!0,label:(0,r.tExpr)("Others")});var lG=l(6175);let lW=(e,t,l)=>{var o,n,i;if((null==l||null==(n=l.form)||null==(o=n.values)?void 0:o.fieldModel)==="FilterFormCustomRecordSelectFieldModel"&&(null==e||""===e))return(null==l||null==(i=l.t)?void 0:i.call(l,"The field value is required"))||"The field value is required"};class lJ extends lK{buildRecordSelectCollectionField(e,t){var l,o,n,i,a,s;let d=(null==t?void 0:t.recordSelectDataSourceKey)||"main",u=null==t?void 0:t.recordSelectTargetCollection;if(!u)return;let c=null==(o=e.dataSourceManager)||null==(l=o.getDataSource)?void 0:l.call(o,d),p=null==c||null==(n=c.getCollection)?void 0:n.call(c,u);if(!c||!p)return;let m=(null==t?void 0:t.recordSelectTitleField)||(null==(i=p.titleCollectionField)?void 0:i.name)||(null==(s=p.titleCollectionField)||null==(a=s.options)?void 0:a.name),h=(null==t?void 0:t.recordSelectValueField)||p.filterTargetKey||"id",f=new r.CollectionField({name:(null==t?void 0:t.name)||"recordSelect",interface:"m2o",type:"belongsTo",target:u,dataSourceKey:d,uiSchema:{"x-component":"Select"},fieldNames:{label:m,value:h}});return f.setCollection(p),f}get defaultTargetUid(){return this.getStepParams("filterFormItemSettings","init").defaultTargetUid}onInit(e){super.onInit(e),this.debouncedDoFilter=(0,S.debounce)(this.doFilter.bind(this),300)}onUnmount(){super.onUnmount(),this.debouncedDoFilter.cancel()}doFilter(){this.context.filterManager.refreshTargetsByFilter(this.uid)}doReset(){this.context.filterManager.refreshTargetsByFilter(this.uid)}getFilterValue(){var e,t,l,o;let n=(null==(e=this.customFieldModelInstance)?void 0:e.getFilterValue)?this.customFieldModelInstance.getFilterValue():null==(t=this.context.form)?void 0:t.getFieldValue(this.props.name),i=this.getCurrentOperatorMeta(),r=(0,lG.S)(this.operator,n);return(null==i?void 0:i.noValue)&&!Array.isArray(null==i||null==(o=i.schema)||null==(l=o["x-component-props"])?void 0:l.options)||r}getCurrentOperatorMeta(){let e=this.getStepParams("formItemSettings","fieldSettings")||{},t=e.fieldModel,l=e.source||[],o=this.customFieldProps||e.fieldModelProps||{},n=lq({flowEngine:this.flowEngine,fieldModel:t,source:l,fieldModelProps:o}),i=this.operator||e.operator;return i&&n.find(e=>e.value===i)||null}getValueProps(e){return this.context.blockModel.autoTriggerFilter&&(this.autoTriggerInitialized?(0,S.isEqual)(this.lastAutoTriggerValue,e)||(this.lastAutoTriggerValue=(0,S.cloneDeep)(e),this.debouncedDoFilter()):(this.autoTriggerInitialized=!0,this.lastAutoTriggerValue=(0,S.cloneDeep)(e))),{value:e,onKeyDown:this.handleEnterPress.bind(this)}}render(){return this.customFieldModelInstance?(0,m.jsx)(r.FormItem,{...this.props,getValueProps:this.getValueProps.bind(this),children:(0,m.jsx)(r.FieldModelRenderer,{model:this.customFieldModelInstance})}):null}constructor(...e){super(...e),this.customFieldModelInstance=null,this.customFieldProps=null,this.autoTriggerInitialized=!1,this.handleEnterPress=e=>{"Enter"===e.key&&(e.preventDefault(),this.doFilter())}}}lJ.define({label:'{{t("Custom field")}}',sort:1}),lJ.registerFlow({key:"formItemSettings",title:(0,r.tExpr)("Form item settings"),steps:{fieldSettings:{preset:!0,title:(0,r.tExpr)("Field settings"),uiSchema:{title:{type:"string",title:(0,r.tExpr)("Field title"),"x-component":"Input","x-decorator":"FormItem",required:!0},name:{type:"string",title:(0,r.tExpr)("Field name"),"x-component":"Input","x-decorator":"FormItem",required:!0,description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")}}'},source:{type:"array",title:(0,r.tExpr)("Field source"),"x-decorator":"FormItem","x-component":lU,"x-component-props":{placeholder:(0,r.tExpr)("Select a source field to use metadata of the field")},description:(0,r.tExpr)("Select a source field to use metadata of the field")},fieldModel:{type:"string",title:(0,r.tExpr)("Field type"),"x-component":lC,"x-decorator":"FormItem",required:!0,enum:[{label:(0,r.tExpr)("Input"),value:"InputFieldModel"},{label:(0,r.tExpr)("Number"),value:"NumberFieldModel"},{label:(0,r.tExpr)("Date"),value:"DateTimeFilterFieldModel"},{label:(0,r.tExpr)("Select"),value:"SelectFieldModel"},{label:(0,r.tExpr)("Radio group"),value:"RadioGroupFieldModel"},{label:(0,r.tExpr)("Checkbox group"),value:"CheckboxGroupFieldModel"},{label:(0,r.tExpr)("Record select"),value:"FilterFormCustomRecordSelectFieldModel"}],"x-component-props":{placeholder:(0,r.tExpr)("Please select"),valueMap:{RecordSelectFieldModel:"FilterFormCustomRecordSelectFieldModel"}},"x-reactions":[{dependencies:["source"],fulfill:{state:{componentProps:{source:"{{$deps[0]}}",valueMap:{RecordSelectFieldModel:"FilterFormCustomRecordSelectFieldModel"}}}}}]},fieldModelProps:{type:"object",title:(0,r.tExpr)("Component properties"),"x-component":lF,properties:{recordSelectTargetCollection:{type:"string","x-validator":lW},recordSelectTitleField:{type:"string","x-validator":lW},recordSelectValueField:{type:"string","x-validator":lW}},"x-reactions":[{dependencies:["fieldModel","source"],fulfill:{state:{componentProps:{fieldModel:"{{$deps[0]}}",source:"{{$deps[1]}}"}}}}]},operator:{type:"string",title:(0,r.tExpr)("Operator"),"x-component":lz,"x-decorator":"FormItem",required:!0,"x-reactions":[{dependencies:["fieldModel","source","fieldModelProps"],fulfill:{state:{componentProps:{fieldModel:"{{$deps[0]}}",source:"{{$deps[1]}}",fieldModelProps:"{{$deps[2] || {}}}"}}}}]}},defaultParams:e=>({name:`f_${(0,d.uid)().slice(0,4)}`}),handler(e,t){var l,o;let n,{fieldModel:i,fieldModelProps:r={},title:a,name:s,source:d=[],operator:u}=t;e.model.setProps({label:a,name:s});let c=r;if("FilterFormCustomRecordSelectFieldModel"===i){let t=(null==r?void 0:r.allowMultiple)===void 0||!!(null==r?void 0:r.allowMultiple),o=(null==r?void 0:r.multiple)===void 0?t:!!(null==r?void 0:r.multiple);if(c={...r,allowMultiple:t,multiple:o,valueMode:(null==r?void 0:r.valueMode)||"value"},n=e.model.buildRecordSelectCollectionField(e,{...c,name:s})){let e=(null==r?void 0:r.recordSelectTitleField)||n.targetCollectionTitleFieldName,t=(null==r?void 0:r.recordSelectValueField)||(null==(l=n.targetCollection)?void 0:l.filterTargetKey)||"id";e&&t&&(c={...c,fieldNames:{label:e,value:t}})}}if(e.model.customFieldModelInstance?e.model.customFieldModelInstance.setProps({allowClear:!0,...c}):e.model.customFieldModelInstance=e.model.flowEngine.createModel({use:i,props:{allowClear:!0,...c}}),"FilterFormCustomRecordSelectFieldModel"===i){let t=(null==c?void 0:c.recordSelectTitleField)||(null==c||null==(o=c.fieldNames)?void 0:o.label);t&&e.model.customFieldModelInstance.setStepParams("selectSettings","fieldNames",{label:t})}n&&e.model.customFieldModelInstance.context.defineProperty("collectionField",{value:n});let p=!!lq({flowEngine:e.model.flowEngine,fieldModel:i,source:d,fieldModelProps:c}).find(e=>e.value===u);e.model.operator=(p?u:void 0)||l$({flowEngine:e.model.flowEngine,fieldModel:i,source:d,fieldModelProps:c}),e.model.customFieldProps=c}},connectFields:{use:"connectFields"}}});let lX="__filter_form_value_options__",lQ=(e,t)=>null!=e&&""!==e&&("number"==typeof e||"bigint"==typeof e||"string"==typeof e&&(!t||!/(int|big)/i.test(t)||/^-?\d+$/.test(e))),lZ=(e,t)=>{if("number"==typeof e||"bigint"==typeof e||"string"==typeof e&&/(int|big)/i.test(t||"")&&/^-?\d+$/.test(e))return e},l0=(e,t,l,o,n,i)=>{let r=new Map;t.forEach(e=>{if(!e||"object"!=typeof e)return;let t=null==e?void 0:e[o],n=null==e?void 0:e[l];null!=t&&null!=n&&r.set(t,n)});let a=e=>{if(null==e)return;if("object"==typeof e){let t=null==e?void 0:e[l];if(null!=t)return t;let n=(null==e?void 0:e[o])??(null==e?void 0:e.value);if(o===l)return n;let a=r.get(n);return null!=a?a:lZ(n,i)}if(o===l)return e;let t=r.get(e);return null!=t?t:lZ(e,i)};return(n&&Array.isArray(e)?e:[e]).map(e=>a(e)).filter(e=>lQ(e,i))},l1=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0,o=new Map;return[...e,...t].forEach(e=>{let t=null==e?void 0:e[l];null!=t&&o.set(t,e)}),Array.from(o.values())},l2=(e,t)=>{var l,o;let n=null==e||null==(l=e.context)?void 0:l.collectionField,i=null==n?void 0:n.collection,r=null==i?void 0:i.dataSource,a=null==e||null==(o=e.context)?void 0:o.t,s=(null==n?void 0:n.name)||e.fieldPath,d=(0,h.useMemo)(()=>{if(!a||!r)return"";let e=`${a(r.displayName||r.key)} > `,t=i?`${a(i.title)||i.name||i.tableName} > `:"";return`${e}${t}${s}`},[a,r,i,s]);return!t&&a&&r?a('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:d,actionName:"Update"}).replaceAll(">",">"):null},l5=e=>{var t;let{fieldNames:l={label:"label",value:"value"},value:o,multiple:n,allowMultiple:i,options:a,quickCreate:s,onChange:d,allowCreate:u=!0,allowEdit:c=!0,valueMode:p="record",...h}=e,f=!!(n&&i),g=tZ(a,o,f),v=(0,r.useFlowModel)(),y=!!v.context.flowSettingsEnabled,{t:b}=(0,F.useTranslation)(),x=e=>{let{searchText:t}=e;return(0,m.jsxs)("div",{onClick:()=>h.onDropdownAddClick(t),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,m.jsx)(E.PlusOutlined,{}),(0,m.jsx)("span",{style:{paddingLeft:5},children:b("Add")+` “${t}” `})]})},M=l2(v,c);return(0,m.jsxs)(_.Space.Compact,{style:{width:"100%"},children:[(0,m.jsx)(_.Select,{style:{width:"100%"},...h,allowClear:!0,showSearch:!0,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,m.jsxs)(_.Tooltip,{title:(0,m.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,m.jsx)(_.Tag,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]}),filterOption:!1,labelInValue:!0,onCompositionEnd:e=>h.onCompositionEnd(e,!1),fieldNames:l,options:g,value:tQ(o,l,f,p,g),mode:f?"multiple":void 0,onChange:(e,t)=>{"value"===p?Array.isArray(t)?d(t.map(e=>(null==e?void 0:e[l.value])??(null==e?void 0:e.value)).filter(e=>void 0!==e)):d((null==t?void 0:t[l.value])??(null==t?void 0:t.value)):d(t)},optionRender:e=>{let{data:t}=e;return(0,m.jsx)(tX,{option:t,fieldNames:l})},popupMatchSelectWidth:!0,labelRender:e=>(0,m.jsx)("div",{className:(0,e9.css)`
|
|
301
301
|
div {
|
|
302
302
|
white-space: nowrap !important;
|
|
303
303
|
overflow: hidden;
|
|
304
304
|
text-overflow: ellipsis;
|
|
305
305
|
}
|
|
306
|
-
`,children:e.label}),dropdownRender:e=>{let t=g.some(e=>e[l.label]===h.searchText);return(0,m.jsx)(m.Fragment,{children:"quickAdd"===s&&u&&c&&h.searchText?(0,m.jsxs)(m.Fragment,{children:[!(0===g.length&&h.searchText)&&e,g.length>0&&h.searchText&&!t&&(0,m.jsx)(_.Divider,{style:{margin:0}}),!t&&(0,m.jsx)(x,{searchText:h.searchText})]}):e})}}),"modalAdd"===s&&(u&&c||y)&&(u&&c?(0,m.jsx)(_.Button,{onClick:h.onModalAddClick,children:b("Add new")}):(0,m.jsx)(C,{forbidden:{actionName:"create"},collection:null==v||null==(t=v.collectionField)?void 0:t.targetCollection,message:M,children:(0,m.jsx)(_.Button,{onClick:h.onModalAddClick,disabled:!c,style:{opacity:"0.3"},children:b("Add new")})}))]})};class l5 extends lt{buildValueOptionsSyncKey(){var e,t,l,o,n,i,r,a,s,d,u,c,p;if("value"!==((null==(e=this.props)?void 0:e.valueMode)||"record"))return null;let m=(null==(t=this.props)?void 0:t.fieldNames)||{},h=(null==(o=this.context.collectionField)||null==(l=o.targetCollection)?void 0:l.filterTargetKey)||"id",f=(null==m?void 0:m.value)||"id",g=!!((null==(n=this.props)?void 0:n.multiple)&&(null==(i=this.props)?void 0:i.allowMultiple)),v=tQ(null==(r=this.props)?void 0:r.options,null==(a=this.props)?void 0:a.value,g),y=null==(c=this.context.collectionField)||null==(u=c.targetCollection)||null==(d=u.getField)||null==(s=d.call(u,h))?void 0:s.type,_=lZ(null==(p=this.props)?void 0:p.value,v,h,f,g,y);if(!_.length)return null;let b=new Set(v.map(e=>null==e?void 0:e[h]).filter(e=>null!=e)),x=_.filter(e=>!b.has(e));return x.length?`${h}::${x.slice().sort().join(",")}`:null}ensureValueOptionsSynced(){let e=this.buildValueOptionsSyncKey();!e||e===this.valueOptionsSyncedKey||this.valueOptionsSyncTask&&this.valueOptionsSyncKey===e||(this.valueOptionsSyncKey=e,this.valueOptionsSyncTask=this.applyFlow("syncValueOptions").then(()=>{this.valueOptionsSyncedKey=e}).finally(()=>{this.valueOptionsSyncKey===e&&(this.valueOptionsSyncTask=null)}))}async onDispatchEventStart(e){"beforeRender"===e&&this.ensureValueOptionsSynced()}getFilterValue(){if("value"===(this.props.valueMode||"record")){var e,t;let l=(null==(t=this.props)||null==(e=t.fieldNames)?void 0:e.value)||"id",o=e=>null==e?e:"object"==typeof e?(null==e?void 0:e[l])??(null==e?void 0:e.value):e;return Array.isArray(this.props.value)?this.props.value.map(e=>o(e)).filter(e=>null!=e&&""!==e):o(this.props.value)}return super.getFilterValue()}render(){return this.context.isMobileLayout?(0,m.jsx)(t5,{...this.props,loading:this.resource.loading}):(0,m.jsx)(l2,{...this.props})}constructor(...e){super(...e),this.valueOptionsSyncKey=null,this.valueOptionsSyncedKey=null,this.valueOptionsSyncTask=null}}l5.registerFlow({key:"syncValueOptions",sort:780,steps:{syncByValue:{async handler(e){var t,l,o,n,i,r,a,s,d,u,c,p,m,h,f;if("value"!==((null==(t=e.model.props)?void 0:t.valueMode)||"record"))return;let g=(null==(l=e.model.props)?void 0:l.fieldNames)||{},v=(null==(n=e.model.context.collectionField)||null==(o=n.targetCollection)?void 0:o.filterTargetKey)||"id",y=(null==g?void 0:g.value)||"id",_=!!((null==(i=e.model.props)?void 0:i.multiple)&&(null==(r=e.model.props)?void 0:r.allowMultiple)),b=tQ(null==(a=e.model.props)?void 0:a.options,null==(s=e.model.props)?void 0:s.value,_),x=null==(p=e.model.context.collectionField)||null==(c=p.targetCollection)||null==(u=c.getField)||null==(d=u.call(c,v))?void 0:d.type,M=lZ(null==(m=e.model.props)?void 0:m.value,b,v,y,_,x);if(!M.length)return;let w=new Set(b.map(e=>null==e?void 0:e[v]).filter(e=>null!=e)),S=M.filter(e=>!w.has(e));if(!S.length)return;let k=e.model.resource;if(!k||"function"!=typeof(null==k?void 0:k.addFilterGroup)||"function"!=typeof(null==k?void 0:k.refresh))return;let F=1===S.length?{[`${v}.$eq`]:S[0]}:{[`${v}.$in`]:S};try{k.addFilterGroup(lJ,F),await k.refresh();let t=(null==(h=k.getData)?void 0:h.call(k))||[];if(!Array.isArray(t)||!t.length)return;let l=l0(b,t,v);if(!(l.length!==b.length||l.some((e,t)=>{var l;return(null==e?void 0:e[v])!==(null==b||null==(l=b[t])?void 0:l[v])})))return;e.model.setDataSource(l)}finally{null==(f=k.removeFilterGroup)||f.call(k,lJ)}}}}}),l5.registerFlow({key:"selectSettings",title:(0,r.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},valueFieldOverride:{handler(e){let t=e.model.props.recordSelectValueField;if(!t)return;let l={...e.model.props.fieldNames||{},value:t};e.model.setProps({fieldNames:l})}},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,r.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},hideInSettings:e=>!e.collectionField||!["belongsToMany","hasMany","belongsToArray"].includes(e.collectionField.type),defaultParams:e=>"boolean"==typeof e.model.props.allowMultiple?{allowMultiple:e.model.props.allowMultiple}:{allowMultiple:e.collectionField&&["belongsToMany","hasMany","belongsToArray"].includes(e.model.context.collectionField.type)},handler(e,t){var l,o;let n=(null==e||null==(o=e.blockModel)||null==(l=o.constructor)?void 0:l.scene)===eo.P.filter,i="boolean"==typeof e.model.props.allowMultiple?e.model.props.allowMultiple:null==t?void 0:t.allowMultiple;n&&"boolean"==typeof i?e.model.setProps({allowMultiple:i,multiple:i}):e.model.setProps({allowMultiple:null==t?void 0:t.allowMultiple,multiple:null==t?void 0:t.allowMultiple})}},quickCreate:{title:(0,r.tExpr)("Quick create"),uiMode(e){let t=e.t;return{type:"select",key:"quickCreate",props:{options:[{label:t("None"),value:"none"},{label:t("Dropdown"),value:"quickAdd"},{label:t("Pop-up"),value:"modalAdd"}]}}},hideInSettings(e){var t,l;return(null==e||null==(l=e.blockModel)||null==(t=l.constructor)?void 0:t.scene)===eo.P.filter},defaultParams:{quickCreate:"none"},handler(e,t){e.model.setProps({quickCreate:t.quickCreate})}}}});class l4 extends P{}class l8 extends j{}l8.baseClass=l4;var l3=l(544),l6=l(1022),l9=l(3341);let l7=["filterFormItemSettings"],oe=(0,l9.li)(l7),ot=(0,l9.u4)(l7);function ol(e){return(0,l9.TE)(e,oe)}function oo(e){return(0,l9.Co)(e,oe,ot)}class on extends ed{get form(){return this.context.form}get title(){return"Filter form"}useHooksBeforeRender(){let[e]=_.Form.useForm();this.context.defineProperty("form",{get:()=>e,cache:!1})}async saveStepParams(){return await (0,l3.ON)(this,async()=>await super.saveStepParams())}addAppends(){}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineMethod("refreshTargets",async()=>{let e=this.subModels.grid.subModels.items;e&&e.forEach(e=>{var t;null==e||null==(t=e.doFilter)||t.call(e)})})}onMount(){super.onMount(),this.context.defineProperty("filterFormGridModel",{value:this.subModels.grid}),this.applyDefaultsAndInitialFilter();let e=this.context.blockGridModel;if(null==e?void 0:e.emitter){let t=e=>{(null==e?void 0:e.uid)&&e.uid!==this.uid&&this.handleTargetBlockRemoved(e.uid)};e.emitter.on("onSubModelRemoved",t),this.removeTargetBlockListener=()=>e.emitter.off("onSubModelRemoved",t)}}onUnmount(){var e,t;null==(e=(t=this).removeTargetBlockListener)||e.call(t),super.onUnmount()}async applyDefaultsAndInitialFilter(){var e,t;await this.ensureFilterItemsBeforeRender(),await this.applyFormDefaultValues(),await (null==(e=(t=this.context).refreshTargets)?void 0:e.call(t))}async ensureFilterItemsBeforeRender(){var e,t;let l=null==(e=this.subModels)?void 0:e.grid,o=(null==l||null==(t=l.subModels)?void 0:t.items)||[];if(Array.isArray(o)&&0!==o.length)for(let e of o)"function"==typeof(null==e?void 0:e.dispatchEvent)&&await e.dispatchEvent("beforeRender")}async applyFormDefaultValues(e){var t,l,o,n,i,a,s;let d=this.form;if(!d)return;let u=(null==e?void 0:e.force)===!0,c=null==(t=(l=this).getStepParams)?void 0:t.call(l,"formFilterBlockModelSettings","defaultValues"),p=(null==c?void 0:c.value)||[];if(!Array.isArray(p)||0===p.length)return;let m=async e=>{var t,l;if((0,r.isRunJSValue)(e)){let{code:t,version:l}=(0,r.normalizeRunJSValue)(e),o=await (0,r.runjsWithSafeGlobals)(this.context,t,{version:l});return(null==o?void 0:o.success)?o.value:void 0}return await (null==(t=(l=this.context).resolveJsonTemplate)?void 0:t.call(l,e))};for(let e of p){if(!e||"object"!=typeof e||!1===e.enable||e.mode&&"default"!==String(e.mode))continue;let t=e.targetPath?String(e.targetPath).trim():"",l=e.field?String(e.field).trim():"",r=(t?(0,tg.eo)(this,t):null)??(l?null==(i=this.context)||null==(n=i.engine)||null==(o=n.getModel)?void 0:o.call(n,l):null);if(!r)continue;let c="function"==typeof r.getProps?r.getProps():r.props,p=(null==c?void 0:c.name)??(r.fieldPath?`${r.fieldPath}_${r.uid}`:void 0);if(!p)continue;let h=null==(a=d.getFieldValue)?void 0:a.call(d,p);if(!u&&!(0,l6.Po)(h))continue;let f=await m(e.value);if(void 0===f)continue;let g=R(r),v=(0,lU.S)(g,f);"function"==typeof d.setFieldValue?d.setFieldValue(p,v):null==(s=d.setFieldsValue)||s.call(d,{[String(p)]:v})}}async handleTargetBlockRemoved(e){let t=this.context.filterManager;for(let l of[...this.subModels.grid.subModels.items||[]]){let o=t.getConnectFieldsConfig(l.uid),n=(null==o?void 0:o.targets)||[],i=n.some(t=>t.targetId===e),r=l.defaultTargetUid===e;if(!i&&!r)continue;let a=n.filter(t=>t.targetId!==e);if(a.length>0){await t.saveConnectFieldsConfig(l.uid,{targets:a});continue}await t.removeFilterConfig({filterId:l.uid}),await l.destroy()}}async destroy(){var e;let t=this.context.filterManager;return null==(e=this.subModels.grid.subModels.items)||e.map(e=>{t.removeFilterConfig({filterId:e.uid,persist:!1})}),await super.destroy()}renderComponent(){let{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n}=this.props,i=!!this.context.flowSettingsEnabled;return(0,m.jsxs)(ts.s2,{model:this,onFinish:()=>{this.context.refreshTargets()},layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n},children:[(0,m.jsx)(r.FlowModelRenderer,{model:this.subModels.grid,showFlowSettings:!1}),(0,m.jsx)(r.DndProvider,{children:(0,m.jsxs)(lg.FormButtonGroup,{align:"right",children:[this.mapSubModels("actions",e=>{if(!e.hidden||i)return(0,m.jsx)(r.Droppable,{model:e,children:(0,m.jsx)(r.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!1,showBorder:!1,toolbarPosition:"above"},extraToolbarItems:[{key:"drag-handler",component:r.DragHandler,sort:1}]},e.uid)},e.uid)}),(0,m.jsx)(r.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:"FilterFormActionGroupModel",children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.SettingOutlined,{}),children:this.translate("Actions")})},"filter-form-actions-add")]})})]})}constructor(...e){super(...e),this.autoTriggerFilter=!0}}on.scene=eo.P.filter,on.define({label:(0,r.tExpr)("Form"),createModelOptions:{use:"FilterFormBlockModel",subModels:{grid:{use:"FilterFormGridModel"}}}}),on.registerFlow({key:"formFilterBlockModelSettings",title:(0,r.tExpr)("Form settings"),steps:{layout:{use:"layout",title:(0,r.tExpr)("Layout")},defaultValues:{use:"filterFormDefaultValues",title:(0,r.tExpr)("Field values"),beforeParamsSave(e){let t=oo(e.model);Array.isArray(t)&&t.length&&(0,l3.jI)(e.model)},afterParamsSave(e){var t,l;null==(l=e.model)||null==(t=l.applyFormDefaultValues)||t.call(l,{force:!0}).then(()=>{var t,l,o;return null==(o=e.model)||null==(l=o.context)||null==(t=l.refreshTargets)?void 0:t.call(l)})}}}}),on.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":Y.H}},handler:Y.b}});let oi=(0,tp.observable)({collapsed:!1}),or=(0,r.observer)(()=>{let e=(0,r.useFlowModel)(),t={...e.defaultProps,...e.props},l=()=>{e.dispatchEvent("collapseToggle")};return(0,m.jsx)(_.Button,{...t,onClick:l,icon:(0,m.jsx)(E.DownOutlined,{rotate:180*!oi.collapsed}),iconPosition:"end",children:oi.collapsed?e.translate("Expand button"):e.translate("Collapse button")})});class oa extends l4{onMount(){var e,t;super.onMount();let l=(null==(e=this.getStepParams("collapseSettings","defaultCollapsed"))?void 0:e.value)||!1,o=(null==(t=this.getStepParams("collapseSettings","toggle"))?void 0:t.collapsedRows)||1;oi.collapsed=l,this.context.filterFormGridModel.toggleFormFieldsCollapse(oi.collapsed,o)}render(){return(0,m.jsx)(or,{})}constructor(...e){super(...e),this.defaultProps={type:"link"},this.enableEditTitle=!1,this.enableEditIcon=!1}}oa.registerFlow({key:"collapseSettings",title:(0,r.tExpr)("Collapse settings"),on:"collapseToggle",steps:{toggle:{title:(0,r.tExpr)("Collapsed rows"),uiSchema:{collapsedRows:{type:"number","x-decorator":"FormItem","x-component":_.InputNumber,"x-component-props":{min:1,max:10,placeholder:(0,r.tExpr)("Enter number of rows to display")},default:1}},async handler(e,t){let l=t.collapsedRows||1;oi.collapsed=!oi.collapsed,e.model.context.filterFormGridModel.toggleFormFieldsCollapse(oi.collapsed,l)}},defaultCollapsed:{title:(0,r.tExpr)("Default collapsed"),uiSchema:{value:{type:"boolean","x-decorator":"FormItem","x-component":"Switch"}},beforeParamsSave(e,t){var l;oi.collapsed=t.value||!1;let o=(null==(l=e.model.getStepParams("collapseSettings","toggle"))?void 0:l.collapsedRows)||1;e.model.context.filterFormGridModel.toggleFormFieldsCollapse(oi.collapsed,o)},handler(e,t){}}}}),oa.define({label:(0,r.tExpr)("Collapse button"),toggleable:!0,sort:300}),oa.registerEvents({collapseToggle:{title:(0,r.tExpr)("Collapse / Expand toggle"),name:"collapseToggle",uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":Y.H}},handler:Y.b}});let os=(e,t,l)=>{var o,n,i;if(null==e?void 0:e.targetCollection)return e.targetCollection;let r=null==e?void 0:e.target;if(!r)return;if(null==t||null==(o=t.dataSource)?void 0:o.getCollection)return t.dataSource.getCollection(r);let a=null==t?void 0:t.dataSourceKey;if(a&&(null==l||null==(i=l.context)||null==(n=i.dataSourceManager)?void 0:n.getCollection))return l.context.dataSourceManager.getCollection(a,r)},od=(e,t,l)=>{let o=os(e,t,l);return(null==o?void 0:o.getFields)?(o.getFields()||[]).filter(e=>null==e?void 0:e.filterable):[]},ou=5,oc=(e,t)=>{var l,o,n,i,r;let a=null==t||null==(l=t.context)?void 0:l.collectionField;if(!(null==a||null==(o=a.isAssociationField)?void 0:o.call(a)))return e;let s=(null==t||null==(n=t.props)?void 0:n.fieldNames)||(null==a?void 0:a.fieldNames)||{},d=(null==s?void 0:s.value)||(null==a?void 0:a.targetKey)||(null==a||null==(i=a.targetCollection)?void 0:i.filterTargetKey)||(null==a||null==(r=a.collection)?void 0:r.filterTargetKey)||"id",u=e=>{let t=e&&"object"==typeof e&&void 0!==(null==e?void 0:e.data)?e.data:e;return t&&"object"==typeof t?void 0!==(null==t?void 0:t[d])?t[d]:void 0!==(null==t?void 0:t.id)?t.id:void 0!==(null==t?void 0:t.value)?t.value:t:t};return Array.isArray(e)?e.map(u):u(e)},op=(e,t)=>{var l,o,n;if(!t)return;let i=(null==t?void 0:t.title)||(null==t?void 0:t.name),r=null==t?void 0:t.interface,a=r?null==e||null==(n=e.dataSourceManager)||null==(o=n.collectionFieldInterfaceManager)||null==(l=o.getFieldInterface)?void 0:l.call(o,r):void 0;return{...t,title:i,uiSchema:{...(null==t?void 0:t.uiSchema)||{},title:i},filterable:(null==t?void 0:t.filterable)||(null==a?void 0:a.filterable),isAssociationField:"function"==typeof(null==t?void 0:t.isAssociationField)?t.isAssociationField:()=>!!(null==t?void 0:t.target),getComponentProps:"function"==typeof(null==t?void 0:t.getComponentProps)?t.getComponentProps:()=>({})}},om=e=>{var t,l;let{model:o,collection:n,ctxWithFlags:i,field:a,fieldPath:s,labelPrefix:d}=e,u=r.FilterableItemModel.getDefaultBindingByField(i,a);if(!u)return;let c=("function"==typeof(null==a?void 0:a.isAssociationField)?a.isAssociationField():!!(null==a?void 0:a.target))&&(null==(l=i.engine)||null==(t=l.getModelClass)?void 0:t.call(l,"FilterFormRecordSelectFieldModel"))?"FilterFormRecordSelectFieldModel":u.modelName,p=a.title||a.name;return{key:s,label:d?`${d} / ${p}`:p,useModel:"FilterFormItemModel",refreshTargets:["FilterFormCustomItemModel"],createModelOptions:()=>({use:"FilterFormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:null==n?void 0:n.dataSourceKey,collectionName:null==n?void 0:n.name,fieldPath:s}},filterFormItemSettings:{init:{filterField:S.default.pick(a,["name","title","interface","type"]),defaultTargetUid:o.uid}}},subModels:{field:{use:c,props:"function"==typeof u.defaultProps?u.defaultProps(o.context,a):u.defaultProps}}})}},oh=e=>{var t;let{model:l,collection:o,ctxWithFlags:n,field:i,fieldPath:r,depth:a}=e;if(!os(i,o,l)||a>ou)return;let s=i.title||i.name,d=(null==(t=l.context)?void 0:t.t)||(null==n?void 0:n.t)||(e=>e);return{key:`${r}-associationField`,label:s,children:async()=>{let e=od(i,o,l),t=[],s=[];e.forEach(e=>{let i=`${r}.${e.name}`;if(null==e?void 0:e.targetCollection){let t=oh({model:l,collection:o,ctxWithFlags:n,field:e,fieldPath:i,depth:a+1});t&&s.push(t);return}let d=om({model:l,collection:o,ctxWithFlags:n,field:e,fieldPath:i});d&&t.push(d)});let u=[];return(t.length&&u.push({key:`${r}-fields`,label:d("Fields"),type:"group",searchable:!0,searchPlaceholder:d("Search fields"),children:t}),s.length&&u.push({key:`${r}-relation-fields`,label:d("Association fields"),type:"group",searchable:!0,searchPlaceholder:d("Search association fields"),children:s}),u.length)?u:[{key:`${r}-empty`,label:(0,m.jsx)(_.Empty,{style:{width:140},description:d("No data"),image:_.Empty.PRESENTED_IMAGE_SIMPLE}),disabled:!0}]}}},of=async e=>{var t,l;let o=e.collection||e.context.collection,n=await (null==e||null==(t=e.getFilterFields)?void 0:t.call(e))||[],i=new r.FlowModelContext(e);i.addDelegate(e.context),i.defineProperty("flags",{value:{...null==(l=e.context)?void 0:l.flags,isInFilterFormBlock:!0}});let a=[],s=[];return n.forEach(t=>{let l=t.name,n=om({model:e,collection:o,ctxWithFlags:i,field:t,fieldPath:l});if(n&&a.push(n),null==t?void 0:t.targetCollection){let n=oh({model:e,collection:o,ctxWithFlags:i,field:t,fieldPath:l,depth:1});n&&s.push(n)}}),{baseItems:a.filter(Boolean),relationItems:s.filter(Boolean)}};class og extends r.FilterableItemModel{static defineChildren(e){let t=e.blockGridModel;if(!t)return[];let l=B(t);return 0===l.length?[{key:"no-data-blocks",label:(0,m.jsx)(_.Empty,{style:{width:140},description:e.t("Please add a data block on the page first"),image:_.Empty.PRESENTED_IMAGE_SIMPLE}),disabled:!0}]:l.map(t=>({key:t.uid,label:(0,m.jsx)("span",{style:{margin:"-5px -24px -5px -12px",padding:"5px 24px 5px 12px"},onMouseEnter:()=>{var e;let l=null==(e=t.context.ref)?void 0:e.current;l instanceof HTMLElement&&(l.style.outline=`2px solid ${t.context.themeToken.colorPrimaryBorder}`)},onMouseLeave:()=>{var e;let l=null==(e=t.context.ref)?void 0:e.current;l instanceof HTMLElement&&(l.style.outline="none")},children:`${t.title} #${t.uid.substring(0,4)}`}),children:async()=>{let{baseItems:l,relationItems:o}=await of(t),n=[{key:"fields",label:e.t("Fields"),type:"group",searchable:!0,searchPlaceholder:e.t("Search fields"),children:l}];return o.length&&n.push({key:"relation-fields",label:e.t("Association fields"),type:"group",searchable:!0,searchPlaceholder:e.t("Search association fields"),children:o}),[...n]}}))}get defaultTargetUid(){return this.getStepParams("filterFormItemSettings","init").defaultTargetUid}getCurrentOperatorMeta(){var e,t;let l=R(this);if(!l)return null;let o=null==(t=this.collectionField)||null==(e=t.filterable)?void 0:e.operators;return Array.isArray(o)&&o.find(e=>e.value===l)||null}onInit(e){var t;super.onInit(e),this.debouncedDoFilter=(0,S.debounce)(this.doFilter.bind(this),300);let l=null==(t=this.getStepParams("filterFormItemSettings","init"))?void 0:t.filterField;l&&this.context.defineProperty("filterField",{value:{...l,title:(null==l?void 0:l.title)||(null==l?void 0:l.name)}})}onMount(){super.onMount(),this.mounted=!0}onUnmount(){super.onUnmount(),this.debouncedDoFilter.cancel()}doFilter(){this.context.filterManager.refreshTargetsByFilter(this.uid)}doReset(){this.context.filterManager.refreshTargetsByFilter(this.uid)}getFilterValue(){var e,t,l,o;let n=this.subModels.field,i=n.getFilterValue?n.getFilterValue():null==(e=this.context.form)?void 0:e.getFieldValue(this.props.name),r=i;this.mounted||(r=oc(S.default.isEmpty(i)?this.getDefaultValue():i,null==(t=this.subModels)?void 0:t.field));let a=R(this);r=this.normalizeAssociationFilterValue(r,n);let s=this.getCurrentOperatorMeta();return(null==s?void 0:s.noValue)?!Array.isArray(null==s||null==(o=s.schema)||null==(l=o["x-component-props"])?void 0:l.options)||r:(0,lU.S)(a,r)}normalizeAssociationFilterValue(e,t){var l,o;if(null==e)return e;let n=null==t||null==(l=t.context)?void 0:l.collectionField;if(!("function"==typeof(null==n?void 0:n.isAssociationField)?n.isAssociationField():!!(null==n?void 0:n.target)))return e;let i=(null==n?void 0:n.targetKey)||(null==n||null==(o=n.targetCollection)?void 0:o.filterTargetKey)||"id";return Array.isArray(e)?0===e.length?e:e.map(e=>e&&"object"==typeof e?e[i]:e):"object"==typeof e?null==e?void 0:e[i]:e}getDefaultValue(){var e;return null==(e=this.getStepParams("filterFormItemSettings","initialValue"))?void 0:e.defaultValue}getValueProps(e){return this.context.blockModel.autoTriggerFilter&&(this.autoTriggerInitialized?(0,S.isEqual)(this.lastAutoTriggerValue,e)||(this.lastAutoTriggerValue=(0,S.cloneDeep)(e),this.debouncedDoFilter()):(this.autoTriggerInitialized=!0,this.lastAutoTriggerValue=(0,S.cloneDeep)(e))),{value:e,onKeyDown:this.handleEnterPress.bind(this),isRange:"$dateBetween"===this.operator}}renderItem(){let e=this.subModels.field;return(0,m.jsx)(r.FormItem,{...this.props,getValueProps:this.getValueProps.bind(this),children:(0,m.jsx)(r.FieldModelRenderer,{model:e})})}constructor(...e){super(...e),this.mounted=!1,this.autoTriggerInitialized=!1,this.handleEnterPress=e=>{("Enter"===e.key||13===e.keyCode)&&(e.preventDefault(),this.doFilter())}}}og.define({label:(0,r.tExpr)("Block list")}),og.registerFlow({key:"filterFormItemSettings",sort:300,title:(0,r.tExpr)("Form item settings"),steps:{label:{title:(0,r.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l,o,n;let i=e.model,r=(null==(l=i.collectionField)?void 0:l.title)||(null==(o=e.filterField)?void 0:o.title)||(null==(n=e.filterField)?void 0:n.name)||i.fieldPath;t.decoratorProps={...t.decoratorProps,extra:i.context.t("Original field title: ")+r}}}}),defaultParams:e=>{var t,l,o;return{label:(null==(t=e.collectionField)?void 0:t.title)||(null==(l=e.filterField)?void 0:l.title)||(null==(o=e.filterField)?void 0:o.name)}},handler(e,t){var l,o,n;let i=(null==(l=e.collectionField)?void 0:l.title)||(null==(o=e.filterField)?void 0:o.title)||(null==(n=e.filterField)?void 0:n.name);t.label&&t.label===i?e.model.setProps({label:t.label}):e.model.setProps({label:e.t(t.label,{ns:"lm-flow-engine"})})}},init:{async handler(e,t){var l,o,n,i;let r=e.model,a=t.filterField?{...t.filterField,title:(null==(l=t.filterField)?void 0:l.title)||(null==(o=t.filterField)?void 0:o.name)}:t.filterField;e.model.context.defineProperty("filterField",{value:a}),e.model.setProps({name:`${r.fieldPath}_${e.model.uid}`});let s=r.collectionField,d=(null==(n=r.getFieldSettingsInitParams)?void 0:n.call(r))||{};if(!((null==d?void 0:d.dataSourceKey)&&(null==d?void 0:d.collectionName))&&!s&&a){let t=op(e,a);t&&(e.model.context.defineProperty("collectionField",{value:t}),s=t)}if(null==s?void 0:s.getComponentProps){let t=s.getComponentProps(),l=(null==(i=e.model.subModels)?void 0:i.field)instanceof lt,{rules:o,required:n,multiple:r,allowMultiple:a,maxCount:d,...u}=t||{};e.model.setProps({...l?u:{...u,multiple:r,allowMultiple:a,maxCount:d},rules:void 0,required:void 0})}}},showLabel:{title:(0,r.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},tooltip:{title:(0,r.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,r.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"})})}},initialValue:{title:(0,r.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;return{defaultValue:{"x-component":"DefaultValue","x-decorator":"FormItem","x-component-props":{flags:{...(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.flags)||{},isInSetDefaultValueDialog:!0}}}}},handler(e,t){e.model.setProps({initialValue:t.defaultValue})}},model:{use:"fieldComponent",title:(0,r.tExpr)("Field component"),uiMode(e){let t=r.FilterableItemModel.getBindingsByField(e,e.collectionField),l=e.t;return{type:"select",key:"use",props:{options:t.map(e=>({label:l(e.modelName),value:e.modelName}))}}},hideInSettings(e){if(1===r.FilterableItemModel.getBindingsByField(e,e.collectionField).length)return!0}},connectFields:{use:"connectFields"},defaultOperator:{use:"defaultOperator"},operatorComponentProps:{use:"operatorComponentProps"},customizeFilterRender:{use:"customizeFilterRender"}}}),og.registerFlow({key:"fieldSettings",title:(0,r.tExpr)("Field settings"),steps:{init:{handler(e,t){}}}});class ov extends X{getAssociationFilterTargetKey(e){var t;let l=null==e||null==(t=e.targetCollection)?void 0:t.filterTargetKey;return Array.isArray(l)?l[0]||"id":l||"id"}getFullLayout(){let e=this.getStepParams(G,W)||{},t=this.props.rows||{},l=e.rows||{},o=Object.keys(t).length,n=Object.keys(l).length,i=e=>Object.values(e).reduce((e,t)=>e+t.reduce((e,t)=>e+t.length,0),0),r=i(t),a=i(l),s=o>n||o===n&&r>=a,d=this.mergeRowsWithItems(s?t:l),u=s?this.props.rowOrder||e.rowOrder:e.rowOrder||this.props.rowOrder;return this.normalizeRowsWithOrder(d,u)}limitRowsByVisibleCount(e,t,l){let o={},n=l;return t.forEach(t=>{if(n<=0||!e[t])return;let l=e[t],i=Math.min(l.reduce((e,t)=>Math.max(e,t.length),0),n),r=l.map(e=>e.slice(0,i));r.some(e=>e.length>0)&&(o[t]=r,n-=i)}),o}toggleFormFieldsCollapse(e,t){let{rows:l,rowOrder:o}=this.getFullLayout();if(!e){this.setProps("rows",l),this.setProps("rowOrder",o);return}let n=this.limitRowsByVisibleCount(l,o,t);this.setProps("rows",n),this.setProps("rowOrder",o)}async onModelCreated(e){if(!(e instanceof og))return;let{fieldPath:t}=e.getFieldSettingsInitParams(),l=B(e.context.blockGridModel).filter(t=>{var l;return!!(null==(l=t.resource)?void 0:l.supportsFilter)&&t.uid===e.defaultTargetUid});if(l.length>0){let o=l.map(e=>{let l=e.collection||e.context.collection;if(l){var o,n,i;let r;if(null==t?void 0:t.includes(".")){let i=`${l.dataSourceKey}.${l.name}.${t}`;r=null==(n=e.context.dataSourceManager)||null==(o=n.getCollectionField)?void 0:o.call(n,i)}if(r||(r=null==(i=l.getField)?void 0:i.call(l,t)),null==r?void 0:r.target)return{targetId:e.uid,filterPaths:[`${t}.${this.getAssociationFilterTargetKey(r)}`]}}return{targetId:e.uid,filterPaths:[t]}});await this.context.filterManager.saveConnectFieldsConfig(e.uid,{targets:o})}}renderAddSubModelButton(){var e,t,l;return this.loading.value?null:(0,m.jsx)(r.AddSubModelButton,{subModelKey:"items",model:this,afterSubModelInit:this.onModelCreated.bind(this),keepDropdownOpen:!0,subModelBaseClasses:["FilterFormItemModel","FilterFormCustomItemModel"],children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.SettingOutlined,{}),children:this.translate("Fields")})},null==(l=this.context.blockGridModel)||null==(t=l.subModels)||null==(e=t.items)?void 0:e.length)}constructor(...e){super(...e),this.itemSettingsMenuLevel=2,this.itemFlowSettings={showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}},this.dragOverlayConfig={columnInsert:{before:{offsetTop:-12,height:24},after:{offsetTop:7,height:24}},columnEdge:{left:{offsetLeft:-5,width:24},right:{offsetLeft:8,width:24}},rowGap:{above:{offsetTop:0,height:24},below:{offsetTop:-14,height:24}}},this.loading=r.observable.ref(!1)}}ov.registerFlow({key:"filterFormGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});class oy extends l4{}oy.define({label:(0,r.tExpr)("JS action"),sort:9999}),oy.registerFlow({key:"clickSettings",on:"click",title:(0,r.tExpr)("Click settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":eR.BY,"x-component-props":{minHeight:"400px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:""}),async handler(e,t){let{code:l,version:o}=eN(e,t),n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})}}}});class o_ extends l4{constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Reset")}}}o_.registerFlow({key:"resetSettings",on:{eventName:"click"},steps:{doReset:{async handler(e,t){let l=e.model.context.blockModel,o=l.subModels.grid.subModels.items;e.form.resetFields(),setTimeout(()=>{var e;null==(e=l.applyFormDefaultValues)||e.call(l,{force:!0}).finally(()=>{o.forEach(e=>{e.doReset()})})})}}}}),o_.define({label:(0,r.tExpr)("Reset"),toggleable:!0,sort:200});class ob extends l4{onInit(e){super.onInit(e),this.context.blockModel.autoTriggerFilter=!1}onUnmount(){super.onUnmount(),this.context.blockModel.autoTriggerFilter=!0}constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Filter"),type:"primary"}}}ob.registerFlow({key:"submitSettings",on:{eventName:"click"},steps:{doFilter:{async handler(e,t){e.form.submit()}}}}),ob.define({label:(0,r.tExpr)("Filter"),toggleable:!0,sort:100});let ox=(0,r.defineAction)({name:"connectFields",title:(0,r.tExpr)("Connect fields"),uiSchema:e=>({value:{type:"object","x-component":ow}}),beforeParamsSave(e,t){S.default.isEmpty(t.value)||e.model.context.filterManager.saveConnectFieldsConfig(e.model.uid,t.value),e.exit()},handler(e,t){}}),oM=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",i=o.filter(Boolean);return t.map(t=>{let r=l?`${l}.${t.name}`:t.name,a=t.title||t.name,s=n?`${n} / ${a}`:a,d=!t.target,u={label:a,value:t.name,isLeaf:d,disableCheckbox:!d,meta:{field:t,fullPath:r,fullLabel:s}};if(!d&&i.some(e=>e&&e.startsWith(r+"."))){var c,p,m;if(null==(p=t.filterable)||null==(c=p.children)?void 0:c.length)u.children=oM(e,t.filterable.children,r,o,s);else{let l=t.targetCollection;l&&(u.children=oM(e,(null==(m=l.getFields)?void 0:m.call(l))||[],r,o,s))}}return u}).sort((e,t)=>e.isLeaf&&!t.isLeaf?-1:!e.isLeaf&&t.isLeaf?1:0)};function ow(e){let t=(0,r.useFlowSettingsContext)(),l=(0,h.useMemo)(()=>B(t.blockGridModel),[t.blockGridModel]),[o,n]=(0,h.useState)(()=>t.model.context.filterManager.getConnectFieldsConfig(t.model.uid)),[i,a]=(0,h.useState)({}),[s,d]=(0,h.useState)({});h.default.useEffect(()=>{(async()=>{let e={},t=((null==o?void 0:o.targets)||[]).map(e=>e.targetId);for(let o of l.filter(e=>t.includes(e.uid))){var n;let t=await (null==(n=o.getFilterFields)?void 0:n.call(o))||[];e[o.uid]=t}a(e)})()},[null==o?void 0:o.targets,l]);let u=(e,t)=>{d(l=>({...l,[e]:t}))},c=e=>s[e]||"field-select",p=(t,l)=>{var i;let r={};((null==o?void 0:o.targets)||[]).forEach(e=>{r[e.targetId]=e}),r[t]={targetId:t,filterPaths:l};let a=Object.values(r);null==(i=e.onChange)||i.call(e,{targets:a}),n({targets:a})},f=(t,l)=>{var i;let r={};((null==o?void 0:o.targets)||[]).forEach(e=>{r[e.targetId]=e}),l?r[t]={targetId:t,filterPaths:[]}:delete r[t];let a=Object.values(r);null==(i=e.onChange)||i.call(e,{targets:a}),n({targets:a})},g=t=>{var l;let i={};((null==o?void 0:o.targets)||[]).forEach(e=>{e.targetId!==t&&(i[e.targetId]=e)});let r=Object.values(i);null==(l=e.onChange)||l.call(e,{targets:r}),n({targets:r})},v=((null==o?void 0:o.targets)||[]).map(e=>e.targetId),y=l.filter(e=>{var t;return null==(t=e.resource)?void 0:t.supportsFilter}).map(e=>{let t=v.includes(e.uid);return{key:e.uid,label:(0,m.jsxs)("button",{type:"button",style:{display:"flex",justifyContent:"space-between",alignItems:"center",minWidth:"200px",border:"none",background:"none",padding:"0",width:"100%",cursor:"pointer"},onClick:l=>{l.stopPropagation(),f(e.uid,!t)},children:[(0,m.jsxs)("span",{style:{marginRight:"16px"},children:[e.title," #",e.uid.substring(0,4)]}),(0,m.jsx)(_.Switch,{size:"small",checked:t})]})}});return(0,m.jsxs)("div",{children:[(0,m.jsxs)("div",{style:{marginBottom:"16px",padding:"12px",backgroundColor:"#f0f9ff",border:"1px solid #bae6fd",borderRadius:"6px",fontSize:"14px",color:"#0369a1"},children:[(0,m.jsx)("div",{style:{fontWeight:500,marginBottom:"8px"},children:t.t("Configuration:")}),(0,m.jsxs)("ul",{style:{margin:0,paddingLeft:"16px"},children:[(0,m.jsx)("li",{children:t.t('Available "target blocks" are all data blocks on the current page')}),(0,m.jsx)("li",{children:t.t("Support filtering multiple blocks simultaneously, support deep selection of relationship fields (e.g.: User/Department/Name)")})]})]}),l.filter(e=>v.includes(e.uid)&&i[e.uid]).sort((e,t)=>((null==o?void 0:o.targets)||[]).findIndex(t=>t.targetId===e.uid)-((null==o?void 0:o.targets)||[]).findIndex(e=>e.targetId===t.uid)).map(e=>{var l,n;let r=i[e.uid]||[],a=(null==o||null==(n=o.targets)||null==(l=n.find(t=>t.targetId===e.uid))?void 0:l.filterPaths)||[],s=oM(t,r,"",a,""),d=a.map(e=>e.split(".")),h=c(e.uid);return(0,m.jsx)(lg.FormItem,{label:`${e.title} #${e.uid.substring(0,4)}`,children:(0,m.jsxs)("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[(0,m.jsx)("div",{style:{flex:1},children:"field-select"===h?(0,m.jsx)(oS,{options:s,value:d,onChange:t=>{let l=(t||[]).map(e=>e.join("."));p(e.uid,l)},multiple:!0,allowClear:!0,placeholder:t.t("Please select fields to filter"),style:{width:"100%"},showSearch:{filter:(e,t)=>t.some(t=>(t.label||"").toString().toLowerCase().includes(e.toLowerCase()))}}):(0,m.jsx)(_.Select,{mode:"tags",value:a,onChange:t=>p(e.uid,t),placeholder:t.t("Separate multiple values with comma or Enter"),style:{width:"100%"},allowClear:!0,tokenSeparators:[","],open:!1,suffixIcon:null})}),(0,m.jsx)(_.Segmented,{value:h,onChange:t=>u(e.uid,t),options:[{label:t.t("Dropdown select"),value:"field-select"},{label:t.t("Text input"),value:"text-input"}]}),(0,m.jsx)(_.Button,{type:"text",icon:(0,m.jsx)(E.DeleteOutlined,{}),onClick:()=>g(e.uid),style:{color:"#8c8c8c"},title:t.t("Delete this target block")})]})},e.uid)}),(0,m.jsx)("div",{style:{marginTop:"16px"},children:(0,m.jsx)(_.Dropdown,{menu:{items:y},trigger:["hover"],autoFocus:!1,children:(0,m.jsx)(_.Button,{type:"dashed",icon:(0,m.jsx)(E.PlusOutlined,{}),style:{width:"100%"},children:t.t("Add target block")})})})]})}function oS(e){let t=(0,r.useFlowSettingsContext)(),[l,o]=h.default.useState(e.options||[]),n=h.default.useMemo(()=>(e.options||[]).map(e=>{var t;return(null==e||null==(t=e.meta)?void 0:t.fullPath)||(null==e?void 0:e.value)}).filter(Boolean).join("|"),[e.options]),i=(0,e6.cx)(e.popupClassName,(0,e6.css)`
|
|
306
|
+
`,children:e.label}),dropdownRender:e=>{let t=g.some(e=>e[l.label]===h.searchText);return(0,m.jsx)(m.Fragment,{children:"quickAdd"===s&&u&&c&&h.searchText?(0,m.jsxs)(m.Fragment,{children:[!(0===g.length&&h.searchText)&&e,g.length>0&&h.searchText&&!t&&(0,m.jsx)(_.Divider,{style:{margin:0}}),!t&&(0,m.jsx)(x,{searchText:h.searchText})]}):e})}}),"modalAdd"===s&&(u&&c||y)&&(u&&c?(0,m.jsx)(_.Button,{onClick:h.onModalAddClick,children:b("Add new")}):(0,m.jsx)(C,{forbidden:{actionName:"create"},collection:null==v||null==(t=v.collectionField)?void 0:t.targetCollection,message:M,children:(0,m.jsx)(_.Button,{onClick:h.onModalAddClick,disabled:!c,style:{opacity:"0.3"},children:b("Add new")})}))]})};class l4 extends ll{buildValueOptionsSyncKey(){var e,t,l,o,n,i,r,a,s,d,u,c,p;if("value"!==((null==(e=this.props)?void 0:e.valueMode)||"record"))return null;let m=(null==(t=this.props)?void 0:t.fieldNames)||{},h=(null==(o=this.context.collectionField)||null==(l=o.targetCollection)?void 0:l.filterTargetKey)||"id",f=(null==m?void 0:m.value)||"id",g=!!((null==(n=this.props)?void 0:n.multiple)&&(null==(i=this.props)?void 0:i.allowMultiple)),v=tZ(null==(r=this.props)?void 0:r.options,null==(a=this.props)?void 0:a.value,g),y=null==(c=this.context.collectionField)||null==(u=c.targetCollection)||null==(d=u.getField)||null==(s=d.call(u,h))?void 0:s.type,_=l0(null==(p=this.props)?void 0:p.value,v,h,f,g,y);if(!_.length)return null;let b=new Set(v.map(e=>null==e?void 0:e[h]).filter(e=>null!=e)),x=_.filter(e=>!b.has(e));return x.length?`${h}::${x.slice().sort().join(",")}`:null}ensureValueOptionsSynced(){let e=this.buildValueOptionsSyncKey();!e||e===this.valueOptionsSyncedKey||this.valueOptionsSyncTask&&this.valueOptionsSyncKey===e||(this.valueOptionsSyncKey=e,this.valueOptionsSyncTask=this.applyFlow("syncValueOptions").then(()=>{this.valueOptionsSyncedKey=e}).finally(()=>{this.valueOptionsSyncKey===e&&(this.valueOptionsSyncTask=null)}))}async onDispatchEventStart(e){"beforeRender"===e&&this.ensureValueOptionsSynced()}getFilterValue(){if("value"===(this.props.valueMode||"record")){var e,t;let l=(null==(t=this.props)||null==(e=t.fieldNames)?void 0:e.value)||"id",o=e=>null==e?e:"object"==typeof e?(null==e?void 0:e[l])??(null==e?void 0:e.value):e;return Array.isArray(this.props.value)?this.props.value.map(e=>o(e)).filter(e=>null!=e&&""!==e):o(this.props.value)}return super.getFilterValue()}render(){return this.context.isMobileLayout?(0,m.jsx)(t4,{...this.props,loading:this.resource.loading}):(0,m.jsx)(l5,{...this.props})}constructor(...e){super(...e),this.valueOptionsSyncKey=null,this.valueOptionsSyncedKey=null,this.valueOptionsSyncTask=null}}l4.registerFlow({key:"syncValueOptions",sort:780,steps:{syncByValue:{async handler(e){var t,l,o,n,i,r,a,s,d,u,c,p,m,h,f;if("value"!==((null==(t=e.model.props)?void 0:t.valueMode)||"record"))return;let g=(null==(l=e.model.props)?void 0:l.fieldNames)||{},v=(null==(n=e.model.context.collectionField)||null==(o=n.targetCollection)?void 0:o.filterTargetKey)||"id",y=(null==g?void 0:g.value)||"id",_=!!((null==(i=e.model.props)?void 0:i.multiple)&&(null==(r=e.model.props)?void 0:r.allowMultiple)),b=tZ(null==(a=e.model.props)?void 0:a.options,null==(s=e.model.props)?void 0:s.value,_),x=null==(p=e.model.context.collectionField)||null==(c=p.targetCollection)||null==(u=c.getField)||null==(d=u.call(c,v))?void 0:d.type,M=l0(null==(m=e.model.props)?void 0:m.value,b,v,y,_,x);if(!M.length)return;let w=new Set(b.map(e=>null==e?void 0:e[v]).filter(e=>null!=e)),S=M.filter(e=>!w.has(e));if(!S.length)return;let k=e.model.resource;if(!k||"function"!=typeof(null==k?void 0:k.addFilterGroup)||"function"!=typeof(null==k?void 0:k.refresh))return;let F=1===S.length?{[`${v}.$eq`]:S[0]}:{[`${v}.$in`]:S};try{k.addFilterGroup(lX,F),await k.refresh();let t=(null==(h=k.getData)?void 0:h.call(k))||[];if(!Array.isArray(t)||!t.length)return;let l=l1(b,t,v);if(!(l.length!==b.length||l.some((e,t)=>{var l;return(null==e?void 0:e[v])!==(null==b||null==(l=b[t])?void 0:l[v])})))return;e.model.setDataSource(l)}finally{null==(f=k.removeFilterGroup)||f.call(k,lX)}}}}}),l4.registerFlow({key:"selectSettings",title:(0,r.tExpr)("Association select settings"),sort:800,steps:{fieldNames:{use:"titleField"},valueFieldOverride:{handler(e){let t=e.model.props.recordSelectValueField;if(!t)return;let l={...e.model.props.fieldNames||{},value:t};e.model.setProps({fieldNames:l})}},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"},allowMultiple:{title:(0,r.tExpr)("Multiple"),uiMode:{type:"switch",key:"allowMultiple"},hideInSettings:e=>!e.collectionField||!["belongsToMany","hasMany","belongsToArray"].includes(e.collectionField.type),defaultParams:e=>"boolean"==typeof e.model.props.allowMultiple?{allowMultiple:e.model.props.allowMultiple}:{allowMultiple:e.collectionField&&["belongsToMany","hasMany","belongsToArray"].includes(e.model.context.collectionField.type)},handler(e,t){var l,o;let n=(null==e||null==(o=e.blockModel)||null==(l=o.constructor)?void 0:l.scene)===en.P.filter,i="boolean"==typeof e.model.props.allowMultiple?e.model.props.allowMultiple:null==t?void 0:t.allowMultiple;n&&"boolean"==typeof i?e.model.setProps({allowMultiple:i,multiple:i}):e.model.setProps({allowMultiple:null==t?void 0:t.allowMultiple,multiple:null==t?void 0:t.allowMultiple})}},quickCreate:{title:(0,r.tExpr)("Quick create"),uiMode(e){let t=e.t;return{type:"select",key:"quickCreate",props:{options:[{label:t("None"),value:"none"},{label:t("Dropdown"),value:"quickAdd"},{label:t("Pop-up"),value:"modalAdd"}]}}},hideInSettings(e){var t,l;return(null==e||null==(l=e.blockModel)||null==(t=l.constructor)?void 0:t.scene)===en.P.filter},defaultParams:{quickCreate:"none"},handler(e,t){e.model.setProps({quickCreate:t.quickCreate})}}}});class l8 extends P{}class l3 extends j{}l3.baseClass=l8;var l6=l(544),l9=l(1022),l7=l(3341);let oe=["filterFormItemSettings"],ot=(0,l7.li)(oe),ol=(0,l7.u4)(oe);function oo(e){return(0,l7.TE)(e,ot)}function on(e){return(0,l7.Co)(e,ot,ol)}class oi extends eu{get form(){return this.context.form}get title(){return"Filter form"}useHooksBeforeRender(){let[e]=_.Form.useForm();this.context.defineProperty("form",{get:()=>e,cache:!1})}async saveStepParams(){return await (0,l6.ON)(this,async()=>await super.saveStepParams())}addAppends(){}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineMethod("refreshTargets",async()=>{let e=this.subModels.grid.subModels.items;e&&e.forEach(e=>{var t;null==e||null==(t=e.doFilter)||t.call(e)})})}onMount(){super.onMount(),this.context.defineProperty("filterFormGridModel",{value:this.subModels.grid}),this.applyDefaultsAndInitialFilter();let e=this.context.blockGridModel;if(null==e?void 0:e.emitter){let t=e=>{(null==e?void 0:e.uid)&&e.uid!==this.uid&&this.handleTargetBlockRemoved(e.uid)};e.emitter.on("onSubModelRemoved",t),this.removeTargetBlockListener=()=>e.emitter.off("onSubModelRemoved",t)}}onUnmount(){var e,t;null==(e=(t=this).removeTargetBlockListener)||e.call(t),super.onUnmount()}async applyDefaultsAndInitialFilter(){var e,t;await this.ensureFilterItemsBeforeRender(),await this.applyFormDefaultValues(),await (null==(e=(t=this.context).refreshTargets)?void 0:e.call(t))}async ensureFilterItemsBeforeRender(){var e,t;let l=null==(e=this.subModels)?void 0:e.grid,o=(null==l||null==(t=l.subModels)?void 0:t.items)||[];if(Array.isArray(o)&&0!==o.length)for(let e of o)"function"==typeof(null==e?void 0:e.dispatchEvent)&&await e.dispatchEvent("beforeRender")}async applyFormDefaultValues(e){var t,l,o,n,i,a,s;let d=this.form;if(!d)return;let u=(null==e?void 0:e.force)===!0,c=null==(t=(l=this).getStepParams)?void 0:t.call(l,"formFilterBlockModelSettings","defaultValues"),p=(null==c?void 0:c.value)||[];if(!Array.isArray(p)||0===p.length)return;let m=async e=>{var t,l;if((0,r.isRunJSValue)(e)){let{code:t,version:l}=(0,r.normalizeRunJSValue)(e),o=await (0,r.runjsWithSafeGlobals)(this.context,t,{version:l});return(null==o?void 0:o.success)?o.value:void 0}return await (null==(t=(l=this.context).resolveJsonTemplate)?void 0:t.call(l,e))};for(let e of p){if(!e||"object"!=typeof e||!1===e.enable||e.mode&&"default"!==String(e.mode))continue;let t=e.targetPath?String(e.targetPath).trim():"",l=e.field?String(e.field).trim():"",r=(t?(0,tv.eo)(this,t):null)??(l?null==(i=this.context)||null==(n=i.engine)||null==(o=n.getModel)?void 0:o.call(n,l):null);if(!r)continue;let c="function"==typeof r.getProps?r.getProps():r.props,p=(null==c?void 0:c.name)??(r.fieldPath?`${r.fieldPath}_${r.uid}`:void 0);if(!p)continue;let h=null==(a=d.getFieldValue)?void 0:a.call(d,p);if(!u&&!(0,l9.Po)(h))continue;let f=await m(e.value);if(void 0===f)continue;let g=R(r),v=(0,lG.S)(g,f);"function"==typeof d.setFieldValue?d.setFieldValue(p,v):null==(s=d.setFieldsValue)||s.call(d,{[String(p)]:v})}}async handleTargetBlockRemoved(e){let t=this.context.filterManager;for(let l of[...this.subModels.grid.subModels.items||[]]){let o=t.getConnectFieldsConfig(l.uid),n=(null==o?void 0:o.targets)||[],i=n.some(t=>t.targetId===e),r=l.defaultTargetUid===e;if(!i&&!r)continue;let a=n.filter(t=>t.targetId!==e);if(a.length>0){await t.saveConnectFieldsConfig(l.uid,{targets:a});continue}await t.removeFilterConfig({filterId:l.uid}),await l.destroy()}}async destroy(){var e;let t=this.context.filterManager;return null==(e=this.subModels.grid.subModels.items)||e.map(e=>{t.removeFilterConfig({filterId:e.uid,persist:!1})}),await super.destroy()}renderComponent(){let{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n}=this.props,i=!!this.context.flowSettingsEnabled;return(0,m.jsxs)(td.s2,{model:this,onFinish:()=>{this.context.refreshTargets()},layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n},children:[(0,m.jsx)(r.FlowModelRenderer,{model:this.subModels.grid,showFlowSettings:!1}),(0,m.jsx)(r.DndProvider,{children:(0,m.jsxs)(lv.FormButtonGroup,{align:"right",children:[this.mapSubModels("actions",e=>{if(!e.hidden||i)return(0,m.jsx)(r.Droppable,{model:e,children:(0,m.jsx)(r.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!1,showBorder:!1,toolbarPosition:"above"},extraToolbarItems:[{key:"drag-handler",component:r.DragHandler,sort:1}]},e.uid)},e.uid)}),(0,m.jsx)(r.AddSubModelButton,{model:this,subModelKey:"actions",subModelBaseClass:"FilterFormActionGroupModel",children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.SettingOutlined,{}),children:this.translate("Actions")})},"filter-form-actions-add")]})})]})}constructor(...e){super(...e),this.autoTriggerFilter=!0}}oi.scene=en.P.filter,oi.define({label:(0,r.tExpr)("Form"),createModelOptions:{use:"FilterFormBlockModel",subModels:{grid:{use:"FilterFormGridModel"}}}}),oi.registerFlow({key:"formFilterBlockModelSettings",title:(0,r.tExpr)("Form settings"),steps:{layout:{use:"layout",title:(0,r.tExpr)("Layout")},defaultValues:{use:"filterFormDefaultValues",title:(0,r.tExpr)("Field values"),beforeParamsSave(e){let t=on(e.model);Array.isArray(t)&&t.length&&(0,l6.jI)(e.model)},afterParamsSave(e){var t,l;null==(l=e.model)||null==(t=l.applyFormDefaultValues)||t.call(l,{force:!0}).then(()=>{var t,l,o;return null==(o=e.model)||null==(l=o.context)||null==(t=l.refreshTargets)?void 0:t.call(l)})}}}}),oi.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":Y.H}},handler:Y.b}});let or=(0,tm.observable)({collapsed:!1}),oa=(0,r.observer)(()=>{let e=(0,r.useFlowModel)(),t={...e.defaultProps,...e.props},l=()=>{e.dispatchEvent("collapseToggle")};return(0,m.jsx)(_.Button,{...t,onClick:l,icon:(0,m.jsx)(E.DownOutlined,{rotate:180*!or.collapsed}),iconPosition:"end",children:or.collapsed?e.translate("Expand button"):e.translate("Collapse button")})});class os extends l8{onMount(){var e,t;super.onMount();let l=(null==(e=this.getStepParams("collapseSettings","defaultCollapsed"))?void 0:e.value)||!1,o=(null==(t=this.getStepParams("collapseSettings","toggle"))?void 0:t.collapsedRows)||1;or.collapsed=l,this.context.filterFormGridModel.toggleFormFieldsCollapse(or.collapsed,o)}render(){return(0,m.jsx)(oa,{})}constructor(...e){super(...e),this.defaultProps={type:"link"},this.enableEditTitle=!1,this.enableEditIcon=!1}}os.registerFlow({key:"collapseSettings",title:(0,r.tExpr)("Collapse settings"),on:"collapseToggle",steps:{toggle:{title:(0,r.tExpr)("Collapsed rows"),uiSchema:{collapsedRows:{type:"number","x-decorator":"FormItem","x-component":_.InputNumber,"x-component-props":{min:1,max:10,placeholder:(0,r.tExpr)("Enter number of rows to display")},default:1}},async handler(e,t){let l=t.collapsedRows||1;or.collapsed=!or.collapsed,e.model.context.filterFormGridModel.toggleFormFieldsCollapse(or.collapsed,l)}},defaultCollapsed:{title:(0,r.tExpr)("Default collapsed"),uiSchema:{value:{type:"boolean","x-decorator":"FormItem","x-component":"Switch"}},beforeParamsSave(e,t){var l;or.collapsed=t.value||!1;let o=(null==(l=e.model.getStepParams("collapseSettings","toggle"))?void 0:l.collapsedRows)||1;e.model.context.filterFormGridModel.toggleFormFieldsCollapse(or.collapsed,o)},handler(e,t){}}}}),os.define({label:(0,r.tExpr)("Collapse button"),toggleable:!0,sort:300}),os.registerEvents({collapseToggle:{title:(0,r.tExpr)("Collapse / Expand toggle"),name:"collapseToggle",uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":Y.H}},handler:Y.b}});let od=(e,t,l)=>{var o,n,i;if(null==e?void 0:e.targetCollection)return e.targetCollection;let r=null==e?void 0:e.target;if(!r)return;if(null==t||null==(o=t.dataSource)?void 0:o.getCollection)return t.dataSource.getCollection(r);let a=null==t?void 0:t.dataSourceKey;if(a&&(null==l||null==(i=l.context)||null==(n=i.dataSourceManager)?void 0:n.getCollection))return l.context.dataSourceManager.getCollection(a,r)},ou=(e,t,l)=>{let o=od(e,t,l);return(null==o?void 0:o.getFields)?(o.getFields()||[]).filter(e=>null==e?void 0:e.filterable):[]},oc=5,op=(e,t)=>{var l,o,n,i,r;let a=null==t||null==(l=t.context)?void 0:l.collectionField;if(!(null==a||null==(o=a.isAssociationField)?void 0:o.call(a)))return e;let s=(null==t||null==(n=t.props)?void 0:n.fieldNames)||(null==a?void 0:a.fieldNames)||{},d=(null==s?void 0:s.value)||(null==a?void 0:a.targetKey)||(null==a||null==(i=a.targetCollection)?void 0:i.filterTargetKey)||(null==a||null==(r=a.collection)?void 0:r.filterTargetKey)||"id",u=e=>{let t=e&&"object"==typeof e&&void 0!==(null==e?void 0:e.data)?e.data:e;return t&&"object"==typeof t?void 0!==(null==t?void 0:t[d])?t[d]:void 0!==(null==t?void 0:t.id)?t.id:void 0!==(null==t?void 0:t.value)?t.value:t:t};return Array.isArray(e)?e.map(u):u(e)},om=(e,t)=>{var l,o,n;if(!t)return;let i=(null==t?void 0:t.title)||(null==t?void 0:t.name),r=null==t?void 0:t.interface,a=r?null==e||null==(n=e.dataSourceManager)||null==(o=n.collectionFieldInterfaceManager)||null==(l=o.getFieldInterface)?void 0:l.call(o,r):void 0;return{...t,title:i,uiSchema:{...(null==t?void 0:t.uiSchema)||{},title:i},filterable:(null==t?void 0:t.filterable)||(null==a?void 0:a.filterable),isAssociationField:"function"==typeof(null==t?void 0:t.isAssociationField)?t.isAssociationField:()=>!!(null==t?void 0:t.target),getComponentProps:"function"==typeof(null==t?void 0:t.getComponentProps)?t.getComponentProps:()=>({})}},oh=e=>{var t,l;let{model:o,collection:n,ctxWithFlags:i,field:a,fieldPath:s,labelPrefix:d}=e,u=r.FilterableItemModel.getDefaultBindingByField(i,a);if(!u)return;let c=("function"==typeof(null==a?void 0:a.isAssociationField)?a.isAssociationField():!!(null==a?void 0:a.target))&&(null==(l=i.engine)||null==(t=l.getModelClass)?void 0:t.call(l,"FilterFormRecordSelectFieldModel"))?"FilterFormRecordSelectFieldModel":u.modelName,p=a.title||a.name;return{key:s,label:d?`${d} / ${p}`:p,useModel:"FilterFormItemModel",refreshTargets:["FilterFormCustomItemModel"],createModelOptions:()=>({use:"FilterFormItemModel",stepParams:{fieldSettings:{init:{dataSourceKey:null==n?void 0:n.dataSourceKey,collectionName:null==n?void 0:n.name,fieldPath:s}},filterFormItemSettings:{init:{filterField:S.default.pick(a,["name","title","interface","type"]),defaultTargetUid:o.uid}}},subModels:{field:{use:c,props:"function"==typeof u.defaultProps?u.defaultProps(o.context,a):u.defaultProps}}})}},of=e=>{var t;let{model:l,collection:o,ctxWithFlags:n,field:i,fieldPath:r,depth:a}=e;if(!od(i,o,l)||a>oc)return;let s=i.title||i.name,d=(null==(t=l.context)?void 0:t.t)||(null==n?void 0:n.t)||(e=>e);return{key:`${r}-associationField`,label:s,children:async()=>{let e=ou(i,o,l),t=[],s=[];e.forEach(e=>{let i=`${r}.${e.name}`;if(null==e?void 0:e.targetCollection){let t=of({model:l,collection:o,ctxWithFlags:n,field:e,fieldPath:i,depth:a+1});t&&s.push(t);return}let d=oh({model:l,collection:o,ctxWithFlags:n,field:e,fieldPath:i});d&&t.push(d)});let u=[];return(t.length&&u.push({key:`${r}-fields`,label:d("Fields"),type:"group",searchable:!0,searchPlaceholder:d("Search fields"),children:t}),s.length&&u.push({key:`${r}-relation-fields`,label:d("Association fields"),type:"group",searchable:!0,searchPlaceholder:d("Search association fields"),children:s}),u.length)?u:[{key:`${r}-empty`,label:(0,m.jsx)(_.Empty,{style:{width:140},description:d("No data"),image:_.Empty.PRESENTED_IMAGE_SIMPLE}),disabled:!0}]}}},og=async e=>{var t,l;let o=e.collection||e.context.collection,n=await (null==e||null==(t=e.getFilterFields)?void 0:t.call(e))||[],i=new r.FlowModelContext(e);i.addDelegate(e.context),i.defineProperty("flags",{value:{...null==(l=e.context)?void 0:l.flags,isInFilterFormBlock:!0}});let a=[],s=[];return n.forEach(t=>{let l=t.name,n=oh({model:e,collection:o,ctxWithFlags:i,field:t,fieldPath:l});if(n&&a.push(n),null==t?void 0:t.targetCollection){let n=of({model:e,collection:o,ctxWithFlags:i,field:t,fieldPath:l,depth:1});n&&s.push(n)}}),{baseItems:a.filter(Boolean),relationItems:s.filter(Boolean)}};class ov extends r.FilterableItemModel{static defineChildren(e){let t=e.blockGridModel;if(!t)return[];let l=B(t);return 0===l.length?[{key:"no-data-blocks",label:(0,m.jsx)(_.Empty,{style:{width:140},description:e.t("Please add a data block on the page first"),image:_.Empty.PRESENTED_IMAGE_SIMPLE}),disabled:!0}]:l.map(t=>({key:t.uid,label:(0,m.jsx)("span",{style:{margin:"-5px -24px -5px -12px",padding:"5px 24px 5px 12px"},onMouseEnter:()=>{var e;let l=null==(e=t.context.ref)?void 0:e.current;l instanceof HTMLElement&&(l.style.outline=`2px solid ${t.context.themeToken.colorPrimaryBorder}`)},onMouseLeave:()=>{var e;let l=null==(e=t.context.ref)?void 0:e.current;l instanceof HTMLElement&&(l.style.outline="none")},children:`${t.title} #${t.uid.substring(0,4)}`}),children:async()=>{let{baseItems:l,relationItems:o}=await og(t),n=[{key:"fields",label:e.t("Fields"),type:"group",searchable:!0,searchPlaceholder:e.t("Search fields"),children:l}];return o.length&&n.push({key:"relation-fields",label:e.t("Association fields"),type:"group",searchable:!0,searchPlaceholder:e.t("Search association fields"),children:o}),[...n]}}))}get defaultTargetUid(){return this.getStepParams("filterFormItemSettings","init").defaultTargetUid}getCurrentOperatorMeta(){var e,t;let l=R(this);if(!l)return null;let o=null==(t=this.collectionField)||null==(e=t.filterable)?void 0:e.operators;return Array.isArray(o)&&o.find(e=>e.value===l)||null}onInit(e){var t;super.onInit(e),this.debouncedDoFilter=(0,S.debounce)(this.doFilter.bind(this),300);let l=null==(t=this.getStepParams("filterFormItemSettings","init"))?void 0:t.filterField;l&&this.context.defineProperty("filterField",{value:{...l,title:(null==l?void 0:l.title)||(null==l?void 0:l.name)}})}onMount(){super.onMount(),this.mounted=!0}onUnmount(){super.onUnmount(),this.debouncedDoFilter.cancel()}doFilter(){this.context.filterManager.refreshTargetsByFilter(this.uid)}doReset(){this.context.filterManager.refreshTargetsByFilter(this.uid)}getFilterValue(){var e,t,l,o;let n=this.subModels.field,i=n.getFilterValue?n.getFilterValue():null==(e=this.context.form)?void 0:e.getFieldValue(this.props.name),r=i;this.mounted||(r=op(S.default.isEmpty(i)?this.getDefaultValue():i,null==(t=this.subModels)?void 0:t.field));let a=R(this);r=this.normalizeAssociationFilterValue(r,n);let s=this.getCurrentOperatorMeta();return(null==s?void 0:s.noValue)?!Array.isArray(null==s||null==(o=s.schema)||null==(l=o["x-component-props"])?void 0:l.options)||r:(0,lG.S)(a,r)}normalizeAssociationFilterValue(e,t){var l,o;if(null==e)return e;let n=null==t||null==(l=t.context)?void 0:l.collectionField;if(!("function"==typeof(null==n?void 0:n.isAssociationField)?n.isAssociationField():!!(null==n?void 0:n.target)))return e;let i=(null==n?void 0:n.targetKey)||(null==n||null==(o=n.targetCollection)?void 0:o.filterTargetKey)||"id";return Array.isArray(e)?0===e.length?e:e.map(e=>e&&"object"==typeof e?e[i]:e):"object"==typeof e?null==e?void 0:e[i]:e}getDefaultValue(){var e;return null==(e=this.getStepParams("filterFormItemSettings","initialValue"))?void 0:e.defaultValue}getValueProps(e){return this.context.blockModel.autoTriggerFilter&&(this.autoTriggerInitialized?(0,S.isEqual)(this.lastAutoTriggerValue,e)||(this.lastAutoTriggerValue=(0,S.cloneDeep)(e),this.debouncedDoFilter()):(this.autoTriggerInitialized=!0,this.lastAutoTriggerValue=(0,S.cloneDeep)(e))),{value:e,onKeyDown:this.handleEnterPress.bind(this),isRange:"$dateBetween"===this.operator}}renderItem(){let e=this.subModels.field;return(0,m.jsx)(r.FormItem,{...this.props,getValueProps:this.getValueProps.bind(this),children:(0,m.jsx)(r.FieldModelRenderer,{model:e})})}constructor(...e){super(...e),this.mounted=!1,this.autoTriggerInitialized=!1,this.handleEnterPress=e=>{("Enter"===e.key||13===e.keyCode)&&(e.preventDefault(),this.doFilter())}}}ov.define({label:(0,r.tExpr)("Block list")}),ov.registerFlow({key:"filterFormItemSettings",sort:300,title:(0,r.tExpr)("Form item settings"),steps:{label:{title:(0,r.tExpr)("Label"),uiSchema:e=>({label:{"x-component":"Input","x-decorator":"FormItem","x-reactions":t=>{var l,o,n;let i=e.model,r=(null==(l=i.collectionField)?void 0:l.title)||(null==(o=e.filterField)?void 0:o.title)||(null==(n=e.filterField)?void 0:n.name)||i.fieldPath;t.decoratorProps={...t.decoratorProps,extra:i.context.t("Original field title: ")+r}}}}),defaultParams:e=>{var t,l,o;return{label:(null==(t=e.collectionField)?void 0:t.title)||(null==(l=e.filterField)?void 0:l.title)||(null==(o=e.filterField)?void 0:o.name)}},handler(e,t){var l,o,n;let i=(null==(l=e.collectionField)?void 0:l.title)||(null==(o=e.filterField)?void 0:o.title)||(null==(n=e.filterField)?void 0:n.name);t.label&&t.label===i?e.model.setProps({label:t.label}):e.model.setProps({label:e.t(t.label,{ns:"lm-flow-engine"})})}},init:{async handler(e,t){var l,o,n,i;let r=e.model,a=t.filterField?{...t.filterField,title:(null==(l=t.filterField)?void 0:l.title)||(null==(o=t.filterField)?void 0:o.name)}:t.filterField;e.model.context.defineProperty("filterField",{value:a}),e.model.setProps({name:`${r.fieldPath}_${e.model.uid}`});let s=r.collectionField,d=(null==(n=r.getFieldSettingsInitParams)?void 0:n.call(r))||{};if(!((null==d?void 0:d.dataSourceKey)&&(null==d?void 0:d.collectionName))&&!s&&a){let t=om(e,a);t&&(e.model.context.defineProperty("collectionField",{value:t}),s=t)}if(null==s?void 0:s.getComponentProps){let t=s.getComponentProps(),l=(null==(i=e.model.subModels)?void 0:i.field)instanceof ll,{rules:o,required:n,multiple:r,allowMultiple:a,maxCount:d,...u}=t||{};e.model.setProps({...l?u:{...u,multiple:r,allowMultiple:a,maxCount:d},rules:void 0,required:void 0})}}},showLabel:{title:(0,r.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},tooltip:{title:(0,r.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,r.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"})})}},initialValue:{title:(0,r.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;return{defaultValue:{"x-component":"DefaultValue","x-decorator":"FormItem","x-component-props":{flags:{...(null==e||null==(l=e.model)||null==(t=l.context)?void 0:t.flags)||{},isInSetDefaultValueDialog:!0}}}}},handler(e,t){e.model.setProps({initialValue:t.defaultValue})}},model:{use:"fieldComponent",title:(0,r.tExpr)("Field component"),uiMode(e){let t=r.FilterableItemModel.getBindingsByField(e,e.collectionField),l=e.t;return{type:"select",key:"use",props:{options:t.map(e=>({label:l(e.modelName),value:e.modelName}))}}},hideInSettings(e){if(1===r.FilterableItemModel.getBindingsByField(e,e.collectionField).length)return!0}},connectFields:{use:"connectFields"},defaultOperator:{use:"defaultOperator"},operatorComponentProps:{use:"operatorComponentProps"},customizeFilterRender:{use:"customizeFilterRender"}}}),ov.registerFlow({key:"fieldSettings",title:(0,r.tExpr)("Field settings"),steps:{init:{handler(e,t){}}}});class oy extends X{getAssociationFilterTargetKey(e){var t;let l=null==e||null==(t=e.targetCollection)?void 0:t.filterTargetKey;return Array.isArray(l)?l[0]||"id":l||"id"}getFullLayout(){let e=this.getStepParams(G,W)||{},t=this.props.rows||{},l=e.rows||{},o=Object.keys(t).length,n=Object.keys(l).length,i=e=>Object.values(e).reduce((e,t)=>e+t.reduce((e,t)=>e+t.length,0),0),r=i(t),a=i(l),s=o>n||o===n&&r>=a,d=this.mergeRowsWithItems(s?t:l),u=s?this.props.rowOrder||e.rowOrder:e.rowOrder||this.props.rowOrder;return this.normalizeRowsWithOrder(d,u)}limitRowsByVisibleCount(e,t,l){let o={},n=l;return t.forEach(t=>{if(n<=0||!e[t])return;let l=e[t],i=Math.min(l.reduce((e,t)=>Math.max(e,t.length),0),n),r=l.map(e=>e.slice(0,i));r.some(e=>e.length>0)&&(o[t]=r,n-=i)}),o}toggleFormFieldsCollapse(e,t){let{rows:l,rowOrder:o}=this.getFullLayout();if(!e){this.setProps("rows",l),this.setProps("rowOrder",o);return}let n=this.limitRowsByVisibleCount(l,o,t);this.setProps("rows",n),this.setProps("rowOrder",o)}async onModelCreated(e){if(!(e instanceof ov))return;let{fieldPath:t}=e.getFieldSettingsInitParams(),l=B(e.context.blockGridModel).filter(t=>{var l;return!!(null==(l=t.resource)?void 0:l.supportsFilter)&&t.uid===e.defaultTargetUid});if(l.length>0){let o=l.map(e=>{let l=e.collection||e.context.collection;if(l){var o,n,i;let r;if(null==t?void 0:t.includes(".")){let i=`${l.dataSourceKey}.${l.name}.${t}`;r=null==(n=e.context.dataSourceManager)||null==(o=n.getCollectionField)?void 0:o.call(n,i)}if(r||(r=null==(i=l.getField)?void 0:i.call(l,t)),null==r?void 0:r.target)return{targetId:e.uid,filterPaths:[`${t}.${this.getAssociationFilterTargetKey(r)}`]}}return{targetId:e.uid,filterPaths:[t]}});await this.context.filterManager.saveConnectFieldsConfig(e.uid,{targets:o})}}renderAddSubModelButton(){var e,t,l;return this.loading.value?null:(0,m.jsx)(r.AddSubModelButton,{subModelKey:"items",model:this,afterSubModelInit:this.onModelCreated.bind(this),keepDropdownOpen:!0,subModelBaseClasses:["FilterFormItemModel","FilterFormCustomItemModel"],children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.SettingOutlined,{}),children:this.translate("Fields")})},null==(l=this.context.blockGridModel)||null==(t=l.subModels)||null==(e=t.items)?void 0:e.length)}constructor(...e){super(...e),this.itemSettingsMenuLevel=2,this.itemFlowSettings={showBackground:!0,style:{top:-6,left:-6,right:-6,bottom:-6}},this.dragOverlayConfig={columnInsert:{before:{offsetTop:-12,height:24},after:{offsetTop:7,height:24}},columnEdge:{left:{offsetLeft:-5,width:24},right:{offsetLeft:8,width:24}},rowGap:{above:{offsetTop:0,height:24},below:{offsetTop:-14,height:24}}},this.loading=r.observable.ref(!1)}}oy.registerFlow({key:"filterFormGridSettings",steps:{grid:{handler(e,t){e.model.setProps("rowGap",0),e.model.setProps("colGap",16)}}}});class o_ extends l8{}o_.define({label:(0,r.tExpr)("JS action"),sort:9999}),o_.registerFlow({key:"clickSettings",on:"click",title:(0,r.tExpr)("Click settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":eN.BY,"x-component-props":{minHeight:"400px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:""}),async handler(e,t){let{code:l,version:o}=eB(e,t),n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})}}}});class ob extends l8{constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Reset")}}}ob.registerFlow({key:"resetSettings",on:{eventName:"click"},steps:{doReset:{async handler(e,t){let l=e.model.context.blockModel,o=l.subModels.grid.subModels.items;e.form.resetFields(),setTimeout(()=>{var e;null==(e=l.applyFormDefaultValues)||e.call(l,{force:!0}).finally(()=>{o.forEach(e=>{e.doReset()})})})}}}}),ob.define({label:(0,r.tExpr)("Reset"),toggleable:!0,sort:200});class ox extends l8{onInit(e){super.onInit(e),this.context.blockModel.autoTriggerFilter=!1}onUnmount(){super.onUnmount(),this.context.blockModel.autoTriggerFilter=!0}constructor(...e){super(...e),this.defaultProps={title:(0,r.tExpr)("Filter"),type:"primary"}}}ox.registerFlow({key:"submitSettings",on:{eventName:"click"},steps:{doFilter:{async handler(e,t){e.form.submit()}}}}),ox.define({label:(0,r.tExpr)("Filter"),toggleable:!0,sort:100});let oM=(0,r.defineAction)({name:"connectFields",title:(0,r.tExpr)("Connect fields"),uiSchema:e=>({value:{type:"object","x-component":oS}}),beforeParamsSave(e,t){S.default.isEmpty(t.value)||e.model.context.filterManager.saveConnectFieldsConfig(e.model.uid,t.value),e.exit()},handler(e,t){}}),ow=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",i=o.filter(Boolean);return t.map(t=>{let r=l?`${l}.${t.name}`:t.name,a=t.title||t.name,s=n?`${n} / ${a}`:a,d=!t.target,u={label:a,value:t.name,isLeaf:d,disableCheckbox:!d,meta:{field:t,fullPath:r,fullLabel:s}};if(!d&&i.some(e=>e&&e.startsWith(r+"."))){var c,p,m;if(null==(p=t.filterable)||null==(c=p.children)?void 0:c.length)u.children=ow(e,t.filterable.children,r,o,s);else{let l=t.targetCollection;l&&(u.children=ow(e,(null==(m=l.getFields)?void 0:m.call(l))||[],r,o,s))}}return u}).sort((e,t)=>e.isLeaf&&!t.isLeaf?-1:!e.isLeaf&&t.isLeaf?1:0)};function oS(e){let t=(0,r.useFlowSettingsContext)(),l=(0,h.useMemo)(()=>B(t.blockGridModel),[t.blockGridModel]),[o,n]=(0,h.useState)(()=>t.model.context.filterManager.getConnectFieldsConfig(t.model.uid)),[i,a]=(0,h.useState)({}),[s,d]=(0,h.useState)({});h.default.useEffect(()=>{(async()=>{let e={},t=((null==o?void 0:o.targets)||[]).map(e=>e.targetId);for(let o of l.filter(e=>t.includes(e.uid))){var n;let t=await (null==(n=o.getFilterFields)?void 0:n.call(o))||[];e[o.uid]=t}a(e)})()},[null==o?void 0:o.targets,l]);let u=(e,t)=>{d(l=>({...l,[e]:t}))},c=e=>s[e]||"field-select",p=(t,l)=>{var i;let r={};((null==o?void 0:o.targets)||[]).forEach(e=>{r[e.targetId]=e}),r[t]={targetId:t,filterPaths:l};let a=Object.values(r);null==(i=e.onChange)||i.call(e,{targets:a}),n({targets:a})},f=(t,l)=>{var i;let r={};((null==o?void 0:o.targets)||[]).forEach(e=>{r[e.targetId]=e}),l?r[t]={targetId:t,filterPaths:[]}:delete r[t];let a=Object.values(r);null==(i=e.onChange)||i.call(e,{targets:a}),n({targets:a})},g=t=>{var l;let i={};((null==o?void 0:o.targets)||[]).forEach(e=>{e.targetId!==t&&(i[e.targetId]=e)});let r=Object.values(i);null==(l=e.onChange)||l.call(e,{targets:r}),n({targets:r})},v=((null==o?void 0:o.targets)||[]).map(e=>e.targetId),y=l.filter(e=>{var t;return null==(t=e.resource)?void 0:t.supportsFilter}).map(e=>{let t=v.includes(e.uid);return{key:e.uid,label:(0,m.jsxs)("button",{type:"button",style:{display:"flex",justifyContent:"space-between",alignItems:"center",minWidth:"200px",border:"none",background:"none",padding:"0",width:"100%",cursor:"pointer"},onClick:l=>{l.stopPropagation(),f(e.uid,!t)},children:[(0,m.jsxs)("span",{style:{marginRight:"16px"},children:[e.title," #",e.uid.substring(0,4)]}),(0,m.jsx)(_.Switch,{size:"small",checked:t})]})}});return(0,m.jsxs)("div",{children:[(0,m.jsxs)("div",{style:{marginBottom:"16px",padding:"12px",backgroundColor:"#f0f9ff",border:"1px solid #bae6fd",borderRadius:"6px",fontSize:"14px",color:"#0369a1"},children:[(0,m.jsx)("div",{style:{fontWeight:500,marginBottom:"8px"},children:t.t("Configuration:")}),(0,m.jsxs)("ul",{style:{margin:0,paddingLeft:"16px"},children:[(0,m.jsx)("li",{children:t.t('Available "target blocks" are all data blocks on the current page')}),(0,m.jsx)("li",{children:t.t("Support filtering multiple blocks simultaneously, support deep selection of relationship fields (e.g.: User/Department/Name)")})]})]}),l.filter(e=>v.includes(e.uid)&&i[e.uid]).sort((e,t)=>((null==o?void 0:o.targets)||[]).findIndex(t=>t.targetId===e.uid)-((null==o?void 0:o.targets)||[]).findIndex(e=>e.targetId===t.uid)).map(e=>{var l,n;let r=i[e.uid]||[],a=(null==o||null==(n=o.targets)||null==(l=n.find(t=>t.targetId===e.uid))?void 0:l.filterPaths)||[],s=ow(t,r,"",a,""),d=a.map(e=>e.split(".")),h=c(e.uid);return(0,m.jsx)(lv.FormItem,{label:`${e.title} #${e.uid.substring(0,4)}`,children:(0,m.jsxs)("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[(0,m.jsx)("div",{style:{flex:1},children:"field-select"===h?(0,m.jsx)(ok,{options:s,value:d,onChange:t=>{let l=(t||[]).map(e=>e.join("."));p(e.uid,l)},multiple:!0,allowClear:!0,placeholder:t.t("Please select fields to filter"),style:{width:"100%"},showSearch:{filter:(e,t)=>t.some(t=>(t.label||"").toString().toLowerCase().includes(e.toLowerCase()))}}):(0,m.jsx)(_.Select,{mode:"tags",value:a,onChange:t=>p(e.uid,t),placeholder:t.t("Separate multiple values with comma or Enter"),style:{width:"100%"},allowClear:!0,tokenSeparators:[","],open:!1,suffixIcon:null})}),(0,m.jsx)(_.Segmented,{value:h,onChange:t=>u(e.uid,t),options:[{label:t.t("Dropdown select"),value:"field-select"},{label:t.t("Text input"),value:"text-input"}]}),(0,m.jsx)(_.Button,{type:"text",icon:(0,m.jsx)(E.DeleteOutlined,{}),onClick:()=>g(e.uid),style:{color:"#8c8c8c"},title:t.t("Delete this target block")})]})},e.uid)}),(0,m.jsx)("div",{style:{marginTop:"16px"},children:(0,m.jsx)(_.Dropdown,{menu:{items:y},trigger:["hover"],autoFocus:!1,children:(0,m.jsx)(_.Button,{type:"dashed",icon:(0,m.jsx)(E.PlusOutlined,{}),style:{width:"100%"},children:t.t("Add target block")})})})]})}function ok(e){let t=(0,r.useFlowSettingsContext)(),[l,o]=h.default.useState(e.options||[]),n=h.default.useMemo(()=>(e.options||[]).map(e=>{var t;return(null==e||null==(t=e.meta)?void 0:t.fullPath)||(null==e?void 0:e.value)}).filter(Boolean).join("|"),[e.options]),i=(0,e9.cx)(e.popupClassName,(0,e9.css)`
|
|
307
307
|
.ant-cascader-checkbox {
|
|
308
308
|
display: none;
|
|
309
309
|
}
|
|
310
|
-
`);h.default.useEffect(()=>{o(e.options||[])},[n]);let a=h.default.useMemo(()=>new Set((Array.isArray(e.value)?e.value:[]).map(e=>e.join("."))),[e.value]),s=(t,l)=>{var o,n;let i=null==t||null==(o=t.meta)?void 0:o.fullPath;if(!i)return;let r=new Set(a);l?r.add(i):r.delete(i);let s=Array.from(r).map(e=>e.split("."));null==(n=e.onChange)||n.call(e,s)},d=e=>{var t;let l=null==e||null==(t=e.meta)?void 0:t.fullPath,o=!!(null==e?void 0:e.isLeaf),n=!!l&&a.has(l);return(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px"},children:[(0,m.jsx)("span",{children:e.label}),o?(0,m.jsx)(_.Switch,{size:"small",checked:n,onClick:(e,t)=>{var l;return null==t||null==(l=t.stopPropagation)?void 0:l.call(t)},onChange:(t,l)=>{var o;null==l||null==(o=l.stopPropagation)||o.call(l),s(e,t)}}):null]})},u=e.displayRender||((e,t)=>{var l;let o=null==t?void 0:t[t.length-1],n=null==o||null==(l=o.meta)?void 0:l.fullLabel;return n||e.join(" / ")}),c=async e=>{var l,n,i,r;let a=e[e.length-1];if(!a||(null==(l=a.children)?void 0:l.length))return;let s=a.meta||{},d=s.field,u=s.fullPath;if(!d||!u){a.isLeaf=!0,o(e=>[...e]);return}let c=(null==(n=d.filterable)?void 0:n.children)||[],p=[];if(c.length?p=c:d.targetCollection&&(p=(null==(i=(r=d.targetCollection).getFields)?void 0:i.call(r))||[]),!p.length){a.isLeaf=!0,o(e=>[...e]);return}a.children=
|
|
310
|
+
`);h.default.useEffect(()=>{o(e.options||[])},[n]);let a=h.default.useMemo(()=>new Set((Array.isArray(e.value)?e.value:[]).map(e=>e.join("."))),[e.value]),s=(t,l)=>{var o,n;let i=null==t||null==(o=t.meta)?void 0:o.fullPath;if(!i)return;let r=new Set(a);l?r.add(i):r.delete(i);let s=Array.from(r).map(e=>e.split("."));null==(n=e.onChange)||n.call(e,s)},d=e=>{var t;let l=null==e||null==(t=e.meta)?void 0:t.fullPath,o=!!(null==e?void 0:e.isLeaf),n=!!l&&a.has(l);return(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px"},children:[(0,m.jsx)("span",{children:e.label}),o?(0,m.jsx)(_.Switch,{size:"small",checked:n,onClick:(e,t)=>{var l;return null==t||null==(l=t.stopPropagation)?void 0:l.call(t)},onChange:(t,l)=>{var o;null==l||null==(o=l.stopPropagation)||o.call(l),s(e,t)}}):null]})},u=e.displayRender||((e,t)=>{var l;let o=null==t?void 0:t[t.length-1],n=null==o||null==(l=o.meta)?void 0:l.fullLabel;return n||e.join(" / ")}),c=async e=>{var l,n,i,r;let a=e[e.length-1];if(!a||(null==(l=a.children)?void 0:l.length))return;let s=a.meta||{},d=s.field,u=s.fullPath;if(!d||!u){a.isLeaf=!0,o(e=>[...e]);return}let c=(null==(n=d.filterable)?void 0:n.children)||[],p=[];if(c.length?p=c:d.targetCollection&&(p=(null==(i=(r=d.targetCollection).getFields)?void 0:i.call(r))||[]),!p.length){a.isLeaf=!0,o(e=>[...e]);return}a.children=ow(t,p,u,[],s.fullLabel||a.label),o(e=>[...e])};return(0,m.jsx)(_.Cascader,{allowClear:!0,...e,options:l,loadData:c,displayRender:u,optionRender:d,popupClassName:i})}let oF=(0,r.defineAction)({name:"defaultOperator",title:(0,r.tExpr)("Default operator"),uiMode:e=>({type:"select",key:"value",props:{options:oC(e.model)}}),defaultParams(e){let t=oC(e.model);return{value:t.length>0?t[0].value:""}},handler(e,t){e.model.operator=t.value}});function oC(e){var t,l;let o=e.context.collectionField||e.context.filterField;return((null==(l=e.context.collectionField)||null==(t=l.filterable)?void 0:t.operators)||a.II[e.context.filterField.type]||[]).filter(e=>!e.visible||e.visible(o)).map(t=>({...t,label:e.translate(t.label)}))}var oA=l(4881),oP=l(7720);let oT=new Set(["$in","$notIn"]);function oj(e,t){var l,o;return((null==(o=e.collectionField)||null==(l=o.filterable)?void 0:l.operators)||[]).some(e=>e.value===t)}function oI(e){var t;e&&(e._reactiveWrapperCache=void 0,null==(t=e.setupReactiveRender)||t.call(e))}function oL(e){var t,l,o;let n=e.operator,i=null==(t=e.subModels)?void 0:t.field;if(!i)return;if(e.setProps({key:`${e.uid}-${n||""}`}),!oT.has(n)){let e=i.__originalRender;"function"==typeof e&&(i._reactiveWrapperCache=void 0,i.render=e);return}if(!(i instanceof oA.m)||!oj(e,n))return;let r=(0,oP._)(e.context.app,n,(null==(o=e.collectionField)||null==(l=o.filterable)?void 0:l.operators)||[]);if(!r)return;let{Comp:a,props:s}=r;i.__originalRender||(i.__originalRender=i.render),i.render=()=>(0,m.jsx)(a,{...s,...i.props,onCompositionStart:null,onCompositionEnd:null}),oI(i)}let oY=(0,r.defineAction)({name:"customizeFilterRender",handler(e){oL(e.model)}});function oD(e){var t,l;let o=(null==(l=e.collectionField)||null==(t=l.filterable)?void 0:t.operators)||[];return o.length&&e.operator&&o.find(t=>t.value===e.operator)||null}function oE(e){var t,l;let o=oD(e);if(!o)return;let n=null==o||null==(t=o.schema)?void 0:t["x-component-props"];if(!n)return;let i=null==(l=e.subModels)?void 0:l.field;(null==i?void 0:i.setProps)&&i.setProps(n)}let oR=(0,r.defineAction)({name:"operatorComponentProps",handler(e){oE(e.model)}});var oN=l(4084);class oB extends td.F4{createResource(e,t){let l=this.context.createResource(r.SingleRecordResource);return l.isNewRecord=!0,l}getAclActionName(){return"create"}async submitHandler(e,t,l){await (0,oN.submitHandler)(e,t,l)}async submit(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;await (0,oN.submitHandler)(this.context,e,t)}renderComponent(){let{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n}=this.props,i=!!this.context.flowSettingsEnabled,{heightMode:a,height:s}=this.decoratorProps;return(0,m.jsx)(td.JU,{model:this,gridModel:this.subModels.grid,layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n},heightMode:a,height:s,grid:(0,m.jsx)(r.FlowModelRenderer,{model:this.subModels.grid,showFlowSettings:!1}),actions:(0,m.jsx)(r.DndProvider,{children:(0,m.jsxs)(_.Space,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||i)return(0,m.jsx)(r.Droppable,{model:e,children:(0,m.jsx)(r.MemoFlowModelRenderer,{model:e,showFlowSettings:!!this.context.flowSettingsEnabled&&this.actionFlowSettings,extraToolbarItems:this.actionExtraToolbarItems},e.uid)},e.uid)}),this.renderConfigureActions()]})})})}constructor(...e){super(...e),this.actionFlowSettings={showBackground:!1,showBorder:!1,toolbarPosition:"above"},this.actionExtraToolbarItems=[{key:"drag-handler",component:r.DragHandler,sort:1}]}}oB.scene=en.P.new,oB.blockCapabilityActionName="create",oB.registerFlow({key:"formSettings",title:(0,r.tExpr)("Form settings"),steps:{init:{async handler(e){if(!e.resource)throw Error("Resource is not initialized")}},refresh:{}}}),oB.define({label:(0,r.tExpr)("Form (Add new)"),searchable:!0,searchPlaceholder:(0,r.tExpr)("Search"),createModelOptions:{use:"CreateFormModel",subModels:{grid:{use:"FormGridModel"}}},sort:350});class oO extends r.FlowModel{static defineChildren(e){let t=e.engine.filterModelClassByParent("CommonItemModel"),l=e.engine.filterModelClassByParent("FormCustomItemModel"),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 S.default.sortBy([...o(t),...o(l)],"sort")}}oO.renderMode=r.ModelRenderMode.RenderFunction,oO.define({hide:!0,label:(0,r.tExpr)("Others")});class oH extends r.FlowModel{static defineChildren(e){return tH(e,{useModel:"FormItemModel",fieldUseModel:"JSEditableFieldModel",associationPathName:e.prefixFieldPath,refreshTargets:["FormItemModel","FilterFormItemModel"]})}}oH.define({label:(0,r.tExpr)("JS field"),searchable:!0,searchPlaceholder:(0,r.tExpr)("Search fields"),menuType:"submenu",sort:110});class oq extends e${}oq.define({label:(0,r.tExpr)("JS action"),sort:9999}),oq.registerFlow({key:"clickSettings",on:"click",title:(0,r.tExpr)("Click settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-component":eN.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
|
|
311
311
|
const values = ctx.form?.getFieldsValue?.() || {};
|
|
312
312
|
ctx.message.success('Current form values: ' + JSON.stringify(values));
|
|
313
|
-
`}),async handler(e,t){let{code:l,version:o}=eN(e,t);e.defineMethod("refresh",async()=>{var t,l,o;(null==(l=e.blockModel)||null==(t=l.resource)?void 0:t.refresh)?await e.blockModel.resource.refresh():(null==(o=e.resource)?void 0:o.refresh)&&await e.resource.refresh()});let n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})}}}});class oq extends r.FlowModel{get form(){return this.context.form}useHooksBeforeRender(){let[e]=_.Form.useForm();this.context.defineProperty("form",{get:()=>e})}static async open(e){let{flowEngine:t,target:l,dataSourceKey:o,collectionName:n,fieldPath:i,filterByTk:a,record:s,onSuccess:d,fieldProps:u,onOk:c,sourceFieldModelUid:p}=e,h=t.createModel({use:"QuickEditFormModel",stepParams:{quickEditFormSettings:{init:{dataSourceKey:o,collectionName:n,fieldPath:i}}}});console.log("QuickEditFormModel.open2",Date.now()-h.now),h.now=Date.now(),await t.context.viewer.open({type:"popover",target:l,placement:"rightTop",styles:{body:{width:400}},content:e=>(h.viewContainer=e,h.__onSubmitSuccess=d,h._fieldProps=u,h._onOk=c,console.log("QuickEditFormModel.open3",Date.now()-h.now),(0,m.jsx)(r.FlowModelRenderer,{fallback:(0,m.jsx)(_.Skeleton.Input,{size:"small"}),model:h,inputArgs:{filterByTk:a,record:s,sourceFieldModelUid:p}}))})}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this});let t=(0,r.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>this.resource.getData(),cache:!1,resolveOnServer:(0,r.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>this.resource.getData()),meta:t}),this.context.defineProperty("collection",{get:()=>this.collection})}addAppends(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${e}`);!l||l.isAssociationField()&&(this.resource.addAppends(e),t&&this.resource.refresh())}render(){return console.log("QuickEditFormModel.open4",Date.now()-this.now),(0,m.jsxs)(ts.s2,{model:this,children:[this.mapSubModels("fields",e=>{var t;return(0,m.jsx)(r.FormItem,{showLabel:!1,name:this.fieldPath,initialValue:null==(t=this.context.record)?void 0:t[this.fieldPath],...this.props,children:(0,m.jsx)(r.FieldModelRenderer,{model:e,fallback:(0,m.jsx)(_.Skeleton.Input,{size:"small"})})},e.uid)}),(0,m.jsxs)(_.Space,{style:{display:"flex",justifyContent:"flex-end"},children:[(0,m.jsx)(_.Button,{onClick:()=>{this.viewContainer.close()},children:this.context.t("Cancel")}),(0,m.jsx)(_.Button,{type:"primary",htmlType:"submit",onClick:async()=>{var e,t,l,o,n;let i=this.form.getFieldsValue();await this.form.submit();let r={...i},a={[this.fieldPath]:null==(e=this.resource.getData())?void 0:e[this.fieldPath]};if(this._onOk)this._onOk(r),this.viewContainer.close();else try{await this.resource.save(r,{refresh:!1}),null==(t=(l=this).__onSubmitSuccess)||t.call(l,r),this.viewContainer.close(),this.context.message.success(this.context.t("Saved successfully"))}catch(e){console.error("Failed to save form data:",e),this.context.message.error(this.context.t("Failed to save form data")),null==(o=(n=this).__onSubmitSuccess)||o.call(n,a)}},children:this.context.t("Submit")})]})]})}constructor(...e){super(...e),this.now=Date.now()}}oq.registerFlow({key:"quickEditFormSettings",sort:100,steps:{init:{async handler(e,t){let{dataSourceKey:l,collectionName:o,fieldPath:n}=t;if(!l||!o||!n)throw Error("dataSourceKey, collectionName and fieldPath are required parameters");e.model.fieldPath=n,e.model.collection=e.dataSourceManager.getCollection(l,o);let i=e.createResource(r.SingleRecordResource);i.setDataSourceKey(l),i.setResourceName(o),e.model.resource=i;let a=e.model.collection.getField(n);if(a){let t=tF.getDefaultBindingByField(e,a);if(!t)return;let i=t.modelName,r=e.model.addSubModel("fields",{use:i,props:"function"==typeof t.defaultProps?t.defaultProps(e,a):t.defaultProps,stepParams:{fieldSettings:{init:{dataSourceKey:l,collectionName:o,fieldPath:n}}}});r.setProps({...a.getComponentProps(),...e.model._fieldProps}),r.setProps({sourceFieldModelUid:e.inputArgs.sourceFieldModelUid}),e.model.context.defineProperty("collectionField",{get:()=>a}),e.model.addAppends(n),await r.dispatchEvent("beforeRender")}if(e.inputArgs.filterByTk||e.inputArgs.record){var s;i.setFilterByTk(e.inputArgs.filterByTk),i.setData(e.inputArgs.record),null==(s=e.model.form)||s.setFieldsValue(i.getData())}}}}}),oq.define({hide:!0});class o$ extends D{}o$.itemModelName="FormAssociationItemModel",o$.define({label:'{{t("Display association fields")}}'});let oV=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=(0,r.useFlowContext)();return(0,v.useRequest)(async()=>await l.resolveJsonTemplate(e),{refreshDeps:t})};function oz(e,t){if(!t)return e;let l=[...e];return t.forEach(e=>{let[t,o]=e.split(":");if(l.includes(t)){let e=l.indexOf(t),n=Number(o);l.splice(e+1,0,Number.isFinite(n)?n:o)}}),l}function oK(e,t){if(null==e)return e;let l=typeof e;if("string"===l||"number"===l||"boolean"===l)return e;if("bigint"===l)return String(e);if(Array.isArray(e))return e.map(e=>{let l=oK(e,t);return null==l?"":String(l)}).join(",");if("object"===l){let l=(0,S.castArray)(t).filter(Boolean);if(1===l.length){let t=oK((0,S.get)(e,l[0]));if(void 0!==t)return t}if(l.length>1)return JSON.stringify(l.map(t=>oK((0,S.get)(e,t))??null));let o=e.id??e.value??e.key;if("string"==typeof o||"number"==typeof o)return o;if("bigint"==typeof o)return String(o)}}let oU=e=>{let t=e.underSubForm?"ctx.item.value":"ctx.formValues",l=`{{${t}.${e.fieldPath}}}`,{data:o,loading:n,error:i}=oV(l,[l,e.refreshKey]);return n?(0,m.jsx)("div",{children:"Loading..."}):i?(0,m.jsxs)("div",{children:["Error: ",i.message]}):(0,m.jsx)(r.FieldModelRenderer,{...e.mergedProps,model:e.modelForRender,value:o||e.value})};class oG extends r.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:"FormAssociationItemModel",createModelOptions:()=>({use:"FormAssociationItemModel",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=null!=t?(()=>{let n=e.createFork({},`${t}`);return n.context.defineProperty("fieldIndex",{get:()=>t}),n.context.defineProperty("record",{get:()=>l,cache:!1}),n.context.defineProperty("currentObject",{get:()=>o,cache:!1}),this.context.pattern&&n.context.defineProperty("pattern",{get:()=>this.context.pattern}),n})():e,i=this.collectionField.name,a=this.fieldPath.replace(RegExp(`\\.${i}$`),""),s=oz((0,S.castArray)(a.split(".")),t),d=this.context.prefixFieldPath;return(0,m.jsx)(r.FormItem,{...this.props,shouldUpdate:(e,t)=>{let l=s.length>1&&!(0,S.get)(e,[...s])?s.slice(0,-1):s;return JSON.stringify((0,S.get)(e,[...l]))!==JSON.stringify((0,S.get)(t,[...l]))},children:()=>{var e,t,l,o;let i=oK(null==(t=this.context.form)||null==(e=t.getFieldValue)?void 0:e.call(t,s),null==(o=this.collectionField)||null==(l=o.collection)?void 0:l.filterTargetKey)||(0,H.uid)();return(0,m.jsx)(oU,{modelForRender:n,fieldPath:this.fieldPath.replace(RegExp(`^${d}\\.`),""),refreshKey:i,mergedProps:this.props,underSubForm:!!d})}})}}oG.define({label:(0,r.tExpr)("Display fields"),sort:100}),oG.registerFlow({key:"detailItemSettings",sort:300,title:(0,r.tExpr)("Detail item settings"),steps:{showLabel:{title:(0,r.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,r.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: ")+(o.context.t(n)??"")}}}}),defaultParams:e=>{var t;return{title:null==(t=e.collectionField)?void 0:t.title}},handler(e,t){e.model.setProps({label:e.t(t.title,{ns:"lm-flow-engine"})})}},aclCheck:{use:"aclCheck"},init:{async handler(e){let{collectionField:t}=e.model;t&&e.model.setProps(t.getComponentProps())}},tooltip:{title:(0,r.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,r.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,r.tExpr)("Field component"),use:"displayFieldComponent"},fieldNames:{use:"titleField",title:(0,r.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=r.DisplayItemModel.getDefaultBindingByField(e,l),a=i.modelName;await tf({parentModel:e.model,targetUse:a,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=r.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}}}),oG.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh"}}});var oW=l(1077);let oJ="client";class oX extends eo.z{renderComponent(){return(0,m.jsx)("div",{ref:this.context.ref})}render(){let{className:e,id:t,title:l,description:o,...n}=this.decoratorProps||{},i=["code-block",e].filter(Boolean).join(" ");return(0,m.jsx)(oW.tn,{id:`model-${this.uid}`,className:i,title:l,description:o,...n,children:(0,m.jsx)("div",{ref:this.context.ref})})}onMount(){this._mountedOnce&&this.context.ref.current&&this.rerender(),this._mountedOnce=!0}constructor(...e){super(...e),this._mountedOnce=!1}}oX.define({label:(0,r.tExpr)("JS block"),createModelOptions:{use:"JSBlockModel"}}),oX.registerFlow({key:"jsSettings",title:"JavaScript settings",steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":eR.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`// Welcome to the JS block
|
|
313
|
+
`}),async handler(e,t){let{code:l,version:o}=eB(e,t);e.defineMethod("refresh",async()=>{var t,l,o;(null==(l=e.blockModel)||null==(t=l.resource)?void 0:t.refresh)?await e.blockModel.resource.refresh():(null==(o=e.resource)?void 0:o.refresh)&&await e.resource.refresh()});let n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})}}}});class o$ extends r.FlowModel{get form(){return this.context.form}useHooksBeforeRender(){let[e]=_.Form.useForm();this.context.defineProperty("form",{get:()=>e})}static async open(e){let{flowEngine:t,target:l,dataSourceKey:o,collectionName:n,fieldPath:i,filterByTk:a,record:s,onSuccess:d,fieldProps:u,onOk:c,sourceFieldModelUid:p}=e,h=t.createModel({use:"QuickEditFormModel",stepParams:{quickEditFormSettings:{init:{dataSourceKey:o,collectionName:n,fieldPath:i}}}});console.log("QuickEditFormModel.open2",Date.now()-h.now),h.now=Date.now(),await t.context.viewer.open({type:"popover",target:l,placement:"rightTop",styles:{body:{width:400}},content:e=>(h.viewContainer=e,h.__onSubmitSuccess=d,h._fieldProps=u,h._onOk=c,console.log("QuickEditFormModel.open3",Date.now()-h.now),(0,m.jsx)(r.FlowModelRenderer,{fallback:(0,m.jsx)(_.Skeleton.Input,{size:"small"}),model:h,inputArgs:{filterByTk:a,record:s,sourceFieldModelUid:p}}))})}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this});let t=(0,r.createCurrentRecordMetaFactory)(this.context,()=>this.collection);this.context.defineProperty("record",{get:()=>this.resource.getData(),cache:!1,resolveOnServer:(0,r.createRecordResolveOnServerWithLocal)(()=>this.collection,()=>this.resource.getData()),meta:t}),this.context.defineProperty("collection",{get:()=>this.collection})}addAppends(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${e}`);!l||l.isAssociationField()&&(this.resource.addAppends(e),t&&this.resource.refresh())}render(){return console.log("QuickEditFormModel.open4",Date.now()-this.now),(0,m.jsxs)(td.s2,{model:this,children:[this.mapSubModels("fields",e=>{var t;return(0,m.jsx)(r.FormItem,{showLabel:!1,name:this.fieldPath,initialValue:null==(t=this.context.record)?void 0:t[this.fieldPath],...this.props,children:(0,m.jsx)(r.FieldModelRenderer,{model:e,fallback:(0,m.jsx)(_.Skeleton.Input,{size:"small"})})},e.uid)}),(0,m.jsxs)(_.Space,{style:{display:"flex",justifyContent:"flex-end"},children:[(0,m.jsx)(_.Button,{onClick:()=>{this.viewContainer.close()},children:this.context.t("Cancel")}),(0,m.jsx)(_.Button,{type:"primary",htmlType:"submit",onClick:async()=>{var e,t,l,o,n;let i=this.form.getFieldsValue();await this.form.submit();let r={...i},a={[this.fieldPath]:null==(e=this.resource.getData())?void 0:e[this.fieldPath]};if(this._onOk)this._onOk(r),this.viewContainer.close();else try{await this.resource.save(r,{refresh:!1}),null==(t=(l=this).__onSubmitSuccess)||t.call(l,r),this.viewContainer.close(),this.context.message.success(this.context.t("Saved successfully"))}catch(e){console.error("Failed to save form data:",e),this.context.message.error(this.context.t("Failed to save form data")),null==(o=(n=this).__onSubmitSuccess)||o.call(n,a)}},children:this.context.t("Submit")})]})]})}constructor(...e){super(...e),this.now=Date.now()}}o$.registerFlow({key:"quickEditFormSettings",sort:100,steps:{init:{async handler(e,t){let{dataSourceKey:l,collectionName:o,fieldPath:n}=t;if(!l||!o||!n)throw Error("dataSourceKey, collectionName and fieldPath are required parameters");e.model.fieldPath=n,e.model.collection=e.dataSourceManager.getCollection(l,o);let i=e.createResource(r.SingleRecordResource);i.setDataSourceKey(l),i.setResourceName(o),e.model.resource=i;let a=e.model.collection.getField(n);if(a){let t=tC.getDefaultBindingByField(e,a);if(!t)return;let i=t.modelName,r=e.model.addSubModel("fields",{use:i,props:"function"==typeof t.defaultProps?t.defaultProps(e,a):t.defaultProps,stepParams:{fieldSettings:{init:{dataSourceKey:l,collectionName:o,fieldPath:n}}}});r.setProps({...a.getComponentProps(),...e.model._fieldProps}),r.setProps({sourceFieldModelUid:e.inputArgs.sourceFieldModelUid}),e.model.context.defineProperty("collectionField",{get:()=>a}),e.model.addAppends(n),await r.dispatchEvent("beforeRender")}if(e.inputArgs.filterByTk||e.inputArgs.record){var s;i.setFilterByTk(e.inputArgs.filterByTk),i.setData(e.inputArgs.record),null==(s=e.model.form)||s.setFieldsValue(i.getData())}}}}}),o$.define({hide:!0});class oV extends D{}oV.itemModelName="FormAssociationItemModel",oV.define({label:'{{t("Display association fields")}}'});let oz=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=(0,r.useFlowContext)();return(0,v.useRequest)(async()=>await l.resolveJsonTemplate(e),{refreshDeps:t})};function oK(e,t){if(!t)return e;let l=[...e];return t.forEach(e=>{let[t,o]=e.split(":");if(l.includes(t)){let e=l.indexOf(t),n=Number(o);l.splice(e+1,0,Number.isFinite(n)?n:o)}}),l}function oU(e,t){if(null==e)return e;let l=typeof e;if("string"===l||"number"===l||"boolean"===l)return e;if("bigint"===l)return String(e);if(Array.isArray(e))return e.map(e=>{let l=oU(e,t);return null==l?"":String(l)}).join(",");if("object"===l){let l=(0,S.castArray)(t).filter(Boolean);if(1===l.length){let t=oU((0,S.get)(e,l[0]));if(void 0!==t)return t}if(l.length>1)return JSON.stringify(l.map(t=>oU((0,S.get)(e,t))??null));let o=e.id??e.value??e.key;if("string"==typeof o||"number"==typeof o)return o;if("bigint"==typeof o)return String(o)}}let oG=e=>{let t=e.underSubForm?"ctx.item.value":"ctx.formValues",l=`{{${t}.${e.fieldPath}}}`,{data:o,loading:n,error:i}=oz(l,[l,e.refreshKey]);return n?(0,m.jsx)("div",{children:"Loading..."}):i?(0,m.jsxs)("div",{children:["Error: ",i.message]}):(0,m.jsx)(r.FieldModelRenderer,{...e.mergedProps,model:e.modelForRender,value:o||e.value})};class oW extends r.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:"FormAssociationItemModel",createModelOptions:()=>({use:"FormAssociationItemModel",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=null!=t?(()=>{let n=e.createFork({},`${t}`);return n.context.defineProperty("fieldIndex",{get:()=>t}),n.context.defineProperty("record",{get:()=>l,cache:!1}),n.context.defineProperty("currentObject",{get:()=>o,cache:!1}),this.context.pattern&&n.context.defineProperty("pattern",{get:()=>this.context.pattern}),n})():e,i=this.collectionField.name,a=this.fieldPath.replace(RegExp(`\\.${i}$`),""),s=oK((0,S.castArray)(a.split(".")),t),d=this.context.prefixFieldPath;return(0,m.jsx)(r.FormItem,{...this.props,shouldUpdate:(e,t)=>{let l=s.length>1&&!(0,S.get)(e,[...s])?s.slice(0,-1):s;return JSON.stringify((0,S.get)(e,[...l]))!==JSON.stringify((0,S.get)(t,[...l]))},children:()=>{var e,t,l,o;let i=oU(null==(t=this.context.form)||null==(e=t.getFieldValue)?void 0:e.call(t,s),null==(o=this.collectionField)||null==(l=o.collection)?void 0:l.filterTargetKey)||(0,H.uid)();return(0,m.jsx)(oG,{modelForRender:n,fieldPath:this.fieldPath.replace(RegExp(`^${d}\\.`),""),refreshKey:i,mergedProps:this.props,underSubForm:!!d})}})}}oW.define({label:(0,r.tExpr)("Display fields"),sort:100}),oW.registerFlow({key:"detailItemSettings",sort:300,title:(0,r.tExpr)("Detail item settings"),steps:{showLabel:{title:(0,r.tExpr)("Show label"),uiMode:{type:"switch",key:"showLabel"},defaultParams:{showLabel:!0},handler(e,t){e.model.setProps({showLabel:t.showLabel})}},label:{title:(0,r.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: ")+(o.context.t(n)??"")}}}}),defaultParams:e=>{var t;return{title:null==(t=e.collectionField)?void 0:t.title}},handler(e,t){e.model.setProps({label:e.t(t.title,{ns:"lm-flow-engine"})})}},aclCheck:{use:"aclCheck"},init:{async handler(e){let{collectionField:t}=e.model;t&&e.model.setProps(t.getComponentProps())}},tooltip:{title:(0,r.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,r.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,r.tExpr)("Field component"),use:"displayFieldComponent"},fieldNames:{use:"titleField",title:(0,r.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=r.DisplayItemModel.getDefaultBindingByField(e,l),a=i.modelName;await tg({parentModel:e.model,targetUse:a,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=r.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}}}),oW.registerFlow({key:"paginationChange",on:"paginationChange",steps:{aclCheckRefresh:{use:"aclCheckRefresh"}}});var oJ=l(1077);let oX="client";class oQ extends en.z{renderComponent(){return(0,m.jsx)("div",{ref:this.context.ref})}render(){let{className:e,id:t,title:l,description:o,...n}=this.decoratorProps||{},i=["code-block",e].filter(Boolean).join(" ");return(0,m.jsx)(oJ.tn,{id:`model-${this.uid}`,className:i,title:l,description:o,...n,children:(0,m.jsx)("div",{ref:this.context.ref})})}onMount(){this._mountedOnce&&this.context.ref.current&&this.rerender(),this._mountedOnce=!0}constructor(...e){super(...e),this._mountedOnce=!1}}oQ.define({label:(0,r.tExpr)("JS block"),createModelOptions:{use:"JSBlockModel"}}),oQ.registerFlow({key:"jsSettings",title:"JavaScript settings",steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":eN.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`// Welcome to the JS block
|
|
314
314
|
// Create powerful interactive components with JavaScript
|
|
315
315
|
ctx.render(\`
|
|
316
316
|
<div style="padding: 24px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; max-width: 600px;">
|
|
317
317
|
<h2 style="color: #1890ff; margin: 0 0 20px 0; font-size: 24px; font-weight: 600;">
|
|
318
|
-
🚀 \${ctx.i18n.t('Welcome to JS block', { ns: '`+
|
|
318
|
+
🚀 \${ctx.i18n.t('Welcome to JS block', { ns: '`+oX+`' })}
|
|
319
319
|
</h2>
|
|
320
320
|
|
|
321
321
|
<p style="color: #666; margin-bottom: 24px; font-size: 16px;">
|
|
322
|
-
\${ctx.i18n.t('Build interactive components with JavaScript and external libraries', { ns: '`+
|
|
322
|
+
\${ctx.i18n.t('Build interactive components with JavaScript and external libraries', { ns: '`+oX+`' })}
|
|
323
323
|
</p>
|
|
324
324
|
|
|
325
325
|
<div style="background: #f8f9fa; border-radius: 8px; padding: 20px; margin-bottom: 20px;">
|
|
326
|
-
<h3 style="color: #333; margin: 0 0 16px 0; font-size: 18px;">✨ \${ctx.i18n.t('Key Features', { ns: '`+
|
|
326
|
+
<h3 style="color: #333; margin: 0 0 16px 0; font-size: 18px;">✨ \${ctx.i18n.t('Key Features', { ns: '`+oX+`' })}</h3>
|
|
327
327
|
<ul style="margin: 0; padding-left: 20px; color: #555;">
|
|
328
|
-
<li style="margin-bottom: 8px;">🎨 <strong>\${ctx.i18n.t('Custom JavaScript execution', { ns: '`+
|
|
329
|
-
<li style="margin-bottom: 8px;">📚 <strong>\${ctx.i18n.t('External library support', { ns: '`+
|
|
330
|
-
<li style="margin-bottom: 8px;">🔗 <strong>\${ctx.i18n.t('NocoBase API integration', { ns: '`+
|
|
331
|
-
<li style="margin-bottom: 8px;">💡 <strong>\${ctx.i18n.t('Async/await support', { ns: '`+
|
|
332
|
-
<li style="margin-bottom: 8px;">🎯 <strong>\${ctx.i18n.t('Direct DOM manipulation', { ns: '`+
|
|
328
|
+
<li style="margin-bottom: 8px;">🎨 <strong>\${ctx.i18n.t('Custom JavaScript execution', { ns: '`+oX+"' })}</strong> - ${ctx.i18n.t('Full programming capabilities', { ns: '"+oX+`' })}</li>
|
|
329
|
+
<li style="margin-bottom: 8px;">📚 <strong>\${ctx.i18n.t('External library support', { ns: '`+oX+"' })}</strong> - ${ctx.i18n.t('Load any npm package or CDN library', { ns: '"+oX+`' })}</li>
|
|
330
|
+
<li style="margin-bottom: 8px;">🔗 <strong>\${ctx.i18n.t('NocoBase API integration', { ns: '`+oX+"' })}</strong> - ${ctx.i18n.t('Access your data and collections', { ns: '"+oX+`' })}</li>
|
|
331
|
+
<li style="margin-bottom: 8px;">💡 <strong>\${ctx.i18n.t('Async/await support', { ns: '`+oX+"' })}</strong> - ${ctx.i18n.t('Handle asynchronous operations', { ns: '"+oX+`' })}</li>
|
|
332
|
+
<li style="margin-bottom: 8px;">🎯 <strong>\${ctx.i18n.t('Direct DOM manipulation', { ns: '`+oX+"' })}</strong> - ${ctx.i18n.t('Full control over rendering', { ns: '"+oX+`' })}</li>
|
|
333
333
|
</ul>
|
|
334
334
|
</div>
|
|
335
335
|
|
|
336
336
|
<div style="background: #e6f7ff; border-left: 4px solid #1890ff; padding: 16px; border-radius: 4px;">
|
|
337
337
|
<p style="margin: 0; color: #333; font-size: 14px;">
|
|
338
|
-
💡 <strong>\${ctx.i18n.t('Ready to start?', { ns: '`+
|
|
338
|
+
💡 <strong>\${ctx.i18n.t('Ready to start?', { ns: '`+oX+"' })}</strong> ${ctx.i18n.t('Replace this code with your custom JavaScript to build amazing components!', { ns: '"+oX+`' })}
|
|
339
339
|
</p>
|
|
340
340
|
</div>
|
|
341
341
|
</div>
|
|
342
|
-
\`);`.trim()}),async handler(e,t){let{code:l,version:o}=
|
|
342
|
+
\`);`.trim()}),async handler(e,t){let{code:l,version:o}=eB(e,t);e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>new r.ElementProxy(t),info:{deprecated:{replacedBy:"ctx.render"}}});let n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})})}}}});var oZ=l(4679);function o0(e){let t=[];return null==e||e.split(".").forEach(function(e){isNaN(e)||t.push(String(Number(e)+1))}),t.join(".")}function o1(e){let t=[],l=[],o=[];return e.forEach(e=>{"left"===e.fixed?t.push(e):"right"===e.fixed?o.push(e):l.push(e)}),[...t,...l,...o]}function o2(e,t,l){if("number"==typeof t)e[t]=l;else if("string"==typeof t){let o=t.split("."),n=e;for(let e=0;e<o.length-1;e++)n=n[o[e]];n[o[o.length-1]]=l}}function o5(e){let t=[];return e.forEach(e=>{t.push(e.id),e.children&&Array.isArray(e.children)&&(t=t.concat(o5(e.children)))}),t}function o4(e,t){return Array.isArray(t)?t.map(t=>String((null==e?void 0:e[t])??"")).join("-"):(null==e?void 0:e[t])??""}let o8=e=>{let{heightMode:t,tableAreaRef:l,deps:o=[]}=e,[n,i]=(0,h.useState)(),r=(0,h.useCallback)(()=>{if("specifyValue"!==t&&"fullHeight"!==t)return void i(e=>void 0===e?e:void 0);let e=l.current;if(!e)return;let o=e.getBoundingClientRect().height;if(!o)return;let n=e.querySelector(".ant-table-header")||e.querySelector(".ant-table-thead"),r=e.querySelector(".ant-table-pagination"),a=Math.max(0,Math.floor(o-((null==n?void 0:n.getBoundingClientRect().height)??0)-((null==r?void 0:r.getBoundingClientRect().height)??0)));i(e=>e===a?e:a)},[t,l]);return(0,h.useLayoutEffect)(()=>{r()},[r,...o]),(0,h.useEffect)(()=>{if(!l.current||"u"<typeof ResizeObserver)return;let e=l.current,t=e.querySelector(".ant-table-header")||e.querySelector(".ant-table-thead"),o=e.querySelector(".ant-table-pagination"),n=new ResizeObserver(()=>r());return n.observe(e),t&&n.observe(t),o&&n.observe(o),()=>n.disconnect()},[r,l,...o]),n};function o3(e){var t,l,o;return(null==(l=e.getStepParams)||null==(t=l.call(e,"tableColumnSettings","fieldNames"))?void 0:t.label)||(null==(o=e.props)?void 0:o.titleField)}function o6(e){var t,l,o,n;let i=e.fieldPath||(null==(t=e.collectionField)?void 0:t.name)||(null==(l=e.props)?void 0:l.dataIndex);if(!(null==(n=e.collectionField)||null==(o=n.isAssociationField)?void 0:o.call(n)))return i;let r=e.collectionField.name||e.fieldPath,a=o3(e)||e.collectionField.targetCollectionTitleFieldName;return r&&a?`${r}.${a}`:i}function o9(e){var t;return(null==e||null==(t=e.column)?void 0:t.sortField)||(null==e?void 0:e.field)}function o7(e){let{t}=(0,F.useTranslation)(),l=(0,r.useFlowModel)(),o=l.context.blockModel,n=(null==e?void 0:e.collection)||o.collection,i=n.dataSource,a=l.props.title||l.fieldPath,s=(0,h.useMemo)(()=>{let e=`${t(i.displayName||i.key)} > `,l=n?`${t(n.title)||n.name||n.tableName} > `:"";return`${e}${l}${a}`},[]),d=t('The {{type}} "{{name}}" may have been deleted. Please remove this {{blockType}}.',{type:t("Field"),name:s,blockType:t("Field")}).replaceAll(">",">");return(0,m.jsx)(_.Tooltip,{title:d,children:(0,m.jsx)(E.ExclamationCircleOutlined,{style:{opacity:"0.3"}})})}function ne(){var e,t;let{t:l}=(0,F.useTranslation)(),o=(0,r.useFlowModel)(),n=o.context.blockModel,i=(null==(e=o.context.collectionField)?void 0:e.collection)||n.collection,a=i.dataSource,s=(null==(t=o.context.collectionField)?void 0:t.name)||o.fieldPath,d=(0,h.useMemo)(()=>{let e=`${l(a.displayName||a.key)} > `,t=i?`${l(i.title)||i.name||i.tableName} > `:"";return`${e}${t}${s}`},[]),{actionName:u}=o.forbidden,c=(0,h.useMemo)(()=>l('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:d,actionName:l((0,S.capitalize)(u))}).replaceAll(">",">"),[d,l]);return(0,m.jsx)(_.Tooltip,{title:c,children:(0,m.jsx)(E.LockOutlined,{style:{opacity:"0.3"}})})}let nt=e=>{let{setOpen:t,t:l,handleChange:o,defaultValue:n}=e,[i,r]=(0,h.useState)(n);return(0,m.jsx)("div",{onClick:e=>{e.stopPropagation(),t(!0)},onMouseLeave:()=>{t(!0)},children:(0,m.jsxs)(_.Space.Compact,{block:!0,children:[(0,m.jsx)(_.InputNumber,{placeholder:l("Custom column width"),value:i,onChange:e=>{r(e)},style:{width:"100%",minWidth:200}}),(0,m.jsx)(_.Button,{type:"primary",onClick:()=>o(i),children:"OK"})]})})};class nl extends r.DisplayItemModel{async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.dispatchEvent("beforeRender")}renderHiddenInConfig(){return this.renderOriginal.call(this)}static defineChildren(e){let t=e.model.collection||e.collection;return t.getFields().map(l=>{var o;let n=this.getDefaultBindingByField(e,l,{fallbackToTargetTitleField:!0});if(!n||(null==(o=l.options)?void 0:o.treeChildren))return null;let i=n.modelName,r=e.fieldPath?`${e.fieldPath}.${l.name}`:l.name;return{key:r,label:l.title,refreshTargets:["TableCustomColumnModel/TableJSFieldItemModel"],toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===r&&"TableColumnModel"===e.use},useModel:this.name,createModelOptions:()=>({use:this.name,stepParams:{fieldSettings:{init:{dataSourceKey:t.dataSourceKey,collectionName:e.model.context.blockModel.collection.name,fieldPath:r}}},subModels:{field:{use:i,props:"function"==typeof n.defaultProps?n.defaultProps(e,l):n.defaultProps}}})}}).filter(Boolean)}getColumnProps(){if(!this.props.width)return;let e=(0,m.jsx)(r.Droppable,{model:this,children:(0,m.jsx)(r.FlowsFloatContextMenu,{model:this,containerStyle:{display:"block",padding:"11px 7px",margin:"-11px -7px"},showBorder:!1,settingsMenuLevel:2,extraToolbarItems:[{key:"drag-handler",component:r.DragHandler,sort:1}],children:(0,m.jsx)("div",{className:(0,e9.css)`
|
|
343
343
|
overflow: hidden;
|
|
344
344
|
text-overflow: ellipsis;
|
|
345
345
|
white-space: nowrap;
|
|
346
346
|
width: calc(${this.props.width}px - 16px);
|
|
347
347
|
opacity: ${this.hidden?"0.3":"1"};
|
|
348
|
-
`,children:this.props.title})})}),t=this.render();return{...this.props,sortField:
|
|
348
|
+
`,children:this.props.title})})}),t=this.render();return{...this.props,sortField:o6(this),ellipsis:!0,title:this.props.tooltip?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[e,(0,m.jsx)(_.Tooltip,{title:this.props.tooltip,children:(0,m.jsx)(E.QuestionCircleOutlined,{style:{cursor:"pointer"}})})]}):e,onCell:(e,t)=>({...this.props.onCell?this.props.onCell(e,t):{},record:e,recordIndex:(null==e?void 0:e.__index)||t,width:this.props.width-16,editable:this.props.editable,dataIndex:this.props.dataIndex,title:this.props.title,overflowMode:this.props.overflowMode,model:this}),render:(e,l,o)=>(0,m.jsx)(r.FlowModelProvider,{model:this,children:(0,m.jsx)(oZ.ErrorBoundary,{FallbackComponent:r.FlowErrorFallback,children:(()=>{let n=this.__autoFlowError;if(n)throw n;return this.hidden&&this.context.flowSettingsEnabled?this.forbidden?(0,m.jsx)(ne,{}):(0,m.jsx)(_.Tooltip,{title:this.context.t("The field is hidden and only visible when the UI Editor is active"),children:(0,m.jsxs)("div",{style:{opacity:"0.3"},children:[" ",t(e,l,(null==l?void 0:l.__index)||o)]})}):this.collectionField?t(e,l,(null==l?void 0:l.__index)||o):(0,m.jsx)(o7,{})})()})}),hidden:this.hidden&&!this.context.flowSettingsEnabled}}onInit(e){super.onInit(e)}renderItem(){return(e,t,l)=>(0,m.jsx)(m.Fragment,{children:this.mapSubModels("field",e=>{let o=o4(t,this.context.collection.filterTargetKey),n=e.createFork({},`${(null==t?void 0:t.__index)||l}_${o}`),i=(0,r.createRecordMetaFactory)(()=>n.context.collection,n.context.t("Current record"),e=>{try{var t;let l=e.collection,o=e.record,n=null==l?void 0:l.name,i=null==l?void 0:l.dataSourceKey,r=null==l||null==(t=l.getFilterByTK)?void 0:t.call(l,o);if(!n||null==r)return;return{collection:n,dataSourceKey:i,filterByTk:r}}catch(e){return}});n.context.defineProperty("record",{get:()=>t,resolveOnServer:(0,r.createRecordResolveOnServerWithLocal)(()=>n.context.collection,()=>t),meta:i,cache:!1}),n.context.defineProperty("recordIndex",{get:()=>(null==t?void 0:t.__index)||l});let a=this.context.prefixFieldPath?this.fieldPath.replace(`${this.context.prefixFieldPath}.`,""):this.fieldPath,s=(0,S.get)(t,a);return(0,m.jsx)(r.FormItem,{...(0,S.omit)(this.props,"title"),value:s,noStyle:!0,children:(0,m.jsx)(r.FieldModelRenderer,{model:n})},e.uid)})})}}nl.renderMode=r.ModelRenderMode.RenderFunction,nl.define({label:(0,r.tExpr)("Display fields")}),nl.registerFlow({key:"tableColumnSettings",sort:500,title:(0,r.tExpr)("Table column settings"),steps:{init:{async handler(e,t){var l,o,n,i;let r=e.model.context.collectionField;if(!r)return;let a=o3(e.model),s=r.isAssociationField()&&a?{...r.getComponentProps(),...null==(i=r.targetCollection)||null==(n=i.getField)||null==(o=n.call(i,a))||null==(l=o.getComponentProps)?void 0:l.call(o)}:r.getComponentProps();e.model.setProps("title",r.title),e.model.setProps("dataIndex",r.name),await e.model.applySubModelsBeforeRenderFlows("field"),e.model.setProps({...s})}},title:{title:(0,r.tExpr)("Column title"),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.model.collectionField)?void 0:t.title}},handler(e,t){var l;let o={ns:"lm-flow-engine",compareWith:null==(l=e.model.collectionField)?void 0:l.title};e.model.setProps({title:e.t(t.title,o)||e.fieldPath})}},tooltip:{title:(0,r.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"}))}},width:{title:(0,r.tExpr)("Column width"),uiMode(e){let t=e.model.props.width;return{type:"select",key:"width",props:{options:[{label:50,value:50},{label:100,value:100},{label:150,value:150},{label:200,value:200},{label:250,value:250},{label:300,value:300},{label:350,value:350},{label:400,value:400},{label:450,value:450},{label:500,value:500}],dropdownRender:(l,o,n)=>(0,m.jsxs)(m.Fragment,{children:[l,(0,m.jsx)(_.Divider,{style:{margin:"4px 0"}}),(0,m.jsx)(nt,{setOpen:o,handleChange:n,t:e.t,defaultValue:[50,100,150,200,250,300,350,400,450,500].includes(t)?null:t})]})}}},defaultParams:{width:150},handler(e,t){e.model.setProps("width",t.width)}},aclCheck:{use:"aclCheck"},quickEdit:{title:(0,r.tExpr)("Enable quick edit"),uiMode:{type:"switch",key:"editable"},defaultParams:e=>e.model.collectionField.readonly||e.model.associationPathName?{editable:!1}:{editable:e.model.parent.props.editable||!1},handler(e,t){e.model.setProps("editable",t.editable)}},model:{title:(0,r.tExpr)("Field component"),use:"displayFieldComponent"},sorter:{title:(0,r.tExpr)("Sortable"),uiMode:{type:"switch",key:"sorter"},hideInSettings:async e=>{var t,l;return!e.model.collectionField.getInterfaceOptions().sortable||(null==(l=e.collectionField)||null==(t=l.isAssociationField)?void 0:t.call(l))||!!e.model.associationPathName||e.associationModel},defaultParams:{sorter:!1},handler(e,t){e.model.setProps({sorter:t.sorter})}},fixed:{title:(0,r.tExpr)("Fixed"),use:"fixed"},fieldNames:{use:"titleField",title:(0,r.tExpr)("Title field"),beforeParamsSave:async(e,t,l)=>{if(!e.collectionField||!e.collectionField.isAssociationField()||t.label===l.label)return null;let o=e.collectionField.targetCollection,n=o.getField(t.label);if(!n)return null;let i=e.model.constructor.getDefaultBindingByField(e,n),r=e.model.subModels.field,a=tf(r)||(null==r?void 0:r.use),s=(null==i?void 0:i.modelName)||a,d={dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:o.name,fieldPath:t.label},u="function"==typeof(null==i?void 0:i.defaultProps)?i.defaultProps(e,n):null==i?void 0:i.defaultProps;s&&s!==a?await tg({parentModel:e.model,targetUse:s,defaultProps:u,fieldSettingsInit:d}):r&&(r.setStepParams("fieldSettings","init",d),await r.dispatchEvent("beforeRender",void 0,{useCache:!1})),e.model.setProps(n.getComponentProps())},defaultParams:e=>{let t=e.model.context.collectionField.targetCollectionTitleFieldName;return{label:o3(e.model)||t}},handler(e,t){if(!e.collectionField||!e.collectionField.isAssociationField())return null;e.model.setProps({titleField:t.label})}}}});class no extends r.FlowModel{}no.renderMode=r.ModelRenderMode.RenderFunction,no.registerFlow({key:"tableColumnSettings",title:(0,r.tExpr)("Table column settings"),steps:{title:{title:(0,r.tExpr)("Column title"),uiSchema:{title:{"x-component":"Input","x-decorator":"FormItem","x-component-props":{placeholder:(0,r.tExpr)("Column title")}}},defaultParams:e=>{var t,l;return{title:e.model.title||(null==(t=e.model.constructor.meta)?void 0:t.title)||(null==(l=e.model.flowEngine.findModelClass((t,l)=>l===e.model.constructor))?void 0:l[0])}},handler(e,t){let l=e.t(t.title,{ns:"lm-flow-engine"});e.model.setProps("title",l)}},tooltip:{title:(0,r.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"}))}},width:{title:(0,r.tExpr)("Column width"),uiMode(e){let t=e.model.props.width;return{type:"select",key:"width",props:{options:[{label:50,value:50},{label:100,value:100},{label:150,value:150},{label:200,value:200},{label:250,value:250},{label:300,value:300},{label:350,value:350},{label:400,value:400},{label:450,value:450},{label:500,value:500}],dropdownRender:(l,o,n)=>(0,m.jsxs)(m.Fragment,{children:[l,(0,m.jsx)(_.Divider,{style:{margin:"4px 0"}}),(0,m.jsx)(nt,{setOpen:o,handleChange:n,t:e.t,defaultValue:[50,100,150,200,250,300,350,400,450,500].includes(t)?null:t})]})}}},defaultParams:{width:150},handler(e,t){e.model.setProps("width",t.width)}},fixed:{title:(0,r.tExpr)("Fixed"),use:"fixed"}}}),no.define({hide:!0,label:(0,r.tExpr)("Other columns")});let nn=new WeakMap,ni=(0,r.observer)(e=>{var t,l,o,n;let{record:i,model:a,index:s}=e,d=!!a.context.flowSettingsEnabled,u=`${i.__index??s}`,c=o4(i,null==a||null==(l=a.context)||null==(t=l.collection)?void 0:t.filterTargetKey);return(0,m.jsx)(r.DndProvider,{children:(0,m.jsx)("div",{style:{gap:(null==(n=a.context)||null==(o=n.themeToken)?void 0:o.marginSM)??16},className:(0,e9.css)`
|
|
349
349
|
display: flex;
|
|
350
350
|
flex-wrap: wrap;
|
|
351
351
|
align-items: center;
|
|
@@ -355,12 +355,12 @@ ctx.render(\`
|
|
|
355
355
|
button {
|
|
356
356
|
padding: 0;
|
|
357
357
|
}
|
|
358
|
-
`,children:a.mapSubModels("actions",e=>{if(e.hidden&&!d)return;let t=e.getFork(u);t&&
|
|
358
|
+
`,children:a.mapSubModels("actions",e=>{if(e.hidden&&!d)return;let t=e.getFork(u);t&&nn.get(t)!==c&&t.dispose();let l=e.createFork({},u);nn.set(l,c),l.invalidateFlowCache("beforeRender");let o=(0,r.createRecordMetaFactory)(()=>l.context.collection,l.context.t("Current record"),e=>{var t;let l=e.collection,o=e.record,n=null==l?void 0:l.name,i=null==l?void 0:l.dataSourceKey,r=null==l||null==(t=l.getFilterByTK)?void 0:t.call(l,o);if(n&&null!=r)return{collection:n,dataSourceKey:i,filterByTk:r}});l.context.defineProperty("record",{get:()=>i,cache:!1,resolveOnServer:(0,r.createRecordResolveOnServerWithLocal)(()=>l.context.collection,()=>i),meta:o}),l.context.defineProperty("recordIndex",{get:()=>s});let n=(0,m.jsx)(r.FlowModelRenderer,{showFlowSettings:{showBorder:!1,toolbarPosition:"above"},model:l,inputArgs:i,fallback:(0,m.jsx)(_.Skeleton.Button,{size:"small"}),extraToolbarItems:[{key:"drag-handler",component:r.DragHandler,sort:1}]},l.uid);return d?(0,m.jsx)(r.Droppable,{model:e,children:n},e.uid):n})})})}),nr=(0,r.observer)(e=>{var t,l;let{model:o}=e,n=null==o||null==(t=o.context)?void 0:t.blockModel,i=null==n||null==(l=n.props)?void 0:l.treeTable;return(0,m.jsx)(r.AddSubModelButton,{model:o,subModelBaseClass:o.context.getModelClassName("RecordActionGroupModel"),subModelKey:"actions",afterSubModelInit:async e=>{e.setStepParams("buttonSettings","general",{type:"link",icon:null})},children:(0,m.jsx)(E.PlusOutlined,{})},`table-row-actions-add-${i?"tree":"flat"}`)});class na extends no{async afterAddAsSubModel(){await this.dispatchEvent("beforeRender")}getColumnProps(){if(this.hidden&&!this.context.flowSettingsEnabled)return null;let e=(0,m.jsx)(r.Droppable,{model:this,children:(0,m.jsx)(r.FlowsFloatContextMenu,{model:this,containerStyle:{display:"block",padding:"11px 8px",margin:"-11px -8px"},showBorder:!1,extraToolbarItems:[{key:"add-record-action",component:nr},{key:"drag-handler",component:r.DragHandler,sort:1}],children:(0,m.jsx)("div",{className:(0,e9.css)`
|
|
359
359
|
overflow: hidden;
|
|
360
360
|
text-overflow: ellipsis;
|
|
361
361
|
white-space: nowrap;
|
|
362
362
|
width: calc(${this.props.width}px - 16px);
|
|
363
|
-
`,children:this.props.title})})});return{...this.props,title:this.props.tooltip?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[e,(0,m.jsx)(_.Tooltip,{title:this.props.tooltip,children:(0,m.jsx)(E.QuestionCircleOutlined,{style:{cursor:"pointer"}})})]}):e,render:this.render()}}render(){return(e,t,l)=>(0,m.jsx)("div",{className:(0,
|
|
363
|
+
`,children:this.props.title})})});return{...this.props,title:this.props.tooltip?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[e,(0,m.jsx)(_.Tooltip,{title:this.props.tooltip,children:(0,m.jsx)(E.QuestionCircleOutlined,{style:{cursor:"pointer"}})})]}):e,render:this.render()}}render(){return(e,t,l)=>(0,m.jsx)("div",{className:(0,e9.css)`
|
|
364
364
|
max-width: ${this.props.width-8}px;
|
|
365
365
|
text-overflow: ellipsis;
|
|
366
366
|
white-space: nowrap;
|
|
@@ -369,20 +369,20 @@ ctx.render(\`
|
|
|
369
369
|
&:hover {
|
|
370
370
|
overflow: ${this.context.flowSettingsEnabled?"visible":"hidden"}; /* 鼠标悬停时,内容可见 */
|
|
371
371
|
}
|
|
372
|
-
`,children:(0,m.jsx)(
|
|
372
|
+
`,children:(0,m.jsx)(ni,{record:t,model:this,index:l})})}}na.define({label:'{{t("Actions")}}',createModelOptions:{stepParams:{tableColumnSettings:{title:{title:'{{t("Actions")}}'}}}},hide:e=>e.disableFieldClickToOpen});class ns extends D{}ns.itemModelName="TableColumnModel",ns.define({label:'{{t("Display association fields")}}'});var nd=l(4046),nu=l(2741),nc=l(8198);let np=h.default.createContext(null),nm=(0,e9.css)`
|
|
373
373
|
display: inline-flex;
|
|
374
374
|
align-items: center;
|
|
375
375
|
justify-content: center;
|
|
376
376
|
cursor: grab;
|
|
377
|
-
`,
|
|
377
|
+
`,nh=e=>{let{id:t,...l}=e,o=h.default.useContext(np);return(0,m.jsx)("span",{ref:null==o?void 0:o.setActivatorNodeRef,...null==o?void 0:o.attributes,...null==o?void 0:o.listeners,...l,className:(0,nd.default)(nm),children:(0,m.jsx)(E.MenuOutlined,{})})},nf=e=>{var t,l;let{token:o}=_.theme.useToken(),n=null==(t=e["data-row-key"])?void 0:t.toString(),{setNodeRef:i,setActivatorNodeRef:r,attributes:a,listeners:s,active:d,over:u}=(0,nc.useSortable)({id:n}),{rowIndex:c,...p}=e,f=(null==u?void 0:u.id)===n,g=(0,h.useMemo)(()=>{let e=new nu.TinyColor(o.colorPrimary).setAlpha(.6).toHex8String();return{topActiveClass:(0,e9.css)`
|
|
378
378
|
& > td {
|
|
379
379
|
border-top: 2px solid ${e} !important;
|
|
380
380
|
}
|
|
381
|
-
`,bottomActiveClass:(0,
|
|
381
|
+
`,bottomActiveClass:(0,e9.css)`
|
|
382
382
|
& > td {
|
|
383
383
|
border-bottom: 2px solid ${e} !important;
|
|
384
384
|
}
|
|
385
|
-
`}},[o.colorPrimary]),v=((null==d||null==(l=d.data.current)?void 0:l.sortable.index)??-1)>c?g.topActiveClass:g.bottomActiveClass;return(0,m.jsx)(
|
|
385
|
+
`}},[o.colorPrimary]),v=((null==d||null==(l=d.data.current)?void 0:l.sortable.index)??-1)>c?g.topActiveClass:g.bottomActiveClass;return(0,m.jsx)(np.Provider,{value:{listeners:s,setActivatorNodeRef:r},children:(0,m.jsx)("tr",{ref:e=>{i(e)},...p,className:(0,nd.default)(e.className,{[v]:d&&f})})})};function ng(e,t,l){return(0,h.useMemo)(()=>{if(!e.props.dragSort)return e=>(0,m.jsx)("tbody",{...e});let o=t=>{let o=[],n=new Set((e.props.expandedRowKeys||[]).map(e=>null==e?e:String(e))),i=!!e.props.defaultExpandAllRows,r=e=>{(null==e?void 0:e.length)&&e.forEach(e=>{o.push(e);let t=null==e?void 0:e.children,a=l(e),s=i||n.has(String(a));(null==t?void 0:t.length)&&s&&r(t)})};return r(t||[]),o};return n=>{var i,a;let s=t.current||[],d=(null==s||null==(i=s.some)?void 0:i.call(s,e=>Array.isArray(null==e?void 0:e.children)&&e.children.length>0))?o(s):s,u=t=>{var o,n,i,r,a,s,u,c,p,m;if(!t.active||!t.over)return void console.warn("move cancel");let h=null==(i=t.active)||null==(n=i.data.current)||null==(o=n.sortable)?void 0:o.index,f=null==(s=t.over)||null==(a=s.data.current)||null==(r=a.sortable)?void 0:r.index,g=null==d?void 0:d[h],v=null==d?void 0:d[f];if(!g||!v){let e=(null==(u=t.active)?void 0:u.id)!=null?String(t.active.id):void 0,o=(null==(c=t.over)?void 0:c.id)!=null?String(t.over.id):void 0;e&&o&&(g=null==d||null==(p=d.find)?void 0:p.call(d,t=>String(l(t))===e),v=null==d||null==(m=d.find)?void 0:m.call(d,e=>String(l(e))===o))}g&&v&&e.resource.runAction("move",{method:"post",params:{sourceId:o4(g,e.collection.filterTargetKey),targetId:o4(v,e.collection.filterTargetKey),sortField:e.props.dragSort?e.props.dragSortBy:void 0}}).then(()=>{e.resource.refresh()}).catch(t=>{var l,o,n;console.error("Move failed:",t),null==e||null==(n=e.ctx)||null==(o=n.message)||null==(l=o.error)||l.call(o,(null==t?void 0:t.message)||"Move failed")})},c=(null==d||null==(a=d.map)?void 0:a.call(d,e=>String(l(e))))||[];return(0,m.jsx)(r.DndProvider,{onDragEnd:u,children:(0,m.jsx)(nc.SortableContext,{items:c,children:(0,m.jsx)("tbody",{...n})})})}},[e.props.dragSort,e.props.dragSortBy,e.props.expandedRowKeys,e.props.defaultExpandAllRows,e.resource,e.collection.filterTargetKey,l])}function nv(e){return(0,h.useMemo)(()=>e?nf:e=>(0,m.jsx)("tr",{...e}),[e])}function ny(e){e.props.dragSort&&e.props.dragSortBy&&e.resource.setSort([e.props.dragSortBy])}function n_(e){var t;return e?((null==(t=e.getFields)?void 0:t.call(e))||[]).filter(e=>!(null==e?void 0:e.target)&&"sort"===e.interface):[]}function nb(e){return e.map(e=>{var t,l;return{label:(null==e||null==(t=e.uiSchema)?void 0:t.title)||(null==e?void 0:e.name),value:null==e?void 0:e.name,disabled:null==e||null==(l=e.options)?void 0:l.scopeKey}})}let nx={title:(0,r.tExpr)("Enable drag and drop sorting"),uiMode:{type:"switch",key:"dragSort"},defaultParams:{dragSort:!1},async handler(e,t){e.model.setProps("dragSort",t.dragSort)}},nM={title:(0,r.tExpr)("Drag and drop sorting field"),hideInSettings(e){var t;if(!(null==(t=e.model.getStepParams("tableSettings","dragSort"))?void 0:t.dragSort))return!0},uiMode:e=>({type:"select",key:"dragSortBy",props:{options:nb(n_(e.model.collection)),placeholder:e.t("Select field")}}),defaultParams:{dragSortBy:null},handler(e,t){let l=e.model;l.setProps("dragSortBy",t.dragSortBy),t.dragSortBy&&l.resource.setSort([t.dragSortBy])}},nw=h.default.memo(_.Table),nS=e=>{let{index:t,...l}=e;return(0,m.jsx)("div",{className:(0,nd.default)("nb-table-index"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%"},...l,children:t})},nk=(0,e9.css)`
|
|
386
386
|
position: relative;
|
|
387
387
|
display: flex;
|
|
388
388
|
align-items: center;
|
|
@@ -396,7 +396,7 @@ ctx.render(\`
|
|
|
396
396
|
opacity: 1;
|
|
397
397
|
}
|
|
398
398
|
}
|
|
399
|
-
`,
|
|
399
|
+
`,nF=(0,e9.css)`
|
|
400
400
|
min-height: 16px;
|
|
401
401
|
&:hover {
|
|
402
402
|
.nb-table-index {
|
|
@@ -406,24 +406,24 @@ ctx.render(\`
|
|
|
406
406
|
display: block;
|
|
407
407
|
}
|
|
408
408
|
}
|
|
409
|
-
`,
|
|
409
|
+
`,nC=(0,e9.css)`
|
|
410
410
|
position: relative;
|
|
411
411
|
display: flex;
|
|
412
412
|
align-items: center;
|
|
413
413
|
justify-content: flex-start;
|
|
414
414
|
gap: 0;
|
|
415
|
-
`,
|
|
415
|
+
`,nA=(0,e9.css)`
|
|
416
416
|
position: absolute;
|
|
417
417
|
right: 50%;
|
|
418
418
|
transform: translateX(50%);
|
|
419
419
|
&:not(.checked) {
|
|
420
420
|
display: none;
|
|
421
421
|
}
|
|
422
|
-
`,
|
|
422
|
+
`,nP=(0,e9.css)`
|
|
423
423
|
.nb-origin-node {
|
|
424
424
|
display: block;
|
|
425
425
|
}
|
|
426
|
-
`,
|
|
426
|
+
`,nT=(0,e9.css)`
|
|
427
427
|
& td {
|
|
428
428
|
background-color: #e6f7ff !important;
|
|
429
429
|
}
|
|
@@ -431,7 +431,7 @@ ctx.render(\`
|
|
|
431
431
|
&:hover td {
|
|
432
432
|
background-color: #bae7ff !important;
|
|
433
433
|
}
|
|
434
|
-
`,
|
|
434
|
+
`,nj=h.default.memo(e=>{let t=(0,r.useFlowEngine)(),l=e=>{let{active:l,over:o}=e;l.id&&(null==o?void 0:o.id)&&l.id!==o.id&&t.moveModel(l.id,o.id)};return(0,m.jsx)(r.DndProvider,{onDragEnd:l,children:(0,m.jsx)("thead",{...e})})}),nI=e=>{let{model:t}=e;return(0,m.jsx)(r.AddSubModelButton,{model:t,subModelKey:"columns",subModelBaseClasses:[t.getModelClassName("TableColumnModel"),t.getModelClassName("TableAssociationFieldGroupModel"),t.getModelClassName("TableCustomColumnModel")].filter(Boolean),keepDropdownOpen:!0,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.SettingOutlined,{}),children:t.translate("Fields")})},"table-add-columns")};class nL extends er.t{get resource(){return super.resource}onMount(){super.onMount(),this.disposeAutorun=(0,r.autorun)(()=>{this.columns.value=this.getColumns()}),ny(this)}onUnmount(){super.onUnmount(),this.disposeAutorun&&this.disposeAutorun()}createResource(e,t){return this.context.createResource(r.MultiRecordResource)}highlightRow(e){e&&this.setProps("highlightedRowKey",o4(e,this.collection.filterTargetKey))}clearHighlight(){this.setProps("highlightedRowKey",null)}getColumns(){let e=this.mapSubModels("columns",e=>e.getColumnProps()).filter(Boolean).concat({key:"empty"});return this.context.flowSettingsEnabled&&e.push({key:"addColumn",fixed:"right",width:100,title:(0,m.jsx)(nI,{model:this})}),o1(e)}renderConfigureActions(){return(0,m.jsx)(r.AddSubModelButton,{model:this,subModelBaseClass:this.getModelClassName("CollectionActionGroupModel"),subModelKey:"actions",children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.SettingOutlined,{}),children:this.translate("Actions")})},"table-column-add-actions")}pagination(){let e=this.resource.getMeta("count"),t=this.resource.getPageSize(),l=this.resource.getMeta("hasNext"),o=this.resource.getPage(),n=this.resource.getData(),i=!!this.context.isMobileLayout;if(e){let l={current:o,pageSize:t,total:e,showTotal:e=>this.translate("Total {{count}} items",{count:e}),showSizeChanger:!0};return(0,e0.hO)(l,i)}{let e=t||10,r=o||1,a={simple:!0,showTitle:!1,showSizeChanger:!0,hideOnSinglePage:!1,pageSize:e,total:(0,e0.SM)({dataLength:null==n?void 0:n.length,pageSize:e,current:r,hasNext:l}),className:(0,e0.M6)((0,e0.HZ)(),void 0),itemRender:(0,e0.hH)({current:r,controlHeight:this.context.themeToken.controlHeight})};return(0,e0.hO)(a,i)}}renderComponent(){let e=this.props.highlightedRowKey,t=!!this.context.flowSettingsEnabled,{heightMode:l,height:o}=this.decoratorProps;return this.columns.value.length?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(r.DndProvider,{children:(0,m.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:this.context.themeToken.margin,gap:this.context.themeToken.marginXXS},children:[(0,m.jsxs)(_.Space,{wrap:!0,children:[this.mapSubModels("actions",e=>"left"===e.props.position?(0,m.jsx)(r.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!1,showBorder:!1,toolbarPosition:"above"}},e.uid):null),(0,m.jsx)("span",{})]}),(0,m.jsxs)(_.Space,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||t)return"left"!==e.props.position?(0,m.jsx)(r.Droppable,{model:e,children:(0,m.jsx)(r.FlowModelRenderer,{model:e,showFlowSettings:{showBackground:!1,showBorder:!1,toolbarPosition:"above"},extraToolbarItems:[{key:"drag-handler",component:r.DragHandler,sort:1}]})},e.uid):null}),this.renderConfigureActions()]})]})}),(0,m.jsx)(nY,{model:this,size:this.props.size,virtual:this.props.virtual,dataSource:this.resource.getData(),columns:this.columns.value,pagination:this.pagination(),highlightedRowKey:e,defaultExpandAllRows:this.props.defaultExpandAllRows,expandedRowKeys:this.props.expandedRowKeys,heightMode:l,height:o})]}):(0,m.jsx)(_.Skeleton,{paragraph:{rows:3}})}constructor(...e){super(...e),this.rowSelectionProps=r.observable.deep({}),this._defaultCustomModelClasses={CollectionActionGroupModel:"CollectionActionGroupModel",RecordActionGroupModel:"RecordActionGroupModel",TableColumnModel:"TableColumnModel",TableAssociationFieldGroupModel:"TableAssociationFieldGroupModel",TableCustomColumnModel:"TableCustomColumnModel"},this.customModelClasses={},this.columns=r.observable.ref([]),this.EditableRow=e=>(0,m.jsx)("tr",{...e}),this.EditableCell=(0,r.observer)(e=>{let{className:t,title:l,editable:o,width:n,record:i,recordIndex:a,dataIndex:s,children:d,model:u,...c}=e,p=(0,h.useRef)(null);return o?(0,m.jsxs)("td",{ref:p,...c,className:(0,nd.default)(t,(0,e9.css)`
|
|
435
435
|
.edit-icon {
|
|
436
436
|
position: absolute;
|
|
437
437
|
display: none;
|
|
@@ -449,33 +449,33 @@ ctx.render(\`
|
|
|
449
449
|
&:hover .edit-icon {
|
|
450
450
|
display: inline-flex;
|
|
451
451
|
}
|
|
452
|
-
`),children:[(0,m.jsx)(E.EditOutlined,{className:"edit-icon",onClick:async e=>{e.preventDefault(),e.stopPropagation();try{await
|
|
452
|
+
`),children:[(0,m.jsx)(E.EditOutlined,{className:"edit-icon",onClick:async e=>{e.preventDefault(),e.stopPropagation();try{await o$.open({flowEngine:this.flowEngine,target:p.current,dataSourceKey:this.collection.dataSourceKey,collectionName:this.collection.name,fieldPath:s,filterByTk:this.collection.getFilterByTK(i),record:i,fieldProps:{...u.props,...u.subModels.field.props},sourceFieldModelUid:u.subModels.field.uid,onSuccess:e=>{var t;let l=this.collection.getField(s);i[s]=e[s],o2(this.resource.getData(),a,i);let o=u.subModels.field.createFork({},`${a}`),n=(0,r.createCurrentRecordMetaFactory)(o.context,()=>o.context.collection);o.context.defineProperty("record",{get:()=>i,cache:!1,meta:n}),o.setProps({...u.props,value:e[s]}),o.context.defineProperty("recordIndex",{get:()=>a}),(null==l||null==(t=l.targetCollection)?void 0:t.template)==="tree"?this.resource.refresh():u.rerender()}})}catch(e){}}}),(0,m.jsx)("div",{ref:p,className:(0,e9.css)`
|
|
453
453
|
overflow: hidden;
|
|
454
454
|
text-overflow: ellipsis;
|
|
455
455
|
white-space: nowrap;
|
|
456
456
|
width: calc(${n}px - 16px);
|
|
457
|
-
`,children:d})]}):(0,m.jsx)("td",{className:(0,
|
|
457
|
+
`,children:d})]}):(0,m.jsx)("td",{className:(0,nd.default)(t),...c,children:(0,m.jsxs)("div",{style:{width:n},children:[" ",d]})})}),this.components={header:{wrapper:nj},body:{cell:this.EditableCell}},this.renderCell=(e,t,l,o)=>{if(!this.props.dragSort&&!this.props.showIndex)return o;let n=this.resource.getPage(),i=this.resource.getPageSize()||20;n?l=l+(n-1)*i+1:l+=1,t.__index&&(l=o0(t.__index));let r=o4(t,this.collection.filterTargetKey),a=null==r?r:String(r),s=this.props.dragSort&&this.props.dragSortBy;return(0,m.jsxs)("div",{role:"button","aria-label":`table-index-${l}`,className:(0,nd.default)(e?"checked":null,nk,{[nF]:!0,[nP]:!this.props.showIndex}),children:[s&&(0,m.jsx)(nh,{id:a,style:{position:"absolute",left:-24,top:"50%",justifyContent:"center",transform:"translateY(-50%)"}}),(0,m.jsx)("div",{className:(0,nd.default)(e?"checked":null,nC),children:this.props.showIndex&&(0,m.jsx)(nS,{index:l})}),(0,m.jsx)("div",{className:(0,nd.default)("nb-origin-node",e?"checked":null,nA),children:o})]})}}}nL.scene=en.P.many;let nY=e=>{let{model:t,size:l,virtual:o,dataSource:n,columns:i,pagination:r,highlightedRowKey:s,defaultExpandAllRows:d,expandedRowKeys:u,heightMode:c,height:p}=e,f=(0,h.useRef)(null),g=o8({heightMode:c,tableAreaRef:f,deps:[p,c]}),v=(0,h.useMemo)(()=>({x:"max-content",y:g&&g>0&&(null==n?void 0:n.length)?g:void 0}),[g,null==n?void 0:n.length]);return(0,m.jsx)("div",{ref:f,style:{flex:1,minHeight:0},children:(0,m.jsx)(a.Lf,{spinning:!!t.resource.loading,children:(0,m.jsx)(nD,{model:t,size:l,virtual:o,dataSource:n,columns:i,pagination:r,highlightedRowKey:s,defaultExpandAllRows:d,expandedRowKeys:u,tableScroll:v})})})};nL.registerFlow({key:"resourceSettings2",steps:{}}),nL.registerFlow({key:"tableSettings",sort:500,title:(0,r.tExpr)("Table settings"),steps:{quickEdit:{title:(0,r.tExpr)("Enable quick edit"),uiMode:{type:"switch",key:"editable"},defaultParams:{editable:!1},handler(e,t){e.model.setProps("editable",t.editable)},async afterParamsSave(e,t,l){(null==t?void 0:t.editable)===(null==l?void 0:l.editable)||e.model.mapSubModels("columns",e=>{var l,o,n,i;let r=null==e||null==(l=e.getFlow)?void 0:l.call(e,"tableColumnSettings");if(!(null==r||null==(o=r.getStep)?void 0:o.call(r,"quickEdit")))return;let a=null==(n=e.getStepParams)?void 0:n.call(e,"tableColumnSettings","quickEdit");if(a&&Object.prototype.hasOwnProperty.call(a,"editable"))return;let s=!!(null==e||null==(i=e.collectionField)?void 0:i.readonly),d=!!(null==e?void 0:e.associationPathName);e.setProps("editable",!s&&!d&&!!t.editable)})}},showRowNumbers:{title:(0,r.tExpr)("Show row numbers"),uiMode:{type:"switch",key:"showIndex"},defaultParams:{showIndex:!0},handler(e,t){e.model.setProps("showIndex",t.showIndex)}},pageSize:{title:(0,r.tExpr)("Page size"),uiMode:{type:"select",key:"pageSize",props:{options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}]}},defaultParams:{pageSize:20},handler(e,t){e.model.resource.loading=!0,e.model.resource.setPage(1),e.model.resource.setPageSize(t.pageSize)}},dataScope:{use:"dataScope",title:(0,r.tExpr)("Data scope")},defaultSorting:{use:"sortingRule",title:(0,r.tExpr)("Default sorting")},treeTable:{title:(0,r.tExpr)("Enable tree table"),uiMode:{type:"switch",key:"treeTable"},hideInSettings(e){var t,l;if("tree"!==e.model.collection.template||(null==(l=e.view)||null==(t=l.inputArgs)?void 0:t.scene)==="select")return!0},defaultParams:{treeTable:!1},handler(e,t){e.model.setProps("treeTable",t.treeTable),e.model.resource.setRequestParameters({tree:t.treeTable})}},defaultExpandAllRows:{title:(0,r.tExpr)("Expand all rows by default"),uiMode:{type:"switch",key:"defaultExpandAllRows"},hideInSettings(e){var t,l;if("tree"!==e.model.collection.template||(null==(l=e.view)||null==(t=l.inputArgs)?void 0:t.scene)==="select")return!0},defaultParams:{defaultExpandAllRows:!1},handler(e,t){e.model.setProps("defaultExpandAllRows",t.defaultExpandAllRows)}},tableDensity:{title:(0,r.tExpr)("Table density"),uiMode:e=>{let t=e.t;return{type:"select",key:"size",props:{options:[{label:t("Large"),value:"large"},{label:t("Middle"),value:"middle"},{label:t("Small"),value:"small"}]}}},defaultParams:{size:"middle"},handler(e,t){e.model.setProps("size",t.size)}},dragSort:nx,dragSortBy:nM,refreshData:{title:(0,r.tExpr)("Refresh data"),async handler(e,t){await Promise.all(e.model.mapSubModels("columns",async e=>{if(!e.hidden)try{await e.dispatchEvent("beforeRender")}catch(t){e.__autoFlowError=t}}))}}}}),nL.define({label:(0,r.tExpr)("Table"),group:(0,r.tExpr)("Content"),searchable:!0,searchPlaceholder:(0,r.tExpr)("Search"),createModelOptions:()=>({use:"TableBlockModel",subModels:{columns:[{use:"TableActionsColumnModel"}]}}),sort:300});let nD=h.default.memo(e=>{var t;let{model:l,size:o,virtual:n,dataSource:i,columns:r,pagination:a,highlightedRowKey:s,defaultExpandAllRows:d,expandedRowKeys:u,tableScroll:c}=e,p=(0,h.useRef)(i);p.current=i;let[f,g]=h.default.useState(()=>l.resource.getSelectedRows().map(e=>o4(e,l.collection.filterTargetKey))),v=(0,h.useCallback)(e=>o4(e,l.collection.filterTargetKey),[l.collection.filterTargetKey]),y=(0,h.useMemo)(()=>({columnWidth:50,type:"checkbox",onChange:(e,t)=>{l.resource.setSelectedRows(t),g(t.map(e=>o4(e,l.collection.filterTargetKey)))},selectedRowKeys:f,renderCell:l.renderCell,...l.rowSelectionProps}),[l,f]),_=(0,h.useCallback)(async(e,t,o)=>{let n=l.props.globalSort,i=l.resource.getSort(),r=(null==i?void 0:i.length)?i:n,a=o9(o),s=o.order&&a?"ascend"===o.order?[a]:[`-${a}`]:r;o&&l.resource.setSort(s),l.resource.getPageSize()!==e.pageSize?l.resource.setPage(1):l.resource.setPage(e.current),l.resource.loading=!0,l.resource.setPageSize(e.pageSize),await l.resource.refresh(),d&&S(o5(l.resource.getData()))},[l,d]),b=(0,h.useCallback)(e=>{var t;return o4(e,null==(t=l.collection)?void 0:t.filterTargetKey)===s?nT:""},[s,null==(t=l.collection)?void 0:t.filterTargetKey]),x=(0,h.useMemo)(()=>a,[i]),M=(0,h.useCallback)((e,t)=>{let o=o4(e,l.collection.filterTargetKey);return{onClick:async n=>{s!==o?(nE(l,e),await l.dispatchEvent("rowClick",{record:e,rowIndex:t,event:n}),nR(l)):await l.dispatchEvent("rowClick",{record:e,rowIndex:t,event:n})},rowIndex:t,"data-row-key":null==o?o:String(o)}},[s,l]),[w,S]=(0,h.useState)(u||[]);(0,h.useEffect)(()=>{S(u)},[u]);let k=(0,h.useMemo)(()=>({expandedRowKeys:w,onExpand:(e,t)=>{S(l=>e?[...l||[],t.id]:null==l?void 0:l.filter(e=>e!==t.id))}}),[w]),F=ng(l,p,v),C=nv(l.props.dragSort),A=(0,h.useMemo)(()=>({...l.components,body:{...l.components.body,wrapper:F,row:C}}),[l.components,F,C]),P=(0,h.useMemo)(()=>{let e=(0,e9.css)`
|
|
458
458
|
.ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content {
|
|
459
459
|
display: inline;
|
|
460
460
|
}
|
|
461
461
|
.ant-table-column-sorters .ant-table-column-title {
|
|
462
462
|
overflow: visible;
|
|
463
463
|
}
|
|
464
|
-
`,t=l.props.dragSort&&l.props.dragSortBy?(0,
|
|
464
|
+
`,t=l.props.dragSort&&l.props.dragSortBy?(0,e9.css)`
|
|
465
465
|
.ant-table-thead > tr > th.ant-table-selection-column,
|
|
466
466
|
.ant-table-tbody > tr > td.ant-table-selection-column {
|
|
467
467
|
padding-left: 32px !important;
|
|
468
468
|
}
|
|
469
|
-
`:void 0,o=(null==c?void 0:c.y)?(0,
|
|
469
|
+
`:void 0,o=(null==c?void 0:c.y)?(0,e9.css)`
|
|
470
470
|
.ant-table-body {
|
|
471
471
|
min-height: ${c.y}px;
|
|
472
472
|
}
|
|
473
|
-
`:void 0;return(0,
|
|
473
|
+
`:void 0;return(0,nd.default)(e,t,o)},[l.props.dragSort,l.props.dragSortBy,null==c?void 0:c.y]);return(0,m.jsx)(nw,{summary:l.props.summary,components:A,tableLayout:"fixed",size:o,rowKey:v,rowSelection:y,virtual:n,scroll:c,dataSource:i,columns:r,pagination:x,onChange:_,rowClassName:b,onRow:M,className:P,defaultExpandAllRows:d,expandable:k,indentSize:15})});function nE(e,t){let l=(0,r.createCurrentRecordMetaFactory)(e.context,()=>e.collection,{title:(0,r.tExpr)("Clicked row record")});e.context.defineProperty("clickedRowRecord",{get:()=>t,meta:l})}function nR(e){e.context.defineProperty("clickedRowRecord",{})}nD.displayName="HighPerformanceTable",nL.registerEvents({rowClick:{title:(0,r.tExpr)("Row click"),name:"rowClick",uiSchema:{condition:{type:"object",title:(0,r.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":e=>{let t=(0,r.useFlowContext)();return(0,h.useEffect)(()=>(nE(t.model,null),()=>nR(t.model)),[t.model]),(0,m.jsx)(Y.H,{...e})}}},async handler(e,t){(0,Y.b)(e,t);let l=e.model,o=o4(e.inputArgs.record,l.collection.filterTargetKey);l.props.highlightedRowKey!==o?l.highlightRow(e.inputArgs.record):l.clearHighlight()}}});class nN extends nL{onInit(e){var t;super.onInit(e);let l=this.context.view.inputArgs.collectionField||{},o=["oho","o2m"].includes(null==l?void 0:l.interface),n=this.context.view.inputArgs.sourceId;if(o){let e=l.foreignKey,t=`${this.uid}-${l.name}`;e&&(null!=n?this.resource.addFilterGroup(t,{$or:[{[e]:{$is:null}},{[e]:{$eq:n}}]}):this.resource.addFilterGroup(t,{[e]:{$is:null}}))}Object.assign(this.rowSelectionProps,this.context.view.inputArgs.rowSelectionProps||{});let i=null==(t=this.rowSelectionProps)?void 0:t.defaultSelectedRows,r="function"==typeof i?i():i,a=(r&&(0,S.castArray)(r)||[]).map(e=>e[this.collection.filterTargetKey]).filter(Boolean);this.resource.addFilterGroup(`${this.uid}-select`,{[`${this.collection.filterTargetKey}.$ne`]:a})}constructor(...e){super(...e),this.rowSelectionProps=r.observable.deep({})}}nN.scene=en.P.select,nN.define({label:(0,r.tExpr)("Table"),children:!1,useModel:"TableSelectModel",createModelOptions:async e=>{let{dataSourceKey:t,collectionName:l}=e.view.inputArgs;return{use:"TableSelectModel",stepParams:{resourceSettings:{init:{dataSourceKey:t,collectionName:l}}}}}});class nB extends no{static defineChildren(e){return tH(e,{useModel:"TableColumnModel",fieldUseModel:"JSFieldModel",refreshTargets:["TableColumnModel"],associationProvider:e=>ns.defineChildren(e)})}}nB.define({label:(0,r.tExpr)("JS field"),searchable:!0,searchPlaceholder:(0,r.tExpr)("Search fields"),sort:110});class nO extends no{renderHiddenInConfig(){return(0,m.jsx)(_.Tooltip,{title:this.context.t("This field has been hidden and you cannot view it (this content is only visible when the UI Editor is activated)."),children:(0,m.jsx)(E.LockOutlined,{style:{opacity:"0.45"}})})}getInputArgs(){let e={};if(this.context.resource){let t=this.context.resource.getSourceId();t&&(e.sourceId=t)}if(this.context.collection&&this.context.record){let t=this.context.collection.getFilterByTK(this.context.record);t&&(e.filterByTk=t)}return e}getColumnProps(){let e=this,t=(0,r.observer)(()=>(0,m.jsx)(m.Fragment,{children:e.props.title})),l=(0,m.jsx)(r.Droppable,{model:this,children:(0,m.jsx)(r.FlowsFloatContextMenu,{model:this,containerStyle:{display:"block",padding:"11px 8px",margin:"-11px -8px"},showBorder:!1,extraToolbarItems:[{key:"drag-handler",component:r.DragHandler,sort:1}],children:(0,m.jsx)("div",{className:(0,e9.css)`
|
|
474
474
|
overflow: hidden;
|
|
475
475
|
text-overflow: ellipsis;
|
|
476
476
|
white-space: nowrap;
|
|
477
477
|
width: calc(${this.props.width}px - 16px);
|
|
478
|
-
`,children:(0,m.jsx)(t,{})})})});return this.hidden&&!this.context.flowSettingsEnabled?null:{...this.props,title:this.props.tooltip?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[l,(0,m.jsx)(_.Tooltip,{title:this.props.tooltip,children:(0,m.jsx)(E.QuestionCircleOutlined,{style:{cursor:"pointer"}})})]}):l,render:(e,t,l)=>{var o,n;let i=(null==(n=this.context.collection)||null==(o=n.getFilterByTK)?void 0:o.call(n,t))??(null==t?void 0:t.id)??l,a=this.createFork({},String(i)),s=(0,r.createRecordMetaFactory)(()=>a.context.collection,a.context.t("Current record"),e=>{var t,l,o,n;let i=null==(t=e.collection)?void 0:t.name,r=null==(l=e.collection)?void 0:l.dataSourceKey,a=null==(n=e.collection)||null==(o=n.getFilterByTK)?void 0:o.call(n,e.record);if(i&&null!=a)return{collection:i,dataSourceKey:r,filterByTk:a}});return a.context.defineProperty("record",{get:()=>t,cache:!1,resolveOnServer:(0,r.createRecordResolveOnServerWithLocal)(()=>a.context.collection,()=>t),meta:s}),a.context.defineProperty("recordIndex",{get:()=>l}),(0,m.jsx)(r.MemoFlowModelRenderer,{model:a},a.uid)}}}render(){if(!this._RenderComponent){let e=this,t=()=>{let t=e.context.ref;return h.default.useEffect(()=>{let l=e;(null==t?void 0:t.current)&&(l.__mountedOnce?e.rerender():l.__mountedOnce=!0)},[null==t?void 0:t.current]),(0,m.jsx)("div",{style:{width:this.props.width-8,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,m.jsx)("span",{ref:t,style:{maxWidth:"100%"}})})};t.displayName="JSColumnModelStableRenderer",this._RenderComponent=t}return this._RenderComponent}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.applyFlow("tableColumnSettings")}}function nO(e){return()=>{var t,l,o,n,i;let r=e.valueAccessor();return{index:null==(t=e.indexAccessor)?void 0:t.call(e),length:null==(l=e.lengthAccessor)?void 0:l.call(e),__is_new__:(null==(o=e.isNewAccessor)?void 0:o.call(e))??(null==r?void 0:r.__is_new__),__is_stored__:(null==(n=e.isStoredAccessor)?void 0:n.call(e))??(null==r?void 0:r.__is_stored__),value:r,parentItem:null==(i=e.parentItemAccessor)?void 0:i.call(e)}}}function nH(e){return{index:void 0,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:void 0}}function nq(e,t){let l=Array.isArray(t)?t.length>0&&t.every(t=>(null==e?void 0:e[t])!=null):!!t&&(null==e?void 0:e[t])!=null,o=!!(null==e?void 0:e.__is_new__)||!l,n=!!(null==e?void 0:e.__is_stored__)||!o&&l;return{record:e,hasPrimaryKey:l,isNew:o,isStored:n}}function n$(e,t,l){let o="string"==typeof(null==t?void 0:t.title)&&t.title||"string"==typeof(null==t?void 0:t.name)&&t.name||l,n="string"==typeof o&&o?e(o):"";return n?`${e("Current item")}(${n})`:e("Current item")}function nV(e){return{parentPropertiesAccessor:t=>{var l,o,n,i;return(null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.item)?void 0:l.value)??(null==(i=e.fallbackParentPropertiesAccessor)?void 0:i.call(e,t))},parentItemMetaAccessor:()=>{var t,l,o,n;return null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.getPropertyOptions)||null==(t=l.call(o,"item"))?void 0:t.meta},parentItemResolverAccessor:()=>{var t,l,o,n;return null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.getPropertyOptions)||null==(t=l.call(o,"item"))?void 0:t.resolveOnServer}}}function nz(e){return{parentPropertiesAccessor:()=>{var t,l;return null==e||null==(l=e())||null==(t=l.parentItem)?void 0:t.value},parentItemMetaAccessor:()=>{var t;return null==e||null==(t=e())?void 0:t.parentItemMeta},parentItemResolverAccessor:()=>{var t;return null==e||null==(t=e())?void 0:t.parentItemResolver}}}function nK(e,t){if(!e||"object"!=typeof e)return{item:t};let l=Object.create(e);return Object.defineProperty(l,"item",{value:t,configurable:!0,enumerable:!0,writable:!1}),l}async function nU(e){return e?"function"==typeof e?await e()||null:e:null}function nG(e){let{t,title:l,showIndex:o,showParentIndex:n,disableValueBranch:i,valueBranchDisabledReason:a,collectionAccessor:s,propertiesAccessor:d,parentCollectionAccessor:u,parentPropertiesAccessor:c,parentItemMetaAccessor:p}=e,m=(0,r.createAssociationAwareObjectMetaFactory)(s,l,d),h=u?(0,r.createAssociationAwareObjectMetaFactory)(u,l,e=>{var t,l;return(null==c?void 0:c(e))??(null==e||null==(l=e.item)||null==(t=l.parentItem)?void 0:t.value)}):null,f=async()=>{var e,r;let s=await m();if(!s)return null;let d=await nU(null==p?void 0:p()),u=h?await h():null,c=s.buildVariablesParams,f=d?d.buildVariablesParams:null==u?void 0:u.buildVariablesParams,g=()=>({type:"number",title:t("Index (starts from 0)")}),v=()=>({type:"number",title:t("Total count")}),y={};if(!1!==o&&(y.index=g(),y.length=v()),y.value={...s,title:t("Attributes"),...i?{disabled:!0,disabledReason:a||t("Attributes are unavailable before selecting a record")}:{}},d)y.parentItem={...d,title:(null==(e=d.title)?void 0:e.replace(t("Current item"),t("Parent item")))||t("Parent item")};else{let e={};!1!==n&&(e.index=g(),e.length=v()),e.value=u?{...u,title:t("Attributes")}:{type:"object",title:t("Attributes")},y.parentItem={type:"object",title:(null==d||null==(r=d.title)?void 0:r.replace(t("Current item"),t("Parent item")))||t("Parent item"),properties:e}}return{type:"object",title:l,properties:y,buildVariablesParams:async e=>{let t={};if(!i&&"function"==typeof c){let l=await c(e);l&&"object"==typeof l&&Object.keys(l).length&&(t.value=l)}if("function"==typeof f){var l;let o=await f(nK(e,null==e||null==(l=e.item)?void 0:l.parentItem));o&&"object"==typeof o&&Object.keys(o).length&&(t.parentItem=d?o:{value:o})}return t}}};return f.title=l,f}function nW(e){let t=(0,r.createAssociationSubpathResolver)(e.collectionAccessor,e.propertiesAccessor),l="function"==typeof e.parentCollectionAccessor?(0,r.createAssociationSubpathResolver)(e.parentCollectionAccessor,e.parentPropertiesAccessor):null;return o=>{let n=String(o||"");if(!n||"value"===n)return!1;if(n.startsWith("value."))return!e.disableValueBranch&&t(n.slice(6));if("parentItem"===n)return!1;if(n.startsWith("parentItem.")){var i;let t=n.slice(11),o=null==(i=e.parentItemResolverAccessor)?void 0:i.call(e);if("function"==typeof o)return o(t);if("value"===t)return!1;if(t.startsWith("value."))return!!l&&l(t.slice(6))}return!1}}function nJ(e){return{meta:nG(e.metaFactoryOptions),resolveOnServer:nW(e.resolverOptions)}}function nX(e){var t,l,o;let n=null==(t=e.parentAccessors)?void 0:t.parentPropertiesAccessor,i=!1===e.useParentItemMeta||null==(l=e.parentAccessors)?void 0:l.parentItemMetaAccessor,r=!1===e.useParentItemResolver||null==(o=e.parentAccessors)?void 0:o.parentItemResolverAccessor;return nQ({metaFactoryOptions:{t:e.t,title:e.title,showIndex:e.showIndex,showParentIndex:e.showParentIndex,disableValueBranch:e.disableValueBranch,valueBranchDisabledReason:e.valueBranchDisabledReason,collectionAccessor:e.collectionAccessor,propertiesAccessor:e.propertiesAccessor,parentCollectionAccessor:e.parentCollectionAccessor,parentPropertiesAccessor:n,parentItemMetaAccessor:i},resolverOptions:{collectionAccessor:e.collectionAccessor,disableValueBranch:e.disableValueBranch,propertiesAccessor:e.resolverPropertiesAccessor,parentCollectionAccessor:e.parentCollectionAccessor,parentPropertiesAccessor:n,parentItemResolverAccessor:r}})}function nQ(e){return{cache:!1,...nJ(e),serverOnlyWhenContextParams:!0}}function nZ(e){var t;let l=("function"==typeof(null==e?void 0:e.getFormValues)?e.getFormValues():void 0)??(null==e?void 0:e.formValues)??(null==e?void 0:e.record)??{},o=(null==e?void 0:e.item)??nH(l),n="function"==typeof(null==e?void 0:e.t)?e.t:e=>e,i=()=>{var t;return(null==e||null==(t=e.collectionField)?void 0:t.collection)??(null==e?void 0:e.collection)??null},r=()=>null==o?void 0:o.value,a=()=>{var e;return null==o||null==(e=o.parentItem)?void 0:e.value},s=nJ({metaFactoryOptions:{t:n,title:n("Current item"),collectionAccessor:i,propertiesAccessor:r,parentCollectionAccessor:i,parentPropertiesAccessor:a,showParentIndex:!1},resolverOptions:{collectionAccessor:i,propertiesAccessor:r,parentCollectionAccessor:i,parentPropertiesAccessor:a}}),{meta:d=s.meta,resolveOnServer:u=s.resolveOnServer}=(null==e||null==(t=e.getPropertyOptions)?void 0:t.call(e,"item"))||{};return{parentItem:o,parentItemMeta:d,parentItemResolver:u}}function n0(e,t,l){var o;e&&l&&e.context.defineProperty("flowSettingsEnabled",{get:()=>l.context.flowSettingsEnabled,cache:!1});let n=(null==t||null==(o=t.view)?void 0:o.inputArgs)||{},i=n.collectionField,r="function"==typeof(null==t?void 0:t.t)?t.t:e=>e,a=(null==i?void 0:i.targetCollection)??(null==i?void 0:i.collection)??null,s=nz(()=>n),d=()=>n.currentItemValue??{},u=nX({t:r,title:n$(r,i),disableValueBranch:!0,valueBranchDisabledReason:r("Attributes are unavailable before selecting a record"),collectionAccessor:()=>a,propertiesAccessor:d,resolverPropertiesAccessor:d,parentCollectionAccessor:()=>(null==i?void 0:i.collection)??null,parentAccessors:s,useParentItemMeta:!1}),c=nO({valueAccessor:d,parentItemAccessor:()=>n.parentItem,isNewAccessor:()=>!0,isStoredAccessor:()=>!1});e.context.defineProperty("item",{get:c,...u})}function n1(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{parentItem:l,parentItemMeta:o,parentItemResolver:n}=nZ(e),i=tG(e,e.inputArgs);return{...t.extraInputArgs||{},parentItem:l,parentItemMeta:o,parentItemResolver:n,currentItemValue:t.currentItemValue,openerUids:i}}function n2(e){let{options:t,fieldModel:l}=e,o=(0,r.useFlowViewContext)(),{data:n,loading:i}=(0,v.useRequest)(async()=>{let e=await o.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:o,skipSave:!o.flowSettingsEnabled});return n0(e,o,l),e},{refreshDeps:[o,t]});return((0,h.useEffect)(()=>{if(n)return l&&(l.selectBlockModel=n),()=>{if(null==n?void 0:n.uid){var e,t;null==o||null==(t=o.engine)||null==(e=t.removeModelWithSubModels)||e.call(t,n.uid)}(null==l?void 0:l.selectBlockModel)===n&&(l.selectBlockModel=void 0)}},[null==o?void 0:o.engine,n,l]),!i&&(null==n?void 0:n.uid))?(0,m.jsx)(r.FlowModelRenderer,{model:n,fallback:(0,m.jsx)(b,{style:{margin:16}})}):(0,m.jsx)(b,{style:{margin:16}})}function n5(e){let{model:t,toOne:l=!1}=e,o=(0,r.useFlowContext)(),{Header:n,Footer:i,type:a}=o.view;return t._closeView=o.view.close,(0,m.jsxs)("div",{children:[(0,m.jsx)(n,{title:"dialog"===a?(0,m.jsx)("div",{style:{padding:`${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px 0`,marginBottom:-o.themeToken.marginSM,backgroundColor:"var(--colorBgLayout)"},children:o.t("Select record")}):o.t("Select record")}),(0,m.jsx)(n2,{options:{parentId:o.view.inputArgs.parentId,subKey:"grid-block",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"},fieldModel:t}),!l&&(0,m.jsx)(i,{children:"dialog"===a?(0,m.jsx)("div",{style:{padding:`0 ${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px`},children:(0,m.jsx)(_.Button,{type:"primary",onClick:()=>{t.change(),o.view.close()},children:o.t("Submit")})}):(0,m.jsx)(_.Button,{type:"primary",onClick:()=>{t.change(),o.view.close()},children:o.t("Submit")})})]})}function n4(e){let{fieldNames:t,onClick:l,disabled:o}=e,n=(0,r.useFlowContext)(),i=["belongsTo","hasOne"].includes(n.collectionField.type);(0,h.useEffect)(()=>{n.model.selectedRows.value=e.value},[e.value]);let a=(e,t,l)=>e?l?{...e,label:e[t.label],value:e[t.value]}:e.map(e=>({...e,label:e[t.label],value:e[t.value]})):l?void 0:[];return(0,m.jsx)(_.Select,{...e,open:!1,onClick:e=>{o||l(e)},value:a(e.value,t,i),labelRender:e=>(0,m.jsx)(tJ,{option:e,fieldNames:t}),labelInValue:!0,mode:i?void 0:"multiple",options:e.value,allowClear:!0,onChange:(e,t)=>{n.model.selectedRows.value=t,n.model.change()},showSearch:!1,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,m.jsxs)(_.Tooltip,{title:(0,m.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,m.jsx)(_.Tag,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]})})}nB.define({label:(0,r.tExpr)("JS column"),createModelOptions:{stepParams:{tableColumnSettings:{title:{title:(0,r.tExpr)("JS column")}}}}}),nB.registerFlow({key:"jsSettings",title:(0,r.tExpr)("JavaScript settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":eR.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:()=>({version:"v2",code:"ctx.render('<span class=\"nb-js-column\">JS column</span>');"}),async handler(e,t){var l,o;let{code:n,version:i}=eN(e,t),a=!!(null==(l=e.inputArgs)?void 0:l.preview),s=(null==(o=e.model)?void 0:o.isFork)===!0;if(a&&!s){let t=e.model,l=Array.from((null==t?void 0:t.forks)||[]).filter(e=>{var t,l;return!!(null==e||null==(l=e.context)||null==(t=l.ref)?void 0:t.current)});if(l.length>0){let e=(await Promise.allSettled(l.map(e=>e.applyFlow("jsSettings",{preview:{code:n,version:i}})))).find(e=>"rejected"===e.status);if(e)throw e.reason;return}}e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>new r.ElementProxy(t)});let l=(0,r.createSafeNavigator)();await e.runjs(n,{window:(0,r.createSafeWindow)({navigator:l}),document:(0,r.createSafeDocument)(),navigator:l},{version:i})})}}}});class n8 extends es.o{get collectionField(){return this.context.collectionField}render(){return(0,m.jsx)(n4,{...this.props})}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.targetCollection}})}onMount(){this.onClick=e=>{this.dispatchEvent("openView",{event:e,onChange:this.props.onChange})}}set onClick(e){this.setProps({onClick:e})}change(){this.props.onChange(this.selectedRows.value)}constructor(...e){super(...e),this.selectedRows=r.observable.ref([])}}n8.registerFlow({key:"popupSettings",title:(0,r.tExpr)("Selector setting"),on:{eventName:"openView"},sort:300,steps:{openView:{title:(0,r.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,o,n,i,r;let{onChange:a}=e.inputArgs,s=["belongsTo","hasOne"].includes(e.collectionField.type),d={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},u=e.inputArgs.mode||t.mode||"drawer",c=e.inputArgs.size||t.size||"medium",p=null==(l=e.collectionField)?void 0:l.collection,h=(null==(o=e.item)?void 0:o.value)??e.record,f=h?null==p||null==(n=p.getFilterByTK)?void 0:n.call(p,h):void 0,g=null==(i=e.collectionField)?void 0:i.resourceName;e.viewer.open({type:u,width:d[u][c],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(r=e.collectionField)?void 0:r.target,...g&&null!=f?{associationName:g,sourceId:f}:{},collectionField:e.collectionField,...n1(e,{currentItemValue:e.inputArgs.currentItemValue??{}}),rowSelectionProps:{type:s?"radio":"checkbox",defaultSelectedRows:()=>e.model.props.value,renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{let o=e.model.selectBlockModel.findSubModel("items",e=>e);if(s){var n,i;e.model.selectedRows.value=null==l?void 0:l[0],a(e.model.selectedRows.value),null==(n=(i=e.model)._closeView)||n.call(i)}else{o.resource.setSelectedRows(l);let t=[...e.model.props.value||[],...l].filter((t,l,o)=>l===o.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]));e.model.selectedRows.value=t}}}},content:()=>(0,m.jsx)(n5,{model:e.model,toOne:s}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===u?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),n8.registerFlow({key:"recordPickerSettings",title:(0,r.tExpr)("RecordPicker settings"),sort:200,steps:{fieldNames:{use:"titleField"}}}),n8.define({label:(0,r.tExpr)("Popup select")}),r.EditableItemModel.bindModelToInterface("RecordPickerFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{order:20});let n3=e=>{let{model:t}=e;return h.default.useEffect(()=>{var e;let l=null==t||null==(e=t.flowEngine)?void 0:e.emitter;if(l)return l.emitAsync("model:mounted",{uid:null==t?void 0:t.uid,model:t}),()=>{var e;l.emitAsync("model:unmounted",{uid:null==t?void 0:t.uid,model:t}),null==t||null==(e=t.dispose)||e.call(t)}},[t]),null};function n6(e){let{targetModel:t}=e,l=t.context.t,o=t,n=o.context.collectionField.collection,i=n.dataSource,r=o.context.collectionField.name,a=(0,h.useMemo)(()=>{let e=`${l(i.displayName||i.key)} > `,t=n?`${l(n.title)||n.name||n.tableName} > `:"";return`${e}${t}${r}`},[]),{actionName:s}=o.forbidden||{},d=(0,h.useMemo)(()=>l('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:a,actionName:l((0,S.capitalize)(s))}).replaceAll(">",">"),[a,l]);return(0,m.jsx)(_.Tooltip,{title:d,children:(0,m.jsx)(E.LockOutlined,{style:{opacity:"0.3"}})})}let n9=(0,r.observer)(e=>{let{model:t,params:{fieldPath:l,index:o},defaultValue:n,disabled:i,...a}=e,s=(0,r.useFlowEngine)(),d=(0,h.useRef)(null),u=t.subModels.readPrettyField,c=null==u?void 0:u.createFork({},`${o}`);null==c||c.setProps({value:n});let p=e=>{let{model:t,onChange:l,...o}=e,n=(0,h.useMemo)(()=>(0,S.debounce)(t=>{e.onChange&&e.onChange(t),l&&l(t)},200),[e.onChange,l]);return(0,m.jsx)(r.FieldModelRenderer,{model:t,...o,onChange:n})},f=async e=>{if(!i){e.preventDefault(),e.stopPropagation();try{await s.context.viewer.open({type:"popover",target:e.target,placement:"rightTop",styles:{body:{minWidth:400}},content:e=>(0,m.jsx)(p,{model:t,value:n,...a})})}catch(e){console.log(e)}}},g=t.context.collectionField,v=(0,h.useMemo)(()=>{if(!["textarea","richText","json","markdown","vditor"].includes(g.interface))return(0,m.jsxs)(_.Space,{children:[(0,m.jsx)(r.FlowModelRenderer,{model:c,uid:null==c?void 0:c.uid})," ",(0,m.jsx)(E.EditOutlined,{className:"edit-icon"})]});{let e="json"===g.interface&&n?JSON.stringify(n,null,2):n??"";return(0,m.jsx)(_.Input,{value:e,disabled:i,style:{width:"100%"}})}},[g.interface,n,c]);return(0,m.jsx)("div",{ref:d,onClick:f,style:{display:"flex",alignItems:"center",whiteSpace:"nowrap",minHeight:25,width:"100%",maxHeight:300,overflowY:"auto",cursor:"pointer"},children:(0,m.jsx)("span",{style:{pointerEvents:"none",display:"block",width:"100%"},children:v})})}),n7=e=>["RadioGroupFieldModel","CheckboxGroupFieldModel"].includes(e)?"SelectFieldModel":e,ie=h.default.memo(r.FieldModelRenderer,(e,t)=>e.value===t.value&&e.model===t.model);function it(e){return!!Array.isArray(e)||!!e&&"object"==typeof e&&!("target"in e)}let il=h.default.memo(e=>{let{model:t,onChange:l,value:o,...n}=e,i=h.default.useRef(null==e?void 0:e.value);(0,h.useEffect)(()=>{i.current=o},[o]);let r=h.default.useCallback(e=>{i.current=e,it(e)&&(null==l||l(e))},[l]),a=h.default.useCallback(()=>{null==l||l(i.current)},[l]);return(0,m.jsx)("div",{onBlur:a,children:(0,m.jsx)(ie,{...n,value:o,model:t,onChange:r,onChangeComplete:()=>{null==l||l(i.current)}})})}),io=h.default.memo(e=>{let{value:t,record:l,rowIdx:o,id:n,parent:i,parentFieldIndex:a,rowFork:s,width:d}=e,u=null==l?void 0:l.__is_new__;return(0,m.jsxs)("div",{style:{width:d,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:t,className:(0,e6.css)`
|
|
478
|
+
`,children:(0,m.jsx)(t,{})})})});return this.hidden&&!this.context.flowSettingsEnabled?null:{...this.props,title:this.props.tooltip?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[l,(0,m.jsx)(_.Tooltip,{title:this.props.tooltip,children:(0,m.jsx)(E.QuestionCircleOutlined,{style:{cursor:"pointer"}})})]}):l,render:(e,t,l)=>{var o,n;let i=(null==(n=this.context.collection)||null==(o=n.getFilterByTK)?void 0:o.call(n,t))??(null==t?void 0:t.id)??l,a=this.createFork({},String(i)),s=(0,r.createRecordMetaFactory)(()=>a.context.collection,a.context.t("Current record"),e=>{var t,l,o,n;let i=null==(t=e.collection)?void 0:t.name,r=null==(l=e.collection)?void 0:l.dataSourceKey,a=null==(n=e.collection)||null==(o=n.getFilterByTK)?void 0:o.call(n,e.record);if(i&&null!=a)return{collection:i,dataSourceKey:r,filterByTk:a}});return a.context.defineProperty("record",{get:()=>t,cache:!1,resolveOnServer:(0,r.createRecordResolveOnServerWithLocal)(()=>a.context.collection,()=>t),meta:s}),a.context.defineProperty("recordIndex",{get:()=>l}),(0,m.jsx)(r.MemoFlowModelRenderer,{model:a},a.uid)}}}render(){if(!this._RenderComponent){let e=this,t=()=>{let t=e.context.ref;return h.default.useEffect(()=>{let l=e;(null==t?void 0:t.current)&&(l.__mountedOnce?e.rerender():l.__mountedOnce=!0)},[null==t?void 0:t.current]),(0,m.jsx)("div",{style:{width:this.props.width-8,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(0,m.jsx)("span",{ref:t,style:{maxWidth:"100%"}})})};t.displayName="JSColumnModelStableRenderer",this._RenderComponent=t}return this._RenderComponent}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.applyFlow("tableColumnSettings")}}function nH(e){return()=>{var t,l,o,n,i;let r=e.valueAccessor();return{index:null==(t=e.indexAccessor)?void 0:t.call(e),length:null==(l=e.lengthAccessor)?void 0:l.call(e),__is_new__:(null==(o=e.isNewAccessor)?void 0:o.call(e))??(null==r?void 0:r.__is_new__),__is_stored__:(null==(n=e.isStoredAccessor)?void 0:n.call(e))??(null==r?void 0:r.__is_stored__),value:r,parentItem:null==(i=e.parentItemAccessor)?void 0:i.call(e)}}}function nq(e){return{index:void 0,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:void 0}}function n$(e,t){let l=Array.isArray(t)?t.length>0&&t.every(t=>(null==e?void 0:e[t])!=null):!!t&&(null==e?void 0:e[t])!=null,o=!!(null==e?void 0:e.__is_new__)||!l,n=!!(null==e?void 0:e.__is_stored__)||!o&&l;return{record:e,hasPrimaryKey:l,isNew:o,isStored:n}}function nV(e,t,l){let o="string"==typeof(null==t?void 0:t.title)&&t.title||"string"==typeof(null==t?void 0:t.name)&&t.name||l,n="string"==typeof o&&o?e(o):"";return n?`${e("Current item")}(${n})`:e("Current item")}function nz(e){return{parentPropertiesAccessor:t=>{var l,o,n,i;return(null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.item)?void 0:l.value)??(null==(i=e.fallbackParentPropertiesAccessor)?void 0:i.call(e,t))},parentItemMetaAccessor:()=>{var t,l,o,n;return null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.getPropertyOptions)||null==(t=l.call(o,"item"))?void 0:t.meta},parentItemResolverAccessor:()=>{var t,l,o,n;return null==(n=e.parentContextAccessor)||null==(o=n.call(e))||null==(l=o.getPropertyOptions)||null==(t=l.call(o,"item"))?void 0:t.resolveOnServer}}}function nK(e){return{parentPropertiesAccessor:()=>{var t,l;return null==e||null==(l=e())||null==(t=l.parentItem)?void 0:t.value},parentItemMetaAccessor:()=>{var t;return null==e||null==(t=e())?void 0:t.parentItemMeta},parentItemResolverAccessor:()=>{var t;return null==e||null==(t=e())?void 0:t.parentItemResolver}}}function nU(e,t){if(!e||"object"!=typeof e)return{item:t};let l=Object.create(e);return Object.defineProperty(l,"item",{value:t,configurable:!0,enumerable:!0,writable:!1}),l}async function nG(e){return e?"function"==typeof e?await e()||null:e:null}function nW(e){let{t,title:l,showIndex:o,showParentIndex:n,disableValueBranch:i,valueBranchDisabledReason:a,collectionAccessor:s,propertiesAccessor:d,parentCollectionAccessor:u,parentPropertiesAccessor:c,parentItemMetaAccessor:p}=e,m=(0,r.createAssociationAwareObjectMetaFactory)(s,l,d),h=u?(0,r.createAssociationAwareObjectMetaFactory)(u,l,e=>{var t,l;return(null==c?void 0:c(e))??(null==e||null==(l=e.item)||null==(t=l.parentItem)?void 0:t.value)}):null,f=async()=>{var e,r;let s=await m();if(!s)return null;let d=await nG(null==p?void 0:p()),u=h?await h():null,c=s.buildVariablesParams,f=d?d.buildVariablesParams:null==u?void 0:u.buildVariablesParams,g=()=>({type:"number",title:t("Index (starts from 0)")}),v=()=>({type:"number",title:t("Total count")}),y={};if(!1!==o&&(y.index=g(),y.length=v()),y.value={...s,title:t("Attributes"),...i?{disabled:!0,disabledReason:a||t("Attributes are unavailable before selecting a record")}:{}},d)y.parentItem={...d,title:(null==(e=d.title)?void 0:e.replace(t("Current item"),t("Parent item")))||t("Parent item")};else{let e={};!1!==n&&(e.index=g(),e.length=v()),e.value=u?{...u,title:t("Attributes")}:{type:"object",title:t("Attributes")},y.parentItem={type:"object",title:(null==d||null==(r=d.title)?void 0:r.replace(t("Current item"),t("Parent item")))||t("Parent item"),properties:e}}return{type:"object",title:l,properties:y,buildVariablesParams:async e=>{let t={};if(!i&&"function"==typeof c){let l=await c(e);l&&"object"==typeof l&&Object.keys(l).length&&(t.value=l)}if("function"==typeof f){var l;let o=await f(nU(e,null==e||null==(l=e.item)?void 0:l.parentItem));o&&"object"==typeof o&&Object.keys(o).length&&(t.parentItem=d?o:{value:o})}return t}}};return f.title=l,f}function nJ(e){let t=(0,r.createAssociationSubpathResolver)(e.collectionAccessor,e.propertiesAccessor),l="function"==typeof e.parentCollectionAccessor?(0,r.createAssociationSubpathResolver)(e.parentCollectionAccessor,e.parentPropertiesAccessor):null;return o=>{let n=String(o||"");if(!n||"value"===n)return!1;if(n.startsWith("value."))return!e.disableValueBranch&&t(n.slice(6));if("parentItem"===n)return!1;if(n.startsWith("parentItem.")){var i;let t=n.slice(11),o=null==(i=e.parentItemResolverAccessor)?void 0:i.call(e);if("function"==typeof o)return o(t);if("value"===t)return!1;if(t.startsWith("value."))return!!l&&l(t.slice(6))}return!1}}function nX(e){return{meta:nW(e.metaFactoryOptions),resolveOnServer:nJ(e.resolverOptions)}}function nQ(e){var t,l,o;let n=null==(t=e.parentAccessors)?void 0:t.parentPropertiesAccessor,i=!1===e.useParentItemMeta||null==(l=e.parentAccessors)?void 0:l.parentItemMetaAccessor,r=!1===e.useParentItemResolver||null==(o=e.parentAccessors)?void 0:o.parentItemResolverAccessor;return nZ({metaFactoryOptions:{t:e.t,title:e.title,showIndex:e.showIndex,showParentIndex:e.showParentIndex,disableValueBranch:e.disableValueBranch,valueBranchDisabledReason:e.valueBranchDisabledReason,collectionAccessor:e.collectionAccessor,propertiesAccessor:e.propertiesAccessor,parentCollectionAccessor:e.parentCollectionAccessor,parentPropertiesAccessor:n,parentItemMetaAccessor:i},resolverOptions:{collectionAccessor:e.collectionAccessor,disableValueBranch:e.disableValueBranch,propertiesAccessor:e.resolverPropertiesAccessor,parentCollectionAccessor:e.parentCollectionAccessor,parentPropertiesAccessor:n,parentItemResolverAccessor:r}})}function nZ(e){return{cache:!1,...nX(e),serverOnlyWhenContextParams:!0}}function n0(e){var t;let l=("function"==typeof(null==e?void 0:e.getFormValues)?e.getFormValues():void 0)??(null==e?void 0:e.formValues)??(null==e?void 0:e.record)??{},o=(null==e?void 0:e.item)??nq(l),n="function"==typeof(null==e?void 0:e.t)?e.t:e=>e,i=()=>{var t;return(null==e||null==(t=e.collectionField)?void 0:t.collection)??(null==e?void 0:e.collection)??null},r=()=>null==o?void 0:o.value,a=()=>{var e;return null==o||null==(e=o.parentItem)?void 0:e.value},s=nX({metaFactoryOptions:{t:n,title:n("Current item"),collectionAccessor:i,propertiesAccessor:r,parentCollectionAccessor:i,parentPropertiesAccessor:a,showParentIndex:!1},resolverOptions:{collectionAccessor:i,propertiesAccessor:r,parentCollectionAccessor:i,parentPropertiesAccessor:a}}),{meta:d=s.meta,resolveOnServer:u=s.resolveOnServer}=(null==e||null==(t=e.getPropertyOptions)?void 0:t.call(e,"item"))||{};return{parentItem:o,parentItemMeta:d,parentItemResolver:u}}function n1(e,t,l){var o;e&&l&&e.context.defineProperty("flowSettingsEnabled",{get:()=>l.context.flowSettingsEnabled,cache:!1});let n=(null==t||null==(o=t.view)?void 0:o.inputArgs)||{},i=n.collectionField,r="function"==typeof(null==t?void 0:t.t)?t.t:e=>e,a=(null==i?void 0:i.targetCollection)??(null==i?void 0:i.collection)??null,s=nK(()=>n),d=()=>n.currentItemValue??{},u=nQ({t:r,title:nV(r,i),disableValueBranch:!0,valueBranchDisabledReason:r("Attributes are unavailable before selecting a record"),collectionAccessor:()=>a,propertiesAccessor:d,resolverPropertiesAccessor:d,parentCollectionAccessor:()=>(null==i?void 0:i.collection)??null,parentAccessors:s,useParentItemMeta:!1}),c=nH({valueAccessor:d,parentItemAccessor:()=>n.parentItem,isNewAccessor:()=>!0,isStoredAccessor:()=>!1});e.context.defineProperty("item",{get:c,...u})}function n2(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{parentItem:l,parentItemMeta:o,parentItemResolver:n}=n0(e),i=tW(e,e.inputArgs);return{...t.extraInputArgs||{},parentItem:l,parentItemMeta:o,parentItemResolver:n,currentItemValue:t.currentItemValue,openerUids:i}}function n5(e){let{options:t,fieldModel:l}=e,o=(0,r.useFlowViewContext)(),{data:n,loading:i}=(0,v.useRequest)(async()=>{let e=await o.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:o,skipSave:!o.flowSettingsEnabled});return n1(e,o,l),e},{refreshDeps:[o,t]});return((0,h.useEffect)(()=>{if(n)return l&&(l.selectBlockModel=n),()=>{if(null==n?void 0:n.uid){var e,t;null==o||null==(t=o.engine)||null==(e=t.removeModelWithSubModels)||e.call(t,n.uid)}(null==l?void 0:l.selectBlockModel)===n&&(l.selectBlockModel=void 0)}},[null==o?void 0:o.engine,n,l]),!i&&(null==n?void 0:n.uid))?(0,m.jsx)(r.FlowModelRenderer,{model:n,fallback:(0,m.jsx)(b,{style:{margin:16}})}):(0,m.jsx)(b,{style:{margin:16}})}function n4(e){let{model:t,toOne:l=!1}=e,o=(0,r.useFlowContext)(),{Header:n,Footer:i,type:a}=o.view;return t._closeView=o.view.close,(0,m.jsxs)("div",{children:[(0,m.jsx)(n,{title:"dialog"===a?(0,m.jsx)("div",{style:{padding:`${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px 0`,marginBottom:-o.themeToken.marginSM,backgroundColor:"var(--colorBgLayout)"},children:o.t("Select record")}):o.t("Select record")}),(0,m.jsx)(n5,{options:{parentId:o.view.inputArgs.parentId,subKey:"grid-block",async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel"},fieldModel:t}),!l&&(0,m.jsx)(i,{children:"dialog"===a?(0,m.jsx)("div",{style:{padding:`0 ${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px`},children:(0,m.jsx)(_.Button,{type:"primary",onClick:()=>{t.change(),o.view.close()},children:o.t("Submit")})}):(0,m.jsx)(_.Button,{type:"primary",onClick:()=>{t.change(),o.view.close()},children:o.t("Submit")})})]})}function n8(e){let{fieldNames:t,onClick:l,disabled:o}=e,n=(0,r.useFlowContext)(),i=["belongsTo","hasOne"].includes(n.collectionField.type);(0,h.useEffect)(()=>{n.model.selectedRows.value=e.value},[e.value]);let a=(e,t,l)=>e?l?{...e,label:e[t.label],value:e[t.value]}:e.map(e=>({...e,label:e[t.label],value:e[t.value]})):l?void 0:[];return(0,m.jsx)(_.Select,{...e,open:!1,onClick:e=>{o||l(e)},value:a(e.value,t,i),labelRender:e=>(0,m.jsx)(tX,{option:e,fieldNames:t}),labelInValue:!0,mode:i?void 0:"multiple",options:e.value,allowClear:!0,onChange:(e,t)=>{n.model.selectedRows.value=t,n.model.change()},showSearch:!1,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,m.jsxs)(_.Tooltip,{title:(0,m.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,m.jsx)(_.Tag,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]})})}nO.define({label:(0,r.tExpr)("JS column"),createModelOptions:{stepParams:{tableColumnSettings:{title:{title:(0,r.tExpr)("JS column")}}}}}),nO.registerFlow({key:"jsSettings",title:(0,r.tExpr)("JavaScript settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":eN.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:()=>({version:"v2",code:"ctx.render('<span class=\"nb-js-column\">JS column</span>');"}),async handler(e,t){var l,o;let{code:n,version:i}=eB(e,t),a=!!(null==(l=e.inputArgs)?void 0:l.preview),s=(null==(o=e.model)?void 0:o.isFork)===!0;if(a&&!s){let t=e.model,l=Array.from((null==t?void 0:t.forks)||[]).filter(e=>{var t,l;return!!(null==e||null==(l=e.context)||null==(t=l.ref)?void 0:t.current)});if(l.length>0){let e=(await Promise.allSettled(l.map(e=>e.applyFlow("jsSettings",{preview:{code:n,version:i}})))).find(e=>"rejected"===e.status);if(e)throw e.reason;return}}e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>new r.ElementProxy(t)});let l=(0,r.createSafeNavigator)();await e.runjs(n,{window:(0,r.createSafeWindow)({navigator:l}),document:(0,r.createSafeDocument)(),navigator:l},{version:i})})}}}});class n3 extends ed.o{get collectionField(){return this.context.collectionField}render(){return(0,m.jsx)(n8,{...this.props})}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.targetCollection}})}onMount(){this.onClick=e=>{this.dispatchEvent("openView",{event:e,onChange:this.props.onChange})}}set onClick(e){this.setProps({onClick:e})}change(){this.props.onChange(this.selectedRows.value)}constructor(...e){super(...e),this.selectedRows=r.observable.ref([])}}n3.registerFlow({key:"popupSettings",title:(0,r.tExpr)("Selector setting"),on:{eventName:"openView"},sort:300,steps:{openView:{title:(0,r.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,o,n,i,r;let{onChange:a}=e.inputArgs,s=["belongsTo","hasOne"].includes(e.collectionField.type),d={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},u=e.inputArgs.mode||t.mode||"drawer",c=e.inputArgs.size||t.size||"medium",p=null==(l=e.collectionField)?void 0:l.collection,h=(null==(o=e.item)?void 0:o.value)??e.record,f=h?null==p||null==(n=p.getFilterByTK)?void 0:n.call(p,h):void 0,g=null==(i=e.collectionField)?void 0:i.resourceName;e.viewer.open({type:u,width:d[u][c],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(r=e.collectionField)?void 0:r.target,...g&&null!=f?{associationName:g,sourceId:f}:{},collectionField:e.collectionField,...n2(e,{currentItemValue:e.inputArgs.currentItemValue??{}}),rowSelectionProps:{type:s?"radio":"checkbox",defaultSelectedRows:()=>e.model.props.value,renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{let o=e.model.selectBlockModel.findSubModel("items",e=>e);if(s){var n,i;e.model.selectedRows.value=null==l?void 0:l[0],a(e.model.selectedRows.value),null==(n=(i=e.model)._closeView)||n.call(i)}else{o.resource.setSelectedRows(l);let t=[...e.model.props.value||[],...l].filter((t,l,o)=>l===o.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]));e.model.selectedRows.value=t}}}},content:()=>(0,m.jsx)(n4,{model:e.model,toOne:s}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===u?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),n3.registerFlow({key:"recordPickerSettings",title:(0,r.tExpr)("RecordPicker settings"),sort:200,steps:{fieldNames:{use:"titleField"}}}),n3.define({label:(0,r.tExpr)("Popup select")}),r.EditableItemModel.bindModelToInterface("RecordPickerFieldModel",["m2m","m2o","o2o","o2m","oho","obo","updatedBy","createdBy","mbm"],{order:20});var n6=l(8709);let n9=e=>{let{model:t}=e;return h.default.useEffect(()=>{var e;let l=null==t||null==(e=t.flowEngine)?void 0:e.emitter;if(l)return l.emitAsync("model:mounted",{uid:null==t?void 0:t.uid,model:t}),()=>{var e;l.emitAsync("model:unmounted",{uid:null==t?void 0:t.uid,model:t}),null==t||null==(e=t.dispose)||e.call(t)}},[t]),null};function n7(e){let{targetModel:t}=e,l=t.context.t,o=t,n=o.context.collectionField.collection,i=n.dataSource,r=o.context.collectionField.name,a=(0,h.useMemo)(()=>{let e=`${l(i.displayName||i.key)} > `,t=n?`${l(n.title)||n.name||n.tableName} > `:"";return`${e}${t}${r}`},[]),{actionName:s}=o.forbidden||{},d=(0,h.useMemo)(()=>l('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:a,actionName:l((0,S.capitalize)(s))}).replaceAll(">",">"),[a,l]);return(0,m.jsx)(_.Tooltip,{title:d,children:(0,m.jsx)(E.LockOutlined,{style:{opacity:"0.3"}})})}let ie=(0,r.observer)(e=>{let{model:t,params:{fieldPath:l,index:o},defaultValue:n,disabled:i,...a}=e,s=(0,r.useFlowEngine)(),d=(0,h.useRef)(null),u=t.subModels.readPrettyField,c=null==u?void 0:u.createFork({},`${o}`);null==c||c.setProps({value:n});let p=e=>{let{model:t,onChange:l,...o}=e,n=(0,h.useMemo)(()=>(0,S.debounce)(t=>{e.onChange&&e.onChange(t),l&&l(t)},200),[e.onChange,l]);return(0,m.jsx)(r.FieldModelRenderer,{model:t,...o,onChange:n})},f=async e=>{if(!i){e.preventDefault(),e.stopPropagation();try{await s.context.viewer.open({type:"popover",target:e.target,placement:"rightTop",styles:{body:{minWidth:400}},content:e=>(0,m.jsx)(p,{model:t,value:n,...a})})}catch(e){console.log(e)}}},g=t.context.collectionField,v=(0,h.useMemo)(()=>{if(!["textarea","richText","json","markdown","vditor"].includes(g.interface))return(0,m.jsxs)(_.Space,{children:[(0,m.jsx)(r.FlowModelRenderer,{model:c,uid:null==c?void 0:c.uid})," ",(0,m.jsx)(E.EditOutlined,{className:"edit-icon"})]});{let e="json"===g.interface&&n?JSON.stringify(n,null,2):n??"";return(0,m.jsx)(_.Input,{value:e,disabled:i,style:{width:"100%"}})}},[g.interface,n,c]);return(0,m.jsx)("div",{ref:d,onClick:f,style:{display:"flex",alignItems:"center",whiteSpace:"nowrap",minHeight:25,width:"100%",maxHeight:300,overflowY:"auto",cursor:"pointer"},children:(0,m.jsx)("span",{style:{pointerEvents:"none",display:"block",width:"100%"},children:v})})}),it=e=>["RadioGroupFieldModel","CheckboxGroupFieldModel"].includes(e)?"SelectFieldModel":e,il=h.default.memo(r.FieldModelRenderer,(e,t)=>e.value===t.value&&e.model===t.model);function io(e){return!!Array.isArray(e)||!!e&&"object"==typeof e&&!("target"in e)}let ii=h.default.memo(e=>{let{model:t,onChange:l,value:o,...n}=e,i=h.default.useRef(null==e?void 0:e.value);(0,h.useEffect)(()=>{i.current=o},[o]);let r=h.default.useCallback(e=>{i.current=e,io(e)&&(null==l||l(e))},[l]),a=h.default.useCallback(()=>{null==l||l(i.current)},[l]);return(0,m.jsx)("div",{onBlur:a,children:(0,m.jsx)(il,{...n,value:o,model:t,onChange:r,onChangeComplete:()=>{null==l||l(i.current)}})})}),ir=h.default.memo(e=>{let{value:t,record:l,rowIdx:o,id:n,parent:i,parentFieldIndex:a,rowFork:s,width:d}=e,u=null==l?void 0:l.__is_new__;return(0,m.jsxs)("div",{style:{width:d,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:t,className:(0,e9.css)`
|
|
479
479
|
.ant-form-item-explain-error {
|
|
480
480
|
white-space: break-spaces;
|
|
481
481
|
}
|
|
@@ -496,13 +496,13 @@ ctx.render(\`
|
|
|
496
496
|
&:hover .edit-icon {
|
|
497
497
|
display: inline-flex;
|
|
498
498
|
}
|
|
499
|
-
`,children:[(0,m.jsx)(
|
|
499
|
+
`,children:[(0,m.jsx)(n9,{model:s}),i.mapSubModels("field",e=>{let d=e.context.fieldPath.split("."),c=d.pop(),p=e.createFork({},`${n}`);return(p.context.defineProperty("currentObject",{get:()=>l}),s?(p.context.defineProperty("item",{get:()=>s.context.item,cache:!1}),p.context.defineProperty("fieldIndex",{get:()=>s.context.fieldIndex,cache:!1})):p.context.defineProperty("item",{get:()=>{var e,t;let n=null==i||null==(t=i.parent)||null==(e=t.props)?void 0:e.value;return{index:o,length:Array.isArray(n)?n.length:void 0,__is_new__:u,__is_stored__:null==l?void 0:l.__is_stored__,value:l}},cache:!1}),i.props.readPretty)?(p.setProps({value:t}),(0,m.jsx)(h.default.Fragment,{children:p.render()},n)):i.props.aclViewDisabled&&!u?null:(0,h.createElement)(r.FormItem,{...i.props,key:n,name:tk([...d,o,c],a),style:{marginBottom:0},showLabel:!1,disabled:i.props.disabled||!u&&i.props.aclDisabled||u&&i.props.aclCreateDisabled},p.constructor.isLargeField?(0,m.jsx)(ie,{model:p,params:{fieldPath:[i.context.fieldPath,o,c],index:n},defaultValue:t,disabled:i.props.disabled||!u&&i.props.aclDisabled||u&&i.props.aclCreateDisabled}):(0,m.jsx)(ii,{model:p,id:[i.context.fieldPath,o]}))})]})},(e,t)=>e.value===t.value&&e.id===t.id&&e.memoKey===t.memoKey&&e.width===t.width&&e.rowIdx===t.rowIdx);class ia extends r.EditableItemModel{renderHiddenInConfig(){return(0,m.jsx)(n7,{targetModel:this})}static defineChildren(e){let t=e.model.collection||e.collection;return t.getFields().map(l=>{if(!l.interface)return null;let o=this.getDefaultBindingByField(e,l,{fallbackToTargetTitleField:!0});if(!o)return null;let n=it(o.modelName),i=e.fieldPath?`${e.fieldPath}.${l.name}`:l.name;return{key:i,label:l.title,refreshTargets:["SubTableColumnModel/TableJSFieldItemModel"],toggleable:e=>{var t;return(null==(t=e.getStepParams("fieldSettings","init"))?void 0:t.fieldPath)===i},useModel:this.name,createModelOptions:()=>({use:this.name,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)}get collection(){return this.parent.collection}onInit(e){super.onInit(e),this.context.defineProperty("resourceName",{get:()=>this.context.collectionField.collection.name,cache:!1}),this.context.defineProperty("actionName",{get:()=>"view"}),this.emitter.on("onSubModelAdded",e=>{this.collectionField&&e.setProps(this.collectionField.getComponentProps())})}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.dispatchEvent("beforeRender")}getColumnProps(){let e=(0,m.jsx)(r.Droppable,{model:this,children:(0,m.jsx)(r.FlowsFloatContextMenu,{model:this,containerStyle:{display:"block",padding:"11px 7px",margin:"-11px -7px"},showBorder:!1,settingsMenuLevel:2,extraToolbarItems:[{key:"drag-handler",component:r.DragHandler,sort:1}],enabled:this.context.flowSettingsEnabled,children:(0,m.jsxs)("div",{className:(0,e9.css)`
|
|
500
500
|
overflow: hidden;
|
|
501
501
|
text-overflow: ellipsis;
|
|
502
502
|
white-space: nowrap;
|
|
503
503
|
width: calc(${this.props.width}px - 16px);
|
|
504
504
|
opacity: ${this.hidden?"0.3":"1"};
|
|
505
|
-
`,children:[this.props.required&&(0,m.jsx)("span",{style:{color:"#ff4d4f",marginRight:4,userSelect:"none",fontFamily:"SimSun, sans-serif"},children:"*"}),this.props.title]})})}),t=this.render();return{...this.props,ellipsis:!0,title:this.props.tooltip?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[e,(0,m.jsx)(_.Tooltip,{title:this.props.tooltip,children:(0,m.jsx)(E.QuestionCircleOutlined,{style:{cursor:"pointer"}})})]}):e,onCell:(e,t)=>({record:e,recordIndex:t,key:t,width:this.props.width,editable:this.props.editable,dataIndex:this.props.dataIndex,title:this.props.title,model:this}),hidden:this.hidden&&!this.context.flowSettingsEnabled,render:e=>{let{record:l,rowIndex:o}=e||{};return(0,m.jsx)(r.FlowModelProvider,{model:this,children:(0,m.jsx)(
|
|
505
|
+
`,children:[this.props.required&&(0,m.jsx)("span",{style:{color:"#ff4d4f",marginRight:4,userSelect:"none",fontFamily:"SimSun, sans-serif"},children:"*"}),this.props.title]})})}),t=this.render();return{...this.props,ellipsis:!0,title:this.props.tooltip?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[e,(0,m.jsx)(_.Tooltip,{title:this.props.tooltip,children:(0,m.jsx)(E.QuestionCircleOutlined,{style:{cursor:"pointer"}})})]}):e,onCell:(e,t)=>({record:e,recordIndex:t,key:t,width:this.props.width,editable:this.props.editable,dataIndex:this.props.dataIndex,title:this.props.title,model:this}),hidden:this.hidden&&!this.context.flowSettingsEnabled,render:e=>{let{record:l,rowIndex:o}=e||{};return(0,m.jsx)(r.FlowModelProvider,{model:this,children:(0,m.jsx)(oZ.ErrorBoundary,{FallbackComponent:r.FlowErrorFallback,children:(()=>{let n=this.__autoFlowError;if(n)throw n;return this.hidden&&this.context.flowSettingsEnabled?this.forbidden?(0,m.jsx)(n7,{targetModel:this}):(0,m.jsx)(_.Tooltip,{title:this.context.t("The field is hidden and only visible when the UI Editor is active"),children:(0,m.jsxs)("div",{style:{opacity:"0.3"},children:[" ",t(e,l,(null==l?void 0:l.__index)||o)]})}):this.collectionField?t(e,l,(null==l?void 0:l.__index)||o):(0,m.jsx)(o7,{collection:this.parent.context.collectionField.targetCollection})})()})})}}}renderItem(){return e=>{var t,l,o,n,i,r,a,s;let{value:d,id:u,rowIdx:c,record:p,parentFieldIndex:h,parentItem:f}=e||{},g=h??(null==(l=this.parent)||null==(t=l.context)?void 0:t.fieldIndex)??(null==(o=this.context)?void 0:o.fieldIndex),v=Array.isArray(g)?g:[],y=v.length?v.join("|"):"root",_=(null==(i=this.parent)||null==(n=i.collection)?void 0:n.filterTargetKey)??(null==(s=this.parent)||null==(a=s.context)||null==(r=a.collection)?void 0:r.filterTargetKey),b=(0,n6.r5)(p,_)??`row:${String(c)}`,x=`row:${y}:${b}:${String(c)}`,M=(()=>{var e,t,l,o,n,i,r,a;let s=this.createFork({},x),d=(null==(e=this.parent)?void 0:e.fieldPath)??(null==(l=this.parent)||null==(t=l.context)?void 0:t.fieldPath)??(null==(n=this.parent)||null==(o=n.props)?void 0:o.name),u=(null==(a=this.parent)||null==(r=a.context)||null==(i=r.collectionField)?void 0:i.name)||String(d||"").split(".").filter(Boolean).pop(),m=Number(c);return u&&Number.isFinite(m)&&s.context.defineProperty("fieldIndex",{value:[...v,`${u}:${m}`]}),s.context.defineProperty("item",{get:()=>{var e,t,l;let o=f??(null==(e=this.context)?void 0:e.item),n=null==p?void 0:p.__is_new__,i=null==p?void 0:p.__is_stored__,r=null==(l=this.parent)||null==(t=l.props)?void 0:t.value,a=Array.isArray(r)?r.length:void 0;return{index:Number.isFinite(m)?m:void 0,length:a,__is_new__:n,__is_stored__:i,value:p,parentItem:o}},cache:!1}),s})();return(0,m.jsx)(ir,{value:d,record:p,rowIdx:c,id:u,parent:this,parentFieldIndex:v,parentItem:f,rowFork:M,memoKey:x,width:this.props.width})}}}function is(e){let{t}=(0,F.useTranslation)(),{onChange:l,columns:o,disabled:n,allowAddNew:i,components:r,allowSelectExistingRecord:a,onSelectExitRecordClick:s,allowDisassociation:d,pageSize:u,allowCreate:c,isConfigMode:p,parentFieldIndex:f,parentItem:g,resetPage:v,filterTargetKey:y="id",getCurrentValue:b}=e,[x,M]=(0,h.useState)(1),[w,S]=(0,h.useState)(u),k=b(),A=(0,h.useMemo)(()=>(0,n6.$4)(k),[k]),P=h.default.useCallback(e=>(0,n6.r5)(e,y),[y]);(0,h.useEffect)(()=>{S(u)},[u]),(0,h.useEffect)(()=>{v&&M(1)},[v]);let T=h.default.useCallback(e=>null==l?void 0:l((0,n6.$4)(e)),[l]),j=h.default.useCallback(()=>(0,n6.$4)(b()),[b]);(0,h.useEffect)(()=>{A!==k&&T(A)},[T,A,k]);let I=(0,h.useMemo)(()=>({style:{position:"absolute",right:"0px",bottom:"0px"},current:x,pageSize:w,total:A.length,onChange:(e,t)=>{M(e),S(t)},showSizeChanger:!0,showTotal:e=>t("Total {{count}} items",{count:e})}),[x,w,A.length]),L=()=>{if(!1===c)return;let e={__is_new__:!0};o.forEach(t=>{e[t.dataIndex]=void 0});let t=[...j(),e];M(Math.ceil(t.length/w)),T(t)},Y=e=>{let t=[...j()];t.splice(e,1);let l=Math.ceil(t.length/w);M(x>l?l:x),T(t)},D=(e,t,l)=>{T(j().map((o,n)=>n===e?{...o,[t]:l}:o))},R=o.map(e=>({...e,render:(t,l,o)=>{let n=(x-1)*w+o,i=P(l)??`row:${n}`,r=`${i}:${n}`,a=e.dataIndex??e.key??"cell";if(e.render)return e.render({record:l,rowIdx:n,id:`field-${String(a)}-${r}`,value:t,parentFieldIndex:f,parentItem:g,onChange:t=>{var l;D(n,e.dataIndex,(null==t||null==(l=t.target)?void 0:l.value)??t)},"aria-describedby":`field-${String(a)}-${r}`})}})).concat([!n&&{title:"",key:"delete",width:50,align:"center",fixed:"right",render:(e,t,l)=>{let o=(x-1)*w+l;if(d||t.__is_new__||t.__is_stored__)return(0,m.jsx)("div",{onMouseDown:e=>{var t;let l=document.activeElement;!l||e.currentTarget.contains(l)||null==(t=l.blur)||t.call(l)},onClick:()=>{setTimeout(()=>{Y(o)})},children:(0,m.jsx)(E.CloseOutlined,{style:{cursor:"pointer",color:"gray"}})})}}]).filter(Boolean),N=(0,h.useMemo)(()=>{if(!A.length)return[];let e=(x-1)*w;return A.slice(e,e+w)},[A,x,w]);return(0,m.jsx)(_.Form.Item,{children:(0,m.jsx)(_.Table,{dataSource:N,columns:R,rowKey:e=>P(e)??"",tableLayout:"fixed",scroll:{x:"max-content"},pagination:I,locale:{emptyText:(0,m.jsx)("span",{children:n?t("No data"):i&&a?t("Please add or select record"):i?t("Please add record"):a?t("Please select record"):t("No data")})},components:r??{},className:(0,e9.css)`
|
|
506
506
|
.ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content {
|
|
507
507
|
display: inline;
|
|
508
508
|
}
|
|
@@ -513,18 +513,18 @@ ctx.render(\`
|
|
|
513
513
|
margin-bottom: 4px;
|
|
514
514
|
}
|
|
515
515
|
}
|
|
516
|
-
`,footer:()=>(0,m.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",minHeight:"20px"},children:(0,m.jsxs)(_.Space,{children:[r&&(p||f)&&(p?(0,m.jsxs)(_.Button,{type:"link",onClick:P,disabled:i,children:[(0,m.jsx)(E.PlusOutlined,{}),t("Add new")]}):(0,m.jsx)(C,{message:t("No permission to add new"),forbidden:{actionName:"create"},children:(0,m.jsxs)(_.Button,{type:"link",disabled:!0,children:[(0,m.jsx)(E.PlusOutlined,{}),t("Add new")]})})),s&&(0,m.jsxs)(_.Button,{type:"link",onClick:()=>d(w,S),disabled:i,children:[(0,m.jsx)(E.ZoomInOutlined,{})," ",t("Select record")]})]})})})})}ii.renderMode=r.ModelRenderMode.RenderFunction,ii.define({label:(0,r.tExpr)("Table column"),icon:"TableColumn",createModelOptions:{use:"SubTableColumnModel"},sort:0}),ii.registerFlow({key:"subTableColumnSettings",sort:500,title:(0,r.tExpr)("Table column settings"),steps:{init:{async handler(e,t){var l;let o=e.model.context.collectionField;if(!o)return;e.model.setProps(o.getComponentProps()),e.model.setProps("title",o.title),e.model.setProps("dataIndex",o.name);let n=e.model.context.blockModel;null==n||null==(l=n.addAppends)||l.call(n,e.model.fieldPath)}},title:{title:(0,r.tExpr)("Column title"),uiSchema:e=>({title:{"x-component":"Input","x-decorator":"FormItem","x-component-props":{placeholder:(0,r.tExpr)("Column title")},"x-reactions":t=>{var l;let{model:o}=e,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.model.collectionField)?void 0:t.title}},handler(e,t){var l;let o={ns:"lm-flow-engine",compareWith:null==(l=e.model.collectionField)?void 0:l.title};e.model.setProps({title:e.t(t.title,o)||e.fieldPath.split(".").pop()})}},tooltip:{title:(0,r.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"}))}},width:{title:(0,r.tExpr)("Column width"),uiMode(e){let t=e.model.props.width;return{type:"select",key:"width",props:{options:[{label:50,value:50},{label:100,value:100},{label:150,value:150},{label:200,value:200},{label:250,value:250},{label:300,value:300},{label:350,value:350},{label:400,value:400},{label:450,value:450},{label:500,value:500}],dropdownRender:(l,o,n)=>(0,m.jsxs)(m.Fragment,{children:[l,(0,m.jsx)(_.Divider,{style:{margin:"4px 0"}}),(0,m.jsx)(ne,{setOpen:o,handleChange:n,t:e.t,defaultValue:[50,100,150,200,250,300,350,400,450,500].includes(t)?null:t})]})}}},defaultParams:{width:200},handler(e,t){e.model.setProps("width",t.width)}},aclCheck:{use:"aclCheck",async handler(e,t){var l,o,n,i,r,a;if(!e.collectionField)return;let s=e.blockModel.context.actionName,d=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:null==(o=e.collectionField)?void 0:o.collectionName,fields:[e.collectionField.name],actionName:"update"}),u=await e.aclCheck({dataSourceKey:null==(n=e.dataSource)?void 0:n.key,resourceName:null==(i=e.collectionField)?void 0:i.collectionName,fields:[e.collectionField.name],actionName:"create"});"update"===s&&(await e.aclCheck({dataSourceKey:null==(r=e.dataSource)?void 0:r.key,resourceName:null==(a=e.collectionField)?void 0:a.collectionName,fields:[e.collectionField.name],actionName:"view"})||e.model.setProps({aclViewDisabled:!0})),d||e.model.setProps({aclDisabled:!0}),u||e.model.setProps({aclCreateDisabled:!0})}},subModel:{title:(0,r.tExpr)("Preview field component"),uiSchema:e=>{if(!e.model.subModels.field.constructor.isLargeField)return null;let t=r.DisplayItemModel.getBindingsByField(e,e.model.collectionField);return 1===t.length?null:{use:{type:"string","x-component":"Select","x-decorator":"FormItem",enum:t.map(t=>{var l;return{label:(null==(l=e.engine.getModelClass(t.modelName).meta)?void 0:l.label)||t.modelName,value:t.modelName,defaultProps:t.defaultProps}})}}},defaultParams:e=>{let t=r.DisplayItemModel.getDefaultBindingByField(e,e.model.collectionField);return{use:null==t?void 0:t.modelName}},async handler(e,t){if(!e.model.subModels.field.constructor.isLargeField)return null;let l=e.model.collectionField,o=t.use,n=e.model.subModels.field.setSubModel("readPrettyField",{use:o,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:l.collection.name,fieldPath:e.model.fieldPath}}}});await n.dispatchEvent("beforeRender")}},initialValue:{title:(0,r.tExpr)("Default value"),uiSchema:{},defaultParams:()=>({}),handler(){}},required:{title:(0,r.tExpr)("Required"),use:"required"},validation:{title:(0,r.tExpr)("Validation"),use:"validation"},model:{use:"fieldComponent",title:(0,r.tExpr)("Field component")},pattern:{use:"pattern"},fixed:{title:(0,r.tExpr)("Fixed"),use:"fixed"}}}),ii.define({hide:!0,label:(0,r.tExpr)("Table column")});let ia=e=>{let{model:t}=e;return(0,m.jsx)(r.AddSubModelButton,{model:t,subModelKey:"columns",subModelBaseClasses:["SubTableColumnModel"],keepDropdownOpen:!0,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.SettingOutlined,{}),children:t.translate("Fields")})})},is=h.default.memo(e=>{let t=(0,r.useFlowEngine)(),l=e=>{let{active:l,over:o}=e;l.id&&(null==o?void 0:o.id)&&l.id!==o.id&&t.moveModel(l.id,o.id)};return(0,m.jsx)(r.DndProvider,{onDragEnd:l,children:(0,m.jsx)("thead",{...e})})});class id extends t${get collection(){return this.context.collection}getColumns(){let{enableIndexColumn:e}=this.props;return o0([e&&{key:"__index__",width:48,align:"center",fixed:"left",render:e=>e.rowIdx+1},...this.mapSubModels("columns",e=>e.getColumnProps()).filter(Boolean).concat({key:"_empty"}),this.context.flowSettingsEnabled&&{key:"addColumn",fixed:"right",width:100,title:(0,m.jsx)(ia,{model:this})}].filter(Boolean))}render(){let e=this.getColumns(),t={header:{wrapper:is}},l=!!this.context.flowSettingsEnabled;return(0,m.jsx)(ir,{...this.props,columns:e,components:t,isConfigMode:l,parentFieldIndex:this.context.fieldIndex,parentItem:this.context.item,filterTargetKey:this.collection.filterTargetKey,getCurrentValue:this.getCurrentValue})}onInit(e){super.onInit(e),this.context.defineProperty("resourceName",{get:()=>this.context.collectionField.target,cache:!1}),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.blockModel.emitter.on("onFieldReset",()=>{this.props.onChange([])}),this.onSelectExitRecordClick=(e,t)=>{this.setCurrentPage=e,this.currentPageSize=t,this.dispatchEvent("openView",{setCurrentPage:e,currentPageSize:t})}}set onSelectExitRecordClick(e){this.setProps({onSelectExitRecordClick:e})}change(){let e=Math.ceil(this.selectedRows.value.length/this.currentPageSize);this.setCurrentPage(e),this.props.onChange(this.selectedRows.value)}constructor(...e){super(...e),this.selectedRows=r.observable.ref([]),this.updateAssociation=!0,this.getCurrentValue=()=>{var e,t,l,o,n,i;let r=Array.isArray(this.props.value)?this.props.value:[],a=null==(t=this.parent)||null==(e=t.context)?void 0:e.fieldPathArray;if(!Array.isArray(a)||!a.length)return r;let s=null==(i=this.context.blockModel)||null==(n=i.context)||null==(o=n.form)||null==(l=o.getFieldValue)?void 0:l.call(o,a);return Array.isArray(s)?s:r}}}function iu(e,t){var l;return(null==(l=e())?void 0:l.item)??nH(t())}id.registerFlow({key:"subTableColumnSettings",title:(0,r.tExpr)("Sub-table settings"),sort:300,steps:{init:{async handler(e,t){await e.model.applySubModelsBeforeRenderFlows("columns")}},enableIndexColumn:{title:(0,r.tExpr)("Show row numbers"),uiMode:{type:"switch",key:"enableIndexColumn"},defaultParams:{enableIndexColumn:!0},handler(e,t){e.model.setProps({enableIndexColumn:t.enableIndexColumn})}},pageSize:{title:(0,r.tExpr)("Page size"),uiMode:{type:"select",key:"pageSize",props:{options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}]}},defaultParams:{pageSize:10},handler(e,t){e.model.setProps({pageSize:t.pageSize})}},allowAddNew:{title:(0,r.tExpr)("Enable add new action"),uiMode:{type:"switch",key:"allowAddNew"},defaultParams:{allowAddNew:!0},handler(e,t){e.model.setProps({allowAddNew:t.allowAddNew})}},allowDisassociation:{title:(0,r.tExpr)("Enable remove action"),uiMode:{type:"switch",key:"allowDisassociation"},defaultParams:{allowDisassociation:!0},handler(e,t){e.model.setProps({allowDisassociation:t.allowDisassociation})}},allowSelectExistingRecord:{title:(0,r.tExpr)("Enable select action"),uiMode:{type:"switch",key:"allowSelectExistingRecord"},defaultParams:{allowSelectExistingRecord:!0},handler(e,t){e.model.setProps({allowSelectExistingRecord:t.allowSelectExistingRecord})}}}}),id.registerFlow({key:"selectExitRecordSettings",title:(0,r.tExpr)("Selector setting"),sort:400,on:{eventName:"openView"},steps:{openView:{title:(0,r.tExpr)("Edit popup (Select record)"),hideInSettings(e){var t,l,o;return!(null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"subTableColumnSettings","allowSelectExistingRecord"))?void 0:t.allowSelectExistingRecord)},uiSchema:e=>({mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}}),defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l;let o={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},n=e.isMobileLayout?"embed":e.inputArgs.mode||t.mode||"drawer",i=e.inputArgs.size||t.size||"medium",r=e.model.getCurrentValue();e.model.selectedRows.value=r;let a=e.inputArgs.currentItemValue??r;e.viewer.open({type:n,width:o[n][i],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(l=e.collectionField)?void 0:l.target,collectionField:e.collectionField,...n1(e,{currentItemValue:a}),rowSelectionProps:{type:"checkbox",defaultSelectedRows:()=>e.model.getCurrentValue(),renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{let o=[...e.model.getCurrentValue(),...l.map(e=>({...e,__is_stored__:!0}))].filter((t,l,o)=>l===o.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]));e.model.selectedRows.value=o}}},content:()=>(0,m.jsx)(n5,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===n?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),id.registerFlow({key:"paginationChange",on:"paginationChange",steps:{pageRefresh:{handler(e,t){e.model.setProps({resetPage:(0,H.uid)()})}}}}),id.define({label:(0,r.tExpr)("Subtable (Inline editing)")}),tF.bindModelToInterface("SubTableFieldModel",["m2m","o2m","mbm"],{order:200,when:(e,t)=>!t.targetCollection||"file"!==t.targetCollection.template});class ic extends t${onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.parent.fieldPath}),"update"===this.parent.context.actionName&&this.context.defineProperty("actionName",{get:()=>"view"})}}let ip=e=>{let t=(0,r.useFlowModel)(),l=t.subModels.grid,o=t.context.fieldIndex,n=t.context.record,i=h.default.useMemo(()=>{if(null==o)return l;let e=l.createFork({},`${o}`);return e.context.defineProperty("fieldIndex",{get:()=>o}),e.context.defineProperty("record",{get:()=>n,cache:!1}),e.context.defineProperty("fieldKey",{get:()=>o}),e},[l,o,n]);return(0,h.useEffect)(()=>{e.disabled!==i.context.parentDisabled&&(i.mapSubModels("items",t=>{t.setProps({disabled:e.disabled})}),i.context.defineProperty("parentDisabled",{get:()=>e.disabled,cache:!1}))},[e.disabled,i]),(0,h.useEffect)(()=>{var e,l;let{value:o,...n}=(null==t||null==(l=t.context)||null==(e=l.getPropertyOptions)?void 0:e.call(l,"item"))||{};i.context.defineProperty("item",{get:()=>{var e;return null==t||null==(e=t.context)?void 0:e.item},...n,cache:!1})},[i,t]),(0,h.useEffect)(()=>{var e,l;let o=null==t||null==(l=t.context)||null==(e=l.getPropertyOptions)?void 0:e.call(l,"currentObject");o&&i.context.defineProperty("currentObject",{get:()=>{var e;return null==t||null==(e=t.context)?void 0:e.currentObject},cache:!1,resolveOnServer:null==o?void 0:o.resolveOnServer,serverOnlyWhenContextParams:null==o?void 0:o.serverOnlyWhenContextParams})},[i,t]),(0,m.jsx)(_.Card,{children:(0,m.jsx)(r.FlowModelRenderer,{model:i,showFlowSettings:!1})})};class im extends ic{onInit(e){var t,l;super.onInit(e),this.context.blockModel.emitter.on("formValuesChange",e=>{this.dispatchEvent("formValuesChange",e,{debounce:!0})});let o=nV({parentContextAccessor:()=>{var e;return null==(e=this.parent)?void 0:e.context},fallbackParentPropertiesAccessor:()=>this.context.formValues}),n=nO({valueAccessor:()=>this.context.form.getFieldValue(this.props.name),parentItemAccessor:()=>iu(()=>{var e;return null==(e=this.parent)?void 0:e.context},()=>this.context.formValues)});this.context.defineProperty("item",{get:n,...nX({t:this.context.t,title:n$(this.context.t,this.context.collectionField,this.props.name),showIndex:(0,tg.E4)(this.context.collectionField),showParentIndex:Array.isArray(this.context.fieldIndex)&&this.context.fieldIndex.length>0,collectionAccessor:()=>this.context.collection,propertiesAccessor:e=>{var t;return null==e||null==(t=e.item)?void 0:t.value},resolverPropertiesAccessor:()=>this.context.form.getFieldValue(this.props.name),parentCollectionAccessor:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.collection},parentAccessors:o})});let i=null==(t=(l=this.context).getPropertyOptions)?void 0:t.call(l,"currentObject");this.context.defineProperty("currentObject",{get:()=>this.context.form.getFieldValue(this.props.name),cache:!1,resolveOnServer:null==i?void 0:i.resolveOnServer,serverOnlyWhenContextParams:null==i?void 0:i.serverOnlyWhenContextParams})}onMount(){super.onMount(),setTimeout(()=>{this.applyFlow("eventSettings")},100)}render(){return(0,m.jsx)(ip,{...this.props})}constructor(...e){super(...e),this.updateAssociation=!0}}im.define({label:(0,r.tExpr)("Subform"),createModelOptions:{use:"SubFormFieldModel",subModels:{grid:{use:"FormGridModel"}}}}),im.registerFlow({key:"eventSettings",title:(0,r.tExpr)("Event settings"),on:"formValuesChange",steps:{linkageRules:{use:"subFormFieldLinkageRules",afterParamsSave(e){e.model.applyFlow("eventSettings")}}}});let ih=e=>{let{name:t,value:l,disabled:o,allowAddNew:n,allowSelectExistingRecord:i,onSelectExitRecordClick:a,allowDisassociation:s,allowCreate:d}=e,u=(0,r.useFlowModel)(),c=u.subModels.grid,p=!!u.context.flowSettingsEnabled,{t:f}=(0,F.useTranslation)(),g=u.context.fieldIndex||[],v=(0,h.useRef)({}),y=u.context.collectionField.name,b=()=>iu(()=>{var e;return null==u||null==(e=u.parent)?void 0:e.context},()=>{var e;return null==u||null==(e=u.context)?void 0:e.formValues}),x=nV({parentContextAccessor:()=>{var e;return null==u||null==(e=u.parent)?void 0:e.context},fallbackParentPropertiesAccessor:()=>{var e;return null==u||null==(e=u.context)?void 0:e.formValues}});return(0,h.useEffect)(()=>{c.context.defineProperty("parentDisabled",{get:()=>o,cache:!1})},[o,c.context]),(0,m.jsx)(_.Card,{bordered:!0,style:{position:"relative"},className:(0,e6.css)`
|
|
516
|
+
`,footer:()=>(0,m.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",minHeight:"20px"},children:(0,m.jsxs)(_.Space,{children:[i&&(c||p)&&(c?(0,m.jsxs)(_.Button,{type:"link",onClick:L,disabled:n,children:[(0,m.jsx)(E.PlusOutlined,{}),t("Add new")]}):(0,m.jsx)(C,{message:t("No permission to add new"),forbidden:{actionName:"create"},children:(0,m.jsxs)(_.Button,{type:"link",disabled:!0,children:[(0,m.jsx)(E.PlusOutlined,{}),t("Add new")]})})),a&&(0,m.jsxs)(_.Button,{type:"link",onClick:()=>s(M,w),disabled:n,children:[(0,m.jsx)(E.ZoomInOutlined,{})," ",t("Select record")]})]})})})})}ia.renderMode=r.ModelRenderMode.RenderFunction,ia.define({label:(0,r.tExpr)("Table column"),icon:"TableColumn",createModelOptions:{use:"SubTableColumnModel"},sort:0}),ia.registerFlow({key:"subTableColumnSettings",sort:500,title:(0,r.tExpr)("Table column settings"),steps:{init:{async handler(e,t){var l;let o=e.model.context.collectionField;if(!o)return;e.model.setProps(o.getComponentProps()),e.model.setProps("title",o.title),e.model.setProps("dataIndex",o.name);let n=e.model.context.blockModel;null==n||null==(l=n.addAppends)||l.call(n,e.model.fieldPath)}},title:{title:(0,r.tExpr)("Column title"),uiSchema:e=>({title:{"x-component":"Input","x-decorator":"FormItem","x-component-props":{placeholder:(0,r.tExpr)("Column title")},"x-reactions":t=>{var l;let{model:o}=e,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.model.collectionField)?void 0:t.title}},handler(e,t){var l;let o={ns:"lm-flow-engine",compareWith:null==(l=e.model.collectionField)?void 0:l.title};e.model.setProps({title:e.t(t.title,o)||e.fieldPath.split(".").pop()})}},tooltip:{title:(0,r.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"}))}},width:{title:(0,r.tExpr)("Column width"),uiMode(e){let t=e.model.props.width;return{type:"select",key:"width",props:{options:[{label:50,value:50},{label:100,value:100},{label:150,value:150},{label:200,value:200},{label:250,value:250},{label:300,value:300},{label:350,value:350},{label:400,value:400},{label:450,value:450},{label:500,value:500}],dropdownRender:(l,o,n)=>(0,m.jsxs)(m.Fragment,{children:[l,(0,m.jsx)(_.Divider,{style:{margin:"4px 0"}}),(0,m.jsx)(nt,{setOpen:o,handleChange:n,t:e.t,defaultValue:[50,100,150,200,250,300,350,400,450,500].includes(t)?null:t})]})}}},defaultParams:{width:200},handler(e,t){e.model.setProps("width",t.width)}},aclCheck:{use:"aclCheck",async handler(e,t){var l,o,n,i,r,a;if(!e.collectionField)return;let s=e.blockModel.context.actionName,d=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:null==(o=e.collectionField)?void 0:o.collectionName,fields:[e.collectionField.name],actionName:"update"}),u=await e.aclCheck({dataSourceKey:null==(n=e.dataSource)?void 0:n.key,resourceName:null==(i=e.collectionField)?void 0:i.collectionName,fields:[e.collectionField.name],actionName:"create"});"update"===s&&(await e.aclCheck({dataSourceKey:null==(r=e.dataSource)?void 0:r.key,resourceName:null==(a=e.collectionField)?void 0:a.collectionName,fields:[e.collectionField.name],actionName:"view"})||e.model.setProps({aclViewDisabled:!0})),d||e.model.setProps({aclDisabled:!0}),u||e.model.setProps({aclCreateDisabled:!0})}},subModel:{title:(0,r.tExpr)("Preview field component"),uiSchema:e=>{if(!e.model.subModels.field.constructor.isLargeField)return null;let t=r.DisplayItemModel.getBindingsByField(e,e.model.collectionField);return 1===t.length?null:{use:{type:"string","x-component":"Select","x-decorator":"FormItem",enum:t.map(t=>{var l;return{label:(null==(l=e.engine.getModelClass(t.modelName).meta)?void 0:l.label)||t.modelName,value:t.modelName,defaultProps:t.defaultProps}})}}},defaultParams:e=>{let t=r.DisplayItemModel.getDefaultBindingByField(e,e.model.collectionField);return{use:null==t?void 0:t.modelName}},async handler(e,t){if(!e.model.subModels.field.constructor.isLargeField)return null;let l=e.model.collectionField,o=t.use,n=e.model.subModels.field.setSubModel("readPrettyField",{use:o,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:l.collection.name,fieldPath:e.model.fieldPath}}}});await n.dispatchEvent("beforeRender")}},initialValue:{title:(0,r.tExpr)("Default value"),uiSchema:{},defaultParams:()=>({}),handler(){}},required:{title:(0,r.tExpr)("Required"),use:"required"},validation:{title:(0,r.tExpr)("Validation"),use:"validation"},model:{use:"fieldComponent",title:(0,r.tExpr)("Field component")},pattern:{use:"pattern"},fixed:{title:(0,r.tExpr)("Fixed"),use:"fixed"}}}),ia.define({hide:!0,label:(0,r.tExpr)("Table column")});let id=e=>{let{model:t}=e;return(0,m.jsx)(r.AddSubModelButton,{model:t,subModelKey:"columns",subModelBaseClasses:["SubTableColumnModel"],keepDropdownOpen:!0,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.SettingOutlined,{}),children:t.translate("Fields")})})},iu=h.default.memo(e=>{let t=(0,r.useFlowEngine)(),l=e=>{let{active:l,over:o}=e;l.id&&(null==o?void 0:o.id)&&l.id!==o.id&&t.moveModel(l.id,o.id)};return(0,m.jsx)(r.DndProvider,{onDragEnd:l,children:(0,m.jsx)("thead",{...e})})});class ic extends tV{get collection(){return this.context.collection}getColumns(){let{enableIndexColumn:e}=this.props;return o1([e&&{key:"__index__",width:48,align:"center",fixed:"left",render:e=>e.rowIdx+1},...this.mapSubModels("columns",e=>e.getColumnProps()).filter(Boolean).concat({key:"_empty"}),this.context.flowSettingsEnabled&&{key:"addColumn",fixed:"right",width:100,title:(0,m.jsx)(id,{model:this})}].filter(Boolean))}render(){let e=this.getColumns(),t={header:{wrapper:iu}},l=!!this.context.flowSettingsEnabled;return(0,m.jsx)(is,{...this.props,columns:e,components:t,isConfigMode:l,parentFieldIndex:this.context.fieldIndex,parentItem:this.context.item,filterTargetKey:this.collection.filterTargetKey,getCurrentValue:this.getCurrentValue})}onInit(e){super.onInit(e),this.context.defineProperty("resourceName",{get:()=>this.context.collectionField.target,cache:!1}),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.blockModel.emitter.on("onFieldReset",()=>{this.props.onChange([])}),this.onSelectExitRecordClick=(e,t)=>{this.setCurrentPage=e,this.currentPageSize=t,this.dispatchEvent("openView",{setCurrentPage:e,currentPageSize:t})}}set onSelectExitRecordClick(e){this.setProps({onSelectExitRecordClick:e})}change(){let e=Math.ceil(this.selectedRows.value.length/this.currentPageSize);this.setCurrentPage(e),this.props.onChange(this.selectedRows.value)}constructor(...e){super(...e),this.selectedRows=r.observable.ref([]),this.updateAssociation=!0,this.getCurrentValue=()=>{var e,t,l,o,n,i;let r=Array.isArray(this.props.value)?this.props.value:[],a=null==(t=this.parent)||null==(e=t.context)?void 0:e.fieldPathArray;if(!Array.isArray(a)||!a.length)return r;let s=null==(i=this.context.blockModel)||null==(n=i.context)||null==(o=n.form)||null==(l=o.getFieldValue)?void 0:l.call(o,a);return Array.isArray(s)?s:r}}}function ip(e,t){var l;return(null==(l=e())?void 0:l.item)??nq(t())}ic.registerFlow({key:"subTableColumnSettings",title:(0,r.tExpr)("Sub-table settings"),sort:300,steps:{init:{async handler(e,t){await e.model.applySubModelsBeforeRenderFlows("columns")}},enableIndexColumn:{title:(0,r.tExpr)("Show row numbers"),uiMode:{type:"switch",key:"enableIndexColumn"},defaultParams:{enableIndexColumn:!0},handler(e,t){e.model.setProps({enableIndexColumn:t.enableIndexColumn})}},pageSize:{title:(0,r.tExpr)("Page size"),uiMode:{type:"select",key:"pageSize",props:{options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}]}},defaultParams:{pageSize:10},handler(e,t){e.model.setProps({pageSize:t.pageSize})}},allowAddNew:{title:(0,r.tExpr)("Enable add new action"),uiMode:{type:"switch",key:"allowAddNew"},defaultParams:{allowAddNew:!0},handler(e,t){e.model.setProps({allowAddNew:t.allowAddNew})}},allowDisassociation:{title:(0,r.tExpr)("Enable remove action"),uiMode:{type:"switch",key:"allowDisassociation"},defaultParams:{allowDisassociation:!0},handler(e,t){e.model.setProps({allowDisassociation:t.allowDisassociation})}},allowSelectExistingRecord:{title:(0,r.tExpr)("Enable select action"),uiMode:{type:"switch",key:"allowSelectExistingRecord"},defaultParams:{allowSelectExistingRecord:!0},handler(e,t){e.model.setProps({allowSelectExistingRecord:t.allowSelectExistingRecord})}}}}),ic.registerFlow({key:"selectExitRecordSettings",title:(0,r.tExpr)("Selector setting"),sort:400,on:{eventName:"openView"},steps:{openView:{title:(0,r.tExpr)("Edit popup (Select record)"),hideInSettings(e){var t,l,o;return!(null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"subTableColumnSettings","allowSelectExistingRecord"))?void 0:t.allowSelectExistingRecord)},uiSchema:e=>({mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}}),defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l;let o={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},n=e.isMobileLayout?"embed":e.inputArgs.mode||t.mode||"drawer",i=e.inputArgs.size||t.size||"medium",r=e.model.getCurrentValue();e.model.selectedRows.value=r;let a=e.inputArgs.currentItemValue??r;e.viewer.open({type:n,width:o[n][i],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(l=e.collectionField)?void 0:l.target,collectionField:e.collectionField,...n2(e,{currentItemValue:a}),rowSelectionProps:{type:"checkbox",defaultSelectedRows:()=>e.model.getCurrentValue(),renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{let o=[...e.model.getCurrentValue(),...l.map(e=>({...e,__is_stored__:!0}))].filter((t,l,o)=>l===o.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey]));e.model.selectedRows.value=o}}},content:()=>(0,m.jsx)(n4,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===n?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),ic.registerFlow({key:"paginationChange",on:"paginationChange",steps:{pageRefresh:{handler(e,t){e.model.setProps({resetPage:(0,H.uid)()})}}}}),ic.define({label:(0,r.tExpr)("Subtable (Inline editing)")}),tC.bindModelToInterface("SubTableFieldModel",["m2m","o2m","mbm"],{order:200,when:(e,t)=>!t.targetCollection||"file"!==t.targetCollection.template});class im extends tV{onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.parent.fieldPath}),"update"===this.parent.context.actionName&&this.context.defineProperty("actionName",{get:()=>"view"})}}let ih=e=>{let t=(0,r.useFlowModel)(),l=t.subModels.grid,o=t.context.fieldIndex,n=t.context.record,i=h.default.useMemo(()=>{if(null==o)return l;let e=l.createFork({},`${o}`);return e.context.defineProperty("fieldIndex",{get:()=>o}),e.context.defineProperty("record",{get:()=>n,cache:!1}),e.context.defineProperty("fieldKey",{get:()=>o}),e},[l,o,n]);return(0,h.useEffect)(()=>{e.disabled!==i.context.parentDisabled&&(i.mapSubModels("items",t=>{t.setProps({disabled:e.disabled})}),i.context.defineProperty("parentDisabled",{get:()=>e.disabled,cache:!1}))},[e.disabled,i]),(0,h.useEffect)(()=>{var e,l;let{value:o,...n}=(null==t||null==(l=t.context)||null==(e=l.getPropertyOptions)?void 0:e.call(l,"item"))||{};i.context.defineProperty("item",{get:()=>{var e;return null==t||null==(e=t.context)?void 0:e.item},...n,cache:!1})},[i,t]),(0,h.useEffect)(()=>{var e,l;let o=null==t||null==(l=t.context)||null==(e=l.getPropertyOptions)?void 0:e.call(l,"currentObject");o&&i.context.defineProperty("currentObject",{get:()=>{var e;return null==t||null==(e=t.context)?void 0:e.currentObject},cache:!1,resolveOnServer:null==o?void 0:o.resolveOnServer,serverOnlyWhenContextParams:null==o?void 0:o.serverOnlyWhenContextParams})},[i,t]),(0,m.jsx)(_.Card,{children:(0,m.jsx)(r.FlowModelRenderer,{model:i,showFlowSettings:!1})})};class ig extends im{onInit(e){var t,l;super.onInit(e),this.context.blockModel.emitter.on("formValuesChange",e=>{this.dispatchEvent("formValuesChange",e,{debounce:!0})});let o=nz({parentContextAccessor:()=>{var e;return null==(e=this.parent)?void 0:e.context},fallbackParentPropertiesAccessor:()=>this.context.formValues}),n=nH({valueAccessor:()=>this.context.form.getFieldValue(this.props.name),parentItemAccessor:()=>ip(()=>{var e;return null==(e=this.parent)?void 0:e.context},()=>this.context.formValues)});this.context.defineProperty("item",{get:n,...nQ({t:this.context.t,title:nV(this.context.t,this.context.collectionField,this.props.name),showIndex:(0,tv.E4)(this.context.collectionField),showParentIndex:Array.isArray(this.context.fieldIndex)&&this.context.fieldIndex.length>0,collectionAccessor:()=>this.context.collection,propertiesAccessor:e=>{var t;return null==e||null==(t=e.item)?void 0:t.value},resolverPropertiesAccessor:()=>this.context.form.getFieldValue(this.props.name),parentCollectionAccessor:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.collection},parentAccessors:o})});let i=null==(t=(l=this.context).getPropertyOptions)?void 0:t.call(l,"currentObject");this.context.defineProperty("currentObject",{get:()=>this.context.form.getFieldValue(this.props.name),cache:!1,resolveOnServer:null==i?void 0:i.resolveOnServer,serverOnlyWhenContextParams:null==i?void 0:i.serverOnlyWhenContextParams})}onMount(){super.onMount(),setTimeout(()=>{this.applyFlow("eventSettings")},100)}render(){return(0,m.jsx)(ih,{...this.props})}constructor(...e){super(...e),this.updateAssociation=!0}}ig.define({label:(0,r.tExpr)("Subform"),createModelOptions:{use:"SubFormFieldModel",subModels:{grid:{use:"FormGridModel"}}}}),ig.registerFlow({key:"eventSettings",title:(0,r.tExpr)("Event settings"),on:"formValuesChange",steps:{linkageRules:{use:"subFormFieldLinkageRules",afterParamsSave(e){e.model.applyFlow("eventSettings")}}}});let iv=e=>{let{name:t,value:l,disabled:o,allowAddNew:n,allowSelectExistingRecord:i,onSelectExitRecordClick:a,allowDisassociation:s,allowCreate:d}=e,u=(0,r.useFlowModel)(),c=u.subModels.grid,p=!!u.context.flowSettingsEnabled,{t:f}=(0,F.useTranslation)(),g=u.context.fieldIndex||[],v=(0,h.useRef)({}),y=u.context.collectionField.name,b=()=>ip(()=>{var e;return null==u||null==(e=u.parent)?void 0:e.context},()=>{var e;return null==u||null==(e=u.context)?void 0:e.formValues}),x=nz({parentContextAccessor:()=>{var e;return null==u||null==(e=u.parent)?void 0:e.context},fallbackParentPropertiesAccessor:()=>{var e;return null==u||null==(e=u.context)?void 0:e.formValues}});return(0,h.useEffect)(()=>{c.context.defineProperty("parentDisabled",{get:()=>o,cache:!1})},[o,c.context]),(0,m.jsx)(_.Card,{bordered:!0,style:{position:"relative"},className:(0,e9.css)`
|
|
517
517
|
> .ant-card-body > .ant-divider:last-child {
|
|
518
518
|
display: none;
|
|
519
519
|
}
|
|
520
|
-
`,children:(0,m.jsx)(_.Form.List,{name:t,children:(e,M)=>{let{add:w,remove:S}=M,k=0===e.length?[{key:"0",name:0,isDefault:!0}]:e,F=k.length;return(0,m.jsxs)(m.Fragment,{children:[k.map((e,n)=>{var i,a,d,p;let{key:M,name:w,isDefault:k}=e,C=[...g,`${y}:${n}`];if(!v.current[M]){let e=c.createFork({disabled:o});e.gridContainerRef=h.default.createRef(),e.context.defineProperty("fieldKey",{get:()=>C}),v.current[M]=e}let A=v.current[M];A.context.defineProperty("fieldIndex",{get:()=>C,cache:!1});let P=nO({valueAccessor:()=>A.context.form.getFieldValue([t,w]),parentItemAccessor:b,indexAccessor:()=>n,lengthAccessor:()=>F});A.context.defineProperty("item",{get:P,...nX({t:A.context.t,title:n$(A.context.t,null==u||null==(i=u.context)?void 0:i.collectionField,null==u||null==(a=u.props)?void 0:a.name),showIndex:!0,showParentIndex:Array.isArray(g)&&g.length>0,collectionAccessor:()=>A.context.collection,propertiesAccessor:e=>{var t;return null==e||null==(t=e.item)?void 0:t.value},resolverPropertiesAccessor:()=>A.context.form.getFieldValue([t,w]),parentCollectionAccessor:()=>{var e,t;return null==u||null==(t=u.context)||null==(e=t.collectionField)?void 0:e.collection},parentAccessors:x})});let T=null==(d=(p=A.context).getPropertyOptions)?void 0:d.call(p,"currentObject");A.context.defineProperty("currentObject",{get:()=>A.context.form.getFieldValue([t,w])||{},cache:!1,resolveOnServer:null==T?void 0:T.resolveOnServer,serverOnlyWhenContextParams:null==T?void 0:T.serverOnlyWhenContextParams});let j=null==l?void 0:l[n],I=!o&&!k&&(s||(null==j?void 0:j.__is_new__)||(null==j?void 0:j.__is_stored__));return(0,m.jsxs)("div",{style:{marginBottom:12},children:[I&&(0,m.jsx)("div",{style:{textAlign:"right"},children:(0,m.jsx)(_.Tooltip,{title:f("Remove"),children:(0,m.jsx)(E.CloseOutlined,{style:{zIndex:1e3,color:"#a8a3a3"},onClick:()=>{S(n);let e=v.current[M];e.mapSubModels("items",t=>{var l,o,n;let i=`${e.context.fieldKey}:${t.uid}`;null==(o=t.subModels.field)||null==(l=o.getFork(`${e.context.fieldKey}`))||l.dispose(),null==(n=t.getFork(i))||n.dispose()}),e.dispose(),delete v.current[M]}})})}),(0,m.jsx)(r.FlowModelRenderer,{model:A,showFlowSettings:!1}),(0,m.jsx)(_.Divider,{})]},M)}),(0,m.jsxs)(_.Space,{children:[n&&(d||p)&&(d?(0,m.jsxs)(_.Button,{type:"link",onClick:()=>w({__is_new__:!0}),disabled:o,children:[(0,m.jsx)(E.PlusOutlined,{}),f("Add new")]}):(0,m.jsx)(C,{message:f("No permission to add new"),forbidden:{actionName:"create"},children:(0,m.jsxs)(_.Button,{type:"link",disabled:!0,children:[(0,m.jsx)(E.PlusOutlined,{}),f("Add new")]})})),i&&(0,m.jsxs)(_.Button,{type:"link",onClick:()=>a(),disabled:o,children:[(0,m.jsx)(E.ZoomInOutlined,{})," ",f("Select record")]})]})]})}})})};class ig extends ic{onInit(e){var t,l;super.onInit(e),this.context.blockModel.emitter.on("formValuesChange",e=>{this.dispatchEvent("formValuesChange",e,{debounce:!0})});let o=nV({parentContextAccessor:()=>{var e;return null==(e=this.parent)?void 0:e.context}});this.context.defineProperty("item",{get:()=>void 0,...nX({t:this.context.t,title:n$(this.context.t,this.context.collectionField,this.props.name),showParentIndex:Array.isArray(this.context.fieldIndex)&&this.context.fieldIndex.length>0,collectionAccessor:()=>this.context.collection,propertiesAccessor:e=>{var t;return null==e||null==(t=e.item)?void 0:t.value},resolverPropertiesAccessor:()=>{var e,t;return null==(t=this.context)||null==(e=t.item)?void 0:e.value},parentCollectionAccessor:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.collection},parentAccessors:o})});let n=null==(t=(l=this.context).getPropertyOptions)?void 0:t.call(l,"currentObject");this.context.defineProperty("currentObject",{value:null,resolveOnServer:null==n?void 0:n.resolveOnServer,serverOnlyWhenContextParams:null==n?void 0:n.serverOnlyWhenContextParams}),this.onSelectExitRecordClick=()=>{this.dispatchEvent("openView",{})}}set onSelectExitRecordClick(e){this.setProps({onSelectExitRecordClick:e})}change(){this.props.onChange(this.selectedRows.value)}onMount(){super.onMount(),setTimeout(()=>{this.applyFlow("eventSettings")},100)}render(){return(0,m.jsx)(ih,{...this.props})}constructor(...e){super(...e),this.selectedRows=r.observable.ref([]),this.updateAssociation=!0}}ig.define({label:(0,r.tExpr)("Subform"),createModelOptions:{use:"SubFormListFieldModel",subModels:{grid:{use:"FormGridModel"}}}}),ig.registerFlow({key:"subFormListSettings",title:(0,r.tExpr)("Sub-form settings"),sort:200,steps:{allowAddNew:{title:(0,r.tExpr)("Enable add new action"),uiMode:{type:"switch",key:"allowAddNew"},defaultParams:{allowAddNew:!0},handler(e,t){e.model.setProps({allowAddNew:t.allowAddNew})}},allowDisassociation:{title:(0,r.tExpr)("Enable remove action"),uiMode:{type:"switch",key:"allowDisassociation"},defaultParams:{allowDisassociation:!0},handler(e,t){e.model.setProps({allowDisassociation:t.allowDisassociation})}},allowSelectExistingRecord:{title:(0,r.tExpr)("Enable select action"),uiMode:{type:"switch",key:"allowSelectExistingRecord"},defaultParams:{allowSelectExistingRecord:!1},handler(e,t){e.model.setProps({allowSelectExistingRecord:t.allowSelectExistingRecord})}}}}),ig.registerFlow({key:"selectExitRecordSettings",title:(0,r.tExpr)("Selector setting"),on:{eventName:"openView"},sort:300,steps:{openView:{title:(0,r.tExpr)("Edit popup (Select record)"),hideInSettings(e){var t,l,o;return!(null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"subFormListSettings","allowSelectExistingRecord"))?void 0:t.allowSelectExistingRecord)},uiSchema:e=>({mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}}),defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l;let o={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},n=e.isMobileLayout?"embed":e.inputArgs.mode||t.mode||"drawer",i=e.inputArgs.size||t.size||"medium";e.model.selectedRows.value=e.model.props.value||[];let r=e.inputArgs.currentItemValue??e.model.props.value??[];e.viewer.open({type:n,width:o[n][i],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(l=e.collectionField)?void 0:l.target,collectionField:e.collectionField,...n1(e,{currentItemValue:r}),rowSelectionProps:{type:"checkbox",defaultSelectedRows:()=>e.model.props.value,renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{let o=[...e.model.props.value||[],...l.map(e=>({...e,__is_stored__:!0}))].filter((t,l,o)=>l===o.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey])||t.__is_new__);e.model.selectedRows.value=o}}},content:()=>(0,m.jsx)(n5,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===n?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),ig.registerFlow({key:"eventSettings",title:(0,r.tExpr)("Event settings"),on:"formValuesChange",steps:{linkageRules:{use:"subFormFieldLinkageRules",afterParamsSave(e){var t;e.model.applyFlow("eventSettings",{changedValues:{},allValues:null==(t=e.form)?void 0:t.getFieldsValue(!0)})}}}}),tF.bindModelToInterface("SubFormFieldModel",["m2o","o2o","oho","obo","updatedBy","createdBy"],{when:(e,t)=>!t.targetCollection||"file"!==t.targetCollection.template,order:100}),tF.bindModelToInterface("SubFormListFieldModel",["m2m","o2m","mbm"],{order:100,when:(e,t)=>!t.targetCollection||"file"!==t.targetCollection.template});var iv=l(8533),iy=l(7326);function i_(e){let t=[];function l(e){if(null==e?void 0:e.parent){let{parent:t}=e;l(t)}let{parent:o,...n}=e;t.push(n)}return e&&l(e),t}let ib=e=>!!e&&"object"==typeof e&&"associationPathName"in e;class ix extends es.o{get collectionField(){return this.context.collectionField}onClick(e,t){var l,o,n,i,r,a,s,d;let u=ib(this.parent)?this.parent.associationPathName:void 0;if(this.collectionField.isAssociationField()){let l=this.collectionField.targetCollection,o=this.context.blockModel.collection,s=this.collectionField.sourceKey||o.filterTargetKey,d=t[null==(n=this.collectionField)?void 0:n.targetKey];"m2m"===this.collectionField.interface&&(d=t[l.filterTargetKey]);let c=u?(0,S.get)((null==(a=this.context.blockModel)||null==(r=a.form)||null==(i=r.getFieldsValue)?void 0:i.call(r,!0))||this.context.record,u):this.context.record;this.dispatchEvent("click",{event:e,filterByTk:d,collectionName:this.collectionField.collection.name,associationName:`${o.name}.${this.collectionField.name}`,sourceId:c[s]},{debounce:!0});return}if(u){let l=this.context.collection,o=null==l||null==(s=l.getFieldByPath)?void 0:s.call(l,u);if(null==o||null==(d=o.isAssociationField)?void 0:d.call(o)){let n=o.targetCollection,i=o.collection,r=o.sourceKey||(null==i?void 0:i.filterTargetKey),a=(null==o?void 0:o.targetKey)||(null==n?void 0:n.filterTargetKey),s=t??(0,S.get)(this.context.record,u),d=u.includes(".")?l.getFieldByPath(u.split(".")[0]):null,c=null==d?void 0:d.foreignKey,p=u.includes(".")?(0,S.get)(this.context.record,u.split(".")[0]):this.context.record,m=null==s?void 0:s[a];"m2m"===o.interface&&(m=null==s?void 0:s[n.filterTargetKey]),this.dispatchEvent("click",{event:e,filterByTk:m,collectionName:this.collectionField.collection.name,associationName:`${o.collection.name}.${this.collectionField.name}`,sourceId:p[r]||this.context.record[c]},{debounce:!0});return}}this.dispatchEvent("click",{event:e,sourceId:null==(l=this.context.resource)?void 0:l.getSourceId(),filterByTk:this.context.collection.getFilterByTK((null==(o=this.context.item)?void 0:o.value)||this.context.record)},{debounce:!0})}renderComponent(e,t){return e}renderInDisplayStyle(e,t,l,o){let{clickToOpen:n=!1,displayStyle:i,titleField:r,overflowMode:a,disabled:s,...d}=this.props;if(e&&"object"==typeof e&&d.target)return;let u=this.renderComponent(e,o),c=t?e?u:"N/A":u,p=e=>{n&&this.onClick(e,t)},h={cursor:n?"pointer":"default",alignItems:"center",gap:4,display:l&&"inline-block"};return"tag"===i?e&&(0,m.jsx)(_.Tag,{...d,style:h,onClick:p,className:d.className,children:c}):n?(0,m.jsx)("a",{...d,style:h,onClick:p,className:d.className,children:c}):(0,m.jsx)("span",{...d,style:h,className:d.className,children:c})}render(){let{value:e,displayStyle:t,fieldNames:l,overflowMode:o}=this.props,n=this.props.titleField||(null==l?void 0:l.label),i="ellipsis"===o;if(!n)return(0,m.jsx)(oW.R_,{ellipsis:i,popoverContent:this.renderInDisplayStyle(e,null,null,!0),children:this.renderInDisplayStyle(e)});if("tag"===t){let t=(0,S.castArray)(e).map((e,t)=>(0,m.jsx)(h.default.Fragment,{children:this.renderInDisplayStyle(null==e?void 0:e[n],e)},t));return(0,m.jsx)(oW.R_,{ellipsis:i,children:t})}{let t=(0,S.castArray)(e).flatMap((t,l)=>{var o;if((null==(o=this.collectionField.targetCollection)?void 0:o.template)==="tree"){let o=i_(t).length?i_(t).map(e=>null==e?void 0:e[n]).join(" / "):null,i=this.renderInDisplayStyle(o,t,Array.isArray(e));return 0===l?[i]:[(0,m.jsx)("span",{children:", "},`sep-${l}`),i]}{let o=this.renderInDisplayStyle(null==t?void 0:t[n],t,Array.isArray(e));return 0===l?[o]:[(0,m.jsx)("span",{children:", "},`sep-${l}`),o]}});return(0,m.jsx)(oW.R_,{ellipsis:i,children:(0,m.jsx)("span",{style:{flexWrap:"nowrap"},children:t})})}}}function iM(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function iw(e){return Array.from(new Set((Array.isArray(e)?e:[e]).filter(e=>!!e&&"string"==typeof e)))}function iS(e,t){if(!iM(e))return null;for(let l of iw(t)){let t=null==e?void 0:e[l];if(null!=t&&""!==t)return String(t)}return null}function ik(e){if(null==e)return null;if("object"==typeof e)try{return JSON.stringify(e)}catch{return null}return String(e)}function iF(e){let{value:t,valueKey:l,labelKey:o,labelKeys:n,statusMap:i}=e,r=iw((null==n?void 0:n.length)?n:o),a=iM(t)?t:null,s=null==a?void 0:a[l],d=ik(s);for(let e of Array.from(i.keys()))d&&e===d||i.delete(e);let u=iS(a,r);if(!a||null==s||null!=u||!d)return null;let c=i.get(d);return"pending"===c||"done"===c?null:(i.set(d,"pending"),{item:a,tk:s,tkKey:d})}function iC(e,t){t&&e.set(t,"done")}function iA(e,t){let l=iw(t);return i_(e).map(e=>iS(e,l)).filter(e=>null!=e&&""!==e).map(e=>String(e))}function iP(e,t,l){if(!Array.isArray(e)||null==t)return[];let o=(e,n)=>{if(!Array.isArray(e)||!e.length)return[];for(let i of e){if(!i||"object"!=typeof i)continue;let e=[...n,i];if(i[l]===t)return e;let r=o(i.children,e);if(r.length)return r}return[]};return o(e,[])}function iT(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"id",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"parentId",o=new Map,n=[];return e.forEach(e=>{o.set(e[t],{...e,children:[]})}),o.forEach(e=>{null!=e[l]&&o.has(e[l])?o.get(e[l]).children.push(e):n.push(e)}),n}function ij(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.reduce((e,t)=>({...t,parent:e?(0,S.omit)(e,["children"]):null}),null)}ix.registerFlow({key:"displayFieldSettings",title:(0,r.tExpr)("Display Field settings"),sort:200,steps:{displayStyle:{title:(0,r.tExpr)("Display mode"),uiMode:e=>{let t=e.t;return{type:"select",key:"displayStyle",props:{options:[{label:t("Tag"),value:"tag"},{label:t("Text"),value:"text"}]}}},hideInSettings:async e=>{var t;return!!["select","multipleSelect","radioGroup","checkboxGroup"].includes(null==(t=e.collectionField)?void 0:t.interface)},defaultParams:{displayStyle:"text"},handler(e,t){e.model.setProps({displayStyle:t.displayStyle})}},overflowMode:{use:"overflowMode"},clickToOpen:{title:(0,r.tExpr)("Enable click-to-open"),uiMode:{type:"switch",key:"clickToOpen"},defaultParams:e=>e.disableFieldClickToOpen?{clickToOpen:!1}:{clickToOpen:e.collectionField.isAssociationField()},hideInSettings:e=>e.disableFieldClickToOpen,handler(e,t){e.model.setProps({clickToOpen:t.clickToOpen,...e.collectionField.getComponentProps()})}}}}),ix.registerFlow(ek.g);let iI=e=>{let{id:t,item:l,index:o,onChange:n,onRemove:i,options:r,fieldNames:a,disabled:s,underDefaultValueConfig:d,...u}=e,{attributes:c,listeners:p,setNodeRef:h,transform:f,transition:g}=(0,nu.useSortable)({id:t}),v={transform:iy.CSS.Transform.toString(f),transition:g,marginBottom:8,maxWidth:"100%"},y=iT(i_(l)),b=`mul-cascade-scroll-${u.name||t}`,x=()=>{let e=document.querySelector(`.${b}`);if(!e)return;let t=e.querySelector("ul");!t||t._hasScrollBound||(t.addEventListener("scroll",e=>{var t;null==(t=u.onPopupScroll)||t.call(u,e)}),t._hasScrollBound=!0)};return(0,m.jsx)("div",{ref:h,style:v,...c,children:(0,m.jsxs)(_.Space,{className:(0,e6.css)`
|
|
520
|
+
`,children:(0,m.jsx)(_.Form.List,{name:t,children:(e,M)=>{let{add:w,remove:S}=M,k=0===e.length?[{key:"0",name:0,isDefault:!0}]:e,F=k.length;return(0,m.jsxs)(m.Fragment,{children:[k.map((e,n)=>{var i,a,d,p;let{key:M,name:w,isDefault:k}=e,C=[...g,`${y}:${n}`];if(!v.current[M]){let e=c.createFork({disabled:o});e.gridContainerRef=h.default.createRef(),e.context.defineProperty("fieldKey",{get:()=>C}),v.current[M]=e}let A=v.current[M];A.context.defineProperty("fieldIndex",{get:()=>C,cache:!1});let P=nH({valueAccessor:()=>A.context.form.getFieldValue([t,w]),parentItemAccessor:b,indexAccessor:()=>n,lengthAccessor:()=>F});A.context.defineProperty("item",{get:P,...nQ({t:A.context.t,title:nV(A.context.t,null==u||null==(i=u.context)?void 0:i.collectionField,null==u||null==(a=u.props)?void 0:a.name),showIndex:!0,showParentIndex:Array.isArray(g)&&g.length>0,collectionAccessor:()=>A.context.collection,propertiesAccessor:e=>{var t;return null==e||null==(t=e.item)?void 0:t.value},resolverPropertiesAccessor:()=>A.context.form.getFieldValue([t,w]),parentCollectionAccessor:()=>{var e,t;return null==u||null==(t=u.context)||null==(e=t.collectionField)?void 0:e.collection},parentAccessors:x})});let T=null==(d=(p=A.context).getPropertyOptions)?void 0:d.call(p,"currentObject");A.context.defineProperty("currentObject",{get:()=>A.context.form.getFieldValue([t,w])||{},cache:!1,resolveOnServer:null==T?void 0:T.resolveOnServer,serverOnlyWhenContextParams:null==T?void 0:T.serverOnlyWhenContextParams});let j=null==l?void 0:l[n],I=!o&&!k&&(s||(null==j?void 0:j.__is_new__)||(null==j?void 0:j.__is_stored__));return(0,m.jsxs)("div",{style:{marginBottom:12},children:[I&&(0,m.jsx)("div",{style:{textAlign:"right"},children:(0,m.jsx)(_.Tooltip,{title:f("Remove"),children:(0,m.jsx)(E.CloseOutlined,{style:{zIndex:1e3,color:"#a8a3a3"},onClick:()=>{S(n);let e=v.current[M];e.mapSubModels("items",t=>{var l,o,n;let i=`${e.context.fieldKey}:${t.uid}`;null==(o=t.subModels.field)||null==(l=o.getFork(`${e.context.fieldKey}`))||l.dispose(),null==(n=t.getFork(i))||n.dispose()}),e.dispose(),delete v.current[M]}})})}),(0,m.jsx)(r.FlowModelRenderer,{model:A,showFlowSettings:!1}),(0,m.jsx)(_.Divider,{})]},M)}),(0,m.jsxs)(_.Space,{children:[n&&(d||p)&&(d?(0,m.jsxs)(_.Button,{type:"link",onClick:()=>w({__is_new__:!0}),disabled:o,children:[(0,m.jsx)(E.PlusOutlined,{}),f("Add new")]}):(0,m.jsx)(C,{message:f("No permission to add new"),forbidden:{actionName:"create"},children:(0,m.jsxs)(_.Button,{type:"link",disabled:!0,children:[(0,m.jsx)(E.PlusOutlined,{}),f("Add new")]})})),i&&(0,m.jsxs)(_.Button,{type:"link",onClick:()=>a(),disabled:o,children:[(0,m.jsx)(E.ZoomInOutlined,{})," ",f("Select record")]})]})]})}})})};class iy extends im{onInit(e){var t,l;super.onInit(e),this.context.blockModel.emitter.on("formValuesChange",e=>{this.dispatchEvent("formValuesChange",e,{debounce:!0})});let o=nz({parentContextAccessor:()=>{var e;return null==(e=this.parent)?void 0:e.context}});this.context.defineProperty("item",{get:()=>void 0,...nQ({t:this.context.t,title:nV(this.context.t,this.context.collectionField,this.props.name),showParentIndex:Array.isArray(this.context.fieldIndex)&&this.context.fieldIndex.length>0,collectionAccessor:()=>this.context.collection,propertiesAccessor:e=>{var t;return null==e||null==(t=e.item)?void 0:t.value},resolverPropertiesAccessor:()=>{var e,t;return null==(t=this.context)||null==(e=t.item)?void 0:e.value},parentCollectionAccessor:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.collection},parentAccessors:o})});let n=null==(t=(l=this.context).getPropertyOptions)?void 0:t.call(l,"currentObject");this.context.defineProperty("currentObject",{value:null,resolveOnServer:null==n?void 0:n.resolveOnServer,serverOnlyWhenContextParams:null==n?void 0:n.serverOnlyWhenContextParams}),this.onSelectExitRecordClick=()=>{this.dispatchEvent("openView",{})}}set onSelectExitRecordClick(e){this.setProps({onSelectExitRecordClick:e})}change(){this.props.onChange(this.selectedRows.value)}onMount(){super.onMount(),setTimeout(()=>{this.applyFlow("eventSettings")},100)}render(){return(0,m.jsx)(iv,{...this.props})}constructor(...e){super(...e),this.selectedRows=r.observable.ref([]),this.updateAssociation=!0}}iy.define({label:(0,r.tExpr)("Subform"),createModelOptions:{use:"SubFormListFieldModel",subModels:{grid:{use:"FormGridModel"}}}}),iy.registerFlow({key:"subFormListSettings",title:(0,r.tExpr)("Sub-form settings"),sort:200,steps:{allowAddNew:{title:(0,r.tExpr)("Enable add new action"),uiMode:{type:"switch",key:"allowAddNew"},defaultParams:{allowAddNew:!0},handler(e,t){e.model.setProps({allowAddNew:t.allowAddNew})}},allowDisassociation:{title:(0,r.tExpr)("Enable remove action"),uiMode:{type:"switch",key:"allowDisassociation"},defaultParams:{allowDisassociation:!0},handler(e,t){e.model.setProps({allowDisassociation:t.allowDisassociation})}},allowSelectExistingRecord:{title:(0,r.tExpr)("Enable select action"),uiMode:{type:"switch",key:"allowSelectExistingRecord"},defaultParams:{allowSelectExistingRecord:!1},handler(e,t){e.model.setProps({allowSelectExistingRecord:t.allowSelectExistingRecord})}}}}),iy.registerFlow({key:"selectExitRecordSettings",title:(0,r.tExpr)("Selector setting"),on:{eventName:"openView"},sort:300,steps:{openView:{title:(0,r.tExpr)("Edit popup (Select record)"),hideInSettings(e){var t,l,o;return!(null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"subFormListSettings","allowSelectExistingRecord"))?void 0:t.allowSelectExistingRecord)},uiSchema:e=>({mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}}),defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l;let o={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},n=e.isMobileLayout?"embed":e.inputArgs.mode||t.mode||"drawer",i=e.inputArgs.size||t.size||"medium";e.model.selectedRows.value=e.model.props.value||[];let r=e.inputArgs.currentItemValue??e.model.props.value??[];e.viewer.open({type:n,width:o[n][i],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(l=e.collectionField)?void 0:l.target,collectionField:e.collectionField,...n2(e,{currentItemValue:r}),rowSelectionProps:{type:"checkbox",defaultSelectedRows:()=>e.model.props.value,renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{let o=[...e.model.props.value||[],...l.map(e=>({...e,__is_stored__:!0}))].filter((t,l,o)=>l===o.findIndex(l=>l[e.collection.filterTargetKey]===t[e.collection.filterTargetKey])||t.__is_new__);e.model.selectedRows.value=o}}},content:()=>(0,m.jsx)(n4,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===n?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),iy.registerFlow({key:"eventSettings",title:(0,r.tExpr)("Event settings"),on:"formValuesChange",steps:{linkageRules:{use:"subFormFieldLinkageRules",afterParamsSave(e){var t;e.model.applyFlow("eventSettings",{changedValues:{},allValues:null==(t=e.form)?void 0:t.getFieldsValue(!0)})}}}}),tC.bindModelToInterface("SubFormFieldModel",["m2o","o2o","oho","obo","updatedBy","createdBy"],{when:(e,t)=>!t.targetCollection||"file"!==t.targetCollection.template,order:100}),tC.bindModelToInterface("SubFormListFieldModel",["m2m","o2m","mbm"],{order:100,when:(e,t)=>!t.targetCollection||"file"!==t.targetCollection.template});var i_=l(8533),ib=l(7326);function ix(e){let t=[];function l(e){if(null==e?void 0:e.parent){let{parent:t}=e;l(t)}let{parent:o,...n}=e;t.push(n)}return e&&l(e),t}let iM=e=>!!e&&"object"==typeof e&&"associationPathName"in e;class iw extends ed.o{get collectionField(){return this.context.collectionField}onClick(e,t){var l,o,n,i,r,a,s,d;let u=iM(this.parent)?this.parent.associationPathName:void 0;if(this.collectionField.isAssociationField()){let l=this.collectionField.targetCollection,o=this.context.blockModel.collection,s=this.collectionField.sourceKey||o.filterTargetKey,d=t[null==(n=this.collectionField)?void 0:n.targetKey];"m2m"===this.collectionField.interface&&(d=t[l.filterTargetKey]);let c=u?(0,S.get)((null==(a=this.context.blockModel)||null==(r=a.form)||null==(i=r.getFieldsValue)?void 0:i.call(r,!0))||this.context.record,u):this.context.record;this.dispatchEvent("click",{event:e,filterByTk:d,collectionName:this.collectionField.collection.name,associationName:`${o.name}.${this.collectionField.name}`,sourceId:c[s]},{debounce:!0});return}if(u){let l=this.context.collection,o=null==l||null==(s=l.getFieldByPath)?void 0:s.call(l,u);if(null==o||null==(d=o.isAssociationField)?void 0:d.call(o)){let n=o.targetCollection,i=o.collection,r=o.sourceKey||(null==i?void 0:i.filterTargetKey),a=(null==o?void 0:o.targetKey)||(null==n?void 0:n.filterTargetKey),s=t??(0,S.get)(this.context.record,u),d=u.includes(".")?l.getFieldByPath(u.split(".")[0]):null,c=null==d?void 0:d.foreignKey,p=u.includes(".")?(0,S.get)(this.context.record,u.split(".")[0]):this.context.record,m=null==s?void 0:s[a];"m2m"===o.interface&&(m=null==s?void 0:s[n.filterTargetKey]),this.dispatchEvent("click",{event:e,filterByTk:m,collectionName:this.collectionField.collection.name,associationName:`${o.collection.name}.${this.collectionField.name}`,sourceId:p[r]||this.context.record[c]},{debounce:!0});return}}this.dispatchEvent("click",{event:e,sourceId:null==(l=this.context.resource)?void 0:l.getSourceId(),filterByTk:this.context.collection.getFilterByTK((null==(o=this.context.item)?void 0:o.value)||this.context.record)},{debounce:!0})}renderComponent(e,t){return e}renderInDisplayStyle(e,t,l,o){let{clickToOpen:n=!1,displayStyle:i,titleField:r,overflowMode:a,disabled:s,...d}=this.props;if(e&&"object"==typeof e&&d.target)return;let u=this.renderComponent(e,o),c=t?e?u:"N/A":u,p=e=>{n&&this.onClick(e,t)},h={cursor:n?"pointer":"default",alignItems:"center",gap:4,display:l&&"inline-block"};return"tag"===i?e&&(0,m.jsx)(_.Tag,{...d,style:h,onClick:p,className:d.className,children:c}):n?(0,m.jsx)("a",{...d,style:h,onClick:p,className:d.className,children:c}):(0,m.jsx)("span",{...d,style:h,className:d.className,children:c})}render(){let{value:e,displayStyle:t,fieldNames:l,overflowMode:o}=this.props,n=this.props.titleField||(null==l?void 0:l.label),i="ellipsis"===o;if(!n)return(0,m.jsx)(oJ.R_,{ellipsis:i,popoverContent:this.renderInDisplayStyle(e,null,null,!0),children:this.renderInDisplayStyle(e)});if("tag"===t){let t=(0,S.castArray)(e).map((e,t)=>(0,m.jsx)(h.default.Fragment,{children:this.renderInDisplayStyle(null==e?void 0:e[n],e)},t));return(0,m.jsx)(oJ.R_,{ellipsis:i,children:t})}{let t=(0,S.castArray)(e).flatMap((t,l)=>{var o;if((null==(o=this.collectionField.targetCollection)?void 0:o.template)==="tree"){let o=ix(t).length?ix(t).map(e=>null==e?void 0:e[n]).join(" / "):null,i=this.renderInDisplayStyle(o,t,Array.isArray(e));return 0===l?[i]:[(0,m.jsx)("span",{children:", "},`sep-${l}`),i]}{let o=this.renderInDisplayStyle(null==t?void 0:t[n],t,Array.isArray(e));return 0===l?[o]:[(0,m.jsx)("span",{children:", "},`sep-${l}`),o]}});return(0,m.jsx)(oJ.R_,{ellipsis:i,children:(0,m.jsx)("span",{style:{flexWrap:"nowrap"},children:t})})}}}function iS(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function ik(e){return Array.from(new Set((Array.isArray(e)?e:[e]).filter(e=>!!e&&"string"==typeof e)))}function iF(e,t){if(!iS(e))return null;for(let l of ik(t)){let t=null==e?void 0:e[l];if(null!=t&&""!==t)return String(t)}return null}function iC(e){if(null==e)return null;if("object"==typeof e)try{return JSON.stringify(e)}catch{return null}return String(e)}function iA(e){let{value:t,valueKey:l,labelKey:o,labelKeys:n,statusMap:i}=e,r=ik((null==n?void 0:n.length)?n:o),a=iS(t)?t:null,s=null==a?void 0:a[l],d=iC(s);for(let e of Array.from(i.keys()))d&&e===d||i.delete(e);let u=iF(a,r);if(!a||null==s||null!=u||!d)return null;let c=i.get(d);return"pending"===c||"done"===c?null:(i.set(d,"pending"),{item:a,tk:s,tkKey:d})}function iP(e,t){t&&e.set(t,"done")}function iT(e,t){let l=ik(t);return ix(e).map(e=>iF(e,l)).filter(e=>null!=e&&""!==e).map(e=>String(e))}function ij(e,t,l){if(!Array.isArray(e)||null==t)return[];let o=(e,n)=>{if(!Array.isArray(e)||!e.length)return[];for(let i of e){if(!i||"object"!=typeof i)continue;let e=[...n,i];if(i[l]===t)return e;let r=o(i.children,e);if(r.length)return r}return[]};return o(e,[])}function iI(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"id",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"parentId",o=new Map,n=[];return e.forEach(e=>{o.set(e[t],{...e,children:[]})}),o.forEach(e=>{null!=e[l]&&o.has(e[l])?o.get(e[l]).children.push(e):n.push(e)}),n}function iL(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.reduce((e,t)=>({...t,parent:e?(0,S.omit)(e,["children"]):null}),null)}iw.registerFlow({key:"displayFieldSettings",title:(0,r.tExpr)("Display Field settings"),sort:200,steps:{displayStyle:{title:(0,r.tExpr)("Display mode"),uiMode:e=>{let t=e.t;return{type:"select",key:"displayStyle",props:{options:[{label:t("Tag"),value:"tag"},{label:t("Text"),value:"text"}]}}},hideInSettings:async e=>{var t;return!!["select","multipleSelect","radioGroup","checkboxGroup"].includes(null==(t=e.collectionField)?void 0:t.interface)},defaultParams:{displayStyle:"text"},handler(e,t){e.model.setProps({displayStyle:t.displayStyle})}},overflowMode:{use:"overflowMode"},clickToOpen:{title:(0,r.tExpr)("Enable click-to-open"),uiMode:{type:"switch",key:"clickToOpen"},defaultParams:e=>e.disableFieldClickToOpen?{clickToOpen:!1}:{clickToOpen:e.collectionField.isAssociationField()},hideInSettings:e=>e.disableFieldClickToOpen,handler(e,t){e.model.setProps({clickToOpen:t.clickToOpen,...e.collectionField.getComponentProps()})}}}}),iw.registerFlow(eF.g);let iY=e=>{let{id:t,item:l,index:o,onChange:n,onRemove:i,options:r,fieldNames:a,disabled:s,underDefaultValueConfig:d,...u}=e,{attributes:c,listeners:p,setNodeRef:h,transform:f,transition:g}=(0,nc.useSortable)({id:t}),v={transform:ib.CSS.Transform.toString(f),transition:g,marginBottom:8,maxWidth:"100%"},y=iI(ix(l)),b=`mul-cascade-scroll-${u.name||t}`,x=()=>{let e=document.querySelector(`.${b}`);if(!e)return;let t=e.querySelector("ul");!t||t._hasScrollBound||(t.addEventListener("scroll",e=>{var t;null==(t=u.onPopupScroll)||t.call(u,e)}),t._hasScrollBound=!0)};return(0,m.jsx)("div",{ref:h,style:v,...c,children:(0,m.jsxs)(_.Space,{className:(0,e9.css)`
|
|
521
521
|
width: 100%;
|
|
522
522
|
display: flex;
|
|
523
523
|
.ant-space-item:nth-child(1) {
|
|
524
524
|
flex: 3;
|
|
525
525
|
max-width: 96%;
|
|
526
526
|
}
|
|
527
|
-
`,children:[(0,m.jsx)(_.Cascader,{options:r||y,style:{width:"100%"},popupClassName:(0,
|
|
527
|
+
`,children:[(0,m.jsx)(_.Cascader,{options:r||y,style:{width:"100%"},popupClassName:(0,e9.cx)(b,(0,e9.css)`
|
|
528
528
|
.ant-cascader-menu {
|
|
529
529
|
max-width: 100%;
|
|
530
530
|
overflow-x: hidden;
|
|
@@ -540,7 +540,7 @@ ctx.render(\`
|
|
|
540
540
|
text-overflow: ellipsis;
|
|
541
541
|
max-width: 100%;
|
|
542
542
|
}
|
|
543
|
-
`),fieldNames:a,onChange:(e,t)=>{var l,i;let r=(null==u||null==(i=u.collectionField)||null==(l=i.targetCollection)?void 0:l.template)==="tree";d||r?n(o,
|
|
543
|
+
`),fieldNames:a,onChange:(e,t)=>{var l,i;let r=(null==u||null==(i=u.collectionField)||null==(l=i.targetCollection)?void 0:l.template)==="tree";d||r?n(o,iL(t)):n(o,(0,S.last)(t))},changeOnSelect:!0,disabled:s,showSearch:!0,defaultValue:ix(l).map(e=>{let t=(null==a?void 0:a.value)||"id";return null==e?void 0:e[t]}),...u,onDropdownVisibleChange:e=>{u.onDropdownVisibleChange(e),e&&setTimeout(x,100)}},t),(0,m.jsx)("div",{children:(0,m.jsx)(E.DeleteOutlined,{onClick:()=>i(o),style:{color:"GrayText"}})})]})})},iD=e=>{let{value:t=[],onChange:l,options:o,fieldNames:n,disabled:i,...r}=e,a=(0,i_.useSensors)((0,i_.useSensor)(i_.PointerSensor)),{t:s}=(0,F.useTranslation)(),d=e=>{let{active:o,over:n}=e;if(n&&o.id!==n.id){let e=t.findIndex((e,t)=>`item-${t}`===o.id),i=t.findIndex((e,t)=>`item-${t}`===n.id),r=(0,nc.arrayMove)(t,e,i);null==l||l(r)}},u=(e,o)=>{let n=[...t];o&&(n[e]=o,null==l||l(n)),null==l||l(n)},c=e=>{let o=t.filter((t,l)=>l!==e);null==l||l(o)},p=()=>{null==l||l([...t,[]])};return(0,m.jsxs)("div",{children:[(0,m.jsx)(i_.DndContext,{sensors:a,collisionDetection:i_.closestCenter,onDragEnd:d,children:(0,m.jsx)(nc.SortableContext,{items:null==t?void 0:t.map((e,t)=>`item-${t}`),strategy:nc.verticalListSortingStrategy,children:null==t?void 0:t.map((e,t)=>(0,m.jsx)(iY,{id:`item-${t}`,item:e,index:t,onChange:u,onRemove:c,options:o,fieldNames:n,disabled:i,...r},t))})}),(0,m.jsx)(_.Button,{type:"dashed",style:{width:"100%"},onClick:p,children:s("Select record")})]})};class iE extends tV{get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>{var e;return null==(e=this.context.collectionField)?void 0:e.targetCollection}})}set onPopupScroll(e){this.setProps({onPopupScroll:e})}set onDropdownVisibleChange(e){this.setProps({onDropdownVisibleChange:e})}set onSearch(e){this.setProps({onSearch:e})}set onLoadData(e){this.setProps({loadData:e})}setDataSource(e){this.setProps({options:e})}getDataSource(){return this.props.options}getFilterValue(){var e;let t=this.props.fieldNames||{label:"label",value:"value"};return Array.isArray(this.props.value)?this.props.value.map(e=>e[t.value]):null==(e=this.props.value)?void 0:e[t.value]}}let iR=e=>{var t,l,o,n;let{onChange:i,onSearch:r,underDefaultValueConfig:a,fieldNames:s,options:d,disabled:u}=e,c=iI(ix(e.value)),p=`cascade-scroll-${e.name||e.id}`,f=h.default.useMemo(()=>{var t,l;return Array.from(new Set([null==s?void 0:s.label,null==e||null==(l=e.collectionField)||null==(t=l.targetCollection)?void 0:t.titleField,"name","title","label"].filter(e=>!!e)))},[null==s?void 0:s.label,null==e||null==(l=e.collectionField)||null==(t=l.targetCollection)?void 0:t.titleField]),g=(null==s?void 0:s.value)||(null==e||null==(n=e.collectionField)||null==(o=n.targetCollection)?void 0:o.filterTargetKey)||"id",v=h.default.useRef(new Map),y=h.default.useMemo(()=>ix(e.value).map(e=>null==e?void 0:e[g]).filter(e=>null!=e),[e.value,g]),b=h.default.useMemo(()=>{if(y.length>1)return y;let e=y[0];if(null==e)return y;let t=ij(d||[],e,g);if(t.length>1){let e=t.map(e=>null==e?void 0:e[g]).filter(e=>null!=e);if(e.length>1)return e}return y},[d,g,y]),x=h.default.useMemo(()=>iT(e.value,f),[e.value,f]);h.default.useEffect(()=>{let t=e.resource;if(!t||"function"!=typeof t.get)return;let l=iA({value:e.value,valueKey:g,labelKeys:f,statusMap:v.current});l&&(async()=>{try{let o=await t.get(l.tk);if(!iS(o))return;let n={...iS(e.value)?e.value:{},...o};if(!(iT(n,f).length>0))return;(0,S.isEqual)(n,e.value)||null==i||i(n)}catch{}finally{iP(v.current,l.tkKey)}})()},[f,i,e.resource,e.value,g]);let M=h.default.useCallback(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=(e||[]).map(e=>null==e?"":String(e)).filter(e=>""!==e);if(x.length){let e=1===t.length&&1===b.length&&t[0]===String(b[0]);if(!t.length||e)return x.join(" / ")}return t.join(" / ")},[b,x]),w=()=>{let t=document.querySelector(`.${p}`);if(!t)return;let l=t.querySelector("ul");!l||l._hasScrollBound||(l.addEventListener("scroll",t=>{var l;null==(l=e.onPopupScroll)||l.call(e,t)}),l._hasScrollBound=!0)};return(0,m.jsx)(_.Cascader,{disabled:u,popupClassName:(0,e9.cx)(p,(0,e9.css)`
|
|
544
544
|
.ant-cascader-menu {
|
|
545
545
|
max-width: 100%;
|
|
546
546
|
overflow-x: hidden;
|
|
@@ -556,7 +556,7 @@ ctx.render(\`
|
|
|
556
556
|
text-overflow: ellipsis;
|
|
557
557
|
max-width: 100%;
|
|
558
558
|
}
|
|
559
|
-
`),changeOnSelect:!0,options:d||c,onDropdownVisibleChange:t=>{e.onDropdownVisibleChange(t),t&&setTimeout(()=>{w()},100)},fieldNames:s,showSearch:!0,onSearch:e=>r(e),displayRender:M,onChange:(t,l)=>{var o,n;let r=(null==e||null==(n=e.collectionField)||null==(o=n.targetCollection)?void 0:o.template)==="tree";a||r?i(ij(l)):i((0,S.last)(l))},value:b.length?b:void 0})};class iE extends iY{render(){return(0,m.jsx)(iD,{...this.props,resource:this.resource,collectionField:this.collectionField,underDefaultValueConfig:"CascadeSelectFieldModel"!==this.use})}}class iR extends iY{render(){return(0,m.jsx)(iL,{name:this.props.name,disabled:this.props.disabled,options:this.props.options,onDropdownVisibleChange:this.props.onDropdownVisibleChange,onPopupScroll:this.props.onPopupScroll,fieldNames:this.props.fieldNames,showSearch:!0,onSearch:e=>this.props.onSearch(e),onChange:e=>{this.props.onChange(e)},collectionField:this.collectionField,value:(0,S.castArray)(this.props.value).filter(Boolean),underDefaultValueConfig:"CascadeSelectListFieldModel"!==this.use})}}let iN={page:1,pageSize:40,loading:!1,hasMore:!0};async function iB(e,t){try{var l,o,n,i;let t=e.model.collectionField.targetCollection,r=e.model.props.fieldNames.label,a=t.getField(r).getInterfaceOptions(),s=(null==a||null==(n=a.filterable)||null==(o=n.operators)||null==(l=o[0])?void 0:l.value)||"$includes",d=null==(i=e.inputArgs.searchText)?void 0:i.trim(),u=e.model.resource,c=`${r}.${s}`;""===d?u.removeFilterGroup(r):(u.setPage(1),u.addFilterGroup(r,{[c]:d})),await u.refresh();let p=u.getData().map(e=>{var t;return{...e,isLeaf:!(null==(t=e.children)?void 0:t.length),children:e.children}});e.model.setDataSource(p),p.length<iN.pageSize?iN.hasMore=!1:(iN.hasMore=!0,iN.page++),e.model.setProps({searchText:d})}catch(t){console.error("CascadeSelectFieldModel search flow error:",t),e.model.setDataSource([])}}iY.registerFlow({key:"eventSettings",sort:900,steps:{bindEvent:{handler(e){let t=e.model.props.fieldNames.label;e.model.onDropdownVisibleChange=l=>{l?e.model.dispatchEvent("dropdownOpen",{apiClient:e.app.apiClient,form:e.model.context.form}):(e.model.resource.removeFilterGroup(t),iN.page=1)},e.model.onPopupScroll=t=>{e.model.dispatchEvent("popupScroll",{event:t,apiClient:e.app.apiClient})},e.model.onSearch=t=>{e.model.dispatchEvent("search",{searchText:t,apiClient:e.app.apiClient})},e.model.onLoadData=async t=>{let l=t[t.length-1];e.model.dispatchEvent("loadChildren",{targetOption:l,apiClient:e.app.apiClient})}}}}}),iY.registerFlow({key:"dropdownOpenSettings",on:"dropdownOpen",steps:{loadData:{async handler(e){let t=e.model.resource;e.model.getDataSource(),t.setPage(1),t.setRequestParameters({tree:!0}),await e.model.applyFlow("selectSettings"),await t.refresh();let l=t.getData().map(e=>{var t;return{...e,isLeaf:!(null==(t=e.children)?void 0:t.length),children:e.children}});e.model.setDataSource(l),iN.hasMore=l.length>=iN.pageSize,iN.page=2}}}}),iY.registerFlow({key:"popupScrollSettings",on:"popupScroll",steps:{loadData:{async handler(e){var t;let{scrollTop:l,scrollHeight:o,clientHeight:n}=(null==(t=e.inputArgs)?void 0:t.event).target;if(!(l+n<o-20)&&!iN.loading&&iN.hasMore){iN.loading=!0;try{let t=e.model.resource;t.setPage(iN.page),await t.refresh();let l=t.getData().map(e=>{var t;return{...e,isLeaf:!(null==(t=e.children)?void 0:t.length),children:e.children}}),o=e.model.getDataSource()||[];e.model.setDataSource([...o,...l]),l.length<iN.pageSize?iN.hasMore=!1:iN.page++}finally{iN.loading=!1}}}}}});let iO=(0,S.debounce)(iB,500);iY.registerFlow({key:"searchSettings",on:"search",steps:{step1:{handler:iO}}}),iY.registerFlow({key:"cascadeSelectSettings",sort:200,steps:{init:{handler(e){let t=e.createResource(r.MultiRecordResource),{target:l,dataSourceKey:o}=e.model.context.collectionField;t.setDataSourceKey(o),t.setResourceName(l),t.setPageSize(iN.pageSize),e.model.resource=t}}}}),iY.registerFlow({key:"selectSettings",title:(0,r.tExpr)("Cascader select settings"),sort:800,steps:{fieldNames:{use:"titleField"},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"}}}),iE.define({label:(0,r.tExpr)("Cascader")}),iR.define({label:(0,r.tExpr)("Cascader")}),r.EditableItemModel.bindModelToInterface("CascadeSelectFieldModel",["m2o","o2o","oho","obo"],{when:(e,t)=>{var l;return(null==(l=t.targetCollection)?void 0:l.template)==="tree"},isDefault:!0,order:60}),r.EditableItemModel.bindModelToInterface("CascadeSelectListFieldModel",["m2m","o2m","mbm"],{when:(e,t)=>{var l;return(null==(l=t.targetCollection)?void 0:l.template)==="tree"},isDefault:!0,order:60});let iH=Symbol("popupBeforeCloseNext");function iq(e,t){let l=e?[e]:[],o=new Set;for(;l.length;){let e=l.pop();!(null==e?void 0:e.uid)||o.has(e.uid)||(o.add(e.uid),t(e),Object.values(e.subModels||{}).forEach(e=>{Array.isArray(e)?l.push(...e):e&&"object"==typeof e&&l.push(e)}))}}function i$(e,t){let l,o=e.beforeClose;for(;o;){if(o===t){l?l[iH]=o[iH]:e.beforeClose=o[iH];break}if(!(iH in o))break;l=o,o=o[iH]}}function iV(e){let{view:t,model:l,modal:o,t:n}=e,i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[],o=e.length?new Set(e):null;return iq(l,e=>{var l,n;e.uid&&(null==(n=e.getUserModifiedFields)||null==(l=n.call(e))?void 0:l.size)&&!(null==o?void 0:o.has(e.uid))&&t.push(e.uid)}),t},r=e=>{if(!e.length)return;let t=new Set(e);iq(l,e=>{if(e.uid&&t.has(e.uid)){var l;null==(l=e.resetUserModifiedFields)||l.call(e)}})},a=async e=>{let t=e.force?[]:i(e.ignoredDirtyFormModelUids);if(t.length&&!await o.confirm({title:n("Unsaved changes"),content:n("Are you sure you don't want to save?"),okText:n("Confirm"),cancelText:n("Cancel")}))return!1;let l=a[iH],s=t.length?Array.from(new Set([...e.ignoredDirtyFormModelUids||[],...t])):e.ignoredDirtyFormModelUids;return await (null==l?void 0:l({...e,ignoredDirtyFormModelUids:s}))!==!1&&(t.length&&r(t),!0)};return a[iH]=t.beforeClose,t.beforeClose=a,()=>{i$(t,a)}}function iz(e){let{targetModel:t,children:l}=e,o=t.context.t,n=t,i=n.context.collectionField.collection,r=i.dataSource,a=n.context.collectionField.name,s=(0,h.useMemo)(()=>{let e=`${o(r.displayName||r.key)} > `,t=i?`${o(i.title)||i.name||i.tableName} > `:"";return`${e}${t}${a}`},[]),{actionName:d}=n.forbidden||{},u=(0,h.useMemo)(()=>o('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:s,actionName:o((0,S.capitalize)(d))}).replaceAll(">",">"),[s,o]);return(0,m.jsx)(_.Tooltip,{title:u,children:l})}function iK(e){let{options:t,fieldModel:l}=e,o=(0,r.useFlowViewContext)(),{data:n,loading:i}=(0,v.useRequest)(async()=>{let e=await o.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:o,skipSave:!o.flowSettingsEnabled});return e.context.defineProperty("associationModel",{value:l.context.associationModel}),e.actionName=t.scene,e},{refreshDeps:[o,t]});return((0,h.useEffect)(()=>{if(null==n?void 0:n.uid)return iV({view:o.view,model:n,modal:o.modal,t:o.t})},[o,n]),!i&&(null==n?void 0:n.uid))?(0,m.jsx)(r.FlowModelRenderer,{model:n,fallback:(0,m.jsx)(b,{style:{margin:16}})}):(0,m.jsx)(b,{style:{margin:16}})}function iU(e){let{model:t,scene:l="update"}=e,o=(0,r.useFlowContext)(),{Header:n,type:i}=o.view;t._closeView=o.view.close;let a="create"===l?o.t("Add new"):o.t("Edit");return(0,m.jsxs)("div",{children:[(0,m.jsx)(n,{title:"dialog"===i?(0,m.jsx)("div",{style:{padding:`${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px 0`,marginBottom:-o.themeToken.marginSM,backgroundColor:"var(--colorBgLayout)"},children:a}):a}),(0,m.jsx)(iK,{options:{parentId:o.view.inputArgs.parentId,subKey:`${l}.edit-form-grid-block`,async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel",scene:l},fieldModel:t})]})}class iG extends P{renderHiddenInConfig(){let e=this.props,t=this.getIcon()?(0,m.jsx)(a.In,{type:this.getIcon()}):void 0;return this.forbidden?(0,m.jsx)(iz,{targetModel:this,children:(0,m.jsx)(_.Button,{...e,icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})}):(0,m.jsx)(_.Tooltip,{title:this.context.t("The button is hidden and only visible when the UI Editor is active"),children:(0,m.jsx)(_.Button,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})})}}iG.registerFlow({key:"buttonAclSettings",steps:{aclCheck:{use:"aclCheck",async handler(e,t){var l,o;let n=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:null==(o=e.collectionField)?void 0:o.collectionName,actionName:e.actionName,fields:[e.collectionField.name]});e.actionName&&(n||(e.model.hidden=!0,e.model.forbidden={actionName:e.actionName},e.exitAll()))}}}});class iW extends iG{renderHiddenInConfig(){let e=this.props,t=this.getIcon()?(0,m.jsx)(a.In,{type:this.getIcon()}):void 0;return this.forbidden?(0,m.jsx)(C,{collection:this.context.collectionField.targetCollection,children:(0,m.jsx)(_.Button,{...e,icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})}):(0,m.jsx)(_.Tooltip,{title:this.context.t("The button is hidden and only visible when the UI Editor is active"),children:(0,m.jsx)(_.Button,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})})}getAclActionName(){return"update"}async onDispatchEventStart(e){"beforeRender"===e&&(this.onClick=e=>{this.dispatchEvent("openView",{event:e,...this.getInputArgs()})})}constructor(...e){super(...e),this.selectedRows=r.observable.ref([]),this.defaultPopupTitle=(0,r.tExpr)("Edit"),this.defaultProps={type:"link",title:(0,r.tExpr)("Edit")}}}function iJ(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.join("__")}let l=null==e?void 0:e[t];return null==l?null:String(l)}iW.registerFlow({key:"buttonAclSettings",steps:{aclCheck:{async handler(e,t){var l,o;let n=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:null==(o=e.collectionField)?void 0:o.target,actionName:e.actionName});e.actionName&&(n||e.record.__is_new__||(e.model.hidden=!0,e.model.forbidden={actionName:e.actionName},e.exitAll()))}}}}),iW.define({label:(0,r.tExpr)("Edit")}),iW.registerFlow({key:"popupSettings",title:(0,r.tExpr)("Edit setting"),on:{eventName:"openView"},sort:300,steps:{openView:{title:(0,r.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,o,n,i,r,a,s,d,u;let c={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},p=e.inputArgs.mode||t.mode||"drawer",h=e.inputArgs.size||t.size||"medium",f=null==e?void 0:e.associationModel,g=(null==e?void 0:e.item)??(null==f||null==(l=f.context)?void 0:l.item)??{value:("function"==typeof(null==f||null==(o=f.context)?void 0:o.getFormValues)?f.context.getFormValues():null==f||null==(n=f.context)?void 0:n.formValues)??(null==f||null==(i=f.context)?void 0:i.record)},v=(null==e||null==(r=e.getPropertyOptions)?void 0:r.call(e,"item"))??(null==f||null==(s=f.context)||null==(a=s.getPropertyOptions)?void 0:a.call(s,"item")),y=Array.isArray(null==f||null==(d=f.props)?void 0:d.value)?f.props.value.length:void 0,_=(()=>{try{var t,l;let o=null==f||null==(t=f.props)?void 0:t.value,n=null==e?void 0:e.record;if(!Array.isArray(o)||!n)return;let i=o.indexOf(n);if(i>=0)return i;if(null!=n.__index__){let e=o.findIndex(e=>(null==e?void 0:e.__index__)===n.__index__);if(e>=0)return e}let r=null==e||null==(l=e.collection)?void 0:l.filterTargetKey;if(Array.isArray(r)){if(!r.every(e=>(null==n?void 0:n[e])!=null))return;let e=o.findIndex(e=>r.every(t=>(null==e?void 0:e[t])===(null==n?void 0:n[t])));return e>=0?e:void 0}if(r){let e=null==n?void 0:n[r];if(null==e)return;let t=o.findIndex(t=>(null==t?void 0:t[r])===e);return t>=0?t:void 0}return}catch(e){return}})();e.viewer.open({type:p,width:c[p][h],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"subForm",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(u=e.collectionField)?void 0:u.target,collectionField:e.collectionField,record:e.record,parentItem:g,parentItemMeta:null==v?void 0:v.meta,parentItemResolver:null==v?void 0:v.resolveOnServer,itemIndex:_,itemLength:y},content:()=>(0,m.jsx)(iU,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===p?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}});let iX=h.default.memo(e=>{let t=(0,r.useFlowEngine)(),l=e=>{let{active:l,over:o}=e;l.id&&(null==o?void 0:o.id)&&l.id!==o.id&&t.moveModel(l.id,o.id)};return(0,m.jsx)(r.DndProvider,{onDragEnd:l,children:(0,m.jsx)("thead",{...e})})}),iQ=(0,__rspack_external__formily_reactive_react_41406960.observer)(e=>{let{className:t,title:l,editable:o,width:n,record:i,recordIndex:a,dataIndex:s,children:d,model:u,...c}=e,p=(0,h.useRef)(null),f=(0,r.useFlowModel)();return o?(0,m.jsxs)("td",{ref:p,...c,className:(0,ns.default)(t,(0,e6.css)`
|
|
559
|
+
`),changeOnSelect:!0,options:d||c,onDropdownVisibleChange:t=>{e.onDropdownVisibleChange(t),t&&setTimeout(()=>{w()},100)},fieldNames:s,showSearch:!0,onSearch:e=>r(e),displayRender:M,onChange:(t,l)=>{var o,n;let r=(null==e||null==(n=e.collectionField)||null==(o=n.targetCollection)?void 0:o.template)==="tree";a||r?i(iL(l)):i((0,S.last)(l))},value:b.length?b:void 0})};class iN extends iE{render(){return(0,m.jsx)(iR,{...this.props,resource:this.resource,collectionField:this.collectionField,underDefaultValueConfig:"CascadeSelectFieldModel"!==this.use})}}class iB extends iE{render(){return(0,m.jsx)(iD,{name:this.props.name,disabled:this.props.disabled,options:this.props.options,onDropdownVisibleChange:this.props.onDropdownVisibleChange,onPopupScroll:this.props.onPopupScroll,fieldNames:this.props.fieldNames,showSearch:!0,onSearch:e=>this.props.onSearch(e),onChange:e=>{this.props.onChange(e)},collectionField:this.collectionField,value:(0,S.castArray)(this.props.value).filter(Boolean),underDefaultValueConfig:"CascadeSelectListFieldModel"!==this.use})}}let iO={page:1,pageSize:40,loading:!1,hasMore:!0};async function iH(e,t){try{var l,o,n,i;let t=e.model.collectionField.targetCollection,r=e.model.props.fieldNames.label,a=t.getField(r).getInterfaceOptions(),s=(null==a||null==(n=a.filterable)||null==(o=n.operators)||null==(l=o[0])?void 0:l.value)||"$includes",d=null==(i=e.inputArgs.searchText)?void 0:i.trim(),u=e.model.resource,c=`${r}.${s}`;""===d?u.removeFilterGroup(r):(u.setPage(1),u.addFilterGroup(r,{[c]:d})),await u.refresh();let p=u.getData().map(e=>{var t;return{...e,isLeaf:!(null==(t=e.children)?void 0:t.length),children:e.children}});e.model.setDataSource(p),p.length<iO.pageSize?iO.hasMore=!1:(iO.hasMore=!0,iO.page++),e.model.setProps({searchText:d})}catch(t){console.error("CascadeSelectFieldModel search flow error:",t),e.model.setDataSource([])}}iE.registerFlow({key:"eventSettings",sort:900,steps:{bindEvent:{handler(e){let t=e.model.props.fieldNames.label;e.model.onDropdownVisibleChange=l=>{l?e.model.dispatchEvent("dropdownOpen",{apiClient:e.app.apiClient,form:e.model.context.form}):(e.model.resource.removeFilterGroup(t),iO.page=1)},e.model.onPopupScroll=t=>{e.model.dispatchEvent("popupScroll",{event:t,apiClient:e.app.apiClient})},e.model.onSearch=t=>{e.model.dispatchEvent("search",{searchText:t,apiClient:e.app.apiClient})},e.model.onLoadData=async t=>{let l=t[t.length-1];e.model.dispatchEvent("loadChildren",{targetOption:l,apiClient:e.app.apiClient})}}}}}),iE.registerFlow({key:"dropdownOpenSettings",on:"dropdownOpen",steps:{loadData:{async handler(e){let t=e.model.resource;e.model.getDataSource(),t.setPage(1),t.setRequestParameters({tree:!0}),await e.model.applyFlow("selectSettings"),await t.refresh();let l=t.getData().map(e=>{var t;return{...e,isLeaf:!(null==(t=e.children)?void 0:t.length),children:e.children}});e.model.setDataSource(l),iO.hasMore=l.length>=iO.pageSize,iO.page=2}}}}),iE.registerFlow({key:"popupScrollSettings",on:"popupScroll",steps:{loadData:{async handler(e){var t;let{scrollTop:l,scrollHeight:o,clientHeight:n}=(null==(t=e.inputArgs)?void 0:t.event).target;if(!(l+n<o-20)&&!iO.loading&&iO.hasMore){iO.loading=!0;try{let t=e.model.resource;t.setPage(iO.page),await t.refresh();let l=t.getData().map(e=>{var t;return{...e,isLeaf:!(null==(t=e.children)?void 0:t.length),children:e.children}}),o=e.model.getDataSource()||[];e.model.setDataSource([...o,...l]),l.length<iO.pageSize?iO.hasMore=!1:iO.page++}finally{iO.loading=!1}}}}}});let iq=(0,S.debounce)(iH,500);iE.registerFlow({key:"searchSettings",on:"search",steps:{step1:{handler:iq}}}),iE.registerFlow({key:"cascadeSelectSettings",sort:200,steps:{init:{handler(e){let t=e.createResource(r.MultiRecordResource),{target:l,dataSourceKey:o}=e.model.context.collectionField;t.setDataSourceKey(o),t.setResourceName(l),t.setPageSize(iO.pageSize),e.model.resource=t}}}}),iE.registerFlow({key:"selectSettings",title:(0,r.tExpr)("Cascader select settings"),sort:800,steps:{fieldNames:{use:"titleField"},dataScope:{use:"dataScope"},sortingRule:{use:"sortingRule"}}}),iN.define({label:(0,r.tExpr)("Cascader")}),iB.define({label:(0,r.tExpr)("Cascader")}),r.EditableItemModel.bindModelToInterface("CascadeSelectFieldModel",["m2o","o2o","oho","obo"],{when:(e,t)=>{var l;return(null==(l=t.targetCollection)?void 0:l.template)==="tree"},isDefault:!0,order:60}),r.EditableItemModel.bindModelToInterface("CascadeSelectListFieldModel",["m2m","o2m","mbm"],{when:(e,t)=>{var l;return(null==(l=t.targetCollection)?void 0:l.template)==="tree"},isDefault:!0,order:60});let i$=Symbol("popupBeforeCloseNext");function iV(e,t){let l=e?[e]:[],o=new Set;for(;l.length;){let e=l.pop();!(null==e?void 0:e.uid)||o.has(e.uid)||(o.add(e.uid),t(e),Object.values(e.subModels||{}).forEach(e=>{Array.isArray(e)?l.push(...e):e&&"object"==typeof e&&l.push(e)}))}}function iz(e,t){let l,o=e.beforeClose;for(;o;){if(o===t){l?l[i$]=o[i$]:e.beforeClose=o[i$];break}if(!(i$ in o))break;l=o,o=o[i$]}}function iK(e){let{view:t,model:l,modal:o,t:n}=e,i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[],o=e.length?new Set(e):null;return iV(l,e=>{var l,n;e.uid&&(null==(n=e.getUserModifiedFields)||null==(l=n.call(e))?void 0:l.size)&&!(null==o?void 0:o.has(e.uid))&&t.push(e.uid)}),t},r=e=>{if(!e.length)return;let t=new Set(e);iV(l,e=>{if(e.uid&&t.has(e.uid)){var l;null==(l=e.resetUserModifiedFields)||l.call(e)}})},a=async e=>{let t=e.force?[]:i(e.ignoredDirtyFormModelUids);if(t.length&&!await o.confirm({title:n("Unsaved changes"),content:n("Are you sure you don't want to save?"),okText:n("Confirm"),cancelText:n("Cancel")}))return!1;let l=a[i$],s=t.length?Array.from(new Set([...e.ignoredDirtyFormModelUids||[],...t])):e.ignoredDirtyFormModelUids;return await (null==l?void 0:l({...e,ignoredDirtyFormModelUids:s}))!==!1&&(t.length&&r(t),!0)};return a[i$]=t.beforeClose,t.beforeClose=a,()=>{iz(t,a)}}function iU(e){let{targetModel:t,children:l}=e,o=t.context.t,n=t,i=n.context.collectionField.collection,r=i.dataSource,a=n.context.collectionField.name,s=(0,h.useMemo)(()=>{let e=`${o(r.displayName||r.key)} > `,t=i?`${o(i.title)||i.name||i.tableName} > `:"";return`${e}${t}${a}`},[]),{actionName:d}=n.forbidden||{},u=(0,h.useMemo)(()=>o('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for field "{{name}}"',{name:s,actionName:o((0,S.capitalize)(d))}).replaceAll(">",">"),[s,o]);return(0,m.jsx)(_.Tooltip,{title:u,children:l})}function iG(e){let{options:t,fieldModel:l}=e,o=(0,r.useFlowViewContext)(),{data:n,loading:i}=(0,v.useRequest)(async()=>{let e=await o.engine.loadOrCreateModel(t,{delegateToParent:!1,delegate:o,skipSave:!o.flowSettingsEnabled});return e.context.defineProperty("associationModel",{value:l.context.associationModel}),e.actionName=t.scene,e},{refreshDeps:[o,t]});return((0,h.useEffect)(()=>{if(null==n?void 0:n.uid)return iK({view:o.view,model:n,modal:o.modal,t:o.t})},[o,n]),!i&&(null==n?void 0:n.uid))?(0,m.jsx)(r.FlowModelRenderer,{model:n,fallback:(0,m.jsx)(b,{style:{margin:16}})}):(0,m.jsx)(b,{style:{margin:16}})}function iW(e){let{model:t,scene:l="update"}=e,o=(0,r.useFlowContext)(),{Header:n,type:i}=o.view;t._closeView=o.view.close;let a="create"===l?o.t("Add new"):o.t("Edit");return(0,m.jsxs)("div",{children:[(0,m.jsx)(n,{title:"dialog"===i?(0,m.jsx)("div",{style:{padding:`${o.themeToken.paddingLG}px ${o.themeToken.paddingLG}px 0`,marginBottom:-o.themeToken.marginSM,backgroundColor:"var(--colorBgLayout)"},children:a}):a}),(0,m.jsx)(iG,{options:{parentId:o.view.inputArgs.parentId,subKey:`${l}.edit-form-grid-block`,async:!0,delegateToParent:!1,subType:"object",use:"BlockGridModel",scene:l},fieldModel:t})]})}class iJ extends P{renderHiddenInConfig(){let e=this.props,t=this.getIcon()?(0,m.jsx)(a.In,{type:this.getIcon()}):void 0;return this.forbidden?(0,m.jsx)(iU,{targetModel:this,children:(0,m.jsx)(_.Button,{...e,icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})}):(0,m.jsx)(_.Tooltip,{title:this.context.t("The button is hidden and only visible when the UI Editor is active"),children:(0,m.jsx)(_.Button,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})})}}iJ.registerFlow({key:"buttonAclSettings",steps:{aclCheck:{use:"aclCheck",async handler(e,t){var l,o;let n=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:null==(o=e.collectionField)?void 0:o.collectionName,actionName:e.actionName,fields:[e.collectionField.name]});e.actionName&&(n||(e.model.hidden=!0,e.model.forbidden={actionName:e.actionName},e.exitAll()))}}}});class iX extends iJ{renderHiddenInConfig(){let e=this.props,t=this.getIcon()?(0,m.jsx)(a.In,{type:this.getIcon()}):void 0;return this.forbidden?(0,m.jsx)(C,{collection:this.context.collectionField.targetCollection,children:(0,m.jsx)(_.Button,{...e,icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})}):(0,m.jsx)(_.Tooltip,{title:this.context.t("The button is hidden and only visible when the UI Editor is active"),children:(0,m.jsx)(_.Button,{...e,onClick:this.onClick.bind(this),icon:t,style:{opacity:"0.3"},children:e.children||this.getTitle()})})}getAclActionName(){return"update"}async onDispatchEventStart(e){"beforeRender"===e&&(this.onClick=e=>{this.dispatchEvent("openView",{event:e,...this.getInputArgs()})})}constructor(...e){super(...e),this.selectedRows=r.observable.ref([]),this.defaultPopupTitle=(0,r.tExpr)("Edit"),this.defaultProps={type:"link",title:(0,r.tExpr)("Edit")}}}function iQ(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.join("__")}let l=null==e?void 0:e[t];return null==l?null:String(l)}iX.registerFlow({key:"buttonAclSettings",steps:{aclCheck:{async handler(e,t){var l,o;let n=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:null==(o=e.collectionField)?void 0:o.target,actionName:e.actionName});e.actionName&&(n||e.record.__is_new__||(e.model.hidden=!0,e.model.forbidden={actionName:e.actionName},e.exitAll()))}}}}),iX.define({label:(0,r.tExpr)("Edit")}),iX.registerFlow({key:"popupSettings",title:(0,r.tExpr)("Edit setting"),on:{eventName:"openView"},sort:300,steps:{openView:{title:(0,r.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,o,n,i,r,a,s,d,u;let c={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},p=e.inputArgs.mode||t.mode||"drawer",h=e.inputArgs.size||t.size||"medium",f=null==e?void 0:e.associationModel,g=(null==e?void 0:e.item)??(null==f||null==(l=f.context)?void 0:l.item)??{value:("function"==typeof(null==f||null==(o=f.context)?void 0:o.getFormValues)?f.context.getFormValues():null==f||null==(n=f.context)?void 0:n.formValues)??(null==f||null==(i=f.context)?void 0:i.record)},v=(null==e||null==(r=e.getPropertyOptions)?void 0:r.call(e,"item"))??(null==f||null==(s=f.context)||null==(a=s.getPropertyOptions)?void 0:a.call(s,"item")),y=Array.isArray(null==f||null==(d=f.props)?void 0:d.value)?f.props.value.length:void 0,_=(()=>{try{var t,l;let o=null==f||null==(t=f.props)?void 0:t.value,n=null==e?void 0:e.record;if(!Array.isArray(o)||!n)return;let i=o.indexOf(n);if(i>=0)return i;if(null!=n.__index__){let e=o.findIndex(e=>(null==e?void 0:e.__index__)===n.__index__);if(e>=0)return e}let r=null==e||null==(l=e.collection)?void 0:l.filterTargetKey;if(Array.isArray(r)){if(!r.every(e=>(null==n?void 0:n[e])!=null))return;let e=o.findIndex(e=>r.every(t=>(null==e?void 0:e[t])===(null==n?void 0:n[t])));return e>=0?e:void 0}if(r){let e=null==n?void 0:n[r];if(null==e)return;let t=o.findIndex(t=>(null==t?void 0:t[r])===e);return t>=0?t:void 0}return}catch(e){return}})();e.viewer.open({type:p,width:c[p][h],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"subForm",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(u=e.collectionField)?void 0:u.target,collectionField:e.collectionField,record:e.record,parentItem:g,parentItemMeta:null==v?void 0:v.meta,parentItemResolver:null==v?void 0:v.resolveOnServer,itemIndex:_,itemLength:y},content:()=>(0,m.jsx)(iW,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===p?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}});let iZ=h.default.memo(e=>{let t=(0,r.useFlowEngine)(),l=e=>{let{active:l,over:o}=e;l.id&&(null==o?void 0:o.id)&&l.id!==o.id&&t.moveModel(l.id,o.id)};return(0,m.jsx)(r.DndProvider,{onDragEnd:l,children:(0,m.jsx)("thead",{...e})})}),i0=(0,__rspack_external__formily_reactive_react_41406960.observer)(e=>{let{className:t,title:l,editable:o,width:n,record:i,recordIndex:a,dataIndex:s,children:d,model:u,...c}=e,p=(0,h.useRef)(null),f=(0,r.useFlowModel)();return o?(0,m.jsxs)("td",{ref:p,...c,className:(0,nd.default)(t,(0,e9.css)`
|
|
560
560
|
.edit-icon {
|
|
561
561
|
position: absolute;
|
|
562
562
|
display: none;
|
|
@@ -574,12 +574,12 @@ ctx.render(\`
|
|
|
574
574
|
&:hover .edit-icon {
|
|
575
575
|
display: inline-flex;
|
|
576
576
|
}
|
|
577
|
-
`),children:[(0,m.jsx)(E.EditOutlined,{className:"edit-icon",onClick:async e=>{e.preventDefault(),e.stopPropagation();try{await
|
|
577
|
+
`),children:[(0,m.jsx)(E.EditOutlined,{className:"edit-icon",onClick:async e=>{e.preventDefault(),e.stopPropagation();try{await o$.open({flowEngine:f.flowEngine,target:p.current,dataSourceKey:f.collection.dataSourceKey,collectionName:f.collection.name,fieldPath:s,record:i,fieldProps:{...u.props,...u.subModels.field.props},onOk:e=>{i[s]=e[s];let t=f.subModels.field.createFork({},`${a}`),l=(0,r.createCurrentRecordMetaFactory)(t.context,()=>t.context.collection);t.context.defineProperty("record",{get:()=>i,cache:!1,meta:l}),t.setProps({...f.props,value:e[s]}),t.context.defineProperty("recordIndex",{get:()=>a}),f.rerender()}})}catch(e){console.log(e)}}}),(0,m.jsx)("div",{ref:p,className:(0,e9.css)`
|
|
578
578
|
overflow: hidden;
|
|
579
579
|
text-overflow: ellipsis;
|
|
580
580
|
white-space: nowrap;
|
|
581
581
|
width: calc(${n}px - 16px);
|
|
582
|
-
`,children:d})]}):(0,m.jsx)("td",{className:(0,
|
|
582
|
+
`,children:d})]}):(0,m.jsx)("td",{className:(0,nd.default)(t),...c,children:(0,m.jsxs)("div",{style:{width:n},children:[" ",d]})})}),i1=e=>{let{model:t}=e;return(0,m.jsx)(r.AddSubModelButton,{model:t,subModelKey:"subTableColumns",subModelBaseClasses:["TableColumnModel","TableAssociationFieldGroupModel","TableCustomColumnModel"],keepDropdownOpen:!0,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.SettingOutlined,{}),children:t.translate("Fields")})})},i2=e=>{var t,l;let{pageSize:o,value:n,size:i,collection:r,baseColumns:a,enableIndexColumn:s=!0,model:d,allowAddNew:u,allowSelectExistingRecord:c,disabled:p,onAddRecordClick:f,onSelectExitRecordClick:g,resetPage:v,allowCreate:y}=e,[b,x]=(0,h.useState)(1),[M,w]=(0,h.useState)(o),{t:S}=(0,F.useTranslation)(),k=!!(null==(l=d.flowEngine)||null==(t=l.flowSettings)?void 0:t.enabled),[A,P]=(0,h.useState)(n);(0,h.useEffect)(()=>{P(n)},[n]),(0,h.useEffect)(()=>{w(o)},[o]),(0,h.useEffect)(()=>{v&&x(1)},[v]);let T=(0,h.useMemo)(()=>({current:b,pageSize:M,total:null==A?void 0:A.length,onChange:(e,t)=>{x(e),w(t)},showSizeChanger:!0,showTotal:e=>S("Total {{count}} items",{count:e})}),[b,M,A]),j=(0,h.useMemo)(()=>{let e=o1([s&&{key:"__index__",width:48,align:"center",fixed:"left",render:(e,t,l)=>(b-1)*M+l+1},...a,{key:"empty"}].filter(Boolean));return k&&e.push({key:"addColumn",fixed:"right",width:100,title:(0,m.jsx)(i1,{model:d})}),e},[a,s,b,M,k,d]);return(0,m.jsx)(_.Table,{tableLayout:"fixed",size:i,rowKey:r.filterTargetKey,scroll:{x:"max-content"},dataSource:A,columns:j,pagination:T,locale:{emptyText:(0,m.jsx)("span",{children:p?S("No data"):u&&c?S("Please add or select record"):u?S("Please add record"):c?S("Please select record"):S("No data")})},className:(0,e9.css)`
|
|
583
583
|
.ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content {
|
|
584
584
|
display: inline;
|
|
585
585
|
}
|
|
@@ -596,19 +596,19 @@ ctx.render(\`
|
|
|
596
596
|
margin-bottom: 4px;
|
|
597
597
|
}
|
|
598
598
|
}
|
|
599
|
-
`,components:{header:{wrapper:iX},body:{cell:iQ}},footer:()=>(0,m.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:(0,m.jsxs)(_.Space,{size:"middle",children:[u&&(y||k)&&(y?(0,m.jsxs)(_.Button,{type:"link",onClick:()=>f(x,M),disabled:p,children:[(0,m.jsx)(E.PlusOutlined,{}),S("Add new")]}):(0,m.jsx)(C,{message:S("No permission to add new"),forbidden:{actionName:"create"},children:(0,m.jsxs)(_.Button,{type:"link",disabled:!0,children:[(0,m.jsx)(E.PlusOutlined,{}),S("Add new")]})})),c&&(0,m.jsxs)(_.Button,{type:"link",disabled:p,onClick:()=>g(x,M),children:[(0,m.jsx)(E.ZoomInOutlined,{})," ",S("Select record")]})]})})})};class i1 extends t${get collection(){return this.context.collection}get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("resourceName",{get:()=>this.context.collectionField.target,cache:!1}),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.context.fieldPath}),this.context.defineProperty("disableFieldClickToOpen",{value:!0}),this.parent.context.actionName&&this.context.defineProperty("actionName",{get:()=>"view"})}async onDispatchEventStart(e){"beforeRender"===e&&(this.context.defineProperty("associationModel",{value:this}),this.onAddRecordClick=(e,t)=>{this.setCurrentPage=e,this.currentPageSize=t,this.dispatchEvent("openAddRecordView",{setCurrentPage:e,currentPageSize:t})},this.onSelectExitRecordClick=(e,t)=>{this.setCurrentPage=e,this.currentPageSize=t,this.dispatchEvent("openSelectRecordView",{setCurrentPage:e,currentPageSize:t})},this.context.blockModel.emitter.on("onFieldReset",()=>{var e;null==(e=this.props)||e.onChange([])}))}set onSelectExitRecordClick(e){this.setProps({onSelectExitRecordClick:e})}set onAddRecordClick(e){this.setProps({onAddRecordClick:e})}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.dispatchEvent("beforeRender")}getBaseColumns(e){return e.mapSubModels("subTableColumns",t=>t.getColumnProps(e)).filter(e=>!(null==e?void 0:e.hidden))}change(){let e=Math.ceil(this.selectedRows.value.length/this.currentPageSize);this.setCurrentPage(e),this.props.onChange(this.selectedRows.value)}render(){return(0,m.jsx)(i0,{...this.props,collection:this.collection,baseColumns:this.getBaseColumns(this),model:this})}constructor(...e){super(...e),this.disableTitleField=!0,this.defaultOverflowMode="ellipsis",this.updateAssociation=!0,this.selectedRows=r.observable.ref([])}}i1.registerFlow({key:"advanceSubTableAssociation",title:(0,r.tExpr)("Association table settings"),steps:{init:{async handler(e){await e.model.applySubModelsBeforeRenderFlows("subTableColumns")}},quickEdit:{title:(0,r.tExpr)("Enable quick edit"),uiMode:{type:"switch",key:"editable"},defaultParams:{editable:!1},handler(e,t){e.model.setProps("editable",t.editable)},async afterParamsSave(e,t,l){(null==t?void 0:t.editable)===(null==l?void 0:l.editable)||e.model.mapSubModels("subTableColumns",e=>{var l,o,n,i;let r=null==e||null==(l=e.getFlow)?void 0:l.call(e,"tableColumnSettings");if(!(null==r||null==(o=r.getStep)?void 0:o.call(r,"quickEdit")))return;let a=null==(n=e.getStepParams)?void 0:n.call(e,"tableColumnSettings","quickEdit");if(a&&Object.prototype.hasOwnProperty.call(a,"editable"))return;let s=!!(null==e||null==(i=e.collectionField)?void 0:i.readonly),d=!!(null==e?void 0:e.associationPathName);e.setProps("editable",!s&&!d&&!!t.editable)})}},pageSize:{title:(0,r.tExpr)("Page size"),uiMode:{type:"select",key:"pageSize",props:{options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}]}},defaultParams:{pageSize:10},handler(e,t){e.model.setProps({pageSize:t.pageSize})}},allowAddNew:{title:(0,r.tExpr)("Enable add new action"),uiMode:{type:"switch",key:"allowAddNew"},defaultParams:{allowAddNew:!0},handler(e,t){e.model.setProps({allowAddNew:t.allowAddNew})}},allowDisassociation:{title:(0,r.tExpr)("Enable remove action"),uiMode:{type:"switch",key:"allowDisassociation"},defaultParams:{allowDisassociation:!0},handler(e,t){e.model.setProps({allowDisassociation:t.allowDisassociation})}},allowSelectExistingRecord:{title:(0,r.tExpr)("Enable select action"),uiMode:{type:"switch",key:"allowSelectExistingRecord"},defaultParams:{allowSelectExistingRecord:!0},handler(e,t){e.model.setProps({allowSelectExistingRecord:t.allowSelectExistingRecord})}}}}),i1.registerFlow({key:"popupSettings",title:(0,r.tExpr)("Edit setting"),on:{eventName:"openAddRecordView"},sort:300,steps:{openView:{title:(0,r.tExpr)("Edit popup (Add new)"),hideInSettings(e){var t,l,o;return!1===(null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"advanceSubTableAssociation","allowAddNew"))?void 0:t.allowAddNew)},uiSchema:{mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,o,n,i;let r={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},a=e.inputArgs.mode||t.mode||"drawer",s=e.inputArgs.size||t.size||"medium",d=(null==e?void 0:e.item)??{value:("function"==typeof(null==e?void 0:e.getFormValues)?e.getFormValues():e.formValues)??e.record},u=null==e||null==(l=e.getPropertyOptions)?void 0:l.call(e,"item"),c=Array.isArray(null==(n=e.model)||null==(o=n.props)?void 0:o.value)?e.model.props.value.length:0,p=c+1;e.viewer.open({type:a,width:r[a][s],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"subForm",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(i=e.collectionField)?void 0:i.target,collectionField:e.collectionField,parentItem:d,parentItemMeta:null==u?void 0:u.meta,parentItemResolver:null==u?void 0:u.resolveOnServer,itemIndex:c,itemLength:p},content:()=>(0,m.jsx)(iU,{model:e.model,scene:"create"}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===a?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),i1.registerFlow({key:"selectExitRecordSettings",title:(0,r.tExpr)("Selector setting"),sort:400,on:{eventName:"openSelectRecordView"},steps:{openView:{title:(0,r.tExpr)("Edit popup (Select record)"),hideInSettings(e){var t,l,o;return!(null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"advanceSubTableAssociation","allowSelectExistingRecord"))?void 0:t.allowSelectExistingRecord)},uiSchema:e=>({mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}}),defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l;let o={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},n=e.isMobileLayout?"embed":e.inputArgs.mode||t.mode||"drawer",i=e.inputArgs.size||t.size||"medium";e.model.selectedRows.value=e.model.props.value||[];let r=e.inputArgs.currentItemValue??e.model.props.value??[];e.viewer.open({type:n,width:o[n][i],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(l=e.collectionField)?void 0:l.target,collectionField:e.collectionField,...n1(e,{currentItemValue:r}),rowSelectionProps:{type:"checkbox",defaultSelectedRows:()=>e.model.props.value,renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{let o=e.model.props.value||[],n=e.collection.filterTargetKey,i=[...o,...l.map(e=>({...e,__is_stored__:!0}))],r=new Map,a=[];for(let e of i){let t=iJ(e,n);if(null==t){a.push(e);continue}r.has(t)||(r.set(t,e),a.push(e))}e.model.selectedRows.value=a}}},content:()=>(0,m.jsx)(n5,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===n?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),i1.registerFlow({key:"AdvancedSubTableUpdateRowSettings",on:"updateRow",steps:{updateRow:{async handler(e,t){var l;let o,n=e.inputArgs.updatedRecord,i=(null==(l=e.model.props)?void 0:l.value)||[],r=e.collection.filterTargetKey,a=n[r],s=-1;n.__is_new__?s=i.findIndex(e=>e.__index__===n.__index__):a&&(s=i.findIndex(e=>e[r]===a)),-1===s?o=[...i,{...n,__is_new__:!0,__index__:(0,H.uid)()}]:(o=[...i])[s]={...i[s],...n},e.model.props.onChange(o);let d=Math.ceil(o.length/e.model.currentPageSize);e.model.setCurrentPage(d)}}}}),i1.registerFlow({key:"AdvancedSubTableRemoveRowSettings",on:"removeRow",steps:{removeRow:{async handler(e,t){var l;let o=e.inputArgs.removeRecord,n=e.collection.filterTargetKey,i=(null==(l=e.model.props)?void 0:l.value)||[],r="object"==typeof o?o[n]:o,a=-1;if(-1===(a=o.__is_new__?i.findIndex(e=>e.__index__===o.__index__):i.findIndex(e=>e[n]===r)))return i;let s=i.slice();s.splice(a,1),e.model.props.onChange(s)}}}}),i1.registerFlow({key:"paginationChange",on:"paginationChange",steps:{pageRefresh:{handler(e,t){e.model.setProps({resetPage:(0,H.uid)()})}}}}),i1.define({label:(0,r.tExpr)("Subtable (Popup editing)"),createModelOptions:{use:"PopupSubTableFieldModel",subModels:{subTableColumns:[{use:"PopupSubTableActionsColumnModel",subModels:{actions:[{use:"PopupSubTableEditActionModel"},{use:"PopupSubTableRemoveActionModel"}]}}]}}}),r.EditableItemModel.bindModelToInterface("PopupSubTableFieldModel",["m2m","o2m","mbm"],{order:300,when:(e,t)=>!t.targetCollection||"file"!==t.targetCollection.template});class i2 extends iG{async onDispatchEventStart(e){"beforeRender"===e&&(this.onClick=e=>{this.dispatchEvent("click",{event:e,...this.getInputArgs()},{debounce:!0})})}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,r.tExpr)("Remove")}}}i2.define({label:(0,r.tExpr)("Remove")}),i2.registerFlow({key:"subTableRemoveActionSettings",steps:{disableProps:{async handler(e,t){var l,o,n;if(!e.model.context.associationModel)return;let i=null==(o=(n=e.model.context.associationModel).getStepParams)||null==(l=o.call(n,"advanceSubTableAssociation","allowDisassociation"))?void 0:l.allowDisassociation,r=e.record;!1!==i||r.__is_new__||r.__is_stored__?e.model.setProps({disabled:!1}):e.model.setProps({disabled:!0})}}}}),i2.registerFlow({key:"deleteSettings",title:(0,r.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,r.tExpr)("Remove record"),content:(0,r.tExpr)("Are you sure you want to remove it?")}},delete:{async handler(e,t){e.model.context.associationModel.dispatchEvent("removeRow",{removeRecord:e.record})}}}}),i2.registerFlow({key:"enableRemoveChange",on:"enableRemoveChange",steps:{pageRefresh:{handler(e,t){console.log(e,999999)}}}});class i5 extends j{}i5.registerActionModels({PopupSubTableEditActionModel:iW,PopupSubTableRemoveActionModel:i2});let i4=(0,__rspack_external__formily_reactive_react_41406960.observer)(e=>{let{record:t,model:l,index:o,_subTableModel:n}=e;return(0,m.jsx)(r.DndProvider,{children:(0,m.jsx)(_.Space,{wrap:!0,size:"middle",className:(0,e6.css)`
|
|
599
|
+
`,components:{header:{wrapper:iZ},body:{cell:i0}},footer:()=>(0,m.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:(0,m.jsxs)(_.Space,{size:"middle",children:[u&&(y||k)&&(y?(0,m.jsxs)(_.Button,{type:"link",onClick:()=>f(x,M),disabled:p,children:[(0,m.jsx)(E.PlusOutlined,{}),S("Add new")]}):(0,m.jsx)(C,{message:S("No permission to add new"),forbidden:{actionName:"create"},children:(0,m.jsxs)(_.Button,{type:"link",disabled:!0,children:[(0,m.jsx)(E.PlusOutlined,{}),S("Add new")]})})),c&&(0,m.jsxs)(_.Button,{type:"link",disabled:p,onClick:()=>g(x,M),children:[(0,m.jsx)(E.ZoomInOutlined,{})," ",S("Select record")]})]})})})};class i5 extends tV{get collection(){return this.context.collection}get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("resourceName",{get:()=>this.context.collectionField.target,cache:!1}),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.context.fieldPath}),this.context.defineProperty("disableFieldClickToOpen",{value:!0}),this.parent.context.actionName&&this.context.defineProperty("actionName",{get:()=>"view"})}async onDispatchEventStart(e){"beforeRender"===e&&(this.context.defineProperty("associationModel",{value:this}),this.onAddRecordClick=(e,t)=>{this.setCurrentPage=e,this.currentPageSize=t,this.dispatchEvent("openAddRecordView",{setCurrentPage:e,currentPageSize:t})},this.onSelectExitRecordClick=(e,t)=>{this.setCurrentPage=e,this.currentPageSize=t,this.dispatchEvent("openSelectRecordView",{setCurrentPage:e,currentPageSize:t})},this.context.blockModel.emitter.on("onFieldReset",()=>{var e;null==(e=this.props)||e.onChange([])}))}set onSelectExitRecordClick(e){this.setProps({onSelectExitRecordClick:e})}set onAddRecordClick(e){this.setProps({onAddRecordClick:e})}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.dispatchEvent("beforeRender")}getBaseColumns(e){return e.mapSubModels("subTableColumns",t=>t.getColumnProps(e)).filter(e=>!(null==e?void 0:e.hidden))}change(){let e=Math.ceil(this.selectedRows.value.length/this.currentPageSize);this.setCurrentPage(e),this.props.onChange(this.selectedRows.value)}render(){return(0,m.jsx)(i2,{...this.props,collection:this.collection,baseColumns:this.getBaseColumns(this),model:this})}constructor(...e){super(...e),this.disableTitleField=!0,this.defaultOverflowMode="ellipsis",this.updateAssociation=!0,this.selectedRows=r.observable.ref([])}}i5.registerFlow({key:"advanceSubTableAssociation",title:(0,r.tExpr)("Association table settings"),steps:{init:{async handler(e){await e.model.applySubModelsBeforeRenderFlows("subTableColumns")}},quickEdit:{title:(0,r.tExpr)("Enable quick edit"),uiMode:{type:"switch",key:"editable"},defaultParams:{editable:!1},handler(e,t){e.model.setProps("editable",t.editable)},async afterParamsSave(e,t,l){(null==t?void 0:t.editable)===(null==l?void 0:l.editable)||e.model.mapSubModels("subTableColumns",e=>{var l,o,n,i;let r=null==e||null==(l=e.getFlow)?void 0:l.call(e,"tableColumnSettings");if(!(null==r||null==(o=r.getStep)?void 0:o.call(r,"quickEdit")))return;let a=null==(n=e.getStepParams)?void 0:n.call(e,"tableColumnSettings","quickEdit");if(a&&Object.prototype.hasOwnProperty.call(a,"editable"))return;let s=!!(null==e||null==(i=e.collectionField)?void 0:i.readonly),d=!!(null==e?void 0:e.associationPathName);e.setProps("editable",!s&&!d&&!!t.editable)})}},pageSize:{title:(0,r.tExpr)("Page size"),uiMode:{type:"select",key:"pageSize",props:{options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}]}},defaultParams:{pageSize:10},handler(e,t){e.model.setProps({pageSize:t.pageSize})}},allowAddNew:{title:(0,r.tExpr)("Enable add new action"),uiMode:{type:"switch",key:"allowAddNew"},defaultParams:{allowAddNew:!0},handler(e,t){e.model.setProps({allowAddNew:t.allowAddNew})}},allowDisassociation:{title:(0,r.tExpr)("Enable remove action"),uiMode:{type:"switch",key:"allowDisassociation"},defaultParams:{allowDisassociation:!0},handler(e,t){e.model.setProps({allowDisassociation:t.allowDisassociation})}},allowSelectExistingRecord:{title:(0,r.tExpr)("Enable select action"),uiMode:{type:"switch",key:"allowSelectExistingRecord"},defaultParams:{allowSelectExistingRecord:!0},handler(e,t){e.model.setProps({allowSelectExistingRecord:t.allowSelectExistingRecord})}}}}),i5.registerFlow({key:"popupSettings",title:(0,r.tExpr)("Edit setting"),on:{eventName:"openAddRecordView"},sort:300,steps:{openView:{title:(0,r.tExpr)("Edit popup (Add new)"),hideInSettings(e){var t,l,o;return!1===(null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"advanceSubTableAssociation","allowAddNew"))?void 0:t.allowAddNew)},uiSchema:{mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}},defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l,o,n,i;let r={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},a=e.inputArgs.mode||t.mode||"drawer",s=e.inputArgs.size||t.size||"medium",d=(null==e?void 0:e.item)??{value:("function"==typeof(null==e?void 0:e.getFormValues)?e.getFormValues():e.formValues)??e.record},u=null==e||null==(l=e.getPropertyOptions)?void 0:l.call(e,"item"),c=Array.isArray(null==(n=e.model)||null==(o=n.props)?void 0:o.value)?e.model.props.value.length:0,p=c+1;e.viewer.open({type:a,width:r[a][s],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"subForm",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(i=e.collectionField)?void 0:i.target,collectionField:e.collectionField,parentItem:d,parentItemMeta:null==u?void 0:u.meta,parentItemResolver:null==u?void 0:u.resolveOnServer,itemIndex:c,itemLength:p},content:()=>(0,m.jsx)(iW,{model:e.model,scene:"create"}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===a?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),i5.registerFlow({key:"selectExitRecordSettings",title:(0,r.tExpr)("Selector setting"),sort:400,on:{eventName:"openSelectRecordView"},steps:{openView:{title:(0,r.tExpr)("Edit popup (Select record)"),hideInSettings(e){var t,l,o;return!(null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"advanceSubTableAssociation","allowSelectExistingRecord"))?void 0:t.allowSelectExistingRecord)},uiSchema:e=>({mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group"}}),defaultParams:{mode:"drawer",size:"medium"},handler(e,t){var l;let o={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},n=e.isMobileLayout?"embed":e.inputArgs.mode||t.mode||"drawer",i=e.inputArgs.size||t.size||"medium";e.model.selectedRows.value=e.model.props.value||[];let r=e.inputArgs.currentItemValue??e.model.props.value??[];e.viewer.open({type:n,width:o[n][i],inheritContext:!1,target:e.layoutContentElement,inputArgs:{parentId:e.model.uid,scene:"select",dataSourceKey:e.collection.dataSourceKey,collectionName:null==(l=e.collectionField)?void 0:l.target,collectionField:e.collectionField,...n2(e,{currentItemValue:r}),rowSelectionProps:{type:"checkbox",defaultSelectedRows:()=>e.model.props.value,renderCell:void 0,selectedRowKeys:void 0,onChange:(t,l)=>{let o=e.model.props.value||[],n=e.collection.filterTargetKey,i=[...o,...l.map(e=>({...e,__is_stored__:!0}))],r=new Map,a=[];for(let e of i){let t=iQ(e,n);if(null==t){a.push(e);continue}r.has(t)||(r.set(t,e),a.push(e))}e.model.selectedRows.value=a}}},content:()=>(0,m.jsx)(n4,{model:e.model}),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===n?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}}})}}}}),i5.registerFlow({key:"AdvancedSubTableUpdateRowSettings",on:"updateRow",steps:{updateRow:{async handler(e,t){var l;let o,n=e.inputArgs.updatedRecord,i=(null==(l=e.model.props)?void 0:l.value)||[],r=e.collection.filterTargetKey,a=n[r],s=-1;n.__is_new__?s=i.findIndex(e=>e.__index__===n.__index__):a&&(s=i.findIndex(e=>e[r]===a)),-1===s?o=[...i,{...n,__is_new__:!0,__index__:(0,H.uid)()}]:(o=[...i])[s]={...i[s],...n},e.model.props.onChange(o);let d=Math.ceil(o.length/e.model.currentPageSize);e.model.setCurrentPage(d)}}}}),i5.registerFlow({key:"AdvancedSubTableRemoveRowSettings",on:"removeRow",steps:{removeRow:{async handler(e,t){var l;let o=e.inputArgs.removeRecord,n=e.collection.filterTargetKey,i=(null==(l=e.model.props)?void 0:l.value)||[],r="object"==typeof o?o[n]:o,a=-1;if(-1===(a=o.__is_new__?i.findIndex(e=>e.__index__===o.__index__):i.findIndex(e=>e[n]===r)))return i;let s=i.slice();s.splice(a,1),e.model.props.onChange(s)}}}}),i5.registerFlow({key:"paginationChange",on:"paginationChange",steps:{pageRefresh:{handler(e,t){e.model.setProps({resetPage:(0,H.uid)()})}}}}),i5.define({label:(0,r.tExpr)("Subtable (Popup editing)"),createModelOptions:{use:"PopupSubTableFieldModel",subModels:{subTableColumns:[{use:"PopupSubTableActionsColumnModel",subModels:{actions:[{use:"PopupSubTableEditActionModel"},{use:"PopupSubTableRemoveActionModel"}]}}]}}}),r.EditableItemModel.bindModelToInterface("PopupSubTableFieldModel",["m2m","o2m","mbm"],{order:300,when:(e,t)=>!t.targetCollection||"file"!==t.targetCollection.template});class i4 extends iJ{async onDispatchEventStart(e){"beforeRender"===e&&(this.onClick=e=>{this.dispatchEvent("click",{event:e,...this.getInputArgs()},{debounce:!0})})}constructor(...e){super(...e),this.defaultProps={type:"link",title:(0,r.tExpr)("Remove")}}}i4.define({label:(0,r.tExpr)("Remove")}),i4.registerFlow({key:"subTableRemoveActionSettings",steps:{disableProps:{async handler(e,t){var l,o,n;if(!e.model.context.associationModel)return;let i=null==(o=(n=e.model.context.associationModel).getStepParams)||null==(l=o.call(n,"advanceSubTableAssociation","allowDisassociation"))?void 0:l.allowDisassociation,r=e.record;!1!==i||r.__is_new__||r.__is_stored__?e.model.setProps({disabled:!1}):e.model.setProps({disabled:!0})}}}}),i4.registerFlow({key:"deleteSettings",title:(0,r.tExpr)("Delete settings"),on:"click",steps:{confirm:{use:"confirm",defaultParams:{enable:!0,title:(0,r.tExpr)("Remove record"),content:(0,r.tExpr)("Are you sure you want to remove it?")}},delete:{async handler(e,t){e.model.context.associationModel.dispatchEvent("removeRow",{removeRecord:e.record})}}}}),i4.registerFlow({key:"enableRemoveChange",on:"enableRemoveChange",steps:{pageRefresh:{handler(e,t){console.log(e,999999)}}}});class i8 extends j{}i8.registerActionModels({PopupSubTableEditActionModel:iX,PopupSubTableRemoveActionModel:i4});let i3=(0,__rspack_external__formily_reactive_react_41406960.observer)(e=>{let{record:t,model:l,index:o,_subTableModel:n}=e;return(0,m.jsx)(r.DndProvider,{children:(0,m.jsx)(_.Space,{wrap:!0,size:"middle",className:(0,e9.css)`
|
|
600
600
|
> div:empty {
|
|
601
601
|
display: none;
|
|
602
602
|
}
|
|
603
603
|
button {
|
|
604
604
|
padding: 0;
|
|
605
605
|
}
|
|
606
|
-
`,children:l.mapSubModels("actions",e=>{var l;let i=e.createFork({});i.invalidateFlowCache("beforeRender");let a=(0,r.createRecordMetaFactory)(()=>i.context.collection,i.context.t("Current record"),e=>{var t;let l=e.collection,o=e.record,n=null==l?void 0:l.name,i=null==l?void 0:l.dataSourceKey,r=null==l||null==(t=l.getFilterByTK)?void 0:t.call(l,o);if(n&&null!=r)return{collection:n,dataSourceKey:i,filterByTk:r}});return i.context.defineProperty("record",{get:()=>t,cache:!1,resolveOnServer:(0,r.createRecordResolveOnServerWithLocal)(()=>i.context.collection,()=>t),meta:a}),i.context.defineProperty("recordIndex",{get:()=>t.__index__||o}),i.context.defineProperty("associationModel",{value:n}),(0,m.jsx)(r.Droppable,{model:e,children:(0,m.jsx)(r.FlowModelRenderer,{showFlowSettings:{showBorder:!1,toolbarPosition:"above"},model:i,inputArgs:{record:t,allowDisassociation:null==n||null==(l=n.props)?void 0:l.allowDisassociation},fallback:(0,m.jsx)(_.Skeleton.Button,{size:"small"}),extraToolbarItems:[{key:"drag-handler",component:r.DragHandler,sort:1}]},i.uid)},e.uid)})})})}),
|
|
606
|
+
`,children:l.mapSubModels("actions",e=>{var l;let i=e.createFork({});i.invalidateFlowCache("beforeRender");let a=(0,r.createRecordMetaFactory)(()=>i.context.collection,i.context.t("Current record"),e=>{var t;let l=e.collection,o=e.record,n=null==l?void 0:l.name,i=null==l?void 0:l.dataSourceKey,r=null==l||null==(t=l.getFilterByTK)?void 0:t.call(l,o);if(n&&null!=r)return{collection:n,dataSourceKey:i,filterByTk:r}});return i.context.defineProperty("record",{get:()=>t,cache:!1,resolveOnServer:(0,r.createRecordResolveOnServerWithLocal)(()=>i.context.collection,()=>t),meta:a}),i.context.defineProperty("recordIndex",{get:()=>t.__index__||o}),i.context.defineProperty("associationModel",{value:n}),(0,m.jsx)(r.Droppable,{model:e,children:(0,m.jsx)(r.FlowModelRenderer,{showFlowSettings:{showBorder:!1,toolbarPosition:"above"},model:i,inputArgs:{record:t,allowDisassociation:null==n||null==(l=n.props)?void 0:l.allowDisassociation},fallback:(0,m.jsx)(_.Skeleton.Button,{size:"small"}),extraToolbarItems:[{key:"drag-handler",component:r.DragHandler,sort:1}]},i.uid)},e.uid)})})})}),i6=e=>{let{model:t}=e;return(0,m.jsx)(r.AddSubModelButton,{model:t,subModelBaseClass:t.context.getModelClassName("PopupSubTableActionGroupModel"),subModelKey:"actions",afterSubModelInit:async e=>{e.setStepParams("buttonSettings","general",{type:"link"})},children:(0,m.jsx)(E.PlusOutlined,{})},"table-row-actions-add")};class i9 extends no{async afterAddAsSubModel(){await this.dispatchEvent("beforeRender")}getColumnProps(e){var t;if(this._subTableModel=e,this.hidden&&!(null==(t=this.flowEngine.flowSettings)?void 0:t.enabled))return null;let l=(0,m.jsx)(r.Droppable,{model:this,children:(0,m.jsx)(r.FlowsFloatContextMenu,{model:this,containerStyle:{display:"block",padding:"11px 8px",margin:"-11px -8px"},showBorder:!1,extraToolbarItems:[{key:"add-record-action",component:i6},{key:"drag-handler",component:r.DragHandler,sort:1}],children:(0,m.jsx)("div",{className:(0,e9.css)`
|
|
607
607
|
overflow: hidden;
|
|
608
608
|
text-overflow: ellipsis;
|
|
609
609
|
white-space: nowrap;
|
|
610
610
|
width: calc(${this.props.width}px - 16px);
|
|
611
|
-
`,children:this.props.title})})});return{...this.props,title:this.props.tooltip?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[l,(0,m.jsx)(_.Tooltip,{title:this.props.tooltip,children:(0,m.jsx)(E.QuestionCircleOutlined,{style:{cursor:"pointer"}})})]}):l,render:this.render()}}render(){return(e,t,l)=>{var o;return(0,m.jsx)("div",{className:(0,
|
|
611
|
+
`,children:this.props.title})})});return{...this.props,title:this.props.tooltip?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[l,(0,m.jsx)(_.Tooltip,{title:this.props.tooltip,children:(0,m.jsx)(E.QuestionCircleOutlined,{style:{cursor:"pointer"}})})]}):l,render:this.render()}}render(){return(e,t,l)=>{var o;return(0,m.jsx)("div",{className:(0,e9.css)`
|
|
612
612
|
max-width: ${this.props.width-8}px;
|
|
613
613
|
text-overflow: ellipsis;
|
|
614
614
|
white-space: nowrap;
|
|
@@ -617,10 +617,10 @@ ctx.render(\`
|
|
|
617
617
|
&:hover {
|
|
618
618
|
overflow: ${(null==(o=this.flowEngine.flowSettings)?void 0:o.enabled)?"visible":"hidden"}; /* 鼠标悬停时,内容可见 */
|
|
619
619
|
}
|
|
620
|
-
`,children:(0,m.jsx)(i4,{record:t,model:this,index:l,_subTableModel:this._subTableModel})})}}}i3.define({label:'{{t("Actions")}}',createModelOptions:{stepParams:{tableColumnSettings:{title:{title:'{{t("Actions")}}'}}}},hide:e=>!e.disableFieldClickToOpen});class i6 extends ts.F4{onInit(e){var t,l,o,n,i;super.onInit(e);let r=()=>{var e,t,l;return nq((null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.record)||{},null==(l=this.context.collection)?void 0:l.filterTargetKey)};this.context.defineProperty("resourceName",{get:()=>this.context.collection.name}),this.context.defineProperty("record",{get:()=>r().record,cache:!1});let a=nz(()=>{var e;return(null==(e=this.context.view)?void 0:e.inputArgs)||{}}),s=nO({valueAccessor:()=>this.context.formValues,parentItemAccessor:()=>{var e,t;return null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.parentItem},indexAccessor:()=>{var e,t;let l=null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.itemIndex;return"number"==typeof l?l:void 0},lengthAccessor:()=>{var e,t;let l=null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.itemLength;return"number"==typeof l?l:void 0},isNewAccessor:()=>r().isNew,isStoredAccessor:()=>r().isStored});this.context.defineProperty("item",{get:s,...nX({t:this.context.t,title:n$(this.context.t,null==(l=this.context.view)||null==(t=l.inputArgs)?void 0:t.collectionField),showParentIndex:"number"==typeof(null==(i=this.context.view)||null==(n=i.inputArgs)||null==(o=n.parentItem)?void 0:o.index),collectionAccessor:()=>this.context.collection,propertiesAccessor:e=>{var t;return null==e||null==(t=e.item)?void 0:t.value},resolverPropertiesAccessor:()=>this.context.formValues,parentCollectionAccessor:()=>{var e,t,l;return null==(l=this.context.view)||null==(t=l.inputArgs)||null==(e=t.collectionField)?void 0:e.collection},parentAccessors:a})})}createResource(e,t){let l=this.context.createResource(r.SingleRecordResource);return l.isNewRecord=!1,l}defaultBlockTitle(){var e,t,l,o,n,i;let r=(null==(e=this.dataSource)?void 0:e.displayName)||(null==(t=this.dataSource)?void 0:t.key),a=(null==(n=this.context)||null==(o=n.dataSourceManager)||null==(l=o.getDataSources)?void 0:l.call(o).length)||0,s=null==(i=this.collection)?void 0:i.title,d=a>1&&!!r,u=`${d?`${r} > `:""}${s}`;return`${i9(this)}: ${u}`}static async defineChildren(e){let t=t=>{var l;if(!(null==(l=this.meta)?void 0:l.createModelOptions))return t||{};if("function"==typeof this.meta.createModelOptions){let l=this.meta.createModelOptions(e);return S.default.merge({},l,t)}return S.default.merge({},this.meta.createModelOptions,t)},l=e=>this.name+e,{dataSourceKey:o,collectionName:n}=e.view.inputArgs,i={dataSourceKey:o,collectionName:n};return[{key:l("current-record"),label:"Current record",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:i}}})}]}async onMount(){super.onMount()}renderComponent(){let{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n}=this.props,i=!!this.context.flowSettingsEnabled;return(0,m.jsxs)(ts.s2,{model:this,layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n},children:[(0,m.jsx)(r.FlowModelRenderer,{model:this.subModels.grid,showFlowSettings:!1}),(0,m.jsx)(r.DndProvider,{children:(0,m.jsxs)(_.Space,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||i)return(0,m.jsx)(r.Droppable,{model:e,children:(0,m.jsx)(r.MemoFlowModelRenderer,{model:e,showFlowSettings:!!this.context.flowSettingsEnabled&&this.actionFlowSettings,extraToolbarItems:this.actionExtraToolbarItems},e.uid)},e.uid)}),this.renderConfigureActions()]})})]})}constructor(...e){super(...e),this.actionFlowSettings={showBackground:!1,showBorder:!1,toolbarPosition:"above"},this.actionExtraToolbarItems=[{key:"drag-handler",component:r.DragHandler,sort:1}],this._defaultCustomModelClasses={FormActionGroupModel:"PopupSubTableFormActionGroupModel",FormItemModel:"FormItemModel",FormCustomItemModel:"FormCustomItemModel",FormAssociationFieldGroupModel:"FormAssociationFieldGroupModel"}}}i6.scene=eo.P.subForm;let i9=e=>{var t;let l=(null==(t=e.parent)?void 0:t.actionName)||e.actionName;return e.context.t,"create"===l?"Form (Add new)":"Form (Edit)"},i7=()=>i9((0,r.useFlowModel)());i6.registerFlow({key:"init",steps:{init:{handler(e,t){let l=e.record[e.collection.filterTargetKey];!e.record.__is_new__&&l?(e.resource.setFilterByTk(l),e.resource.on("refresh",async()=>{let t=S.default.merge({},e.resource.getData(),e.record);t&&e.form&&e.form.setFieldsValue(t)})):e.resource.isNewRecord=!0}}}}),i6.define({label:(0,m.jsx)(i7,{}),searchable:!0,searchPlaceholder:(0,r.tExpr)("Search"),createModelOptions:{use:"PopupSubTableFormModel",subModels:{grid:{use:"FormGridModel"}}},sort:340});class re extends es.o{render(){return(0,m.jsx)(_.Checkbox,{...this.props,checked:this.props.value,onChange:e=>{this.props.onChange(e.target.checked)}})}}r.EditableItemModel.bindModelToInterface("CheckboxFieldModel",["checkbox"],{isDefault:!0});class rt extends es.o{render(){return(0,m.jsx)(_.Checkbox.Group,{...this.props})}}rt.define({label:(0,r.tExpr)("CheckboxGroup")}),r.EditableItemModel.bindModelToInterface("CheckboxGroupFieldModel",["checkboxGroup"],{isDefault:!0});let rl=e=>{let{filter:t,options:l,...o}=e,{t:n}=(0,F.useTranslation)(),i=(0,h.useCallback)((e,t)=>((null==t?void 0:t.label.toLowerCase())??"").includes(e.toLocaleLowerCase())||((null==t?void 0:t.value.toString().toLowerCase())??"").includes(e.toLocaleLowerCase()),[]);return(0,m.jsx)(_.Select,{role:"button","data-testid":"select-collection",placeholder:n("Select collection"),popupMatchSelectWidth:!1,...o,showSearch:!0,filterOption:i,options:l})};class ro extends es.o{render(){return(0,m.jsx)(rl,{...this.props})}}ro.registerFlow({key:"collectionSelectFlow",sort:5e3,steps:{init:{handler(e){if(e.model.props.isTableOid){let t=e.dataSourceManager.getDataSource("main").collectionManager.getChildrenCollections(e.collectionField.collectionName),l=(0,S.castArray)(e.collectionField.collection).concat(t).map(e=>({label:e.title||e.name,value:e.name||e.value}));e.model.setProps({options:l})}else{let t=e.dataSourceManager.getDataSource("main").getCollections(),l=e.model.context.collectionField.enum||[],o=t.filter(e=>!e.options.hidden).filter(e=>!l.length||l.find(t=>t.value===e.name)).map(e=>{var t;return{label:e.title||e.name,value:e.name||e.value,color:null==(t=e.category)?void 0:t.color}});e.model.setProps({options:o})}}}}}),r.EditableItemModel.bindModelToInterface("CollectionSelectorFieldModel",["collection","tableoid"],{isDefault:!0});let rn=e=>{let t=(0,r.useFlowEngineContext)(),l={...e,trigger:"hover",style:{maWidth:30},destroyTooltipOnHide:!0,onChange:t=>{(null==t?void 0:t.cleared)?e.onChange(null):e.onChange(t.toHexString())},presets:[{label:t.t("Recommended"),colors:["#8BBB11","#52C41A","#13A8A8","#1677FF","#F5222D","#FADB14","#FA8C164D","#FADB144D","#52C41A4D","#1677FF4D","#2F54EB4D","#722ED14D","#EB2F964D"]}]};return(0,m.jsx)(_.ColorPicker,{allowClear:!0,...l})};class ri extends es.o{render(){return(0,m.jsx)(rn,{...this.props})}}r.EditableItemModel.bindModelToInterface("ColorFieldModel",["color"],{isDefault:!0});var rr=l(1815);class ra extends es.o{}ra.registerFlow({key:"datetimeSettings",sort:3e3,title:(0,r.tExpr)("Datetime settings"),steps:{dateFormat:{use:"dateDisplayFormat",title:(0,r.tExpr)("Date display format")}}});let rs=e=>{let{value:t,onChange:l,dateFormat:o="YYYY-MM-DD",timeFormat:n="HH:mm",showTime:i=!1,picker:a,disabled:s,dateOnly:u,utc:c,minDate:p,maxDate:f,...g}=e,[v,y]=(0,h.useState)(!1),b=(0,r.useFlowModelContext)().t,x=(0,h.useCallback)(e=>{y(!1),l((0,d.dayjs)(e))},[l]),M=(0,h.useCallback)(()=>{y(!1),l(null)},[l]),w=(0,h.useCallback)((e,t)=>t,[]),S=p?p.toDate():new Date(1950,0,1),k=f?f.toDate():new Date(2050,11,31);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{onClick:()=>!s&&y(!0),children:(0,m.jsx)(_.DatePicker,{onClick:()=>y(!0),value:t,picker:a,disabled:s,...g,popupStyle:{display:"none"},style:{pointerEvents:"none",width:"100%"}})}),(0,m.jsx)(__rspack_external_antd_mobile_0b674875.DatePicker,{...g,cancelText:b("Cancel"),confirmText:b("Confirm"),visible:v,title:(0,m.jsx)("a",{onClick:M,children:b("Clear")}),onClose:()=>{y(!1)},precision:i&&"date"===a?rd(n):"date"===a?"day":a,renderLabel:w,min:S,max:k,onConfirm:e=>{x(e)}})]})};function rd(e){let t=e.toLowerCase();if(/\bss?\b/.test(t))return"second";if(/\bmm?\b/.test(t))return"minute";if(/\bhh?\b/.test(t))return"hour";throw Error("Invalid time format")}let ru=e=>{let{value:t,format:l="YYYY-MM-DD",picker:o="date",showTime:n,...i}=e,a=t&&(0,rr.default)(t).isValid()?(0,rr.default)(t):null,s=(0,r.useFlowModelContext)(),d={...i,value:a,format:l,picker:o,showTime:n,onChange:t=>{let l="YYYY-MM-DD";t?"date"===o?e.onChange(t.format(l)):e.onChange(t.startOf(o).format(l)):e.onChange(void 0)}};return s.isMobileLayout?(0,m.jsx)(rs,{...d}):(0,m.jsx)(_.DatePicker,{...d})};class rc extends ra{setProps(e){super.setProps({...e,showTime:!1,utc:!1})}render(){return(0,m.jsx)(ru,{...this.props,style:{width:"100%"}})}}r.EditableItemModel.bindModelToInterface("DateOnlyFieldModel",["date"],{isDefault:!0});let rp=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",showTime:o,picker:n="date",onChange:i,...a}=e,s=t?(0,rr.default)(t):null,d=(0,r.useFlowModelContext)(),u={...a,value:s,format:l,picker:n,showTime:o,onChange:e=>{if(!e)return i(e);let t=o?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD";i(("date"!==n?(0,rr.default)(e).startOf(n):(0,rr.default)(e)).format(t))}};return d.isMobileLayout?(0,m.jsx)(rs,{...u}):(0,m.jsx)(_.DatePicker,{...u})};class rm extends ra{render(){return(0,m.jsx)(rp,{...this.props,style:{width:"100%"}})}}function rh(e,t){if(!e)return;if(e instanceof Date)return e;if(d.dayjs.isDayjs(e))return e.toDate();let l=String(e).trim();if(!l)return;if(t){let e=(0,d.dayjs)(l,t,!0);return e.isValid()?e.toDate():void 0}let o=(0,d.dayjs)(l);return o.isValid()?o.toDate():void 0}function rf(e,t){if(!e)return null;if(e instanceof Date)return(0,d.dayjs)(e);let l=String(e).trim();if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z?$/.test(l)){let e=d.dayjs.utc(l).local();return e.isValid()?e:null}if(t){let e=d.dayjs.utc(l,t,!0).local();return e.isValid()?e:null}let o=(0,d.dayjs)(l);return o.isValid()?o:null}r.EditableItemModel.bindModelToInterface("DateTimeNoTzFieldModel",["datetimeNoTz"],{isDefault:!0});let rg=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",picker:o="date",showTime:n,...i}=e,a=(0,r.useFlowModelContext)(),s={...i,value:rf(t,l),format:l,picker:o,showTime:n,onChange:e=>{let t=rh(e,l);if(t&&"date"!==o){let e=(0,d.dayjs)(t);e.isValid()&&(t=e.startOf(o).toDate())}i.onChange(t)}};return a.isMobileLayout?(0,m.jsx)(rs,{...s}):(0,m.jsx)(_.DatePicker,{...s})};class rv extends ra{setProps(e){super.setProps({...e,utc:!0})}render(){return(0,m.jsx)(rg,{...this.props,style:{width:"100%"}})}}r.EditableItemModel.bindModelToInterface("DateTimeTzFieldModel",["createdAt","datetime","updatedAt","unixTimestamp"],{isDefault:!0});let{Search:ry}=_.Input,r_=e=>(0,S.groupBy)(e,e=>e.endsWith("outlined")?"Outlined":e.endsWith("filled")?"Filled":e.endsWith("twotone")?"TwoTone":void 0);function rb(e){let{fontSizeXL:t}=_.theme.useToken().token,l=[...a.Pt.keys()],o=(0,lg.useFormLayout)(),{value:n,onChange:i,disabled:r,iconSize:s=t,searchable:d=!0,onChangeComplete:u}=e,[c,p]=(0,h.useState)(!1),[f,g]=(0,h.useState)(l),[v,y]=(0,h.useState)("Outlined"),{t:b}=(0,F.useTranslation)(),x=r_(l),M={width:"26em",[`${d?"height":"maxHeight"}`]:"20em",overflowY:"auto"},w=(0,S.debounce)(e=>{let t=(null==e?void 0:e.trim())??"";g(t.length?l.filter(e=>e.split(" ").some(e=>e.includes(t))):l)},250),k=()=>(0,m.jsxs)(_.Flex,{vertical:!0,gap:"middle",children:[(0,m.jsx)(_.Radio.Group,{options:[{label:b("Outlined"),value:"Outlined"},{label:b("Filled"),value:"Filled"},{label:b("Two tone"),value:"TwoTone"}],value:v,optionType:"button",onChange:e=>{y(e.target.value)}}),(0,m.jsx)("div",{children:x[v].map(e=>{if(f.includes(e))return(0,m.jsx)("span",{title:e.replace(/outlined|filled|twotone$/i,""),style:{fontSize:s,marginRight:10,cursor:"pointer"},onClick:()=>{i(e),p(!1),null==u||u(e)},children:(0,m.jsx)(a.In,{type:e})},e)})})]});return(0,m.jsx)("div",{children:(0,m.jsxs)(_.Space.Compact,{children:[(0,m.jsx)(_.Popover,{placement:"bottom",open:c,onOpenChange:e=>{r||p(e)},content:(0,m.jsx)("div",{style:M,children:0===f.length?(0,m.jsx)(_.Empty,{image:_.Empty.PRESENTED_IMAGE_SIMPLE}):(0,m.jsx)(k,{})}),title:(0,m.jsx)("div",{children:d&&(0,m.jsx)(ry,{style:{marginTop:8},role:"search",name:"icon-search",placeholder:b("Search"),allowClear:!0,onSearch:w,onChange:e=>{var t;return w(null==(t=e.target)?void 0:t.value)}})}),trigger:"click",children:(0,m.jsx)(_.Button,{size:o.size,disabled:r,children:(0,a.cE)(n)?(0,m.jsx)(a.In,{type:n}):b("Select icon")})}),n&&!r&&(0,m.jsx)(_.Button,{size:o.size,icon:(0,m.jsx)(E.CloseOutlined,{}),onClick:e=>{i(null)}})]})})}class rx extends es.o{render(){return(0,m.jsx)(rb,{...this.props})}}r.EditableItemModel.bindModelToInterface("IconFieldModel",["icon"],{isDefault:!0});let rM=(0,e6.css)`
|
|
620
|
+
`,children:(0,m.jsx)(i3,{record:t,model:this,index:l,_subTableModel:this._subTableModel})})}}}i9.define({label:'{{t("Actions")}}',createModelOptions:{stepParams:{tableColumnSettings:{title:{title:'{{t("Actions")}}'}}}},hide:e=>!e.disableFieldClickToOpen});class i7 extends td.F4{onInit(e){var t,l,o,n,i;super.onInit(e);let r=()=>{var e,t,l;return n$((null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.record)||{},null==(l=this.context.collection)?void 0:l.filterTargetKey)};this.context.defineProperty("resourceName",{get:()=>this.context.collection.name}),this.context.defineProperty("record",{get:()=>r().record,cache:!1});let a=nK(()=>{var e;return(null==(e=this.context.view)?void 0:e.inputArgs)||{}}),s=nH({valueAccessor:()=>this.context.formValues,parentItemAccessor:()=>{var e,t;return null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.parentItem},indexAccessor:()=>{var e,t;let l=null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.itemIndex;return"number"==typeof l?l:void 0},lengthAccessor:()=>{var e,t;let l=null==(t=this.context.view)||null==(e=t.inputArgs)?void 0:e.itemLength;return"number"==typeof l?l:void 0},isNewAccessor:()=>r().isNew,isStoredAccessor:()=>r().isStored});this.context.defineProperty("item",{get:s,...nQ({t:this.context.t,title:nV(this.context.t,null==(l=this.context.view)||null==(t=l.inputArgs)?void 0:t.collectionField),showParentIndex:"number"==typeof(null==(i=this.context.view)||null==(n=i.inputArgs)||null==(o=n.parentItem)?void 0:o.index),collectionAccessor:()=>this.context.collection,propertiesAccessor:e=>{var t;return null==e||null==(t=e.item)?void 0:t.value},resolverPropertiesAccessor:()=>this.context.formValues,parentCollectionAccessor:()=>{var e,t,l;return null==(l=this.context.view)||null==(t=l.inputArgs)||null==(e=t.collectionField)?void 0:e.collection},parentAccessors:a})})}createResource(e,t){let l=this.context.createResource(r.SingleRecordResource);return l.isNewRecord=!1,l}defaultBlockTitle(){var e,t,l,o,n,i;let r=(null==(e=this.dataSource)?void 0:e.displayName)||(null==(t=this.dataSource)?void 0:t.key),a=(null==(n=this.context)||null==(o=n.dataSourceManager)||null==(l=o.getDataSources)?void 0:l.call(o).length)||0,s=null==(i=this.collection)?void 0:i.title,d=a>1&&!!r,u=`${d?`${r} > `:""}${s}`;return`${re(this)}: ${u}`}static async defineChildren(e){let t=t=>{var l;if(!(null==(l=this.meta)?void 0:l.createModelOptions))return t||{};if("function"==typeof this.meta.createModelOptions){let l=this.meta.createModelOptions(e);return S.default.merge({},l,t)}return S.default.merge({},this.meta.createModelOptions,t)},l=e=>this.name+e,{dataSourceKey:o,collectionName:n}=e.view.inputArgs,i={dataSourceKey:o,collectionName:n};return[{key:l("current-record"),label:"Current record",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:i}}})}]}async onMount(){super.onMount()}renderComponent(){let{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n}=this.props,i=!!this.context.flowSettingsEnabled;return(0,m.jsxs)(td.s2,{model:this,layoutProps:{colon:e,labelAlign:t,labelWidth:l,labelWrap:o,layout:n},children:[(0,m.jsx)(r.FlowModelRenderer,{model:this.subModels.grid,showFlowSettings:!1}),(0,m.jsx)(r.DndProvider,{children:(0,m.jsxs)(_.Space,{wrap:!0,children:[this.mapSubModels("actions",e=>{if(!e.hidden||i)return(0,m.jsx)(r.Droppable,{model:e,children:(0,m.jsx)(r.MemoFlowModelRenderer,{model:e,showFlowSettings:!!this.context.flowSettingsEnabled&&this.actionFlowSettings,extraToolbarItems:this.actionExtraToolbarItems},e.uid)},e.uid)}),this.renderConfigureActions()]})})]})}constructor(...e){super(...e),this.actionFlowSettings={showBackground:!1,showBorder:!1,toolbarPosition:"above"},this.actionExtraToolbarItems=[{key:"drag-handler",component:r.DragHandler,sort:1}],this._defaultCustomModelClasses={FormActionGroupModel:"PopupSubTableFormActionGroupModel",FormItemModel:"FormItemModel",FormCustomItemModel:"FormCustomItemModel",FormAssociationFieldGroupModel:"FormAssociationFieldGroupModel"}}}i7.scene=en.P.subForm;let re=e=>{var t;let l=(null==(t=e.parent)?void 0:t.actionName)||e.actionName;return e.context.t,"create"===l?"Form (Add new)":"Form (Edit)"},rt=()=>re((0,r.useFlowModel)());i7.registerFlow({key:"init",steps:{init:{handler(e,t){let l=e.record[e.collection.filterTargetKey];!e.record.__is_new__&&l?(e.resource.setFilterByTk(l),e.resource.on("refresh",async()=>{let t=S.default.merge({},e.resource.getData(),e.record);t&&e.form&&e.form.setFieldsValue(t)})):e.resource.isNewRecord=!0}}}}),i7.define({label:(0,m.jsx)(rt,{}),searchable:!0,searchPlaceholder:(0,r.tExpr)("Search"),createModelOptions:{use:"PopupSubTableFormModel",subModels:{grid:{use:"FormGridModel"}}},sort:340});class rl extends ed.o{render(){return(0,m.jsx)(_.Checkbox,{...this.props,checked:this.props.value,onChange:e=>{this.props.onChange(e.target.checked)}})}}r.EditableItemModel.bindModelToInterface("CheckboxFieldModel",["checkbox"],{isDefault:!0});class ro extends ed.o{render(){return(0,m.jsx)(_.Checkbox.Group,{...this.props})}}ro.define({label:(0,r.tExpr)("CheckboxGroup")}),r.EditableItemModel.bindModelToInterface("CheckboxGroupFieldModel",["checkboxGroup"],{isDefault:!0});let rn=e=>{let{filter:t,options:l,...o}=e,{t:n}=(0,F.useTranslation)(),i=(0,h.useCallback)((e,t)=>((null==t?void 0:t.label.toLowerCase())??"").includes(e.toLocaleLowerCase())||((null==t?void 0:t.value.toString().toLowerCase())??"").includes(e.toLocaleLowerCase()),[]);return(0,m.jsx)(_.Select,{role:"button","data-testid":"select-collection",placeholder:n("Select collection"),popupMatchSelectWidth:!1,...o,showSearch:!0,filterOption:i,options:l})};class ri extends ed.o{render(){return(0,m.jsx)(rn,{...this.props})}}ri.registerFlow({key:"collectionSelectFlow",sort:5e3,steps:{init:{handler(e){if(e.model.props.isTableOid){let t=e.dataSourceManager.getDataSource("main").collectionManager.getChildrenCollections(e.collectionField.collectionName),l=(0,S.castArray)(e.collectionField.collection).concat(t).map(e=>({label:e.title||e.name,value:e.name||e.value}));e.model.setProps({options:l})}else{let t=e.dataSourceManager.getDataSource("main").getCollections(),l=e.model.context.collectionField.enum||[],o=t.filter(e=>!e.options.hidden).filter(e=>!l.length||l.find(t=>t.value===e.name)).map(e=>{var t;return{label:e.title||e.name,value:e.name||e.value,color:null==(t=e.category)?void 0:t.color}});e.model.setProps({options:o})}}}}}),r.EditableItemModel.bindModelToInterface("CollectionSelectorFieldModel",["collection","tableoid"],{isDefault:!0});let rr=e=>{let t=(0,r.useFlowEngineContext)(),l={...e,trigger:"hover",style:{maWidth:30},destroyTooltipOnHide:!0,onChange:t=>{(null==t?void 0:t.cleared)?e.onChange(null):e.onChange(t.toHexString())},presets:[{label:t.t("Recommended"),colors:["#8BBB11","#52C41A","#13A8A8","#1677FF","#F5222D","#FADB14","#FA8C164D","#FADB144D","#52C41A4D","#1677FF4D","#2F54EB4D","#722ED14D","#EB2F964D"]}]};return(0,m.jsx)(_.ColorPicker,{allowClear:!0,...l})};class ra extends ed.o{render(){return(0,m.jsx)(rr,{...this.props})}}r.EditableItemModel.bindModelToInterface("ColorFieldModel",["color"],{isDefault:!0});var rs=l(1815);class rd extends ed.o{}rd.registerFlow({key:"datetimeSettings",sort:3e3,title:(0,r.tExpr)("Datetime settings"),steps:{dateFormat:{use:"dateDisplayFormat",title:(0,r.tExpr)("Date display format")}}});let ru=e=>{let{value:t,onChange:l,dateFormat:o="YYYY-MM-DD",timeFormat:n="HH:mm",showTime:i=!1,picker:a,disabled:s,dateOnly:u,utc:c,minDate:p,maxDate:f,...g}=e,[v,y]=(0,h.useState)(!1),b=(0,r.useFlowModelContext)().t,x=(0,h.useCallback)(e=>{y(!1),l((0,d.dayjs)(e))},[l]),M=(0,h.useCallback)(()=>{y(!1),l(null)},[l]),w=(0,h.useCallback)((e,t)=>t,[]),S=p?p.toDate():new Date(1950,0,1),k=f?f.toDate():new Date(2050,11,31);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{onClick:()=>!s&&y(!0),children:(0,m.jsx)(_.DatePicker,{onClick:()=>y(!0),value:t,picker:a,disabled:s,...g,popupStyle:{display:"none"},style:{pointerEvents:"none",width:"100%"}})}),(0,m.jsx)(__rspack_external_antd_mobile_0b674875.DatePicker,{...g,cancelText:b("Cancel"),confirmText:b("Confirm"),visible:v,title:(0,m.jsx)("a",{onClick:M,children:b("Clear")}),onClose:()=>{y(!1)},precision:i&&"date"===a?rc(n):"date"===a?"day":a,renderLabel:w,min:S,max:k,onConfirm:e=>{x(e)}})]})};function rc(e){let t=e.toLowerCase();if(/\bss?\b/.test(t))return"second";if(/\bmm?\b/.test(t))return"minute";if(/\bhh?\b/.test(t))return"hour";throw Error("Invalid time format")}let rp=e=>{let{value:t,format:l="YYYY-MM-DD",picker:o="date",showTime:n,...i}=e,a=t&&(0,rs.default)(t).isValid()?(0,rs.default)(t):null,s=(0,r.useFlowModelContext)(),d={...i,value:a,format:l,picker:o,showTime:n,onChange:t=>{let l="YYYY-MM-DD";t?"date"===o?e.onChange(t.format(l)):e.onChange(t.startOf(o).format(l)):e.onChange(void 0)}};return s.isMobileLayout?(0,m.jsx)(ru,{...d}):(0,m.jsx)(_.DatePicker,{...d})};class rm extends rd{setProps(e){super.setProps({...e,showTime:!1,utc:!1})}render(){return(0,m.jsx)(rp,{...this.props,style:{width:"100%"}})}}r.EditableItemModel.bindModelToInterface("DateOnlyFieldModel",["date"],{isDefault:!0});let rh=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",showTime:o,picker:n="date",onChange:i,...a}=e,s=t?(0,rs.default)(t):null,d=(0,r.useFlowModelContext)(),u={...a,value:s,format:l,picker:n,showTime:o,onChange:e=>{if(!e)return i(e);let t=o?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD";i(("date"!==n?(0,rs.default)(e).startOf(n):(0,rs.default)(e)).format(t))}};return d.isMobileLayout?(0,m.jsx)(ru,{...u}):(0,m.jsx)(_.DatePicker,{...u})};class rf extends rd{render(){return(0,m.jsx)(rh,{...this.props,style:{width:"100%"}})}}function rg(e,t){if(!e)return;if(e instanceof Date)return e;if(d.dayjs.isDayjs(e))return e.toDate();let l=String(e).trim();if(!l)return;if(t){let e=(0,d.dayjs)(l,t,!0);return e.isValid()?e.toDate():void 0}let o=(0,d.dayjs)(l);return o.isValid()?o.toDate():void 0}function rv(e,t){if(!e)return null;if(e instanceof Date)return(0,d.dayjs)(e);let l=String(e).trim();if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z?$/.test(l)){let e=d.dayjs.utc(l).local();return e.isValid()?e:null}if(t){let e=d.dayjs.utc(l,t,!0).local();return e.isValid()?e:null}let o=(0,d.dayjs)(l);return o.isValid()?o:null}r.EditableItemModel.bindModelToInterface("DateTimeNoTzFieldModel",["datetimeNoTz"],{isDefault:!0});let ry=e=>{let{value:t,format:l="YYYY-MM-DD HH:mm:ss",picker:o="date",showTime:n,...i}=e,a=(0,r.useFlowModelContext)(),s={...i,value:rv(t,l),format:l,picker:o,showTime:n,onChange:e=>{let t=rg(e,l);if(t&&"date"!==o){let e=(0,d.dayjs)(t);e.isValid()&&(t=e.startOf(o).toDate())}i.onChange(t)}};return a.isMobileLayout?(0,m.jsx)(ru,{...s}):(0,m.jsx)(_.DatePicker,{...s})};class r_ extends rd{setProps(e){super.setProps({...e,utc:!0})}render(){return(0,m.jsx)(ry,{...this.props,style:{width:"100%"}})}}r.EditableItemModel.bindModelToInterface("DateTimeTzFieldModel",["createdAt","datetime","updatedAt","unixTimestamp"],{isDefault:!0});let{Search:rb}=_.Input,rx=e=>(0,S.groupBy)(e,e=>e.endsWith("outlined")?"Outlined":e.endsWith("filled")?"Filled":e.endsWith("twotone")?"TwoTone":void 0);function rM(e){let{fontSizeXL:t}=_.theme.useToken().token,l=[...a.Pt.keys()],o=(0,lv.useFormLayout)(),{value:n,onChange:i,disabled:r,iconSize:s=t,searchable:d=!0,onChangeComplete:u}=e,[c,p]=(0,h.useState)(!1),[f,g]=(0,h.useState)(l),[v,y]=(0,h.useState)("Outlined"),{t:b}=(0,F.useTranslation)(),x=rx(l),M={width:"26em",[`${d?"height":"maxHeight"}`]:"20em",overflowY:"auto"},w=(0,S.debounce)(e=>{let t=(null==e?void 0:e.trim())??"";g(t.length?l.filter(e=>e.split(" ").some(e=>e.includes(t))):l)},250),k=()=>(0,m.jsxs)(_.Flex,{vertical:!0,gap:"middle",children:[(0,m.jsx)(_.Radio.Group,{options:[{label:b("Outlined"),value:"Outlined"},{label:b("Filled"),value:"Filled"},{label:b("Two tone"),value:"TwoTone"}],value:v,optionType:"button",onChange:e=>{y(e.target.value)}}),(0,m.jsx)("div",{children:x[v].map(e=>{if(f.includes(e))return(0,m.jsx)("span",{title:e.replace(/outlined|filled|twotone$/i,""),style:{fontSize:s,marginRight:10,cursor:"pointer"},onClick:()=>{i(e),p(!1),null==u||u(e)},children:(0,m.jsx)(a.In,{type:e})},e)})})]});return(0,m.jsx)("div",{children:(0,m.jsxs)(_.Space.Compact,{children:[(0,m.jsx)(_.Popover,{placement:"bottom",open:c,onOpenChange:e=>{r||p(e)},content:(0,m.jsx)("div",{style:M,children:0===f.length?(0,m.jsx)(_.Empty,{image:_.Empty.PRESENTED_IMAGE_SIMPLE}):(0,m.jsx)(k,{})}),title:(0,m.jsx)("div",{children:d&&(0,m.jsx)(rb,{style:{marginTop:8},role:"search",name:"icon-search",placeholder:b("Search"),allowClear:!0,onSearch:w,onChange:e=>{var t;return w(null==(t=e.target)?void 0:t.value)}})}),trigger:"click",children:(0,m.jsx)(_.Button,{size:o.size,disabled:r,children:(0,a.cE)(n)?(0,m.jsx)(a.In,{type:n}):b("Select icon")})}),n&&!r&&(0,m.jsx)(_.Button,{size:o.size,icon:(0,m.jsx)(E.CloseOutlined,{}),onClick:e=>{i(null)}})]})})}class rw extends ed.o{render(){return(0,m.jsx)(rM,{...this.props})}}r.EditableItemModel.bindModelToInterface("IconFieldModel",["icon"],{isDefault:!0});let rS=(0,e9.css)`
|
|
621
621
|
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
|
622
622
|
font-size: 14px;
|
|
623
|
-
`,rw=(0,r.observer)(e=>{let{value:t,onChange:l,json5:o=!1,className:n,space:i=2}=e,r=o?__rspack_external_json5.default:JSON,a=(0,h.useRef)(!1),[s,d]=(0,h.useState)("string"==typeof t?t:t?r.stringify(t,null,i):"");(0,h.useEffect)(()=>{a.current||(null!=t?"string"==typeof t?d(t):d(r.stringify(t,null,i)):d(void 0)),a.current=!1},[t]);let u=e=>{let t=e.target.value;d(t);try{let e=""!==t.trim()?r.parse(t):null;null==l||l(e),a.current=!0}catch{a.current=!1,null==l||l(e)}},c=e=>{let t=e.target.value;try{let e=r.parse(s);d(r.stringify(e,null,i)),null==l||l(e)}catch{null==l||l(""!==t.trim()?t:null)}};return(0,m.jsx)(_.Input.TextArea,{value:s,onChange:u,onBlur:c,autoSize:{minRows:4,maxRows:10},className:(0,e6.cx)(rM,n)})});class rS extends es.o{render(){return(0,m.jsx)(rw,{...this.props})}}function rk(e){return e?e>Number.MAX_SAFE_INTEGER||e<Number.MIN_SAFE_INTEGER?new __rspack_external_bignumber_js_b933f7e9.default(e).toString():Number(e):e}(rS=(0,__rspack_external__swc_helpers_ts_decorate_a886690d._)([(0,r.largeField)()],rS)).registerFlow({key:"jsonInitSetting",steps:{initValidation:{handler(e,t){let l=e.model.parent.props.rules||[];l.push({validator:(t,l)=>{if(null==l||""===l||"object"==typeof l)return Promise.resolve();try{return JSON.parse(l),Promise.resolve()}catch(t){return Promise.reject(e.t("Invalid JSON format")+": "+t.message)}}}),e.model.parent.setProps({rules:l})}}}}),r.EditableItemModel.bindModelToInterface("JsonFieldModel",["json"],{isDefault:!0});let rF=e=>{let{onChange:t,...l}=e,o=e=>{Number.isNaN(e)?t(null):t(rk(e))},n=t=>{Number.isNaN(t)||"object"==typeof t?e.onCompositionEnd(void 0):e.onCompositionEnd(t)},i={...l,onChange:o,onCompositionEnd:n};return l.formatStyle&&(i=(0,S.omit)(i,["addonAfter","addonBefore"])),(0,m.jsx)(_.InputNumber,{...i})};class rC extends es.o{render(){return(0,m.jsx)(rF,{...this.props,style:{width:"100%"}})}}r.EditableItemModel.bindModelToInterface("NumberFieldModel",["number","integer","id","snowflakeId"],{isDefault:!0}),r.FilterableItemModel.bindModelToInterface("NumberFieldModel",["number","integer","id","snowflakeId"],{isDefault:!0});class rA extends es.o{render(){return(0,m.jsx)(a._2,{...this.props})}}rA.registerFlow({key:"passwordSettings",sort:1e3,title:(0,r.tExpr)("Password settings"),steps:{checkStrength:{title:(0,r.tExpr)("Check strength"),uiMode:{type:"switch",key:"checkStrength"},handler(e,t){e.model.setProps({checkStrength:t.checkStrength||!1})}},placeholder:{title:(0,r.tExpr)("Placeholder"),uiSchema:{placeholder:{"x-component":"Input","x-decorator":"FormItem","x-component-props":{placeholder:(0,r.tExpr)("Enter placeholder text")}}},handler(e,t){e.model.setProps({placeholder:t.placeholder})}}}}),r.EditableItemModel.bindModelToInterface("PasswordFieldModel",["password"],{isDefault:!0});let rP=e=>(0,H.isNum)(e)||/^-?\d+(\.\d+)?$/.test(e),rT=(e,t)=>rP(e)?__rspack_external_mathjs.round(t(e),9):null,rj=e=>{let t=(0,h.useMemo)(()=>rT(e.value,e=>100*e),[e.value]),l={...e,value:t,addonAfter:"%",onChange:t=>{e.onChange(rT(t,e=>e/100))},style:{width:"100%"}};return(0,m.jsx)(_.InputNumber,{...l})};class rI extends es.o{render(){return(0,m.jsx)(rj,{...this.props})}}r.EditableItemModel.bindModelToInterface("PercentFieldModel",["percent"],{isDefault:!0}),r.FilterableItemModel.bindModelToInterface("PercentFieldModel",["percent"],{isDefault:!0});class rL extends es.o{render(){return(0,m.jsx)(_.Radio.Group,{...this.props})}}rL.define({label:(0,r.tExpr)("RadioGroup")}),r.EditableItemModel.bindModelToInterface("RadioGroupFieldModel",["radioGroup"],{isDefault:!0});let rY=()=>{let{token:e}=_.theme.useToken();return(0,e6.css)({".ql-container":{boxSizing:"border-box",height:"100%",margin:"0px",position:"relative"},".ql-container.ql-disabled .ql-tooltip":{visibility:"hidden"},".ql-container.ql-disabled .ql-editor ul[data-checked] > li::before":{pointerEvents:"none"},".ql-clipboard":{left:"-100000px",height:"1px",overflowY:"hidden",position:"absolute",top:"50%"},".ql-clipboard p":{margin:"0",padding:"0"},".ql-editor":{minHeight:"10em",boxSizing:"border-box",lineHeight:1.42,height:"100%",outline:"none",overflowY:"auto",padding:"12px 15px",tabSize:4,MozTabSize:"4",textAlign:"left",whiteSpace:"pre-wrap",wordWrap:"break-word"},".ql-snow.ql-toolbar:after,\n.ql-snow .ql-toolbar:after":{clear:"both",content:"''",display:"table"},".ql-snow.ql-toolbar button,\n.ql-snow .ql-toolbar button":{background:"none",border:"none",cursor:"pointer",display:"inline-block",cssFloat:"left",height:"24px",padding:"3px 5px",width:"28px"},".ql-snow.ql-toolbar button svg,\n.ql-snow .ql-toolbar button svg":{cssFloat:"left",height:"100%"},".ql-snow.ql-toolbar button:active:hover,\n.ql-snow .ql-toolbar button:active:hover":{outline:"none"},".ql-snow.ql-toolbar input.ql-image[type='file'],\n.ql-snow .ql-toolbar input.ql-image[type='file']":{display:"none"},".ql-snow.ql-toolbar button:hover,\n.ql-snow .ql-toolbar button:hover,\n.ql-snow.ql-toolbar button:focus,\n.ql-snow .ql-toolbar button:focus,\n.ql-snow.ql-toolbar button.ql-active,\n.ql-snow .ql-toolbar button.ql-active,\n.ql-snow.ql-toolbar .ql-picker-label:hover,\n.ql-snow .ql-toolbar .ql-picker-label:hover,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active,\n.ql-snow.ql-toolbar .ql-picker-item:hover,\n.ql-snow .ql-toolbar .ql-picker-item:hover,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected":{color:e.colorPrimaryTextHover},".ql-snow.ql-toolbar button:hover .ql-fill,\n.ql-snow .ql-toolbar button:hover .ql-fill,\n.ql-snow.ql-toolbar button:focus .ql-fill,\n.ql-snow .ql-toolbar button:focus .ql-fill,\n.ql-snow.ql-toolbar button.ql-active .ql-fill,\n.ql-snow .ql-toolbar button.ql-active .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,\n.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill":{fill:e.colorPrimaryTextHover},".ql-snow.ql-toolbar button:hover .ql-stroke,\n.ql-snow .ql-toolbar button:hover .ql-stroke,\n.ql-snow.ql-toolbar button:focus .ql-stroke,\n.ql-snow .ql-toolbar button:focus .ql-stroke,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,\n.ql-snow.ql-toolbar button:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar button:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar button:focus .ql-stroke-miter,\n.ql-snow .ql-toolbar button:focus .ql-stroke-miter,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter":{stroke:e.colorPrimaryTextHover},"@media (pointer: coarse)":{".ql-snow.ql-toolbar button:hover:not(.ql-active),\n .ql-snow .ql-toolbar button:hover:not(.ql-active)":{color:e.colorTextSecondary},".ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,\n .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill":{fill:e.colorTextSecondary},".ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,\n .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter":{stroke:e.colorTextSecondary}},".ql-snow":{boxSizing:"border-box"},".ql-snow *":{boxSizing:"border-box"},".ql-snow .ql-hidden":{display:"none"},".ql-snow .ql-out-bottom,\n.ql-snow .ql-out-top":{visibility:"hidden"},".ql-snow .ql-tooltip":{position:"absolute",transform:"translateY(10px)",backgroundColor:"#fff",border:`1px solid ${e.colorBorder}`,boxShadow:"0px 0px 5px #ddd",color:e.colorTextSecondary,padding:"5px 12px",whiteSpace:"nowrap"},".ql-snow .ql-tooltip a":{cursor:"pointer",textDecoration:"none",lineHeight:"26px"},".ql-snow .ql-tooltip.ql-flip":{transform:"translateY(-10px)"},".ql-snow .ql-formats":{display:"inline-block",verticalAlign:"middle"},".ql-snow .ql-formats:after":{clear:"both",content:"''",display:"table"},".ql-snow .ql-stroke":{fill:"none",stroke:e.colorTextSecondary,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2},".ql-snow .ql-stroke-miter":{fill:"none",stroke:e.colorTextSecondary,strokeMiterlimit:"10",strokeWidth:2},".ql-snow .ql-fill,\n.ql-snow .ql-stroke.ql-fill":{fill:e.colorTextSecondary},".ql-snow .ql-empty":{fill:"none"},".ql-snow .ql-even":{fillRule:"evenodd"},".ql-snow .ql-thin,\n.ql-snow .ql-stroke.ql-thin":{strokeWidth:1},".ql-snow .ql-transparent":{opacity:.4},".ql-snow .ql-direction svg:last-child":{display:"none"},".ql-snow .ql-direction.ql-active svg:last-child":{display:"inline"},".ql-snow .ql-direction.ql-active svg:first-child":{display:"none"},".ql-snow .ql-editor h1":{fontSize:"2em"},".ql-snow .ql-editor h2":{fontSize:"1.5em"},".ql-snow .ql-editor h3":{fontSize:"1.17em"},".ql-snow .ql-editor h4":{fontSize:"1em"},".ql-snow .ql-editor h5":{fontSize:"0.83em"},".ql-snow .ql-editor h6":{fontSize:"0.67em"},".ql-snow .ql-editor blockquote":{borderLeft:"4px solid #ccc",marginBottom:"5px",marginTop:"5px",paddingLeft:"16px"},".ql-snow .ql-editor code,\n.ql-snow .ql-editor pre":{backgroundColor:"#f0f0f0",borderRadius:"3px"},".ql-snow .ql-editor pre":{whiteSpace:"pre-wrap",marginBottom:"5px",marginTop:"5px",padding:"5px 10px"},".ql-snow .ql-editor code":{fontSize:"85%",padding:"2px 4px"},".ql-snow .ql-editor pre.ql-syntax":{backgroundColor:"#23241f",color:"#f8f8f2",overflow:"visible"},".ql-snow .ql-editor img":{maxWidth:"100%"},".ql-snow .ql-picker":{color:e.colorTextSecondary,display:"inline-block",cssFloat:"left",fontSize:"14px",fontWeight:500,height:"24px",position:"relative",verticalAlign:"middle"},".ql-snow .ql-picker-label":{cursor:"pointer",display:"inline-block",height:"100%",paddingLeft:"8px",paddingRight:"2px",position:"relative",width:"100%"},".ql-snow .ql-picker-label::before":{display:"inline-block",lineHeight:"22px"},".ql-snow .ql-picker-options":{backgroundColor:"#fff",display:"none",minWidth:"100%",padding:"4px 8px",position:"absolute",whiteSpace:"nowrap"},".ql-snow .ql-picker-options .ql-picker-item":{cursor:"pointer",display:"block",paddingBottom:"5px",paddingTop:"5px"},".ql-snow .ql-picker.ql-expanded .ql-picker-label":{color:"#ccc",zIndex:2},".ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill":{fill:"#ccc"},".ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke":{stroke:"#ccc"},".ql-snow .ql-picker.ql-expanded .ql-picker-options":{display:"block",marginTop:"-1px",top:"100%",zIndex:1},".ql-snow .ql-color-picker,\n.ql-snow .ql-icon-picker":{width:"28px"},".ql-snow .ql-color-picker .ql-picker-label,\n.ql-snow .ql-icon-picker .ql-picker-label":{padding:"2px 4px"},".ql-snow .ql-color-picker .ql-picker-label svg,\n.ql-snow .ql-icon-picker .ql-picker-label svg":{right:"4px"},".ql-snow .ql-icon-picker .ql-picker-options":{padding:"4px 0px"},".ql-snow .ql-icon-picker .ql-picker-item":{height:"24px",width:"24px",padding:"2px 4px"},".ql-snow .ql-color-picker .ql-picker-options":{padding:"3px 5px",width:"152px"},".ql-snow .ql-color-picker .ql-picker-item":{border:"1px solid transparent",cssFloat:"left",height:"16px",margin:"2px",padding:"0px",width:"16px"},".ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg":{position:"absolute",marginTop:"-9px",right:"0",top:"50%",width:"18px"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before":{content:"attr(data-label)"},".ql-snow .ql-picker.ql-header":{width:"98px"},".ql-snow .ql-picker.ql-header .ql-picker-label::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item::before":{content:"'Normal'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='1']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='1']::before":{content:"'Heading 1'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='2']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='2']::before":{content:"'Heading 2'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='3']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='3']::before":{content:"'Heading 3'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='4']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='4']::before":{content:"'Heading 4'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='5']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='5']::before":{content:"'Heading 5'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='6']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='6']::before":{content:"'Heading 6'"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='1']::before":{fontSize:"2em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='2']::before":{fontSize:"1.5em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='3']::before":{fontSize:"1.17em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='4']::before":{fontSize:"1em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='5']::before":{fontSize:"0.83em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='6']::before":{fontSize:"0.67em"},".ql-snow .ql-picker.ql-font":{width:"108px"},".ql-snow .ql-picker.ql-font .ql-picker-label::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item::before":{content:"'Sans Serif'"},".ql-snow .ql-picker.ql-font .ql-picker-label[data-value='serif']::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value='serif']::before":{content:"'Serif'"},".ql-snow .ql-picker.ql-font .ql-picker-label[data-value='monospace']::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value='monospace']::before":{content:"'Monospace'"},".ql-snow .ql-picker.ql-font .ql-picker-item[data-value='serif']::before":{fontFamily:"Georgia, Times New Roman, serif"},".ql-snow .ql-picker.ql-font .ql-picker-item[data-value='monospace']::before":{fontFamily:"Monaco, Courier New, monospace"},".ql-snow .ql-picker.ql-size":{width:"98px"},".ql-snow .ql-picker.ql-size .ql-picker-label::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item::before":{content:"'Normal'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='small']::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='small']::before":{content:"'Small'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='large']::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='large']::before":{content:"'Large'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='huge']::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='huge']::before":{content:"'Huge'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='small']::before":{fontSize:"10px"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='large']::before":{fontSize:"18px"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='huge']::before":{fontSize:"32px"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='12px']::before":{content:"'12px'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='14px']::before":{content:"'14px'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='16px']::before":{content:"'16px'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='18px']::before":{content:"'18px'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='20px']::before":{content:"'20px'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='24px']::before":{content:"'24px'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='32px']::before":{content:"'32px'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='48px']::before":{content:"'48px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='12px']::before":{content:"'12px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='14px']::before":{content:"'14px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='16px']::before":{content:"'16px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='18px']::before":{content:"'18px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='20px']::before":{content:"'20px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='24px']::before":{content:"'24px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='32px']::before":{content:"'32px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='48px']::before":{content:"'48px'"},".ql-snow .ql-color-picker.ql-background .ql-picker-item":{backgroundColor:"#fff"},".ql-snow .ql-color-picker.ql-color .ql-picker-item":{backgroundColor:"#000"},".ql-toolbar.ql-snow":{border:`1px solid ${e.colorBorder}`,boxSizing:"border-box",padding:"8px",borderTopLeftRadius:"2px",borderTopRightRadius:"2px",lineHeight:1.6},".ql-toolbar.ql-snow .ql-formats":{marginRight:"15px"},".ql-toolbar.ql-snow .ql-picker-label":{border:"1px solid transparent"},".ql-toolbar.ql-snow .ql-picker-options":{border:"1px solid transparent",boxShadow:"rgba(0, 0, 0, 0.2) 0 2px 8px"},".ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label":{borderColor:e.colorBorder},".ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options":{borderColor:e.colorBorder},".ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,\n.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover":{borderColor:"#000"},".ql-toolbar.ql-snow + .ql-container.ql-snow":{borderTop:"0px"},".ql-snow .ql-tooltip::before":{content:"'Visit URL:'",lineHeight:"26px",marginRight:"8px"},".ql-snow .ql-tooltip input[type='text']":{display:"none",border:`1px solid ${e.colorBorder}`,fontSize:"13px",height:"26px",margin:"0px",padding:"3px 5px",width:"170px"},".ql-snow .ql-tooltip a.ql-preview":{display:"inline-block",maxWidth:"200px",overflowX:"hidden",textOverflow:"ellipsis",verticalAlign:"top"},".ql-snow .ql-tooltip a.ql-action::after":{borderRight:"1px solid #ccc",content:"'Edit'",marginLeft:"16px",paddingRight:"8px"},".ql-snow .ql-tooltip a.ql-remove::before":{content:"'Remove'",marginLeft:"8px"},".ql-snow .ql-tooltip.ql-editing a.ql-preview,\n.ql-snow .ql-tooltip.ql-editing a.ql-remove":{display:"none"},".ql-snow .ql-tooltip.ql-editing input[type='text']":{display:"inline-block"},".ql-snow .ql-tooltip.ql-editing a.ql-action::after":{borderRight:"0px",content:"'Save'",paddingRight:"0px"},".ql-snow .ql-tooltip[data-mode='link']::before":{content:"'Enter link:'"},".ql-snow .ql-tooltip[data-mode='formula']::before":{content:"'Enter formula:'"},".ql-snow .ql-tooltip[data-mode='video']::before":{content:"'Enter video:'"},".ql-snow a":{color:e.colorPrimaryTextHover},".ql-container.ql-snow":{border:`1px solid ${e.colorBorder}`,borderBottomLeftRadius:"2px",borderBottomRightRadius:"2px"},".ql-container p":{marginBlockEnd:"1em"}})},rD=e=>{class t extends e.import("blots/break"){length(){return 1}value(){return"\n"}insertInto(t,l){e.import("blots/embed").prototype.insertInto.call(this,t,l)}}t.blotName="break",t.tagName="BR",e.register(t,!0)};function rE(e,t){let l=window.Quill;if(!l)return t;let o=new(l.import("delta"));return o.insert({break:""}),o}function rR(e,t){let{quill:l}=this,o=l.constructor.import("parchment"),n=l.getLeaf(e.index)[0],i=l.getLeaf(e.index+1)[0];return l.insertEmbed(e.index,"break",!0,"user"),(null===i||n.parent!==i.parent)&&l.insertEmbed(e.index,"break",!0,"user"),l.setSelection(e.index+1,"silent"),Object.keys(t.format).forEach(e=>{o.query(e,o.Scope.BLOCK)||Array.isArray(t.format[e])||"link"!==e&&l.format(e,t.format[e],"user")}),!1}function rN(e,t){let{quill:l}=this,o=l.constructor.import("parchment");e.length>0&&l.scroll.deleteAt(e.index,e.length);let n=Object.keys(t.format).reduce((e,l)=>(o.query(l,o.Scope.BLOCK)&&!Array.isArray(t.format[l])&&(e[l]=t.format[l]),e),{}),i=l.getText(e.index-1,1);return l.insertText(e.index,"\n",n,"user"),""!=i&&("\n"!=i||t.offset>0&&0===t.prefix.length)?l.setSelection(e.index+1,"silent"):l.setSelection(e.index+2,"silent"),Object.keys(t.format).forEach(e=>{null!=n[e]||Array.isArray(t.format[e])||"link"!==e&&l.format(e,t.format[e],"user")}),!1}let rB=e=>{let t=e.import("attributors/style/size");t.whitelist=["12px","14px","16px","18px","20px","24px","32px","48px"],e.register(t,!0);let l=e.import("parchment");t.add(l.Scope.BLOCK,"14px")},rO=async e=>{let{default:t}=await Promise.resolve().then(l.bind(l,1076)),o=e.import("formats/image");class n extends o{static formats(e){let t=super.formats(e);return e.hasAttribute("width")&&(t.width=e.getAttribute("width")),e.hasAttribute("height")&&(t.height=e.getAttribute("height")),e.style.width&&(t.width=e.style.width),e.style.height&&(t.height=e.style.height),t}format(e,t){"width"===e||"height"===e?t?(this.domNode.setAttribute(e,t),this.domNode.style[e]=t):(this.domNode.removeAttribute(e),this.domNode.style[e]=""):super.format(e,t)}value(){return this.domNode.style.cursor&&(this.domNode.style.cursor=""),super.value()}}e.register(n,!0),e.register("modules/imageResize",t)},rH=(0,a.RZ)(async()=>{let e=(await Promise.resolve().then(l.bind(l,1152))).default;return rB(e),rD(e),await rO(e),Promise.resolve().then(l.bind(l,8558))}),rq=e=>{let t=rY(),l=h.default.useMemo(()=>`quill-bounds-${Math.random().toString(36).slice(2,9)}`,[]),o={toolbar:[[{header:[1,2,3,!1]},{size:[!1,"12px","14px","16px","18px","20px","24px","32px","48px"]}],["bold","italic","underline","strike"],[{list:"ordered"},{list:"bullet"},{indent:"-1"},{indent:"+1"},"link"],["clean","image"]],imageResize:{modules:["Resize","DisplaySize"]},clipboard:{matchers:[["BR",rE]],matchVisual:!1},keyboard:{bindings:{handleEnter:{key:13,handler:rN},handleLinebreak:{key:13,shiftKey:!0,handler:rR}}}},n=["header","size","bold","italic","underline","strike","blockquote","list","bullet","indent","link","image","width","height","break"],{value:i,onChange:r,disabled:a,modules:s,formats:d}=e;return(0,m.jsx)(rH,{className:`${t} ${l}`,modules:s||o,formats:d||n,value:i,onChange:e=>{"<p><br></p>"===e?r(""):r(e)},readOnly:a,bounds:`.${l}`})};class r$ extends es.o{render(){return(0,m.jsx)(rq,{...this.props})}}function rV(e){let{value:t,onChange:l,disabled:o,options:n=[],mode:i}=e,a=(0,r.useFlowModelContext)().t,[s,d]=(0,h.useState)(!1),[u,c]=(0,h.useState)(t||[]),[p,f]=(0,h.useState)(null),g=(0,h.useMemo)(()=>p?n.filter(e=>e.label.toLowerCase().includes(p.toLowerCase())):n,[n,p]),v=()=>{l(u),d(!1)};return(0,h.useEffect)(()=>{s?c(t||[]):f(null)},[s]),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{onClick:()=>!o&&d(!0),children:(0,m.jsx)(_.Select,{...e,dropdownStyle:{display:"none"},showSearch:!1})}),(0,m.jsxs)(__rspack_external_antd_mobile_0b674875.Popup,{visible:s,onMaskClick:()=>{d(!1),t&&(null==t?void 0:t.length)!==0||c([])},destroyOnClose:!0,children:[(0,m.jsx)("div",{style:{margin:"10px"},children:(0,m.jsx)(__rspack_external_antd_mobile_0b674875.SearchBar,{placeholder:a("search"),value:p,onChange:e=>f(e),showCancelButton:!0})}),(0,m.jsx)("div",{style:{maxHeight:"60vh",overflowY:"auto"},children:(0,m.jsx)(__rspack_external_antd_mobile_0b674875.CheckList,{multiple:["multiple","tags"].includes(i),value:Array.isArray(u)?u:[u],onChange:e=>{["multiple","tags"].includes(i)?c(e):(c(e[0]),l(e[0]),d(!1))},children:g.map(e=>(0,m.jsx)(__rspack_external_antd_mobile_0b674875.CheckList.Item,{value:e.value,children:e.label},e.value))})}),["multiple","tags"].includes(i)&&(0,m.jsx)(__rspack_external_antd_mobile_0b674875.Button,{block:!0,color:"primary",onClick:v,style:{marginTop:"16px"},children:a("Confirm")})]})]})}r$=(0,__rspack_external__swc_helpers_ts_decorate_a886690d._)([(0,r.largeField)()],r$),r.EditableItemModel.bindModelToInterface("RichTextFieldModel",["richText"],{isDefault:!0});class rz extends es.o{render(){var e;let t=null==(e=this.props.options)?void 0:e.map(e=>({...e,label:this.translate(e.label)}));return this.context.isMobileLayout?(0,m.jsx)(rV,{...this.props,options:t}):(0,m.jsx)(_.Select,{...this.props,options:t,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,m.jsxs)(_.Tooltip,{title:(0,m.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,m.jsx)(_.Tag,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]})})}}rz.define({label:(0,r.tExpr)("Select")}),r.EditableItemModel.bindModelToInterface("SelectFieldModel",["select","multipleSelect"],{isDefault:!0,defaultProps:{allowClear:!0}}),r.EditableItemModel.bindModelToInterface("SelectFieldModel",["radioGroup"],{}),r.EditableItemModel.bindModelToInterface("SelectFieldModel",["checkboxGroup"],{isDefault:!0,defaultProps:{allowClear:!0,mode:"tags"}}),r.FilterableItemModel.bindModelToInterface("SelectFieldModel",["select","multipleSelect","radioGroup"],{isDefault:!0,defaultProps:{allowClear:!0}}),r.FilterableItemModel.bindModelToInterface("SelectFieldModel",["checkboxGroup"],{isDefault:!0,defaultProps:{allowClear:!0,mode:"tags"}}),r.FilterableItemModel.bindModelToInterface("SelectFieldModel",["checkbox"],{isDefault:!0,defaultProps:e=>({allowClear:!0,multiple:!1,options:[{label:'{{t("Yes")}}',value:!0},{label:'{{t("No")}}',value:!1}]})});class rK extends es.o{render(){return(0,m.jsx)(_.Input.TextArea,{...this.props})}}rK=(0,__rspack_external__swc_helpers_ts_decorate_a886690d._)([(0,r.largeField)()],rK),r.EditableItemModel.bindModelToInterface("TextareaFieldModel",["textarea"],{isDefault:!0,defaultProps:{autoSize:{maxRows:10,minRows:3}}});var rU=l(4613);let rG=e=>{let[t,l]=(0,h.useState)(!1),o=[Array.from({length:24},(e,t)=>t.toString().padStart(2,"0")),Array.from({length:60},(e,t)=>t.toString().padStart(2,"0")),Array.from({length:60},(e,t)=>t.toString().padStart(2,"0"))],n=t=>{e.onChange(`${t[0]}:${t[1]}:${t[2]}`),l(!1)};return(0,m.jsxs)("div",{onClick:()=>l(!0),children:[(0,m.jsx)(_.TimePicker,{...e,style:{pointerEvents:"none",width:"100%"}}),(0,m.jsx)(__rspack_external_antd_mobile_0b674875.Picker,{onConfirm:n,columns:o,visible:t})]})},rW=e=>{let t=e.format||"HH:mm:ss",l=e.onChange,o=(0,r.useFlowModelContext)(),n={...e,picker:"time",format:t,inputReadOnly:!0,value:(0,rU.dayjsable)(e.value,"HH:mm:ss"),onChange:e=>{l&&l((0,rU.formatDayjsValue)(e,"HH:mm:ss")||null)}};return o.isMobileLayout?(0,m.jsx)(rG,{...n}):(0,m.jsx)(_.TimePicker,{...n})};class rJ extends es.o{render(){return(0,m.jsx)(rW,{...this.props,style:{width:"100%"}})}}rJ.registerFlow({key:"timeSettings",sort:3e3,title:(0,r.tExpr)("Time settings"),steps:{dateFormat:{use:"dateDisplayFormat",title:(0,r.tExpr)("Time format")}}}),r.EditableItemModel.bindModelToInterface("TimeFieldModel",["time"],{isDefault:!0}),r.FilterableItemModel.bindModelToInterface("TimeFieldModel",["time"],{isDefault:!0});var rX=l(4814);class rQ extends r.FlowModel{addAppends(e){}onInit(e){let t=this;this.form=(0,rX.createForm)({effects(e){(0,rX.onFormValuesChange)(e=>{var l;null==(l=t.onChange)||l.call(t,e.values)}),(0,rX.onFieldValueChange)("*",e=>{var t,l;null==(l=e.componentProps)||null==(t=l.onChange)||t.call(l,e.value)})}}),this.context.defineProperty("blockModel",{get:()=>this}),this.context.defineProperty("form",{get:()=>this.form}),this.context.defineProperty("record",{get:()=>{},cache:!1})}render(){return(0,m.jsx)(z.FormProvider,{form:this.form,children:(0,m.jsx)(lg.FormLayout,{layout:"vertical",children:this.mapSubModels("fields",e=>{var t,l,o,n;let i=(null==e||null==(t=e.getStepParams)?void 0:t.call(e,"fieldSettings","init"))||{},a=null==i?void 0:i.fieldPath;if(a){let t=a.includes(".")?a.split("."):[a],i={};(null==e||null==(l=e.props)?void 0:l.id)||(i.id=t),(null==e||null==(o=e.props)?void 0:o.name)||(i.name=t),Object.keys(i).length&&(null==e||null==(n=e.setProps)||n.call(e,i))}return(0,m.jsx)(r.FlowModelRenderer,{model:e},e.uid)})})})}}let rZ=`
|
|
623
|
+
`,rk=(0,r.observer)(e=>{let{value:t,onChange:l,json5:o=!1,className:n,space:i=2}=e,r=o?__rspack_external_json5.default:JSON,a=(0,h.useRef)(!1),[s,d]=(0,h.useState)("string"==typeof t?t:t?r.stringify(t,null,i):"");(0,h.useEffect)(()=>{a.current||(null!=t?"string"==typeof t?d(t):d(r.stringify(t,null,i)):d(void 0)),a.current=!1},[t]);let u=e=>{let t=e.target.value;d(t);try{let e=""!==t.trim()?r.parse(t):null;null==l||l(e),a.current=!0}catch{a.current=!1,null==l||l(e)}},c=e=>{let t=e.target.value;try{let e=r.parse(s);d(r.stringify(e,null,i)),null==l||l(e)}catch{null==l||l(""!==t.trim()?t:null)}};return(0,m.jsx)(_.Input.TextArea,{value:s,onChange:u,onBlur:c,autoSize:{minRows:4,maxRows:10},className:(0,e9.cx)(rS,n)})});class rF extends ed.o{render(){return(0,m.jsx)(rk,{...this.props})}}function rC(e){return e?e>Number.MAX_SAFE_INTEGER||e<Number.MIN_SAFE_INTEGER?new __rspack_external_bignumber_js_b933f7e9.default(e).toString():Number(e):e}(rF=(0,__rspack_external__swc_helpers_ts_decorate_a886690d._)([(0,r.largeField)()],rF)).registerFlow({key:"jsonInitSetting",steps:{initValidation:{handler(e,t){let l=e.model.parent.props.rules||[];l.push({validator:(t,l)=>{if(null==l||""===l||"object"==typeof l)return Promise.resolve();try{return JSON.parse(l),Promise.resolve()}catch(t){return Promise.reject(e.t("Invalid JSON format")+": "+t.message)}}}),e.model.parent.setProps({rules:l})}}}}),r.EditableItemModel.bindModelToInterface("JsonFieldModel",["json"],{isDefault:!0});let rA=e=>{let{onChange:t,...l}=e,o=e=>{Number.isNaN(e)?t(null):t(rC(e))},n=t=>{Number.isNaN(t)||"object"==typeof t?e.onCompositionEnd(void 0):e.onCompositionEnd(t)},i={...l,onChange:o,onCompositionEnd:n};return l.formatStyle&&(i=(0,S.omit)(i,["addonAfter","addonBefore"])),(0,m.jsx)(_.InputNumber,{...i})};class rP extends ed.o{render(){return(0,m.jsx)(rA,{...this.props,style:{width:"100%"}})}}r.EditableItemModel.bindModelToInterface("NumberFieldModel",["number","integer","id","snowflakeId"],{isDefault:!0}),r.FilterableItemModel.bindModelToInterface("NumberFieldModel",["number","integer","id","snowflakeId"],{isDefault:!0});class rT extends ed.o{render(){return(0,m.jsx)(a._2,{...this.props})}}rT.registerFlow({key:"passwordSettings",sort:1e3,title:(0,r.tExpr)("Password settings"),steps:{checkStrength:{title:(0,r.tExpr)("Check strength"),uiMode:{type:"switch",key:"checkStrength"},handler(e,t){e.model.setProps({checkStrength:t.checkStrength||!1})}},placeholder:{title:(0,r.tExpr)("Placeholder"),uiSchema:{placeholder:{"x-component":"Input","x-decorator":"FormItem","x-component-props":{placeholder:(0,r.tExpr)("Enter placeholder text")}}},handler(e,t){e.model.setProps({placeholder:t.placeholder})}}}}),r.EditableItemModel.bindModelToInterface("PasswordFieldModel",["password"],{isDefault:!0});let rj=e=>(0,H.isNum)(e)||/^-?\d+(\.\d+)?$/.test(e),rI=(e,t)=>rj(e)?__rspack_external_mathjs.round(t(e),9):null,rL=e=>{let t=(0,h.useMemo)(()=>rI(e.value,e=>100*e),[e.value]),l={...e,value:t,addonAfter:"%",onChange:t=>{e.onChange(rI(t,e=>e/100))},style:{width:"100%"}};return(0,m.jsx)(_.InputNumber,{...l})};class rY extends ed.o{render(){return(0,m.jsx)(rL,{...this.props})}}r.EditableItemModel.bindModelToInterface("PercentFieldModel",["percent"],{isDefault:!0}),r.FilterableItemModel.bindModelToInterface("PercentFieldModel",["percent"],{isDefault:!0});class rD extends ed.o{render(){return(0,m.jsx)(_.Radio.Group,{...this.props})}}rD.define({label:(0,r.tExpr)("RadioGroup")}),r.EditableItemModel.bindModelToInterface("RadioGroupFieldModel",["radioGroup"],{isDefault:!0});let rE=()=>{let{token:e}=_.theme.useToken();return(0,e9.css)({".ql-container":{boxSizing:"border-box",height:"100%",margin:"0px",position:"relative"},".ql-container.ql-disabled .ql-tooltip":{visibility:"hidden"},".ql-container.ql-disabled .ql-editor ul[data-checked] > li::before":{pointerEvents:"none"},".ql-clipboard":{left:"-100000px",height:"1px",overflowY:"hidden",position:"absolute",top:"50%"},".ql-clipboard p":{margin:"0",padding:"0"},".ql-editor":{minHeight:"10em",boxSizing:"border-box",lineHeight:1.42,height:"100%",outline:"none",overflowY:"auto",padding:"12px 15px",tabSize:4,MozTabSize:"4",textAlign:"left",whiteSpace:"pre-wrap",wordWrap:"break-word"},".ql-snow.ql-toolbar:after,\n.ql-snow .ql-toolbar:after":{clear:"both",content:"''",display:"table"},".ql-snow.ql-toolbar button,\n.ql-snow .ql-toolbar button":{background:"none",border:"none",cursor:"pointer",display:"inline-block",cssFloat:"left",height:"24px",padding:"3px 5px",width:"28px"},".ql-snow.ql-toolbar button svg,\n.ql-snow .ql-toolbar button svg":{cssFloat:"left",height:"100%"},".ql-snow.ql-toolbar button:active:hover,\n.ql-snow .ql-toolbar button:active:hover":{outline:"none"},".ql-snow.ql-toolbar input.ql-image[type='file'],\n.ql-snow .ql-toolbar input.ql-image[type='file']":{display:"none"},".ql-snow.ql-toolbar button:hover,\n.ql-snow .ql-toolbar button:hover,\n.ql-snow.ql-toolbar button:focus,\n.ql-snow .ql-toolbar button:focus,\n.ql-snow.ql-toolbar button.ql-active,\n.ql-snow .ql-toolbar button.ql-active,\n.ql-snow.ql-toolbar .ql-picker-label:hover,\n.ql-snow .ql-toolbar .ql-picker-label:hover,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active,\n.ql-snow.ql-toolbar .ql-picker-item:hover,\n.ql-snow .ql-toolbar .ql-picker-item:hover,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected":{color:e.colorPrimaryTextHover},".ql-snow.ql-toolbar button:hover .ql-fill,\n.ql-snow .ql-toolbar button:hover .ql-fill,\n.ql-snow.ql-toolbar button:focus .ql-fill,\n.ql-snow .ql-toolbar button:focus .ql-fill,\n.ql-snow.ql-toolbar button.ql-active .ql-fill,\n.ql-snow .ql-toolbar button.ql-active .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,\n.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill":{fill:e.colorPrimaryTextHover},".ql-snow.ql-toolbar button:hover .ql-stroke,\n.ql-snow .ql-toolbar button:hover .ql-stroke,\n.ql-snow.ql-toolbar button:focus .ql-stroke,\n.ql-snow .ql-toolbar button:focus .ql-stroke,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,\n.ql-snow.ql-toolbar button:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar button:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar button:focus .ql-stroke-miter,\n.ql-snow .ql-toolbar button:focus .ql-stroke-miter,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter":{stroke:e.colorPrimaryTextHover},"@media (pointer: coarse)":{".ql-snow.ql-toolbar button:hover:not(.ql-active),\n .ql-snow .ql-toolbar button:hover:not(.ql-active)":{color:e.colorTextSecondary},".ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,\n .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill":{fill:e.colorTextSecondary},".ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,\n .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter":{stroke:e.colorTextSecondary}},".ql-snow":{boxSizing:"border-box"},".ql-snow *":{boxSizing:"border-box"},".ql-snow .ql-hidden":{display:"none"},".ql-snow .ql-out-bottom,\n.ql-snow .ql-out-top":{visibility:"hidden"},".ql-snow .ql-tooltip":{position:"absolute",transform:"translateY(10px)",backgroundColor:"#fff",border:`1px solid ${e.colorBorder}`,boxShadow:"0px 0px 5px #ddd",color:e.colorTextSecondary,padding:"5px 12px",whiteSpace:"nowrap"},".ql-snow .ql-tooltip a":{cursor:"pointer",textDecoration:"none",lineHeight:"26px"},".ql-snow .ql-tooltip.ql-flip":{transform:"translateY(-10px)"},".ql-snow .ql-formats":{display:"inline-block",verticalAlign:"middle"},".ql-snow .ql-formats:after":{clear:"both",content:"''",display:"table"},".ql-snow .ql-stroke":{fill:"none",stroke:e.colorTextSecondary,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2},".ql-snow .ql-stroke-miter":{fill:"none",stroke:e.colorTextSecondary,strokeMiterlimit:"10",strokeWidth:2},".ql-snow .ql-fill,\n.ql-snow .ql-stroke.ql-fill":{fill:e.colorTextSecondary},".ql-snow .ql-empty":{fill:"none"},".ql-snow .ql-even":{fillRule:"evenodd"},".ql-snow .ql-thin,\n.ql-snow .ql-stroke.ql-thin":{strokeWidth:1},".ql-snow .ql-transparent":{opacity:.4},".ql-snow .ql-direction svg:last-child":{display:"none"},".ql-snow .ql-direction.ql-active svg:last-child":{display:"inline"},".ql-snow .ql-direction.ql-active svg:first-child":{display:"none"},".ql-snow .ql-editor h1":{fontSize:"2em"},".ql-snow .ql-editor h2":{fontSize:"1.5em"},".ql-snow .ql-editor h3":{fontSize:"1.17em"},".ql-snow .ql-editor h4":{fontSize:"1em"},".ql-snow .ql-editor h5":{fontSize:"0.83em"},".ql-snow .ql-editor h6":{fontSize:"0.67em"},".ql-snow .ql-editor blockquote":{borderLeft:"4px solid #ccc",marginBottom:"5px",marginTop:"5px",paddingLeft:"16px"},".ql-snow .ql-editor code,\n.ql-snow .ql-editor pre":{backgroundColor:"#f0f0f0",borderRadius:"3px"},".ql-snow .ql-editor pre":{whiteSpace:"pre-wrap",marginBottom:"5px",marginTop:"5px",padding:"5px 10px"},".ql-snow .ql-editor code":{fontSize:"85%",padding:"2px 4px"},".ql-snow .ql-editor pre.ql-syntax":{backgroundColor:"#23241f",color:"#f8f8f2",overflow:"visible"},".ql-snow .ql-editor img":{maxWidth:"100%"},".ql-snow .ql-picker":{color:e.colorTextSecondary,display:"inline-block",cssFloat:"left",fontSize:"14px",fontWeight:500,height:"24px",position:"relative",verticalAlign:"middle"},".ql-snow .ql-picker-label":{cursor:"pointer",display:"inline-block",height:"100%",paddingLeft:"8px",paddingRight:"2px",position:"relative",width:"100%"},".ql-snow .ql-picker-label::before":{display:"inline-block",lineHeight:"22px"},".ql-snow .ql-picker-options":{backgroundColor:"#fff",display:"none",minWidth:"100%",padding:"4px 8px",position:"absolute",whiteSpace:"nowrap"},".ql-snow .ql-picker-options .ql-picker-item":{cursor:"pointer",display:"block",paddingBottom:"5px",paddingTop:"5px"},".ql-snow .ql-picker.ql-expanded .ql-picker-label":{color:"#ccc",zIndex:2},".ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill":{fill:"#ccc"},".ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke":{stroke:"#ccc"},".ql-snow .ql-picker.ql-expanded .ql-picker-options":{display:"block",marginTop:"-1px",top:"100%",zIndex:1},".ql-snow .ql-color-picker,\n.ql-snow .ql-icon-picker":{width:"28px"},".ql-snow .ql-color-picker .ql-picker-label,\n.ql-snow .ql-icon-picker .ql-picker-label":{padding:"2px 4px"},".ql-snow .ql-color-picker .ql-picker-label svg,\n.ql-snow .ql-icon-picker .ql-picker-label svg":{right:"4px"},".ql-snow .ql-icon-picker .ql-picker-options":{padding:"4px 0px"},".ql-snow .ql-icon-picker .ql-picker-item":{height:"24px",width:"24px",padding:"2px 4px"},".ql-snow .ql-color-picker .ql-picker-options":{padding:"3px 5px",width:"152px"},".ql-snow .ql-color-picker .ql-picker-item":{border:"1px solid transparent",cssFloat:"left",height:"16px",margin:"2px",padding:"0px",width:"16px"},".ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg":{position:"absolute",marginTop:"-9px",right:"0",top:"50%",width:"18px"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before":{content:"attr(data-label)"},".ql-snow .ql-picker.ql-header":{width:"98px"},".ql-snow .ql-picker.ql-header .ql-picker-label::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item::before":{content:"'Normal'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='1']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='1']::before":{content:"'Heading 1'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='2']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='2']::before":{content:"'Heading 2'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='3']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='3']::before":{content:"'Heading 3'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='4']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='4']::before":{content:"'Heading 4'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='5']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='5']::before":{content:"'Heading 5'"},".ql-snow .ql-picker.ql-header .ql-picker-label[data-value='6']::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value='6']::before":{content:"'Heading 6'"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='1']::before":{fontSize:"2em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='2']::before":{fontSize:"1.5em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='3']::before":{fontSize:"1.17em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='4']::before":{fontSize:"1em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='5']::before":{fontSize:"0.83em"},".ql-snow .ql-picker.ql-header .ql-picker-item[data-value='6']::before":{fontSize:"0.67em"},".ql-snow .ql-picker.ql-font":{width:"108px"},".ql-snow .ql-picker.ql-font .ql-picker-label::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item::before":{content:"'Sans Serif'"},".ql-snow .ql-picker.ql-font .ql-picker-label[data-value='serif']::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value='serif']::before":{content:"'Serif'"},".ql-snow .ql-picker.ql-font .ql-picker-label[data-value='monospace']::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value='monospace']::before":{content:"'Monospace'"},".ql-snow .ql-picker.ql-font .ql-picker-item[data-value='serif']::before":{fontFamily:"Georgia, Times New Roman, serif"},".ql-snow .ql-picker.ql-font .ql-picker-item[data-value='monospace']::before":{fontFamily:"Monaco, Courier New, monospace"},".ql-snow .ql-picker.ql-size":{width:"98px"},".ql-snow .ql-picker.ql-size .ql-picker-label::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item::before":{content:"'Normal'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='small']::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='small']::before":{content:"'Small'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='large']::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='large']::before":{content:"'Large'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='huge']::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value='huge']::before":{content:"'Huge'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='small']::before":{fontSize:"10px"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='large']::before":{fontSize:"18px"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='huge']::before":{fontSize:"32px"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='12px']::before":{content:"'12px'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='14px']::before":{content:"'14px'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='16px']::before":{content:"'16px'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='18px']::before":{content:"'18px'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='20px']::before":{content:"'20px'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='24px']::before":{content:"'24px'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='32px']::before":{content:"'32px'"},".ql-snow .ql-picker.ql-size .ql-picker-item[data-value='48px']::before":{content:"'48px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='12px']::before":{content:"'12px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='14px']::before":{content:"'14px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='16px']::before":{content:"'16px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='18px']::before":{content:"'18px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='20px']::before":{content:"'20px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='24px']::before":{content:"'24px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='32px']::before":{content:"'32px'"},".ql-snow .ql-picker.ql-size .ql-picker-label[data-value='48px']::before":{content:"'48px'"},".ql-snow .ql-color-picker.ql-background .ql-picker-item":{backgroundColor:"#fff"},".ql-snow .ql-color-picker.ql-color .ql-picker-item":{backgroundColor:"#000"},".ql-toolbar.ql-snow":{border:`1px solid ${e.colorBorder}`,boxSizing:"border-box",padding:"8px",borderTopLeftRadius:"2px",borderTopRightRadius:"2px",lineHeight:1.6},".ql-toolbar.ql-snow .ql-formats":{marginRight:"15px"},".ql-toolbar.ql-snow .ql-picker-label":{border:"1px solid transparent"},".ql-toolbar.ql-snow .ql-picker-options":{border:"1px solid transparent",boxShadow:"rgba(0, 0, 0, 0.2) 0 2px 8px"},".ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label":{borderColor:e.colorBorder},".ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options":{borderColor:e.colorBorder},".ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,\n.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover":{borderColor:"#000"},".ql-toolbar.ql-snow + .ql-container.ql-snow":{borderTop:"0px"},".ql-snow .ql-tooltip::before":{content:"'Visit URL:'",lineHeight:"26px",marginRight:"8px"},".ql-snow .ql-tooltip input[type='text']":{display:"none",border:`1px solid ${e.colorBorder}`,fontSize:"13px",height:"26px",margin:"0px",padding:"3px 5px",width:"170px"},".ql-snow .ql-tooltip a.ql-preview":{display:"inline-block",maxWidth:"200px",overflowX:"hidden",textOverflow:"ellipsis",verticalAlign:"top"},".ql-snow .ql-tooltip a.ql-action::after":{borderRight:"1px solid #ccc",content:"'Edit'",marginLeft:"16px",paddingRight:"8px"},".ql-snow .ql-tooltip a.ql-remove::before":{content:"'Remove'",marginLeft:"8px"},".ql-snow .ql-tooltip.ql-editing a.ql-preview,\n.ql-snow .ql-tooltip.ql-editing a.ql-remove":{display:"none"},".ql-snow .ql-tooltip.ql-editing input[type='text']":{display:"inline-block"},".ql-snow .ql-tooltip.ql-editing a.ql-action::after":{borderRight:"0px",content:"'Save'",paddingRight:"0px"},".ql-snow .ql-tooltip[data-mode='link']::before":{content:"'Enter link:'"},".ql-snow .ql-tooltip[data-mode='formula']::before":{content:"'Enter formula:'"},".ql-snow .ql-tooltip[data-mode='video']::before":{content:"'Enter video:'"},".ql-snow a":{color:e.colorPrimaryTextHover},".ql-container.ql-snow":{border:`1px solid ${e.colorBorder}`,borderBottomLeftRadius:"2px",borderBottomRightRadius:"2px"},".ql-container p":{marginBlockEnd:"1em"}})},rR=e=>{class t extends e.import("blots/break"){length(){return 1}value(){return"\n"}insertInto(t,l){e.import("blots/embed").prototype.insertInto.call(this,t,l)}}t.blotName="break",t.tagName="BR",e.register(t,!0)};function rN(e,t){let l=window.Quill;if(!l)return t;let o=new(l.import("delta"));return o.insert({break:""}),o}function rB(e,t){let{quill:l}=this,o=l.constructor.import("parchment"),n=l.getLeaf(e.index)[0],i=l.getLeaf(e.index+1)[0];return l.insertEmbed(e.index,"break",!0,"user"),(null===i||n.parent!==i.parent)&&l.insertEmbed(e.index,"break",!0,"user"),l.setSelection(e.index+1,"silent"),Object.keys(t.format).forEach(e=>{o.query(e,o.Scope.BLOCK)||Array.isArray(t.format[e])||"link"!==e&&l.format(e,t.format[e],"user")}),!1}function rO(e,t){let{quill:l}=this,o=l.constructor.import("parchment");e.length>0&&l.scroll.deleteAt(e.index,e.length);let n=Object.keys(t.format).reduce((e,l)=>(o.query(l,o.Scope.BLOCK)&&!Array.isArray(t.format[l])&&(e[l]=t.format[l]),e),{}),i=l.getText(e.index-1,1);return l.insertText(e.index,"\n",n,"user"),""!=i&&("\n"!=i||t.offset>0&&0===t.prefix.length)?l.setSelection(e.index+1,"silent"):l.setSelection(e.index+2,"silent"),Object.keys(t.format).forEach(e=>{null!=n[e]||Array.isArray(t.format[e])||"link"!==e&&l.format(e,t.format[e],"user")}),!1}let rH=e=>{let t=e.import("attributors/style/size");t.whitelist=["12px","14px","16px","18px","20px","24px","32px","48px"],e.register(t,!0);let l=e.import("parchment");t.add(l.Scope.BLOCK,"14px")},rq=async e=>{let{default:t}=await Promise.resolve().then(l.bind(l,1076)),o=e.import("formats/image");class n extends o{static formats(e){let t=super.formats(e);return e.hasAttribute("width")&&(t.width=e.getAttribute("width")),e.hasAttribute("height")&&(t.height=e.getAttribute("height")),e.style.width&&(t.width=e.style.width),e.style.height&&(t.height=e.style.height),t}format(e,t){"width"===e||"height"===e?t?(this.domNode.setAttribute(e,t),this.domNode.style[e]=t):(this.domNode.removeAttribute(e),this.domNode.style[e]=""):super.format(e,t)}value(){return this.domNode.style.cursor&&(this.domNode.style.cursor=""),super.value()}}e.register(n,!0),e.register("modules/imageResize",t)},r$=(0,a.RZ)(async()=>{let e=(await Promise.resolve().then(l.bind(l,1152))).default;return rH(e),rR(e),await rq(e),Promise.resolve().then(l.bind(l,8558))}),rV=e=>{let t=rE(),l=h.default.useMemo(()=>`quill-bounds-${Math.random().toString(36).slice(2,9)}`,[]),o={toolbar:[[{header:[1,2,3,!1]},{size:[!1,"12px","14px","16px","18px","20px","24px","32px","48px"]}],["bold","italic","underline","strike"],[{list:"ordered"},{list:"bullet"},{indent:"-1"},{indent:"+1"},"link"],["clean","image"]],imageResize:{modules:["Resize","DisplaySize"]},clipboard:{matchers:[["BR",rN]],matchVisual:!1},keyboard:{bindings:{handleEnter:{key:13,handler:rO},handleLinebreak:{key:13,shiftKey:!0,handler:rB}}}},n=["header","size","bold","italic","underline","strike","blockquote","list","bullet","indent","link","image","width","height","break"],{value:i,onChange:r,disabled:a,modules:s,formats:d}=e;return(0,m.jsx)(r$,{className:`${t} ${l}`,modules:s||o,formats:d||n,value:i,onChange:e=>{"<p><br></p>"===e?r(""):r(e)},readOnly:a,bounds:`.${l}`})};class rz extends ed.o{render(){return(0,m.jsx)(rV,{...this.props})}}function rK(e){let{value:t,onChange:l,disabled:o,options:n=[],mode:i}=e,a=(0,r.useFlowModelContext)().t,[s,d]=(0,h.useState)(!1),[u,c]=(0,h.useState)(t||[]),[p,f]=(0,h.useState)(null),g=(0,h.useMemo)(()=>p?n.filter(e=>e.label.toLowerCase().includes(p.toLowerCase())):n,[n,p]),v=()=>{l(u),d(!1)};return(0,h.useEffect)(()=>{s?c(t||[]):f(null)},[s]),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{onClick:()=>!o&&d(!0),children:(0,m.jsx)(_.Select,{...e,dropdownStyle:{display:"none"},showSearch:!1})}),(0,m.jsxs)(__rspack_external_antd_mobile_0b674875.Popup,{visible:s,onMaskClick:()=>{d(!1),t&&(null==t?void 0:t.length)!==0||c([])},destroyOnClose:!0,children:[(0,m.jsx)("div",{style:{margin:"10px"},children:(0,m.jsx)(__rspack_external_antd_mobile_0b674875.SearchBar,{placeholder:a("search"),value:p,onChange:e=>f(e),showCancelButton:!0})}),(0,m.jsx)("div",{style:{maxHeight:"60vh",overflowY:"auto"},children:(0,m.jsx)(__rspack_external_antd_mobile_0b674875.CheckList,{multiple:["multiple","tags"].includes(i),value:Array.isArray(u)?u:[u],onChange:e=>{["multiple","tags"].includes(i)?c(e):(c(e[0]),l(e[0]),d(!1))},children:g.map(e=>(0,m.jsx)(__rspack_external_antd_mobile_0b674875.CheckList.Item,{value:e.value,children:e.label},e.value))})}),["multiple","tags"].includes(i)&&(0,m.jsx)(__rspack_external_antd_mobile_0b674875.Button,{block:!0,color:"primary",onClick:v,style:{marginTop:"16px"},children:a("Confirm")})]})]})}rz=(0,__rspack_external__swc_helpers_ts_decorate_a886690d._)([(0,r.largeField)()],rz),r.EditableItemModel.bindModelToInterface("RichTextFieldModel",["richText"],{isDefault:!0});class rU extends ed.o{render(){var e;let t=null==(e=this.props.options)?void 0:e.map(e=>({...e,label:this.translate(e.label)}));return this.context.isMobileLayout?(0,m.jsx)(rK,{...this.props,options:t}):(0,m.jsx)(_.Select,{...this.props,options:t,maxTagCount:"responsive",maxTagPlaceholder:e=>(0,m.jsxs)(_.Tooltip,{title:(0,m.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,maxWidth:"100%"},children:e.map(e=>(0,m.jsx)(_.Tag,{style:{margin:0,background:"#fafafa",border:"1px solid #d9d9d9",whiteSpace:"normal",wordBreak:"break-word",maxWidth:"100%"},children:e.label},e.value))}),overlayInnerStyle:{background:"#fff",color:"#000",padding:8,maxWidth:"100%"},color:"#fff",overlayStyle:{pointerEvents:"auto",maxWidth:300},children:["+",e.length,"..."]})})}}rU.define({label:(0,r.tExpr)("Select")}),r.EditableItemModel.bindModelToInterface("SelectFieldModel",["select","multipleSelect"],{isDefault:!0,defaultProps:{allowClear:!0}}),r.EditableItemModel.bindModelToInterface("SelectFieldModel",["radioGroup"],{}),r.EditableItemModel.bindModelToInterface("SelectFieldModel",["checkboxGroup"],{isDefault:!0,defaultProps:{allowClear:!0,mode:"tags"}}),r.FilterableItemModel.bindModelToInterface("SelectFieldModel",["select","multipleSelect","radioGroup"],{isDefault:!0,defaultProps:{allowClear:!0}}),r.FilterableItemModel.bindModelToInterface("SelectFieldModel",["checkboxGroup"],{isDefault:!0,defaultProps:{allowClear:!0,mode:"tags"}}),r.FilterableItemModel.bindModelToInterface("SelectFieldModel",["checkbox"],{isDefault:!0,defaultProps:e=>({allowClear:!0,multiple:!1,options:[{label:'{{t("Yes")}}',value:!0},{label:'{{t("No")}}',value:!1}]})});class rG extends ed.o{render(){return(0,m.jsx)(_.Input.TextArea,{...this.props})}}rG=(0,__rspack_external__swc_helpers_ts_decorate_a886690d._)([(0,r.largeField)()],rG),r.EditableItemModel.bindModelToInterface("TextareaFieldModel",["textarea"],{isDefault:!0,defaultProps:{autoSize:{maxRows:10,minRows:3}}});var rW=l(4613);let rJ=e=>{let[t,l]=(0,h.useState)(!1),o=[Array.from({length:24},(e,t)=>t.toString().padStart(2,"0")),Array.from({length:60},(e,t)=>t.toString().padStart(2,"0")),Array.from({length:60},(e,t)=>t.toString().padStart(2,"0"))],n=t=>{e.onChange(`${t[0]}:${t[1]}:${t[2]}`),l(!1)};return(0,m.jsxs)("div",{onClick:()=>l(!0),children:[(0,m.jsx)(_.TimePicker,{...e,style:{pointerEvents:"none",width:"100%"}}),(0,m.jsx)(__rspack_external_antd_mobile_0b674875.Picker,{onConfirm:n,columns:o,visible:t})]})},rX=e=>{let t=e.format||"HH:mm:ss",l=e.onChange,o=(0,r.useFlowModelContext)(),n={...e,picker:"time",format:t,inputReadOnly:!0,value:(0,rW.dayjsable)(e.value,"HH:mm:ss"),onChange:e=>{l&&l((0,rW.formatDayjsValue)(e,"HH:mm:ss")||null)}};return o.isMobileLayout?(0,m.jsx)(rJ,{...n}):(0,m.jsx)(_.TimePicker,{...n})};class rQ extends ed.o{render(){return(0,m.jsx)(rX,{...this.props,style:{width:"100%"}})}}rQ.registerFlow({key:"timeSettings",sort:3e3,title:(0,r.tExpr)("Time settings"),steps:{dateFormat:{use:"dateDisplayFormat",title:(0,r.tExpr)("Time format")}}}),r.EditableItemModel.bindModelToInterface("TimeFieldModel",["time"],{isDefault:!0}),r.FilterableItemModel.bindModelToInterface("TimeFieldModel",["time"],{isDefault:!0});var rZ=l(4814);class r0 extends r.FlowModel{addAppends(e){}onInit(e){let t=this;this.form=(0,rZ.createForm)({effects(e){(0,rZ.onFormValuesChange)(e=>{var l;null==(l=t.onChange)||l.call(t,e.values)}),(0,rZ.onFieldValueChange)("*",e=>{var t,l;null==(l=e.componentProps)||null==(t=l.onChange)||t.call(l,e.value)})}}),this.context.defineProperty("blockModel",{get:()=>this}),this.context.defineProperty("form",{get:()=>this.form}),this.context.defineProperty("record",{get:()=>{},cache:!1})}render(){return(0,m.jsx)(z.FormProvider,{form:this.form,children:(0,m.jsx)(lv.FormLayout,{layout:"vertical",children:this.mapSubModels("fields",e=>{var t,l,o,n;let i=(null==e||null==(t=e.getStepParams)?void 0:t.call(e,"fieldSettings","init"))||{},a=null==i?void 0:i.fieldPath;if(a){let t=a.includes(".")?a.split("."):[a],i={};(null==e||null==(l=e.props)?void 0:l.id)||(i.id=t),(null==e||null==(o=e.props)?void 0:o.name)||(i.name=t),Object.keys(i).length&&(null==e||null==(n=e.setProps)||n.call(e,i))}return(0,m.jsx)(r.FlowModelRenderer,{model:e},e.uid)})})})}}let r1=`
|
|
624
624
|
function JsReadonlyField() {
|
|
625
625
|
const React = ctx.React;
|
|
626
626
|
const { prefix, suffix, overflowMode } = ctx.model?.props || {};
|
|
@@ -637,7 +637,7 @@ function JsReadonlyField() {
|
|
|
637
637
|
}
|
|
638
638
|
|
|
639
639
|
ctx.render(<JsReadonlyField />);
|
|
640
|
-
`.trim();class
|
|
640
|
+
`.trim();class r2 extends ed.o{getInputArgs(){var e,t,l,o,n,i;let r=this.context.collectionField;if(null==r||null==(e=r.isAssociationField)?void 0:e.call(r)){let e=r.targetCollection,t=null==(o=this.context.blockModel)?void 0:o.collection,l=r.sourceKey||(null==t?void 0:t.filterTargetKey),a=null==r?void 0:r.targetKey,s=null==(n=this.props)?void 0:n.value;return{collectionName:null==e?void 0:e.name,associationName:(null==t?void 0:t.name)&&(null==r?void 0:r.name)?`${t.name}.${r.name}`:void 0,sourceId:null==(i=this.context.record)?void 0:i[l],filterByTk:s&&"object"==typeof s&&!Array.isArray(s)?null==s?void 0:s[a]:void 0}}return{sourceId:null==(l=this.context.resource)||null==(t=l.getSourceId)?void 0:t.call(l),filterByTk:this.context.collection&&this.context.record?this.context.collection.getFilterByTK(this.context.record):void 0}}useHooksBeforeRender(){var e;let t=null==(e=this.getStepParams("jsSettings","runJs"))?void 0:e.code,l=(0,h.useRef)(null);(0,h.useEffect)(()=>{let e=this.props.value,o=("string"==typeof t&&t.trim().length?t:r1).trim(),n=l.current;n&&n.code===o&&n.value===e||(l.current={code:o,value:e},this.applyFlow("jsSettings"))},[t,this.props.value])}render(){return(0,m.jsx)("span",{ref:this.context.ref,style:{display:"inline-block",maxWidth:"100%"}})}onMount(){if(this._mountedOnce){var e;(null==(e=this.context.ref)?void 0:e.current)&&this.rerender()}this._mountedOnce=!0}constructor(...e){super(...e),this._mountedOnce=!1}}r2.define({label:(0,r.tExpr)("JS field"),createModelOptions:{use:"JSFieldModel"}}),r2.registerFlow({key:"jsSettings",title:(0,r.tExpr)("JavaScript settings"),manual:!0,steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":eN.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:r1}),async handler(e,t){let{code:l,version:o}=eB(e,t);e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>new r.ElementProxy(t)}),e.defineProperty("value",{get:()=>{var t;return null==(t=e.model.props)?void 0:t.value},cache:!1});let n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})})}}}});let r5=`
|
|
641
641
|
// Render an editable antd Input via JSX and keep it in sync with form value.
|
|
642
642
|
// - Uses ctx.getValue/ctx.setValue for two-way binding
|
|
643
643
|
// - Listens to external value changes via 'js-field:value-change'
|
|
@@ -669,7 +669,7 @@ function JsEditableField() {
|
|
|
669
669
|
|
|
670
670
|
// Mount to the field container
|
|
671
671
|
ctx.render(<JsEditableField />);
|
|
672
|
-
`,
|
|
672
|
+
`,r4=e=>{var t,l;let{model:o,value:n,onChange:i,disabled:r,readOnly:a}=e,s=(0,h.useRef)(null),d=null==(t=o.context)?void 0:t.ref,u=e=>{s.current=e,d&&"object"==typeof d&&(d.current=e)},c=null==(l=o.getStepParams("jsSettings","runJs"))?void 0:l.code,p=(0,h.useMemo)(()=>{let e=c??r5;return"string"==typeof e?e.trim():""},[c]);return((0,h.useEffect)(()=>{if(!s.current||!p)return;let e=new CustomEvent("js-field:value-change",{detail:n});s.current.dispatchEvent(e)},[n,p]),p)?(0,m.jsx)("span",{ref:u,style:{display:"inline-block",width:"100%"}}):(0,m.jsx)(_.Input,{value:n,onChange:e=>null==i?void 0:i(e.target.value),disabled:r,readOnly:a,style:{width:"100%"}})};class r8 extends ed.o{render(){var e,t,l,o;return(0,m.jsx)(r4,{model:this,value:null==(e=this.props)?void 0:e.value,onChange:null==(t=this.props)?void 0:t.onChange,disabled:null==(l=this.props)?void 0:l.disabled,readOnly:null==(o=this.props)?void 0:o.readOnly})}onMount(){if(this._mountedOnce){var e;(null==(e=this.context.ref)?void 0:e.current)&&this.rerender()}this._mountedOnce=!0}constructor(...e){super(...e),this._mountedOnce=!1}}r8.define({label:(0,r.tExpr)("JS field")}),r8.registerFlow({key:"jsSettings",title:(0,r.tExpr)("JavaScript settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":eN.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams(e){var t;return null==(t=e.collectionField)||t.title,{version:"v2",code:r5}},async handler(e,t){let{code:l,version:o}=eB(e,t);e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>{var l;return new r.ElementProxy((null==(l=e.ref)?void 0:l.current)||t)},cache:!1}),e.defineMethod("getValue",()=>{var t,l,o,n,i;let r=null==(t=e.model.props)?void 0:t.name;if(null!=r){let t=null==(n=e.form)||null==(o=n.getFieldValue)?void 0:o.call(n,r);return void 0!==t?t:null==(i=e.model.props)?void 0:i.value}return null==(l=e.model.props)?void 0:l.value}),e.defineMethod("setValue",t=>{try{var l,o,n;e.model.setProps("value",t);let i=null==(l=e.model.props)?void 0:l.name;null!=i&&(null==(n=e.form)||null==(o=n.setFieldValue)||o.call(n,i,t))}catch(e){}}),e.defineProperty("namePath",{get:()=>{var t;return null==(t=e.model.props)?void 0:t.name},cache:!1}),e.defineProperty("disabled",{get:()=>{var t;return!!(null==(t=e.model.props)?void 0:t.disabled)},cache:!1}),e.defineProperty("readOnly",{get:()=>{var t;return!!(null==(t=e.model.props)?void 0:t.readOnly)},cache:!1});let n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})})}}}});class r3 extends ea{render(){let{color:e,borderColor:t,label:l,orientation:o,dashed:n}=this.props;return(0,m.jsx)(r.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,m.jsx)(_.Divider,{type:"horizontal",style:{color:e,borderColor:t},orientationMargin:"0",orientation:o,dashed:n,children:l})})}}r3.registerFlow({key:"markdownItemSetting",title:'{{t("Divider settings")}}',steps:{title:{title:'{{t("Edit divider")}}',defaultParams:{label:'{{t("Text")}}',orientation:"left",color:"rgba(0, 0, 0, 0.88)",borderColor:"rgba(5, 5, 5, 0.06)"},uiSchema:e=>({label:{title:'{{t("Divider label")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:!0}},orientation:{"x-component":"Radio.Group","x-decorator":"FormItem",title:'{{t("Label position")}}',enum:[{label:e.t("Left"),value:"left"},{label:e.t("Center"),value:"center"},{label:e.t("Right"),value:"right"}]},dashed:{title:'{{t("Dashed")}}',"x-component":"Switch","x-decorator":"FormItem"},color:{title:'{{t("Color")}}',"x-component":rr,"x-decorator":"FormItem"},borderColor:{title:'{{t("Divider line color")}}',"x-component":rr,"x-decorator":"FormItem"}}),handler(e,t){let l=t.label;l&&l!==e.t("Text")&&(l=e.t(l,{ns:"lm-flow-engine"})),e.model.setProps({...t,label:l})}}}}),r3.define({label:'{{t("Divider")}}'});let r6=e=>{let{style:t}=e,{t:l}=(0,F.useTranslation)(),o=(0,r.useFlowContext)();return(0,h.useEffect)(()=>{let e=o.getStepFormValues("markdownBlockSettings","editMarkdown");o.model._previousStepParams=S.default.cloneDeep(e)},[]),(0,m.jsx)(_.Button,{color:"primary",variant:"outlined",style:t,onClick:()=>{let e=o.getStepFormValues("markdownBlockSettings","editMarkdown");o.model.setStepParams("markdownBlockSettings","editMarkdown",e)},children:l("Preview")})},r9=e=>{let{style:t}=e,{t:l}=(0,F.useTranslation)(),o=(0,r.useFlowContext)();return(0,m.jsx)(_.Button,{type:"default",style:t,onClick:()=>{o.model._previousStepParams&&(o.model.setStepParams("markdownBlockSettings","editMarkdown",o.model._previousStepParams),o.model._previousStepParams=null),o.view.close()},children:l("Cancel")})},r7=(0,r.defineFlow)({key:"markdownBlockSettings",title:(0,r.tExpr)("Markdown block settings",{ns:"block-markdown"}),steps:{editMarkdown:{title:(0,r.tExpr)("Edit markdown"),uiSchema(e){let t=e.t;return{content:{type:"string","x-decorator":"FormItem","x-component":t=>e.markdown.edit({...t,value:t.value||e.model.props.value,mode:"sv",height:"82vh",style:{padding:10}}),description:(0,m.jsxs)(_.Space,{children:[(0,m.jsxs)("span",{style:{marginLeft:"10px"},className:"ant-formily-item-extra",children:[t("References"),":"]}),(0,m.jsx)("a",{href:"https://v2.docs.nocobase.com/interface-builder/blocks/other-blocks/markdown",target:"_blank",rel:"noreferrer",children:"Markdown"})]})}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}},footer:(e,t)=>{let{OkBtn:l}=t;return(0,m.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center"},children:[(0,m.jsx)(r9,{style:{marginRight:6}}),(0,m.jsx)(r6,{style:{marginRight:6}}),(0,m.jsx)(l,{})]})}}},useRawParams:!0,defaultParams:e=>({content:e.t('{{t("This is a demo text, **supports Markdown syntax**.")}}')}),async handler(e,t){let l=t.content;try{let t=await e.liquid.renderWithFullContext(l,e),o=e.markdown.render(t,{textOnly:!1});e.model.setProps({content:o,value:l})}catch(t){e.model.setProps({content:(0,m.jsx)("pre",{children:`渲染失败: ${t}`}),value:l})}}}}}),ae=e=>{let{ctx:t,raw:l,record:o}=e,[n,i]=h.default.useState(null);return h.default.useEffect(()=>{let e=!1;return(async()=>{try{let o=await t.liquid.renderWithFullContext(l,t),n=await t.markdown.render(o,{textOnly:!1});e||i(n)}catch(t){e||i(`<pre>渲染失败: ${t}</pre>`)}})(),()=>{e=!0}},[l,o]),n};class at extends ea{render(){let e=this.context.record,t=this.props.value;return(0,m.jsx)(r.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,m.jsx)(ae,{ctx:this.context,raw:t,record:e})})}}at.registerFlow(r7),at.define({label:'{{t("Markdown")}}'});class al extends ea{getInputArgs(){let e={};if(this.context.resource){let t=this.context.resource.getSourceId();t&&(e.sourceId=t)}if(this.context.collection&&this.context.record){let t=this.context.collection.getFilterByTK(this.context.record);t&&(e.filterByTk=t)}return e}render(){return(0,m.jsx)(r.FormItem,{shouldUpdate:!0,showLabel:!1,children:(0,m.jsx)("div",{ref:this.context.ref})})}onMount(){let e=this.context.resource;if(e){let t=()=>{this.applyFlow("jsSettings")};e.on("refresh",t),this._offResourceRefresh=()=>{e.off("refresh",t)}}if(this._mountedOnce){var t;(null==(t=this.context.ref)?void 0:t.current)&&this.rerender()}this._mountedOnce=!0}onUnmount(){var e,t;null==(e=(t=this)._offResourceRefresh)||e.call(t),this._offResourceRefresh=void 0}constructor(...e){super(...e),this._mountedOnce=!1}}al.define({label:(0,r.tExpr)("JS item"),createModelOptions:{use:"JSItemModel"},sort:120}),al.registerFlow({key:"jsSettings",title:(0,r.tExpr)("JavaScript settings"),steps:{runJs:{title:(0,r.tExpr)("Write JavaScript"),useRawParams:!0,uiSchema:{code:{type:"string","x-decorator":"FormItem","x-component":eN.BY,"x-component-props":{minHeight:"320px",theme:"light",enableLinter:!0,wrapperStyle:{position:"fixed",inset:8}}}},uiMode:{type:"embed",props:{styles:{body:{transform:"translateX(0)"}}}},defaultParams:e=>({version:"v2",code:`
|
|
673
673
|
function JsItem() {
|
|
674
674
|
return (
|
|
675
675
|
<div style={{ fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif", lineHeight: 1.6 }}>
|
|
@@ -680,14 +680,14 @@ function JsItem() {
|
|
|
680
680
|
}
|
|
681
681
|
|
|
682
682
|
ctx.render(<JsItem />);
|
|
683
|
-
`.trim()}),async handler(e,t){let{code:l,version:o}=
|
|
683
|
+
`.trim()}),async handler(e,t){let{code:l,version:o}=eB(e,t);e.onRefReady(e.ref,async t=>{e.defineProperty("element",{get:()=>new r.ElementProxy(t)});let n=(0,r.createSafeNavigator)();await e.runjs(l,{window:(0,r.createSafeWindow)({navigator:n}),document:(0,r.createSafeDocument)(),navigator:n},{version:o})})}}}});class ao extends ed.o{get collectionField(){return this.context.collectionField}renderComponent(e){return e}render(){let{value:e,fieldNames:t,overflowMode:l,width:o,style:n,className:i}=this.props,r=this.props.titleField||(null==t?void 0:t.label),a={className:i,ellipsis:"ellipsis"===l&&{tooltip:{rootClassName:(0,e9.css)`
|
|
684
684
|
.ant-tooltip-inner {
|
|
685
685
|
color: #000;
|
|
686
686
|
max-height: 500px;
|
|
687
687
|
overflow-y: auto;
|
|
688
688
|
padding: 10px;
|
|
689
689
|
}
|
|
690
|
-
`,color:"#fff"}},style:{...n||{},whiteSpace:"wrap"===l?"normal":"nowrap",width:o||"auto"}};if(!r)return(0,m.jsx)(_.Typography.Text,{...a,children:this.renderComponent(e)});{let t=(0,S.castArray)(e).flatMap((e,t)=>{let l=this.renderComponent(null==e?void 0:e[r]),o=(null==e?void 0:e[r])?l:"N/A";return 0===t?[o]:[(0,m.jsx)("span",{children:", "},`sep-${t}`),o]});return(0,m.jsx)(_.Typography.Text,{...a,children:t})}}}
|
|
690
|
+
`,color:"#fff"}},style:{...n||{},whiteSpace:"wrap"===l?"normal":"nowrap",width:o||"auto"}};if(!r)return(0,m.jsx)(_.Typography.Text,{...a,children:this.renderComponent(e)});{let t=(0,S.castArray)(e).flatMap((e,t)=>{let l=this.renderComponent(null==e?void 0:e[r]),o=(null==e?void 0:e[r])?l:"N/A";return 0===t?[o]:[(0,m.jsx)("span",{children:", "},`sep-${t}`),o]});return(0,m.jsx)(_.Typography.Text,{...a,children:t})}}}ao.registerFlow({key:"displayFieldSettings",title:(0,r.tExpr)("Display Field settings"),sort:200,steps:{overflowMode:{use:"overflowMode"}}});let an=h.default.memo(e=>{let t=(0,r.useFlowEngine)(),l=e=>{let{active:l,over:o}=e;l.id&&(null==o?void 0:o.id)&&l.id!==o.id&&t.moveModel(l.id,o.id)};return(0,m.jsx)(r.DndProvider,{onDragEnd:l,children:(0,m.jsx)("thead",{...e})})}),ai=(0,r.observer)(e=>{let{className:t,title:l,editable:o,width:n,record:i,recordIndex:r,dataIndex:a,children:s,model:d,...u}=e;return(0,m.jsx)("td",{className:(0,nd.default)(t),...u,children:(0,m.jsxs)("div",{style:{width:n},children:[" ",s]})})}),ar=e=>{let{model:t}=e;return(0,m.jsx)(r.AddSubModelButton,{model:t,subModelKey:"columns",subModelBaseClasses:["TableColumnModel","TableAssociationFieldGroupModel"],keepDropdownOpen:!0,children:(0,m.jsx)(r.FlowSettingsButton,{icon:(0,m.jsx)(E.SettingOutlined,{}),children:t.translate("Fields")})})},aa=e=>{let{pageSize:t,value:l,size:o,collection:n,baseColumns:i,enableIndexColumn:r=!0,model:a}=e,[s,d]=(0,h.useState)(1),[u,c]=(0,h.useState)(t),{t:p}=(0,F.useTranslation)();(0,h.useEffect)(()=>{c(t)},[t]);let f=(0,h.useMemo)(()=>({current:s,pageSize:u,total:null==l?void 0:l.length,onChange:(e,t)=>{d(e),c(t)},showSizeChanger:!0,showTotal:e=>p("Total {{count}} items",{count:e})}),[s,u,l]),g=()=>{let e=o1([r&&{key:"__index__",width:48,align:"center",fixed:"left",render:(e,t,l)=>(s-1)*u+l+1},...i.concat({key:"empty"})].filter(Boolean));return a.context.flowSettingsEnabled&&e.push({key:"addColumn",fixed:"right",width:100,title:(0,m.jsx)(ar,{model:a})}),e},v=(0,h.useCallback)(async(e,t,l)=>{if(!(0,S.isEmpty)(l)){let e=a.context.blockModel.resource,t=a.props.globalSort,o=a.context.collectionField.name,n=l.order?"ascend"===l.order?[l.field]:[`-${l.field}`]:t,i=n?`${o}(sort=${n})`:o,r=e.getAppends().map(e=>RegExp(`^${o}\\(sort=[^)]+\\)$`).test(e)||e===o?i:e);l&&e.setAppends(r),await e.refresh()}},[a]);return(0,m.jsx)(_.Table,{tableLayout:"fixed",size:o,rowKey:n.filterTargetKey,scroll:{x:"max-content"},dataSource:l,columns:g(),pagination:f,onChange:v,className:(0,e9.css)`
|
|
691
691
|
.ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content {
|
|
692
692
|
display: inline;
|
|
693
693
|
}
|
|
@@ -697,22 +697,22 @@ ctx.render(<JsItem />);
|
|
|
697
697
|
.ant-table-column-sorters .ant-table-column-title {
|
|
698
698
|
overflow: visible;
|
|
699
699
|
}
|
|
700
|
-
`,components:{header:{wrapper:
|
|
700
|
+
`,components:{header:{wrapper:an},body:{cell:ai}}})};class as extends ed.o{get collection(){return this.context.collection}get collectionField(){return this.context.collectionField}onInit(e){super.onInit(e),this.context.defineProperty("resourceName",{get:()=>this.context.collectionField.target,cache:!1}),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.context.fieldPath}),this.context.defineProperty("actionName",{get:()=>"view",cache:!1})}async afterAddAsSubModel(){await super.afterAddAsSubModel(),await this.dispatchEvent("beforeRender")}getBaseColumns(){return this.mapSubModels("columns",e=>"TableColumnModel"===e.use&&e.getColumnProps()).filter(e=>e&&!(null==e?void 0:e.hidden))}render(){return(0,m.jsx)(aa,{...this.props,collection:this.collection,baseColumns:this.getBaseColumns(),model:this})}constructor(...e){super(...e),this.disableTitleField=!0,this.defaultOverflowMode="ellipsis"}}as.registerFlow({key:"TableAssociation",title:(0,r.tExpr)("Association table settings"),steps:{init:{async handler(e){await e.model.applySubModelsBeforeRenderFlows("columns")}},pageSize:{title:(0,r.tExpr)("Page size"),uiMode:{type:"select",key:"pageSize",props:{options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}]}},defaultParams:{pageSize:10},handler(e,t){e.model.setProps({pageSize:t.pageSize})}}}}),as.define({label:(0,r.tExpr)("Sub-table")}),tx.bindModelToInterface("DisplaySubTableFieldModel",["m2m","o2m","mbm"]);class ad extends ed.o{getAddSubModelButtonProps(e){let t=this.subModelBaseClasses[e];return Array.isArray(t)?{subModelBaseClasses:t}:{subModelBaseClass:t}}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.parent.fieldPath})}render(){return(0,m.jsx)(ih,{...this.props})}constructor(...e){super(...e),this.disableTitleField=!0,this.subModelBaseClasses={action:"RecordActionGroupModel",field:["DetailsItemModel"]}}}ad.define({label:(0,r.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubItemFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),tx.bindModelToInterface("DisplaySubItemFieldModel",["m2o","o2o","oho","obo","updatedBy","createdBy"]);let au=e=>(0,S.castArray)(e).filter(e=>null!=e&&""!==e).map(e=>String(e)),ac=e=>{let{parentFieldIndex:t,index:l,blockPage:o}=e,n=t.length>0?t.join("|"):"root";return`row_${n}_${l}_${o}`},ap=e=>{var t;let{name:l,value:o=[]}=e,n=(0,r.useFlowModel)(),i=n.subModels.grid,a=au(n.context.fieldIndex),s=n.context.record,d=n.context.collectionField.name,u=n.context.flowSettingsEnabled&&0===o.length?[{}]:o,c=n.context.blockModel.resource,p=(null==c||null==(t=c.getPage)?void 0:t.call(c))||0;return u.length>0&&(0,m.jsx)(_.Card,{bordered:!0,style:{position:"relative"},className:(0,e9.css)`
|
|
701
701
|
> .ant-card-body > .ant-divider:last-child {
|
|
702
702
|
display: none;
|
|
703
703
|
}
|
|
704
|
-
`,children:u.map((e,t)=>{var l;let o=
|
|
704
|
+
`,children:u.map((e,t)=>{var l;let o=ac({parentFieldIndex:a,index:t,blockPage:p}),c=i.createFork({},`${o}`);c.gridContainerRef===i.gridContainerRef&&(c.gridContainerRef=h.default.createRef());let f=null==n||null==(l=n.context)?void 0:l.item;return c.context.defineProperty("fieldIndex",{get:()=>[...a,`${d}:${t}`]}),c.context.defineProperty("fieldKey",{get:()=>o}),c.context.defineProperty("record",{get:()=>s}),c.context.defineProperty("currentObject",{get:()=>e}),c.context.defineProperty("item",{get:()=>({index:t,length:u.length,__is_new__:null==e?void 0:e.__is_new__,__is_stored__:null==e?void 0:e.__is_stored__,value:e,parentItem:f}),cache:!1}),(0,m.jsxs)("div",{style:{marginBottom:12},children:[(0,m.jsx)(r.FlowModelRenderer,{model:c,showFlowSettings:!1}),(0,m.jsx)(_.Divider,{})]},o)})})};class am extends ed.o{getAddSubModelButtonProps(e){let t=this.subModelBaseClasses[e];return Array.isArray(t)?{subModelBaseClasses:t}:{subModelBaseClass:t}}onInit(e){super.onInit(e),this.context.defineProperty("collection",{get:()=>this.context.collectionField.targetCollection}),this.context.defineProperty("prefixFieldPath",{get:()=>this.parent.fieldPath})}render(){return(0,m.jsx)(ap,{...this.props})}constructor(...e){super(...e),this.disableTitleField=!0,this.subModelBaseClasses={action:"RecordActionGroupModel",field:["DetailsItemModel"]}}}am.define({label:(0,r.tExpr)("Sub-detail"),createModelOptions:{use:"DisplaySubListFieldModel",subModels:{grid:{use:"DetailsGridModel"}}}}),tx.bindModelToInterface("DisplaySubListFieldModel",["m2m","o2m","mbm"]);class ah extends ed.o{render(){let{value:e,style:t,className:l}=this.props;return e?(0,m.jsx)("div",{role:"button","aria-label":"color-picker-read-pretty",style:t,className:(0,e9.cx)(l,(0,e9.css)`
|
|
705
705
|
display: inline-flex;
|
|
706
706
|
.ant-color-picker-trigger-disabled {
|
|
707
707
|
cursor: default;
|
|
708
708
|
}
|
|
709
|
-
`),children:(0,m.jsx)(_.ColorPicker,{disabled:!0,value:e,size:"small"})}):null}}r.DisplayItemModel.bindModelToInterface("DisplayColorFieldModel",["color"],{isDefault:!0});class
|
|
709
|
+
`),children:(0,m.jsx)(_.ColorPicker,{disabled:!0,value:e,size:"small"})}):null}}r.DisplayItemModel.bindModelToInterface("DisplayColorFieldModel",["color"],{isDefault:!0});class af extends iw{renderComponent(e){let{className:t,style:l}=this.props,o=this.props.format,n="";if(e){let t=(0,rs.default)(e);n=t.isValid()?t.format(o):""}return(0,m.jsx)("div",{className:t,style:l,children:n})}}function ag(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments.length>2?arguments[2]:void 0;return(Array.isArray(e)?e:[e]).map(e=>{var o,n;return(null==t||null==(o=t.find)?void 0:o.call(t,t=>t[l.value]==e))??{value:e,label:(null==e||null==(n=e.toString)?void 0:n.call(e))??e}})}af.registerFlow({key:"datetimeSettings",sort:1e3,title:(0,r.tExpr)("Datetime settings"),steps:{dateFormat:{use:"dateDisplayFormat",title:(0,r.tExpr)("Date display format")}}}),af.define({label:(0,r.tExpr)("Datetime")}),r.DisplayItemModel.bindModelToInterface("DisplayDateTimeFieldModel",["date","datetimeNoTz","createdAt","datetime","updatedAt","unixTimestamp","formula"],{isDefault:!0,when:(e,t)=>"formula"!==t.type||"date"===t.dataType});let av={label:"label",value:"value",color:"color"};class ay extends iw{isEmpty(e){return null==e||""===e}renderComponent(e){let{options:t=[],dataSource:l}=this.props,o=ag(e,l||t,av);return this.isEmpty(e)||!o.length?null:o.map(e=>(0,m.jsx)(_.Tag,{color:e[av.color],icon:(0,m.jsx)(a.In,{type:e.icon}),children:this.translate(e[av.label])},e[av.value]))}}ay.define({label:(0,r.tExpr)("Select")}),ay.registerFlow({key:"displayCollectionSelectSettings",sort:6e3,steps:{init:{handler(e){if(["collection","tableoid"].includes(e.collectionField.interface))if(e.model.props.isTableOid){let t=e.dataSourceManager.getDataSource("main").collectionManager.getChildrenCollections(e.collectionField.collectionName),l=(0,S.castArray)(e.collectionField.collection).concat(t).map(e=>({label:e.title||e.name,value:e.name||e.value}));e.model.setProps({options:l})}else{let t=e.dataSourceManager.getDataSource("main").getCollections(),l=e.model.context.collectionField.enum||[],o=t.filter(e=>!e.options.hidden).filter(e=>!l.length||l.find(t=>t.value===e.name)).map(e=>{var t;return{label:e.title||e.name,value:e.name||e.value,color:null==(t=e.category)?void 0:t.color}});e.model.setProps({dataSource:o})}}}}}),r.DisplayItemModel.bindModelToInterface("DisplayEnumFieldModel",["select","multipleSelect","radioGroup","checkboxGroup","collection","tableoid"],{isDefault:!0});var a_=l(9378);class ab extends ao{renderComponent(e){let{textOnly:t=!0}=this.props;return(0,m.jsx)(a_.g,{...this.props,textOnly:t,value:e})}}ab.define({label:(0,r.tExpr)("HTML")}),ab.registerFlow({key:"htmlFieldSettings",title:(0,r.tExpr)("Content settings"),sort:200,steps:{renderMode:{use:"renderMode"}}}),r.DisplayItemModel.bindModelToInterface("DisplayHtmlFieldModel",["richText"],{isDefault:!0});class ax extends ed.o{render(){let{value:e,style:t,className:l}=this.props;return(0,m.jsx)(a.In,{type:e,style:t,className:l})}}r.DisplayItemModel.bindModelToInterface("DisplayIconFieldModel",["icon"],{isDefault:!0});let aM=(0,e9.css)`
|
|
710
710
|
margin-bottom: 0;
|
|
711
711
|
line-height: 1.5;
|
|
712
712
|
font-size: 90%;
|
|
713
713
|
background: none !important;
|
|
714
714
|
border: none !important;
|
|
715
|
-
`,ax=e=>{let{content:t,style:l,className:o}=e,n=(0,h.useRef)(null),[i,r]=(0,h.useState)(!1);(0,h.useEffect)(()=>{let e=n.current;e&&r(e.scrollWidth>e.clientWidth)},[t]);let a=(0,m.jsx)("div",{ref:n,style:{...l,whiteSpace:"nowrap",fontFamily:"Consolas, Monaco, monospace",overflow:"hidden",textOverflow:"ellipsis"},children:t});return i?(0,m.jsx)(_.Tooltip,{title:(0,m.jsx)("pre",{style:{margin:0,maxHeight:400},className:o,children:t}),overlayInnerStyle:{background:"#fff",color:"#000",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",maxWidth:500},color:"#fff",overlayStyle:{maxWidth:500,whiteSpace:"pre-wrap"},children:a}):a};class aM extends at{renderComponent(e){let{space:t,style:l,className:o,overflowMode:n}=this.props,i="";if(null!=e)try{i=JSON.stringify(e,null,t??2)}catch(e){i=this.flowEngine.translate("Invalid JSON format")}return"ellipsis"===n?(0,m.jsx)(ax,{content:i,style:l,className:(0,e6.cx)(o,ab)}):(0,m.jsx)("pre",{className:(0,e6.cx)(o,ab),style:l,children:i})}}function aw(e){let t=(0,S.toString)(e);return t.includes(".")?t.split(".")[1].replace(/0+$/,"").length:0}r.DisplayItemModel.bindModelToInterface("DisplayJSONFieldModel",["json"],{isDefault:!0});let aS={"0,0.00":{thousands:",",decimal:"."},"0.0,00":{thousands:".",decimal:","},"0 0,00":{thousands:" ",decimal:"."},"0.00":{thousands:"",decimal:"."}};function ak(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3?arguments[3]:void 0;if(e>Number.MAX_SAFE_INTEGER||e<Number.MIN_SAFE_INTEGER)return aF(e,t,l,o);let n=e;o&&(n=Number(e));let i="";if(aS[t]){let{thousands:e,decimal:o}=aS[t];i=n.toLocaleString("en-US",{style:"decimal",minimumFractionDigits:l,maximumFractionDigits:l}).replace(/,/g,"comma_placeholder").replace(/\./g,"dot_placeholder").replace(/comma_placeholder/g,e).replace(/dot_placeholder/g,o)}else i=n.toString();return i}function aF(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3?arguments[3]:void 0,n=e;o&&(n=new __rspack_external_bignumber_js_b933f7e9.default(e).toString());let i="";if(aS[t]){let{thousands:e,decimal:o}=aS[t],[r,a]=n.toString().split("."),s=a,d=r.replace(/\B(?=(\d{3})+(?!\d))/g,e);s&&l?(s=s.substring(0,l),i=`${d}${o}${s}`):i=d}else i=n.toString();return i}function aC(e){let t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"*",o=arguments.length>2?arguments[2]:void 0;if(!o)return e;if("*"===l)t=e*o;else{if("/"!==l)return console.error("Error: Invalid operator. Use '*' for multiplication or '/' for division."),null;if(0===o)return console.error("Error: Division by zero."),null;t=e/o}return __rspack_external_mathjs.round(t,9)}function aA(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";return(0,__rspack_external_d3_format_e0459777.format)(`.${t}e`)(e).replace(".",l).replace(/e([+-]?\d+)/,(e,t)=>t.startsWith("+")?`\xd710<sup>${t.slice(1)}</sup>`:`\xd710<sup>-${t.slice(1)}</sup>`)}function aP(e){let t,{step:l,formatStyle:o="normal",value:n,unitConversion:i,unitConversionType:r,separator:a="0,0.00"}=e;if(!(0,H.isValid)(n))return null;let s=aC(n,r,i);if(t=ak((0,d.toFixedByStep)(s,l),a,aw(l),o),"scientifix"===o){var u;t=aA(Number(s),aw(l),null==aS||null==(u=aS[a])?void 0:u.decimal)}return"NaN"===t&&(t=n),t}let aT=e=>{let{numberStep:t,formatStyle:l,value:o,unitConversion:n,unitConversionType:i,separator:r}=e;return aP({step:t,formatStyle:l,value:o,unitConversion:n,unitConversionType:i,separator:r})};class aj extends ix{renderComponent(e){let{addonBefore:t,addonAfter:l,style:o,className:n}=this.props,i=aT({...this.props,value:e});return i?(0,m.jsxs)("span",{className:n,style:o,children:[t,(0,m.jsx)("span",{dangerouslySetInnerHTML:{__html:i}}),l]}):null}}aj.define({label:(0,r.tExpr)("Number")});let aI=()=>{let e=(0,z.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,F.useTranslation)();return(0,m.jsxs)(_.Select,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,m.jsx)(_.Select.Option,{value:"*",children:l("Multiply by")}),(0,m.jsx)(_.Select.Option,{value:"/",children:l("Divide by")})]})};aj.registerFlow({key:"numberSettings",sort:500,title:(0,r.tExpr)("Number settings"),steps:{format:{title:(0,r.tExpr)("Number format"),use:"numberFormat"}}}),r.DisplayItemModel.bindModelToInterface("DisplayNumberFieldModel",["number","integer","id","snowflakeId"],{isDefault:!0});class aL extends es.o{render(){let{value:e,style:t,className:l}=this.props;return e?(0,m.jsx)("div",{className:l,style:t,children:"********"}):(0,m.jsx)("div",{className:l,style:t})}}r.DisplayItemModel.bindModelToInterface("DisplayPasswordFieldModel",["password"],{isDefault:!0});class aY extends ix{renderComponent(e){let{addonBefore:t="",addonAfter:l="%",numberStep:o,style:n,className:i}=this.props,r=__rspack_external_mathjs.round(100*e,9);if(null==e)return;let a=aT({...this.props,value:r,numberStep:o});return a?(0,m.jsxs)("div",{className:i,style:n,children:[t,(0,m.jsx)("span",{dangerouslySetInnerHTML:{__html:a}}),l]}):null}}aY.registerFlow({key:"numberSettings",sort:500,title:(0,r.tExpr)("Number settings"),steps:{format:{title:(0,r.tExpr)("Number format"),uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,r.tExpr)("Normal")},{value:"scientifix",label:(0,r.tExpr)("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"NumberPicker",title:"{{t('Unit conversion')}}","x-component-props":{style:{width:"100%"},addonBefore:(0,m.jsx)(aI,{})}},separator:{type:"string",enum:[{value:"0,0.00",label:"100,000.00"},{value:"0.0,00",label:"100.000,00"},{value:"0 0,00",label:"100 000.00"},{value:"0.00",label:"100000.00"}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},numberStep:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem"},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem","x-disabled":!0}}),defaultParams:e=>{let{formatStyle:t,unitConversion:l,unitConversionType:o,separator:n,step:i,addonBefore:r,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:o,separator:n||"0,0.00",numberStep:i||"1",addonBefore:r,addonAfter:a||"%"}},handler(e,t){let{formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s})}}}}),aY.define({label:(0,r.tExpr)("Percent")}),r.DisplayItemModel.bindModelToInterface("DisplayPercentFieldModel",["percent"],{isDefault:!0});class aD extends ix{t(e){return"string"!=typeof e?e:e.startsWith("{{")&&e.endsWith("}}")?this.translate(e):e}renderComponent(e,t){let{prefix:l,suffix:o,overflowMode:n,style:i,className:r}=this.props;return(0,m.jsxs)("span",{className:r,style:{...i||{},whiteSpace:"wrap"===n||t?"pre-line":"nowrap"},children:[l,this.t(e),o]})}}aD.define({label:(0,r.tExpr)("Text")}),r.DisplayItemModel.bindModelToInterface("DisplayTextFieldModel",["input","email","phone","uuid","textarea","nanoid"],{isDefault:!0});class aE extends at{renderComponent(e){let{style:t,className:l}=this.props,o=e&&(0,m.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:e,className:l,style:{...t||{},overflowWrap:"anywhere"},children:e});return(0,m.jsx)(m.Fragment,{children:o})}}aE.define({label:(0,r.tExpr)("URL")}),r.DisplayItemModel.bindModelToInterface("DisplayURLFieldModel",["url"],{isDefault:!0,when:e=>!0});class aR extends ix{renderComponent(e){let{prefix:t,suffix:l,style:o,className:n}=this.props,i=this.props.format||"HH:mm:ss",r=e&&(0,rr.default)(e,"HH:mm:ss").format(i);return(0,m.jsxs)("span",{className:n,style:o,children:[t,r,l]})}}aR.registerFlow({key:"timeSettings",sort:1e3,title:(0,r.tExpr)("Time settings"),steps:{dateFormat:{title:(0,r.tExpr)("Time format"),use:"dateDisplayFormat"}}}),aR.define({label:(0,r.tExpr)("Time")}),r.DisplayItemModel.bindModelToInterface("DisplayTimeFieldModel",["time"],{isDefault:!0});class aN extends es.o{render(){let{value:e,showUnchecked:t,style:l,className:o}=this.props;return e?(0,m.jsx)(E.CheckOutlined,{className:o,style:{color:"#52c41a",...l||{}}}):t?(0,m.jsx)(E.CloseOutlined,{className:o,style:{color:"#ff4d4f",...l||{}}}):(0,m.jsx)(_.Checkbox,{className:o,style:l,disabled:!0})}}aN.define({label:(0,r.tExpr)("Checkbox")}),r.DisplayItemModel.bindModelToInterface("DisplayCheckboxFieldModel",["checkbox"],{isDefault:!0});var aB=l(4695),aO=l(6854);function aH(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e)return[];let l=new Set,o=[],n=t.length?new Set(t):null,i=e=>{var t;if(!(null==e?void 0:e.uid)||l.has(e.uid))return;l.add(e.uid);let r=null==(t=e.getUserModifiedFields)?void 0:t.call(e);(null==r?void 0:r.size)&&!(null==n?void 0:n.has(e.uid))&&o.push(e.uid),Object.values(e.subModels||{}).forEach(e=>{S.default.castArray(e).forEach(e=>{e&&"object"==typeof e&&i(e)})})};return i(e),o}function aq(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=aH(e,t);return{hasDirtyForms:l.length>0,formModelUids:l}}function a$(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||!t.length)return;let l=new Set,o=new Set(t),n=e=>{if(!(!(null==e?void 0:e.uid)||l.has(e.uid))){if(l.add(e.uid),o.has(e.uid)){var t;null==(t=e.resetUserModifiedFields)||t.call(e)}Object.values(e.subModels||{}).forEach(e=>{S.default.castArray(e).forEach(e=>{e&&"object"==typeof e&&n(e)})})}};n(e)}function aV(e){return async t=>{let{result:l,force:o,ignoredDirtyFormModelUids:n}=t;if(o)return!0;let i=aq(e,n),a=!1,s=await e.dispatchEvent("close",{result:l,force:!1,dirty:i,controller:{prevent(){a=!0}}}),d=(null==s?void 0:s.__abortedByExitAll)===!0||!!Array.isArray(s)&&s.some(e=>e instanceof r.FlowExitAllException),u=!a&&!d;return u&&i.hasDirtyForms&&a$(e,i.formModelUids),u}}let az=(0,r.defineAction)({name:"openView",title:(0,r.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"},{label:(0,r.tExpr)("Page"),value:"embed"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "embed"}}'}}}}},hideInSettings:async e=>{var t,l,o,n;if(!e.model.getFlow("displayFieldSettings"))return!1;let i=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return void 0===i?!(null==(n=e.collectionField)?void 0:n.isAssociationField()):!1===i},defaultParams:async e=>{var t,l,o,n,i,r,a,s,d,u;let c,p=e.getPropertyMetaTree()||[],m=Array.isArray(p)&&p.some(e=>"record"===String(null==e?void 0:e.name)),h=(null==(t=e.collection)?void 0:t.filterTargetKey)||"id";if(null==(o=e.blockModel)||null==(l=o.resource)?void 0:l.resourceName){let t=e.collection.dataSource.collectionManager.getAssociation(null==(s=e.blockModel)||null==(a=s.resource)?void 0:a.resourceName);(null==t?void 0:t.interface)!=="m2m"&&(h=(null==t?void 0:t.targetKey)||h)}let f=m?`{{ ctx.record.${h} }}`:void 0;try{let t=null==(u=e.resource)||null==(d=u.getSourceId)?void 0:d.call(u);null!=t&&""!==String(t)&&(c="{{ ctx.resource.sourceId }}")}catch(e){}let g=null==(n=e.collection)?void 0:n.dataSourceKey,v=null==(i=e.collection)?void 0:i.name;return{mode:"drawer",size:"medium",pageModelClass:"ChildPageModel",uid:null==(r=e.model)?void 0:r.uid,...f?{filterByTk:f}:{},...c?{sourceId:c}:{},...g?{dataSourceKey:g}:{},...v?{collectionName:v}:{}}},async beforeParamsSave(e,t){if(null==t?void 0:t.uid){let l=e.engine;if(!(l.getModel(t.uid)||await l.loadModel({uid:t.uid})))throw Error(e.t("Popup UID not exists"))}},async handler(e,t){var l,o,n,i,r,a,s,d,u,c,p,h,f,g,v,y,_,b,x;let w=e.inputArgs||{},k=w.defineProperties??(null==(o=e.model.context)||null==(l=o.inputArgs)?void 0:l.defineProperties)??void 0,F=w.defineMethods??(null==(i=e.model.context)||null==(n=i.inputArgs)?void 0:n.defineMethods)??void 0,C=(null==(a=e.model)||null==(r=a.getInputArgs)?void 0:r.call(a))||{},A=(null==w?void 0:w.defaultInputKeys)||[],P=e=>{let l=void 0!==(null==w?void 0:w[e]),o=A.includes(e);return l&&!o?w[e]:void 0!==(null==t?void 0:t[e])?t[e]:l?w[e]:null==C?void 0:C[e]},T=(()=>{var t,l;let o=P("filterByTk");return(null==(t=e.collection)?void 0:t.template)==="sql"&&Array.isArray(null==(l=e.collection)?void 0:l.filterTargetKey)&&1===e.collection.filterTargetKey.length&&null!=o&&"object"!=typeof o?{[e.collection.filterTargetKey[0]]:o}:o})(),j=P("sourceId"),I=void 0!==(null==w?void 0:w.dataSourceKey)?w.dataSourceKey:null==t?void 0:t.dataSourceKey,L=void 0!==(null==w?void 0:w.collectionName)?w.collectionName:null==t?void 0:t.collectionName,Y=void 0!==(null==w?void 0:w.associationName)?w.associationName:null==t?void 0:t.associationName,D=void 0!==w.tabUid?w.tabUid:t.tabUid,E=(null==(s=e.inputArgs)?void 0:s.isMobileLayout)?"embed":(null==(d=e.inputArgs)?void 0:d.mode)||t.mode||"drawer",R=void 0!==w.navigation?w.navigation:t.navigation;if((k||F)&&(R=!1),!1!==R&&!1!==e.isNavigationEnabled&&!e.inputArgs.navigation&&(null==(g=e.view)?void 0:g.navigation)){let l={type:E,inputArgs:{...e.inputArgs,dataSourceKey:I,collectionName:L,associationName:Y,filterByTk:T,sourceId:j,tabUid:D,viewUid:(null==(y=e.model.context)||null==(v=y.inputArgs)?void 0:v.viewUid)||e.model.uid},navigation:null==(_=e.view)?void 0:_.navigation,preventClose:!!(null==t?void 0:t.preventClose),engineCtx:e.engine.context};e.model.context.defineProperty("view",{value:l});let o={viewUid:(null==(x=e.model.context)||null==(b=x.inputArgs)?void 0:b.viewUid)||e.model.uid,filterByTk:T,sourceId:j,tabUid:D};e.view.navigation.navigateTo(o);return}if((null==t?void 0:t.uid)&&t.uid!==e.model.uid)return void await e.openView(t.uid,{...w,...t||{},navigation:R,target:e.inputArgs.target||e.layoutContentElement,dataSourceKey:I??C.dataSourceKey,collectionName:L??C.collectionName,associationName:Y??C.associationName,filterByTk:T,sourceId:j,tabUid:D,...k?{defineProperties:k}:{},...F?{defineMethods:F}:{}});let N={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},B=e.inputArgs.pageModelClass||t.pageModelClass||"ChildPageModel",O=e.inputArgs.size||t.size||"medium",H=null,q=null,$=e.model.uid;if(t.subModelKey){let l=await e.engine.loadOrCreateModel({async:!0,parentId:e.model.uid,subKey:t.subModelKey,subType:"object",use:"FlowModel"},{skipSave:!e.flowSettingsEnabled});(null==l?void 0:l.uid)&&($=l.uid)}let V=!!(null==(u=e.inputArgs)?void 0:u.navigation),z=(null==(p=e.view)||null==(c=p.inputArgs)?void 0:c.openerUids)||w.openerUids||[],K=V?w.openerUids||z:[...z,(null==(f=e.model.context)||null==(h=f.inputArgs)?void 0:h.viewUid)||e.model.uid],U=void 0!==w.preventClose?!!w.preventClose:!!t.preventClose,G={viewUid:e.model.uid,...e.inputArgs,...w,dataSourceKey:I,collectionName:L,associationName:Y,tabUid:D,openerUids:K,pageActive:!0};G.filterByTk=T,G.sourceId=j,await e.viewer.open({type:E,triggerByRouter:G.triggerByRouter,inputArgs:S.default.omit(G,"triggerByRouter"),preventClose:U,destroyOnClose:!0,inheritContext:!1,target:e.inputArgs.target||e.layoutContentElement,width:N[E][O],content:t=>(e.inputArgs.destroyRef&&(e.inputArgs.destroyRef.current=t.destroy),e.inputArgs.updateRef&&(e.inputArgs.updateRef.current=t.update),(0,m.jsx)(M,{parentId:$,pageModelClass:B,onModelLoaded:(l,o)=>{var n,i,r,a;H=l;let s=o||e.engine.getModel(H);if(q=s||null,!s)return;t.beforeClose=aV(s);let d=w.defineProperties??(null==(i=e.model.context)||null==(n=i.inputArgs)?void 0:n.defineProperties)??{},u=w.defineMethods??(null==(a=e.model.context)||null==(r=a.inputArgs)?void 0:r.defineMethods)??{};s.context.defineProperty("currentView",{get:()=>t}),s.context.defineProperty("flowSettingsEnabled",{get:()=>e.flowSettingsEnabled,cache:!1}),s.context.defineProperty("view",{get:()=>t}),s.context.defineProperty("closable",{get:()=>"embed"!==E}),s instanceof ew&&s.context.defineProperty("pageActive",{get:()=>e.pageActive}),Object.entries(d).forEach(e=>{let[t,l]=e;s.context.defineProperty(t,l)}),Object.entries(u).forEach(e=>{let[t,l]=e;s.context.defineMethod(t,l)}),s.invalidateFlowCache("beforeRender",!0),s._rerunLastAutoRun()},defaultTabTitle:e.model.defaultPopupTitle})),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===E?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}},onClose:()=>{if(H){let t=q||e.model.flowEngine.getModel(H);null==t||t.invalidateFlowCache("beforeRender",!0)}},onOpen:e.inputArgs.onOpen})}}),aK=(0,r.defineAction)({name:"runjs",title:(0,r.tExpr)("Execute JavaScript"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:1e4,useRawParams:!0,uiSchema:{code:{type:"string","x-component":eR.BY,"x-component-props":{enableLinter:!0,height:"200px",scene:"eventFlow"}}},async handler(e,t){var l;if(null==(l=e.inputArgs)?void 0:l.navigation)return;let o=(0,r.createSafeNavigator)();return e.runjs(t.code,{window:(0,r.createSafeWindow)({navigator:o}),document:(0,r.createSafeDocument)(),navigator:o})}}),aU=3;function aG(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:aU;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let aW=(0,r.defineAction)({name:"showMessage",title:(0,r.tExpr)("Show message"),scene:r.ActionScene.DYNAMIC_EVENT_FLOW,sort:500,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model),i={type:t.type??"info",content:t.content||"",duration:aG(t.duration)},a=e=>{l({...i,...e})},s=e=>{a({type:e.target.value})},d=e=>{a({content:e.target.value})},u=e=>{a({duration:aG(e)})},c=e=>(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[c(n("Message type")),(0,m.jsxs)(_.Radio.Group,{value:i.type,onChange:s,children:[(0,m.jsx)(_.Radio,{value:"success",children:n("Success")}),(0,m.jsx)(_.Radio,{value:"error",children:n("Error")}),(0,m.jsx)(_.Radio,{value:"info",children:n("Info")}),(0,m.jsx)(_.Radio,{value:"warning",children:n("Warning")}),(0,m.jsx)(_.Radio,{value:"loading",children:n("Loading")})]})]}),(0,m.jsxs)("div",{children:[c(n("Message content")),(0,m.jsx)(_.Input.TextArea,{value:i.content,onChange:d,placeholder:n("Please input message content"),rows:3,style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[c(n("Duration (seconds, 0 = no auto close)")),(0,m.jsx)(_.InputNumber,{value:i.duration,onChange:u,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:o="info",content:n,duration:i=aU}=l||{type:"info",content:"",duration:aU},r=aG(i);if(!n)return;let a=`flow-message-${(0,d.uid)()}`,s=0===r?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[(0,m.jsx)("span",{children:n}),(0,m.jsx)(E.CloseOutlined,{role:"button","aria-label":"close message",style:{color:"rgba(0, 0, 0, 0.45)",cursor:"pointer",fontSize:"12px"},onClick:()=>{var t,l;return null==(t=(l=e.message).destroy)?void 0:t.call(l,a)}})]}):n,u={key:a,type:o,content:s,duration:r};e.message.open(u)}}),aJ=5;function aX(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:aJ;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let aQ=(0,r.defineAction)({name:"showNotification",title:(0,r.tExpr)("Show notification"),scene:r.ActionScene.DYNAMIC_EVENT_FLOW,sort:600,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model),i={type:t.type??"info",title:t.title||"",description:t.description||"",duration:aX(t.duration),placement:t.placement??"topRight"},a=e=>{l({...i,...e})},s=e=>{a({type:e.target.value})},d=e=>{a({title:e.target.value})},u=e=>{a({description:e.target.value})},c=e=>{a({duration:aX(e)})},p=e=>{a({placement:e})},h=[{label:n("Top left"),value:"topLeft"},{label:n("Top right"),value:"topRight"},{label:n("Bottom left"),value:"bottomLeft"},{label:n("Bottom right"),value:"bottomRight"}],f=e=>(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[f(n("Notification type")),(0,m.jsxs)(_.Radio.Group,{value:i.type,onChange:s,children:[(0,m.jsx)(_.Radio,{value:"success",children:n("Success")}),(0,m.jsx)(_.Radio,{value:"error",children:n("Error")}),(0,m.jsx)(_.Radio,{value:"info",children:n("Info")}),(0,m.jsx)(_.Radio,{value:"warning",children:n("Warning")})]})]}),(0,m.jsxs)("div",{children:[f(n("Notification title")),(0,m.jsx)(_.Input,{value:i.title,onChange:d,placeholder:n("Please input notification title"),style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[f(n("Notification description")),(0,m.jsx)(_.Input.TextArea,{value:i.description,onChange:u,placeholder:n("Please input notification description"),rows:3,style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[f(n("Placement")),(0,m.jsx)(_.Select,{value:i.placement,onChange:p,options:h,style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[f(n("Duration (seconds, 0 = no auto close)")),(0,m.jsx)(_.InputNumber,{value:i.duration,onChange:c,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:o="info",title:n,description:i,duration:r=aJ,placement:a="topRight"}=l||{type:"info",title:"",description:"",duration:aJ,placement:"topRight"},s=aX(r);(n||i)&&e.notification.open({type:o,message:n,description:i,duration:s,placement:a})}}),aZ=(0,r.defineAction)({name:"navigateToURL",title:(0,r.tExpr)("Navigate to URL"),scene:r.ActionScene.DYNAMIC_EVENT_FLOW,sort:400,uiSchema:{value:{type:"object",properties:{url:{title:(0,r.tExpr)("URL"),type:"string","x-decorator":"FormItem","x-component":u.n,description:'{{t("Do not concatenate search params in the URL")}}',required:!0},searchParams:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:'{{t("Search parameters")}}',items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,e6.css)`
|
|
715
|
+
`,aw=e=>{let{content:t,style:l,className:o}=e,n=(0,h.useRef)(null),[i,r]=(0,h.useState)(!1);(0,h.useEffect)(()=>{let e=n.current;e&&r(e.scrollWidth>e.clientWidth)},[t]);let a=(0,m.jsx)("div",{ref:n,style:{...l,whiteSpace:"nowrap",fontFamily:"Consolas, Monaco, monospace",overflow:"hidden",textOverflow:"ellipsis"},children:t});return i?(0,m.jsx)(_.Tooltip,{title:(0,m.jsx)("pre",{style:{margin:0,maxHeight:400},className:o,children:t}),overlayInnerStyle:{background:"#fff",color:"#000",boxShadow:"0 2px 8px rgba(0,0,0,0.15)",maxWidth:500},color:"#fff",overlayStyle:{maxWidth:500,whiteSpace:"pre-wrap"},children:a}):a};class aS extends ao{renderComponent(e){let{space:t,style:l,className:o,overflowMode:n}=this.props,i="";if(null!=e)try{i=JSON.stringify(e,null,t??2)}catch(e){i=this.flowEngine.translate("Invalid JSON format")}return"ellipsis"===n?(0,m.jsx)(aw,{content:i,style:l,className:(0,e9.cx)(o,aM)}):(0,m.jsx)("pre",{className:(0,e9.cx)(o,aM),style:l,children:i})}}function ak(e){let t=(0,S.toString)(e);return t.includes(".")?t.split(".")[1].replace(/0+$/,"").length:0}r.DisplayItemModel.bindModelToInterface("DisplayJSONFieldModel",["json"],{isDefault:!0});let aF={"0,0.00":{thousands:",",decimal:"."},"0.0,00":{thousands:".",decimal:","},"0 0,00":{thousands:" ",decimal:"."},"0.00":{thousands:"",decimal:"."}};function aC(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3?arguments[3]:void 0;if(e>Number.MAX_SAFE_INTEGER||e<Number.MIN_SAFE_INTEGER)return aA(e,t,l,o);let n=e;o&&(n=Number(e));let i="";if(aF[t]){let{thousands:e,decimal:o}=aF[t];i=n.toLocaleString("en-US",{style:"decimal",minimumFractionDigits:l,maximumFractionDigits:l}).replace(/,/g,"comma_placeholder").replace(/\./g,"dot_placeholder").replace(/comma_placeholder/g,e).replace(/dot_placeholder/g,o)}else i=n.toString();return i}function aA(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00",l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3?arguments[3]:void 0,n=e;o&&(n=new __rspack_external_bignumber_js_b933f7e9.default(e).toString());let i="";if(aF[t]){let{thousands:e,decimal:o}=aF[t],[r,a]=n.toString().split("."),s=a,d=r.replace(/\B(?=(\d{3})+(?!\d))/g,e);s&&l?(s=s.substring(0,l),i=`${d}${o}${s}`):i=d}else i=n.toString();return i}function aP(e){let t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"*",o=arguments.length>2?arguments[2]:void 0;if(!o)return e;if("*"===l)t=e*o;else{if("/"!==l)return console.error("Error: Invalid operator. Use '*' for multiplication or '/' for division."),null;if(0===o)return console.error("Error: Division by zero."),null;t=e/o}return __rspack_external_mathjs.round(t,9)}function aT(e,t){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";return(0,__rspack_external_d3_format_e0459777.format)(`.${t}e`)(e).replace(".",l).replace(/e([+-]?\d+)/,(e,t)=>t.startsWith("+")?`\xd710<sup>${t.slice(1)}</sup>`:`\xd710<sup>-${t.slice(1)}</sup>`)}function aj(e){let t,{step:l,formatStyle:o="normal",value:n,unitConversion:i,unitConversionType:r,separator:a="0,0.00"}=e;if(!(0,H.isValid)(n))return null;let s=aP(n,r,i);if(t=aC((0,d.toFixedByStep)(s,l),a,ak(l),o),"scientifix"===o){var u;t=aT(Number(s),ak(l),null==aF||null==(u=aF[a])?void 0:u.decimal)}return"NaN"===t&&(t=n),t}let aI=e=>{let{numberStep:t,formatStyle:l,value:o,unitConversion:n,unitConversionType:i,separator:r}=e;return aj({step:t,formatStyle:l,value:o,unitConversion:n,unitConversionType:i,separator:r})};class aL extends iw{renderComponent(e){let{addonBefore:t,addonAfter:l,style:o,className:n}=this.props,i=aI({...this.props,value:e});return i?(0,m.jsxs)("span",{className:n,style:o,children:[t,(0,m.jsx)("span",{dangerouslySetInnerHTML:{__html:i}}),l]}):null}}aL.define({label:(0,r.tExpr)("Number")});let aY=()=>{let e=(0,z.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,F.useTranslation)();return(0,m.jsxs)(_.Select,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,m.jsx)(_.Select.Option,{value:"*",children:l("Multiply by")}),(0,m.jsx)(_.Select.Option,{value:"/",children:l("Divide by")})]})};aL.registerFlow({key:"numberSettings",sort:500,title:(0,r.tExpr)("Number settings"),steps:{format:{title:(0,r.tExpr)("Number format"),use:"numberFormat"}}}),r.DisplayItemModel.bindModelToInterface("DisplayNumberFieldModel",["number","integer","id","snowflakeId"],{isDefault:!0});class aD extends ed.o{render(){let{value:e,style:t,className:l}=this.props;return e?(0,m.jsx)("div",{className:l,style:t,children:"********"}):(0,m.jsx)("div",{className:l,style:t})}}r.DisplayItemModel.bindModelToInterface("DisplayPasswordFieldModel",["password"],{isDefault:!0});class aE extends iw{renderComponent(e){let{addonBefore:t="",addonAfter:l="%",numberStep:o,style:n,className:i}=this.props,r=__rspack_external_mathjs.round(100*e,9);if(null==e)return;let a=aI({...this.props,value:r,numberStep:o});return a?(0,m.jsxs)("div",{className:i,style:n,children:[t,(0,m.jsx)("span",{dangerouslySetInnerHTML:{__html:a}}),l]}):null}}aE.registerFlow({key:"numberSettings",sort:500,title:(0,r.tExpr)("Number settings"),steps:{format:{title:(0,r.tExpr)("Number format"),uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,r.tExpr)("Normal")},{value:"scientifix",label:(0,r.tExpr)("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"NumberPicker",title:"{{t('Unit conversion')}}","x-component-props":{style:{width:"100%"},addonBefore:(0,m.jsx)(aY,{})}},separator:{type:"string",enum:[{value:"0,0.00",label:"100,000.00"},{value:"0.0,00",label:"100.000,00"},{value:"0 0,00",label:"100 000.00"},{value:"0.00",label:"100000.00"}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},numberStep:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem"},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem","x-disabled":!0}}),defaultParams:e=>{let{formatStyle:t,unitConversion:l,unitConversionType:o,separator:n,step:i,addonBefore:r,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:o,separator:n||"0,0.00",numberStep:i||"1",addonBefore:r,addonAfter:a||"%"}},handler(e,t){let{formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s})}}}}),aE.define({label:(0,r.tExpr)("Percent")}),r.DisplayItemModel.bindModelToInterface("DisplayPercentFieldModel",["percent"],{isDefault:!0});class aR extends iw{t(e){return"string"!=typeof e?e:e.startsWith("{{")&&e.endsWith("}}")?this.translate(e):e}renderComponent(e,t){let{prefix:l,suffix:o,overflowMode:n,style:i,className:r}=this.props;return(0,m.jsxs)("span",{className:r,style:{...i||{},whiteSpace:"wrap"===n||t?"pre-line":"nowrap"},children:[l,this.t(e),o]})}}aR.define({label:(0,r.tExpr)("Text")}),r.DisplayItemModel.bindModelToInterface("DisplayTextFieldModel",["input","email","phone","uuid","textarea","nanoid"],{isDefault:!0});class aN extends ao{renderComponent(e){let{style:t,className:l}=this.props,o=e&&(0,m.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:e,className:l,style:{...t||{},overflowWrap:"anywhere"},children:e});return(0,m.jsx)(m.Fragment,{children:o})}}aN.define({label:(0,r.tExpr)("URL")}),r.DisplayItemModel.bindModelToInterface("DisplayURLFieldModel",["url"],{isDefault:!0,when:e=>!0});class aB extends iw{renderComponent(e){let{prefix:t,suffix:l,style:o,className:n}=this.props,i=this.props.format||"HH:mm:ss",r=e&&(0,rs.default)(e,"HH:mm:ss").format(i);return(0,m.jsxs)("span",{className:n,style:o,children:[t,r,l]})}}aB.registerFlow({key:"timeSettings",sort:1e3,title:(0,r.tExpr)("Time settings"),steps:{dateFormat:{title:(0,r.tExpr)("Time format"),use:"dateDisplayFormat"}}}),aB.define({label:(0,r.tExpr)("Time")}),r.DisplayItemModel.bindModelToInterface("DisplayTimeFieldModel",["time"],{isDefault:!0});class aO extends ed.o{render(){let{value:e,showUnchecked:t,style:l,className:o}=this.props;return e?(0,m.jsx)(E.CheckOutlined,{className:o,style:{color:"#52c41a",...l||{}}}):t?(0,m.jsx)(E.CloseOutlined,{className:o,style:{color:"#ff4d4f",...l||{}}}):(0,m.jsx)(_.Checkbox,{className:o,style:l,disabled:!0})}}aO.define({label:(0,r.tExpr)("Checkbox")}),r.DisplayItemModel.bindModelToInterface("DisplayCheckboxFieldModel",["checkbox"],{isDefault:!0});var aH=l(4695),aq=l(6854);function a$(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e)return[];let l=new Set,o=[],n=t.length?new Set(t):null,i=e=>{var t;if(!(null==e?void 0:e.uid)||l.has(e.uid))return;l.add(e.uid);let r=null==(t=e.getUserModifiedFields)?void 0:t.call(e);(null==r?void 0:r.size)&&!(null==n?void 0:n.has(e.uid))&&o.push(e.uid),Object.values(e.subModels||{}).forEach(e=>{S.default.castArray(e).forEach(e=>{e&&"object"==typeof e&&i(e)})})};return i(e),o}function aV(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=a$(e,t);return{hasDirtyForms:l.length>0,formModelUids:l}}function az(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!e||!t.length)return;let l=new Set,o=new Set(t),n=e=>{if(!(!(null==e?void 0:e.uid)||l.has(e.uid))){if(l.add(e.uid),o.has(e.uid)){var t;null==(t=e.resetUserModifiedFields)||t.call(e)}Object.values(e.subModels||{}).forEach(e=>{S.default.castArray(e).forEach(e=>{e&&"object"==typeof e&&n(e)})})}};n(e)}function aK(e){return async t=>{let{result:l,force:o,ignoredDirtyFormModelUids:n}=t;if(o)return!0;let i=aV(e,n),a=!1,s=await e.dispatchEvent("close",{result:l,force:!1,dirty:i,controller:{prevent(){a=!0}}}),d=(null==s?void 0:s.__abortedByExitAll)===!0||!!Array.isArray(s)&&s.some(e=>e instanceof r.FlowExitAllException),u=!a&&!d;return u&&i.hasDirtyForms&&az(e,i.formModelUids),u}}let aU=(0,r.defineAction)({name:"openView",title:(0,r.tExpr)("Edit popup"),uiSchema:{mode:{type:"string",title:(0,r.tExpr)("Open mode"),enum:[{label:(0,r.tExpr)("Drawer"),value:"drawer"},{label:(0,r.tExpr)("Dialog"),value:"dialog"},{label:(0,r.tExpr)("Page"),value:"embed"}],"x-decorator":"FormItem","x-component":"Radio.Group"},size:{type:"string",title:(0,r.tExpr)("Popup size"),enum:[{label:(0,r.tExpr)("Small"),value:"small"},{label:(0,r.tExpr)("Medium"),value:"medium"},{label:(0,r.tExpr)("Large"),value:"large"}],"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "embed"}}'}}}}},hideInSettings:async e=>{var t,l,o,n;if(!e.model.getFlow("displayFieldSettings"))return!1;let i=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","clickToOpen"))?void 0:t.clickToOpen;return void 0===i?!(null==(n=e.collectionField)?void 0:n.isAssociationField()):!1===i},defaultParams:async e=>{var t,l,o,n,i,r,a,s,d,u;let c,p=e.getPropertyMetaTree()||[],m=Array.isArray(p)&&p.some(e=>"record"===String(null==e?void 0:e.name)),h=(null==(t=e.collection)?void 0:t.filterTargetKey)||"id";if(null==(o=e.blockModel)||null==(l=o.resource)?void 0:l.resourceName){let t=e.collection.dataSource.collectionManager.getAssociation(null==(s=e.blockModel)||null==(a=s.resource)?void 0:a.resourceName);(null==t?void 0:t.interface)!=="m2m"&&(h=(null==t?void 0:t.targetKey)||h)}let f=m?`{{ ctx.record.${h} }}`:void 0;try{let t=null==(u=e.resource)||null==(d=u.getSourceId)?void 0:d.call(u);null!=t&&""!==String(t)&&(c="{{ ctx.resource.sourceId }}")}catch(e){}let g=null==(n=e.collection)?void 0:n.dataSourceKey,v=null==(i=e.collection)?void 0:i.name;return{mode:"drawer",size:"medium",pageModelClass:"ChildPageModel",uid:null==(r=e.model)?void 0:r.uid,...f?{filterByTk:f}:{},...c?{sourceId:c}:{},...g?{dataSourceKey:g}:{},...v?{collectionName:v}:{}}},async beforeParamsSave(e,t){if(null==t?void 0:t.uid){let l=e.engine;if(!(l.getModel(t.uid)||await l.loadModel({uid:t.uid})))throw Error(e.t("Popup UID not exists"))}},async handler(e,t){var l,o,n,i,r,a,s,d,u,c,p,h,f,g,v,y,_,b,x;let w=e.inputArgs||{},k=w.defineProperties??(null==(o=e.model.context)||null==(l=o.inputArgs)?void 0:l.defineProperties)??void 0,F=w.defineMethods??(null==(i=e.model.context)||null==(n=i.inputArgs)?void 0:n.defineMethods)??void 0,C=(null==(a=e.model)||null==(r=a.getInputArgs)?void 0:r.call(a))||{},A=(null==w?void 0:w.defaultInputKeys)||[],P=e=>{let l=void 0!==(null==w?void 0:w[e]),o=A.includes(e);return l&&!o?w[e]:void 0!==(null==t?void 0:t[e])?t[e]:l?w[e]:null==C?void 0:C[e]},T=(()=>{var t,l;let o=P("filterByTk");return(null==(t=e.collection)?void 0:t.template)==="sql"&&Array.isArray(null==(l=e.collection)?void 0:l.filterTargetKey)&&1===e.collection.filterTargetKey.length&&null!=o&&"object"!=typeof o?{[e.collection.filterTargetKey[0]]:o}:o})(),j=P("sourceId"),I=void 0!==(null==w?void 0:w.dataSourceKey)?w.dataSourceKey:null==t?void 0:t.dataSourceKey,L=void 0!==(null==w?void 0:w.collectionName)?w.collectionName:null==t?void 0:t.collectionName,Y=void 0!==(null==w?void 0:w.associationName)?w.associationName:null==t?void 0:t.associationName,D=void 0!==w.tabUid?w.tabUid:t.tabUid,E=(null==(s=e.inputArgs)?void 0:s.isMobileLayout)?"embed":(null==(d=e.inputArgs)?void 0:d.mode)||t.mode||"drawer",R=void 0!==w.navigation?w.navigation:t.navigation;if((k||F)&&(R=!1),!1!==R&&!1!==e.isNavigationEnabled&&!e.inputArgs.navigation&&(null==(g=e.view)?void 0:g.navigation)){let l={type:E,inputArgs:{...e.inputArgs,dataSourceKey:I,collectionName:L,associationName:Y,filterByTk:T,sourceId:j,tabUid:D,viewUid:(null==(y=e.model.context)||null==(v=y.inputArgs)?void 0:v.viewUid)||e.model.uid},navigation:null==(_=e.view)?void 0:_.navigation,preventClose:!!(null==t?void 0:t.preventClose),engineCtx:e.engine.context};e.model.context.defineProperty("view",{value:l});let o={viewUid:(null==(x=e.model.context)||null==(b=x.inputArgs)?void 0:b.viewUid)||e.model.uid,filterByTk:T,sourceId:j,tabUid:D};e.view.navigation.navigateTo(o);return}if((null==t?void 0:t.uid)&&t.uid!==e.model.uid)return void await e.openView(t.uid,{...w,...t||{},navigation:R,target:e.inputArgs.target||e.layoutContentElement,dataSourceKey:I??C.dataSourceKey,collectionName:L??C.collectionName,associationName:Y??C.associationName,filterByTk:T,sourceId:j,tabUid:D,...k?{defineProperties:k}:{},...F?{defineMethods:F}:{}});let N={drawer:{small:"30%",medium:"50%",large:"70%"},dialog:{small:"40%",medium:"50%",large:"80%"},embed:{}},B=e.inputArgs.pageModelClass||t.pageModelClass||"ChildPageModel",O=e.inputArgs.size||t.size||"medium",H=null,q=null,$=e.model.uid;if(t.subModelKey){let l=await e.engine.loadOrCreateModel({async:!0,parentId:e.model.uid,subKey:t.subModelKey,subType:"object",use:"FlowModel"},{skipSave:!e.flowSettingsEnabled});(null==l?void 0:l.uid)&&($=l.uid)}let V=!!(null==(u=e.inputArgs)?void 0:u.navigation),z=(null==(p=e.view)||null==(c=p.inputArgs)?void 0:c.openerUids)||w.openerUids||[],K=V?w.openerUids||z:[...z,(null==(f=e.model.context)||null==(h=f.inputArgs)?void 0:h.viewUid)||e.model.uid],U=void 0!==w.preventClose?!!w.preventClose:!!t.preventClose,G={viewUid:e.model.uid,...e.inputArgs,...w,dataSourceKey:I,collectionName:L,associationName:Y,tabUid:D,openerUids:K,pageActive:!0};G.filterByTk=T,G.sourceId=j,await e.viewer.open({type:E,triggerByRouter:G.triggerByRouter,inputArgs:S.default.omit(G,"triggerByRouter"),preventClose:U,destroyOnClose:!0,inheritContext:!1,target:e.inputArgs.target||e.layoutContentElement,width:N[E][O],content:t=>(e.inputArgs.destroyRef&&(e.inputArgs.destroyRef.current=t.destroy),e.inputArgs.updateRef&&(e.inputArgs.updateRef.current=t.update),(0,m.jsx)(M,{parentId:$,pageModelClass:B,onModelLoaded:(l,o)=>{var n,i,r,a;H=l;let s=o||e.engine.getModel(H);if(q=s||null,!s)return;t.beforeClose=aK(s);let d=w.defineProperties??(null==(i=e.model.context)||null==(n=i.inputArgs)?void 0:n.defineProperties)??{},u=w.defineMethods??(null==(a=e.model.context)||null==(r=a.inputArgs)?void 0:r.defineMethods)??{};s.context.defineProperty("currentView",{get:()=>t}),s.context.defineProperty("flowSettingsEnabled",{get:()=>e.flowSettingsEnabled,cache:!1}),s.context.defineProperty("view",{get:()=>t}),s.context.defineProperty("closable",{get:()=>"embed"!==E}),s instanceof eS&&s.context.defineProperty("pageActive",{get:()=>e.pageActive}),Object.entries(d).forEach(e=>{let[t,l]=e;s.context.defineProperty(t,l)}),Object.entries(u).forEach(e=>{let[t,l]=e;s.context.defineMethod(t,l)}),s.invalidateFlowCache("beforeRender",!0),s._rerunLastAutoRun()},defaultTabTitle:e.model.defaultPopupTitle})),styles:{content:{padding:0,backgroundColor:e.model.flowEngine.context.themeToken.colorBgLayout,..."embed"===E?{position:"absolute",top:0,left:0,right:0,bottom:0}:{}},body:{padding:0}},onClose:()=>{if(H){let t=q||e.model.flowEngine.getModel(H);null==t||t.invalidateFlowCache("beforeRender",!0)}},onOpen:e.inputArgs.onOpen})}}),aG=(0,r.defineAction)({name:"runjs",title:(0,r.tExpr)("Execute JavaScript"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:1e4,useRawParams:!0,uiSchema:{code:{type:"string","x-component":eN.BY,"x-component-props":{enableLinter:!0,height:"200px",scene:"eventFlow"}}},async handler(e,t){var l;if(null==(l=e.inputArgs)?void 0:l.navigation)return;let o=(0,r.createSafeNavigator)();return e.runjs(t.code,{window:(0,r.createSafeWindow)({navigator:o}),document:(0,r.createSafeDocument)(),navigator:o})}}),aW=3;function aJ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:aW;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let aX=(0,r.defineAction)({name:"showMessage",title:(0,r.tExpr)("Show message"),scene:r.ActionScene.DYNAMIC_EVENT_FLOW,sort:500,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model),i={type:t.type??"info",content:t.content||"",duration:aJ(t.duration)},a=e=>{l({...i,...e})},s=e=>{a({type:e.target.value})},d=e=>{a({content:e.target.value})},u=e=>{a({duration:aJ(e)})},c=e=>(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[c(n("Message type")),(0,m.jsxs)(_.Radio.Group,{value:i.type,onChange:s,children:[(0,m.jsx)(_.Radio,{value:"success",children:n("Success")}),(0,m.jsx)(_.Radio,{value:"error",children:n("Error")}),(0,m.jsx)(_.Radio,{value:"info",children:n("Info")}),(0,m.jsx)(_.Radio,{value:"warning",children:n("Warning")}),(0,m.jsx)(_.Radio,{value:"loading",children:n("Loading")})]})]}),(0,m.jsxs)("div",{children:[c(n("Message content")),(0,m.jsx)(_.Input.TextArea,{value:i.content,onChange:d,placeholder:n("Please input message content"),rows:3,style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[c(n("Duration (seconds, 0 = no auto close)")),(0,m.jsx)(_.InputNumber,{value:i.duration,onChange:u,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:o="info",content:n,duration:i=aW}=l||{type:"info",content:"",duration:aW},r=aJ(i);if(!n)return;let a=`flow-message-${(0,d.uid)()}`,s=0===r?(0,m.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[(0,m.jsx)("span",{children:n}),(0,m.jsx)(E.CloseOutlined,{role:"button","aria-label":"close message",style:{color:"rgba(0, 0, 0, 0.45)",cursor:"pointer",fontSize:"12px"},onClick:()=>{var t,l;return null==(t=(l=e.message).destroy)?void 0:t.call(l,a)}})]}):n,u={key:a,type:o,content:s,duration:r};e.message.open(u)}}),aQ=5;function aZ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:aQ;if(null==e)return t;let l=Number(e);return Number.isNaN(l)?t:Math.max(0,Math.trunc(l))}let a0=(0,r.defineAction)({name:"showNotification",title:(0,r.tExpr)("Show notification"),scene:r.ActionScene.DYNAMIC_EVENT_FLOW,sort:600,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={},onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model),i={type:t.type??"info",title:t.title||"",description:t.description||"",duration:aZ(t.duration),placement:t.placement??"topRight"},a=e=>{l({...i,...e})},s=e=>{a({type:e.target.value})},d=e=>{a({title:e.target.value})},u=e=>{a({description:e.target.value})},c=e=>{a({duration:aZ(e)})},p=e=>{a({placement:e})},h=[{label:n("Top left"),value:"topLeft"},{label:n("Top right"),value:"topRight"},{label:n("Bottom left"),value:"bottomLeft"},{label:n("Bottom right"),value:"bottomRight"}],f=e=>(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:e});return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[f(n("Notification type")),(0,m.jsxs)(_.Radio.Group,{value:i.type,onChange:s,children:[(0,m.jsx)(_.Radio,{value:"success",children:n("Success")}),(0,m.jsx)(_.Radio,{value:"error",children:n("Error")}),(0,m.jsx)(_.Radio,{value:"info",children:n("Info")}),(0,m.jsx)(_.Radio,{value:"warning",children:n("Warning")})]})]}),(0,m.jsxs)("div",{children:[f(n("Notification title")),(0,m.jsx)(_.Input,{value:i.title,onChange:d,placeholder:n("Please input notification title"),style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[f(n("Notification description")),(0,m.jsx)(_.Input.TextArea,{value:i.description,onChange:u,placeholder:n("Please input notification description"),rows:3,style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[f(n("Placement")),(0,m.jsx)(_.Select,{value:i.placement,onChange:p,options:h,style:{width:"100%"}})]}),(0,m.jsxs)("div",{children:[f(n("Duration (seconds, 0 = no auto close)")),(0,m.jsx)(_.InputNumber,{value:i.duration,onChange:c,min:0,step:1,precision:0,style:{width:"100%"}})]})]})}}},handler:async(e,t)=>{let{value:l}=t,{type:o="info",title:n,description:i,duration:r=aQ,placement:a="topRight"}=l||{type:"info",title:"",description:"",duration:aQ,placement:"topRight"},s=aZ(r);(n||i)&&e.notification.open({type:o,message:n,description:i,duration:s,placement:a})}}),a1=(0,r.defineAction)({name:"navigateToURL",title:(0,r.tExpr)("Navigate to URL"),scene:r.ActionScene.DYNAMIC_EVENT_FLOW,sort:400,uiSchema:{value:{type:"object",properties:{url:{title:(0,r.tExpr)("URL"),type:"string","x-decorator":"FormItem","x-component":u.n,description:'{{t("Do not concatenate search params in the URL")}}',required:!0},searchParams:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",title:'{{t("Search parameters")}}',items:{type:"object",properties:{space:{type:"void","x-component":"Space","x-component-props":{style:{flexWrap:"nowrap",maxWidth:"100%",display:"flex"},className:(0,e9.css)`
|
|
716
716
|
& > .ant-space-item:first-child {
|
|
717
717
|
flex: 3;
|
|
718
718
|
}
|
|
@@ -724,17 +724,17 @@ ctx.render(<JsItem />);
|
|
|
724
724
|
flex-shrink: 0;
|
|
725
725
|
flex: 1;
|
|
726
726
|
}
|
|
727
|
-
`},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:1}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:'{{t("Add parameter")}}',"x-component":"ArrayItems.Addition"}}},openInNewWindow:{type:"boolean","x-content":'{{t("Open in new window")}}',"x-decorator":"FormItem","x-component":"Checkbox"}}}},async handler(e,t){let{value:l}=t,{url:o,searchParams:n=[],openInNewWindow:i=!1}=l||{url:"",searchParams:[],openInNewWindow:!1};if(!o)return;let r=o;if(n&&n.length>0){let e=new URL(o,globalThis.location.origin);for(let t of n)t.name&&void 0!==t.value&&e.searchParams.append(t.name,t.value);r=e.pathname+e.search+e.hash}i?globalThis.open(r,"_blank"):e.router.navigate(r)}}),a0=(0,r.defineAction)({name:"customVariable",title:(0,r.tExpr)("Custom variable"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:100,uiSchema:{variables:{type:"array","x-component":a4,"x-component-props":{}}},async handler(e,t){let{variables:l=[]}=t;l.forEach(t=>{if("runjs"===t.type){let l=async()=>{let{code:l,version:o}=(0,r.normalizeRunJSValue)(t.runjs);return(0,r.runjsWithSafeGlobals)(e,l,{version:o})},o=()=>({title:t.title,type:"any"});o.title=t.title,e.model.context.defineProperty(t.key,{get:l,cache:!1,meta:o});return}let l=()=>{var l;let o=e.model.flowEngine.getModel(t.formUid);return null==o||null==(l=o.form)?void 0:l.getFieldsValue(!0)},o=()=>{var l;let o=e.model.flowEngine.getModel(t.formUid),n=null==o||null==(l=o.subModels)?void 0:l.grid,i={};return n?(n.mapSubModels("items",e=>{i[e.props.name]={title:e.props.label,type:"string"}}),{title:t.title,type:"object",properties:i}):void console.warn(`Not found form or form has no grid: ${t.formUid}`)};o.title=t.title,e.model.context.defineProperty(t.key,{get:l,cache:!1,meta:o})})}}),a1={formValue:(0,r.tExpr)("Form variable"),runjs:(0,r.tExpr)("JS variable")},a2=()=>`var_${(0,H.uid)().slice(0,4)}`,a5=()=>({code:"",version:"v2"});function a4(e){let{value:t=[],onChange:l,disabled:o}=e,n=(0,r.useFlowContext)(),i=h.default.useMemo(()=>n.model.translate.bind(n.model),[n.model]),[a]=_.Form.useForm(),[s,d]=h.default.useState(!1),[u,c]=h.default.useState(null),[p,f]=h.default.useState("formValue"),g=h.default.useCallback(()=>{a.resetFields(),a.setFieldsValue({key:a2(),title:"",formUid:"",runjs:a5()})},[a]),v=h.default.useCallback((e,l)=>{if(f(e),c(l),null===l)g();else{let e=t[l];if(!e)return;a.setFieldsValue({key:e.key,title:e.title,formUid:"formValue"===e.type?e.formUid:"",runjs:"runjs"===e.type?(0,r.normalizeRunJSValue)(e.runjs):a5()})}d(!0)},[a,g,t]),y=h.default.useCallback(()=>{d(!1),c(null),g()},[g]),b=h.default.useCallback(async()=>{let e=await a.validateFields(),o="runjs"===p?{key:e.key,title:e.title,type:"runjs",runjs:(0,r.normalizeRunJSValue)(e.runjs)}:{key:e.key,title:e.title,type:"formValue",formUid:e.formUid},n=[...t];null===u?n.push(o):n.splice(u,1,o),null==l||l(n),y()},[y,p,u,a,l,t]),x=h.default.useCallback(e=>{_.Modal.confirm({title:i("Delete variable"),content:i("Are you sure you want to delete this variable?"),okText:i("Confirm"),cancelText:i("Cancel"),onOk:()=>{let o=t.filter((t,l)=>l!==e);null==l||l(o)}})},[l,i,t]),M=h.default.useCallback(e=>{o||v(e,null)},[o,v]),w=h.default.useCallback(e=>{if(o)return;let l=t[e];l&&v(l.type,e)},[o,v,t]),S=h.default.useMemo(()=>[{title:i("Title"),dataIndex:"title",key:"title",ellipsis:!0,render:e=>(0,m.jsx)("span",{style:{whiteSpace:"nowrap"},children:e})},{title:i("Identifier"),dataIndex:"key",key:"key",ellipsis:!0,render:e=>(0,m.jsx)("span",{style:{whiteSpace:"nowrap"},children:e})},{title:i("Type"),dataIndex:"type",key:"type",ellipsis:!0,render:e=>(0,m.jsx)(_.Tag,{style:{whiteSpace:"nowrap"},children:i(a1[e]||e)})},{title:i("Actions"),key:"actions",render:(e,t,l)=>(0,m.jsxs)(_.Space,{size:12,style:{whiteSpace:"nowrap"},children:[(0,m.jsx)(_.Button,{type:"link",size:"small",icon:(0,m.jsx)(E.EditOutlined,{}),onClick:()=>w(l),disabled:o,title:i("Edit")}),(0,m.jsx)(_.Button,{type:"link",size:"small",icon:(0,m.jsx)(E.DeleteOutlined,{}),danger:!0,onClick:()=>x(l),disabled:o,title:i("Delete")})]})}],[o,x,w,i]),k=h.default.useMemo(()=>({items:[{key:"formValue",label:i(a1.formValue)},{key:"runjs",label:i(a1.runjs)}],onClick:e=>{let{key:t}=e;return M(t)}}),[M,i]);return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,m.jsx)(_.Table,{rowKey:"key",columns:S,dataSource:t,pagination:!1,locale:{emptyText:i("No data")},size:"small",scroll:{x:"max-content"},bordered:!0}),(0,m.jsx)(_.Dropdown,{menu:k,trigger:["hover"],disabled:o,children:(0,m.jsx)(_.Button,{type:"dashed",block:!0,icon:(0,m.jsx)(E.PlusOutlined,{}),disabled:o,children:i("Add variable")})}),(0,m.jsx)(_.Modal,{open:s,title:null===u?i("Add variable"):i("Edit variable"),onCancel:y,onOk:b,okText:i("Confirm"),cancelText:i("Cancel"),destroyOnClose:!0,maskClosable:!1,okButtonProps:{disabled:o},cancelButtonProps:{disabled:o},children:(0,m.jsxs)(_.Form,{form:a,layout:"vertical",disabled:o,children:[(0,m.jsx)(_.Form.Item,{label:i("Variable title"),name:"title",rules:[{required:!0,message:i("Please enter variable title")}],children:(0,m.jsx)(_.Input,{placeholder:i("Please enter variable title")})}),(0,m.jsx)(_.Form.Item,{label:i("Variable identifier"),name:"key",rules:[{required:!0,message:i("Please enter variable identifier")}],children:(0,m.jsx)(_.Input,{placeholder:i("Please enter variable identifier")})}),"formValue"===p?(0,m.jsx)(_.Form.Item,{label:i("Form UID"),name:"formUid",rules:[{required:!0,message:i("Please enter form uid")}],children:(0,m.jsx)(_.Input,{placeholder:i("Please enter form uid")})}):null,"runjs"===p?(0,m.jsx)(_.Form.Item,{label:i("JavaScript"),name:"runjs",rules:[{validator:async(e,t)=>{if(!(0,r.isRunJSValue)(t)||!(0,r.normalizeRunJSValue)(t).code.trim())throw Error(i("Please enter JavaScript code"))}}],children:(0,m.jsx)(tA.h,{t:i,scene:"eventFlow",height:"240px",containerStyle:{width:"100%"}})}):null]})})]})}let a8=(0,r.defineAction)({name:"refreshTargetBlocks",title:(0,r.tExpr)("Refresh target blocks"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:300,uiSchema:{targets:{type:"array","x-component":a3,"x-component-props":{}}},async handler(e,t){let{targets:l=[]}=t;l.forEach(t=>{let l=e.engine.getModel(t,!0);l?l.refresh():console.warn(`Not found model: ${t}`)})}});function a3(e){let{value:t=[],onChange:l}=e,{t:o}=(0,F.useTranslation)(),n=(0,r.useFlowContext)().themeToken,i=t.length>0?t:[""],a=(e,t)=>{let o=[...i];o[e]=t,null==l||l(o)},s=e=>{let t=i.filter((t,l)=>l!==e);null==l||l(t.length>0?t:[""])},d=()=>{null==l||l([...i,""])};return(0,m.jsxs)(_.Space,{direction:"vertical",size:8,style:{width:"100%"},children:[i.map((e,t)=>(0,m.jsxs)(_.Space,{style:{width:"100%"},size:8,children:[(0,m.jsx)(_.Input,{placeholder:o("Target block uid"),value:e,onChange:e=>a(t,e.target.value),style:{flex:1}}),i.length>1&&(0,m.jsx)(_.Button,{type:"text",icon:(0,m.jsx)(E.CloseOutlined,{}),onClick:()=>s(t),"aria-label":o("Remove"),style:{color:n.colorTextSecondary}})]},`target-${t}-${e}`)),(0,m.jsx)(_.Button,{type:"dashed",block:!0,icon:(0,m.jsx)(E.PlusOutlined,{}),onClick:d,children:o("Add target block")})]})}let a6=(0,r.defineAction)({name:"setTargetDataScope",title:(0,r.tExpr)("Set data scope"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:200,uiSchema:{targetBlockUid:{type:"string",title:(0,r.tExpr)("Target block UID"),"x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:(0,r.tExpr)("Please enter the target block UID")}},filter:{type:"object",title:(0,r.tExpr)("Condition"),"x-decorator":"FormItem","x-component":a9,"x-reactions":[{dependencies:["targetBlockUid"],fulfill:{state:{componentProps:{uid:"{{$deps[0]}}"},hidden:"{{!$deps[0]}}"}}}]}},defaultParams:e=>({targetBlockUid:"",filter:{logic:"$and",items:[]}}),async handler(e,t){let l=t.targetBlockUid;l&&e.model.scheduleModelOperation(l,l=>{let o=l.resource;if(!o)return;let n=(0,r.pruneFilter)((0,d.transformFilter)(t.filter));(0,d.isEmptyFilter)(n)?o.removeFilterGroup(`setTargetDataScope_${e.model.uid}`):o.addFilterGroup(`setTargetDataScope_${e.model.uid}`,n),o.hasData()&&o.refresh()})}});function a9(e){let t=(0,r.useFlowContext)(),l=e.uid,o=t.engine.getModel(l,!0);return o?(0,m.jsx)(f.I8,{value:e.value,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:o,rightAsVariable:!0})}):(0,m.jsxs)("div",{style:{color:t.themeToken.colorError},children:[t.t("Cannot find the model instance with UID"),": ",l]})}let a7=e=>"string"==typeof e?e:Array.isArray(e)&&1===e.length?e[0]:void 0,se=(e,t)=>{var l;if(!e)return null;let o=t||(null==(l=e.titleCollectionField)?void 0:l.name)||a7(e.filterTargetKey);return o?e.getField(o):null},st=(0,r.defineAction)({name:"titleField",title:(0,r.tExpr)("Title field"),uiMode:e=>{var t;let l=e.collectionField.targetCollection,o=e.app.dataSourceManager;return{type:"select",key:"label",props:{options:((null==l||null==(t=l.getFields)?void 0:t.call(l))??[]).filter(e=>(0,a.ji)(o,e.options)).map(e=>({value:e.name,label:null==e?void 0:e.title}))}}},defaultParams:e=>{var t,l;let o=e.model.context.collectionField.targetCollectionTitleFieldName;return{label:(null==(l=e.model.parent)||null==(t=l.props)?void 0:t.titleField)||e.model.props.titleField||o}},hideInSettings:async e=>{var t;return!e.collectionField||!e.collectionField.isAssociationField()||(null==(t=e.model.subModels.field)?void 0:t.disableTitleField)},beforeParamsSave:async(e,t,l)=>{let o=e.model.collectionField.target,n=e.model.collectionField.targetCollection;if(t.label!==l.label){var i;let l=null==(i=e.model.subModels.field)?void 0:i.uid;l&&await e.engine.destroyModel(l);let a=se(n,t.label);if(!a)return;let s=r.DisplayItemModel.getDefaultBindingByField(e,a);if(!s)return;let d=s.modelName,u=e.model.setSubModel("field",{use:d,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:o,fieldPath:t.label}}}});await u.save(),await u.dispatchEvent("beforeRender"),await e.model.save()}},async handler(e,t){let l=e.model.collectionField.target,o=e.model.collectionField.targetCollection,n=se(o,t.label);if(!n)return;let i={value:a7(o.filterTargetKey)||n.name,label:n.name};e.model.setProps({fieldNames:i});let a=r.DisplayItemModel.getDefaultBindingByField(e,n);if(!a)return;let s=a.modelName;if(!e.model.subModels.field){let t=e.model.setSubModel("field",{use:s,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:l,fieldPath:i.label}}}});await t.dispatchEvent("beforeRender")}}}),sl=(0,r.defineAction)({title:(0,r.tExpr)("Date display format"),name:"dateDisplayFormat",uiSchema:e=>{let{collectionField:t}=e.model.context,l=t.type,o={type:"string",title:'{{t("Time format")}}',"x-component":oW.S5,"x-decorator":"FormItem","x-component-props":{className:(0,e6.css)`
|
|
727
|
+
`},properties:{name:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:'{{t("Name")}}'}},value:{type:"string","x-decorator":"FormItem","x-component":u.n,"x-component-props":{rows:1}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:'{{t("Add parameter")}}',"x-component":"ArrayItems.Addition"}}},openInNewWindow:{type:"boolean","x-content":'{{t("Open in new window")}}',"x-decorator":"FormItem","x-component":"Checkbox"}}}},async handler(e,t){let{value:l}=t,{url:o,searchParams:n=[],openInNewWindow:i=!1}=l||{url:"",searchParams:[],openInNewWindow:!1};if(!o)return;let r=o;if(n&&n.length>0){let e=new URL(o,globalThis.location.origin);for(let t of n)t.name&&void 0!==t.value&&e.searchParams.append(t.name,t.value);r=e.pathname+e.search+e.hash}i?globalThis.open(r,"_blank"):e.router.navigate(r)}}),a2=(0,r.defineAction)({name:"customVariable",title:(0,r.tExpr)("Custom variable"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:100,uiSchema:{variables:{type:"array","x-component":a3,"x-component-props":{}}},async handler(e,t){let{variables:l=[]}=t;l.forEach(t=>{if("runjs"===t.type){let l=async()=>{let{code:l,version:o}=(0,r.normalizeRunJSValue)(t.runjs);return(0,r.runjsWithSafeGlobals)(e,l,{version:o})},o=()=>({title:t.title,type:"any"});o.title=t.title,e.model.context.defineProperty(t.key,{get:l,cache:!1,meta:o});return}let l=()=>{var l;let o=e.model.flowEngine.getModel(t.formUid);return null==o||null==(l=o.form)?void 0:l.getFieldsValue(!0)},o=()=>{var l;let o=e.model.flowEngine.getModel(t.formUid),n=null==o||null==(l=o.subModels)?void 0:l.grid,i={};return n?(n.mapSubModels("items",e=>{i[e.props.name]={title:e.props.label,type:"string"}}),{title:t.title,type:"object",properties:i}):void console.warn(`Not found form or form has no grid: ${t.formUid}`)};o.title=t.title,e.model.context.defineProperty(t.key,{get:l,cache:!1,meta:o})})}}),a5={formValue:(0,r.tExpr)("Form variable"),runjs:(0,r.tExpr)("JS variable")},a4=()=>`var_${(0,H.uid)().slice(0,4)}`,a8=()=>({code:"",version:"v2"});function a3(e){let{value:t=[],onChange:l,disabled:o}=e,n=(0,r.useFlowContext)(),i=h.default.useMemo(()=>n.model.translate.bind(n.model),[n.model]),[a]=_.Form.useForm(),[s,d]=h.default.useState(!1),[u,c]=h.default.useState(null),[p,f]=h.default.useState("formValue"),g=h.default.useCallback(()=>{a.resetFields(),a.setFieldsValue({key:a4(),title:"",formUid:"",runjs:a8()})},[a]),v=h.default.useCallback((e,l)=>{if(f(e),c(l),null===l)g();else{let e=t[l];if(!e)return;a.setFieldsValue({key:e.key,title:e.title,formUid:"formValue"===e.type?e.formUid:"",runjs:"runjs"===e.type?(0,r.normalizeRunJSValue)(e.runjs):a8()})}d(!0)},[a,g,t]),y=h.default.useCallback(()=>{d(!1),c(null),g()},[g]),b=h.default.useCallback(async()=>{let e=await a.validateFields(),o="runjs"===p?{key:e.key,title:e.title,type:"runjs",runjs:(0,r.normalizeRunJSValue)(e.runjs)}:{key:e.key,title:e.title,type:"formValue",formUid:e.formUid},n=[...t];null===u?n.push(o):n.splice(u,1,o),null==l||l(n),y()},[y,p,u,a,l,t]),x=h.default.useCallback(e=>{_.Modal.confirm({title:i("Delete variable"),content:i("Are you sure you want to delete this variable?"),okText:i("Confirm"),cancelText:i("Cancel"),onOk:()=>{let o=t.filter((t,l)=>l!==e);null==l||l(o)}})},[l,i,t]),M=h.default.useCallback(e=>{o||v(e,null)},[o,v]),w=h.default.useCallback(e=>{if(o)return;let l=t[e];l&&v(l.type,e)},[o,v,t]),S=h.default.useMemo(()=>[{title:i("Title"),dataIndex:"title",key:"title",ellipsis:!0,render:e=>(0,m.jsx)("span",{style:{whiteSpace:"nowrap"},children:e})},{title:i("Identifier"),dataIndex:"key",key:"key",ellipsis:!0,render:e=>(0,m.jsx)("span",{style:{whiteSpace:"nowrap"},children:e})},{title:i("Type"),dataIndex:"type",key:"type",ellipsis:!0,render:e=>(0,m.jsx)(_.Tag,{style:{whiteSpace:"nowrap"},children:i(a5[e]||e)})},{title:i("Actions"),key:"actions",render:(e,t,l)=>(0,m.jsxs)(_.Space,{size:12,style:{whiteSpace:"nowrap"},children:[(0,m.jsx)(_.Button,{type:"link",size:"small",icon:(0,m.jsx)(E.EditOutlined,{}),onClick:()=>w(l),disabled:o,title:i("Edit")}),(0,m.jsx)(_.Button,{type:"link",size:"small",icon:(0,m.jsx)(E.DeleteOutlined,{}),danger:!0,onClick:()=>x(l),disabled:o,title:i("Delete")})]})}],[o,x,w,i]),k=h.default.useMemo(()=>({items:[{key:"formValue",label:i(a5.formValue)},{key:"runjs",label:i(a5.runjs)}],onClick:e=>{let{key:t}=e;return M(t)}}),[M,i]);return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,m.jsx)(_.Table,{rowKey:"key",columns:S,dataSource:t,pagination:!1,locale:{emptyText:i("No data")},size:"small",scroll:{x:"max-content"},bordered:!0}),(0,m.jsx)(_.Dropdown,{menu:k,trigger:["hover"],disabled:o,children:(0,m.jsx)(_.Button,{type:"dashed",block:!0,icon:(0,m.jsx)(E.PlusOutlined,{}),disabled:o,children:i("Add variable")})}),(0,m.jsx)(_.Modal,{open:s,title:null===u?i("Add variable"):i("Edit variable"),onCancel:y,onOk:b,okText:i("Confirm"),cancelText:i("Cancel"),destroyOnClose:!0,maskClosable:!1,okButtonProps:{disabled:o},cancelButtonProps:{disabled:o},children:(0,m.jsxs)(_.Form,{form:a,layout:"vertical",disabled:o,children:[(0,m.jsx)(_.Form.Item,{label:i("Variable title"),name:"title",rules:[{required:!0,message:i("Please enter variable title")}],children:(0,m.jsx)(_.Input,{placeholder:i("Please enter variable title")})}),(0,m.jsx)(_.Form.Item,{label:i("Variable identifier"),name:"key",rules:[{required:!0,message:i("Please enter variable identifier")}],children:(0,m.jsx)(_.Input,{placeholder:i("Please enter variable identifier")})}),"formValue"===p?(0,m.jsx)(_.Form.Item,{label:i("Form UID"),name:"formUid",rules:[{required:!0,message:i("Please enter form uid")}],children:(0,m.jsx)(_.Input,{placeholder:i("Please enter form uid")})}):null,"runjs"===p?(0,m.jsx)(_.Form.Item,{label:i("JavaScript"),name:"runjs",rules:[{validator:async(e,t)=>{if(!(0,r.isRunJSValue)(t)||!(0,r.normalizeRunJSValue)(t).code.trim())throw Error(i("Please enter JavaScript code"))}}],children:(0,m.jsx)(tP.h,{t:i,scene:"eventFlow",height:"240px",containerStyle:{width:"100%"}})}):null]})})]})}let a6=(0,r.defineAction)({name:"refreshTargetBlocks",title:(0,r.tExpr)("Refresh target blocks"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:300,uiSchema:{targets:{type:"array","x-component":a9,"x-component-props":{}}},async handler(e,t){let{targets:l=[]}=t;l.forEach(t=>{let l=e.engine.getModel(t,!0);l?l.refresh():console.warn(`Not found model: ${t}`)})}});function a9(e){let{value:t=[],onChange:l}=e,{t:o}=(0,F.useTranslation)(),n=(0,r.useFlowContext)().themeToken,i=t.length>0?t:[""],a=(e,t)=>{let o=[...i];o[e]=t,null==l||l(o)},s=e=>{let t=i.filter((t,l)=>l!==e);null==l||l(t.length>0?t:[""])},d=()=>{null==l||l([...i,""])};return(0,m.jsxs)(_.Space,{direction:"vertical",size:8,style:{width:"100%"},children:[i.map((e,t)=>(0,m.jsxs)(_.Space,{style:{width:"100%"},size:8,children:[(0,m.jsx)(_.Input,{placeholder:o("Target block uid"),value:e,onChange:e=>a(t,e.target.value),style:{flex:1}}),i.length>1&&(0,m.jsx)(_.Button,{type:"text",icon:(0,m.jsx)(E.CloseOutlined,{}),onClick:()=>s(t),"aria-label":o("Remove"),style:{color:n.colorTextSecondary}})]},`target-${t}-${e}`)),(0,m.jsx)(_.Button,{type:"dashed",block:!0,icon:(0,m.jsx)(E.PlusOutlined,{}),onClick:d,children:o("Add target block")})]})}let a7=(0,r.defineAction)({name:"setTargetDataScope",title:(0,r.tExpr)("Set data scope"),scene:[r.ActionScene.DYNAMIC_EVENT_FLOW],sort:200,uiSchema:{targetBlockUid:{type:"string",title:(0,r.tExpr)("Target block UID"),"x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:(0,r.tExpr)("Please enter the target block UID")}},filter:{type:"object",title:(0,r.tExpr)("Condition"),"x-decorator":"FormItem","x-component":se,"x-reactions":[{dependencies:["targetBlockUid"],fulfill:{state:{componentProps:{uid:"{{$deps[0]}}"},hidden:"{{!$deps[0]}}"}}}]}},defaultParams:e=>({targetBlockUid:"",filter:{logic:"$and",items:[]}}),async handler(e,t){let l=t.targetBlockUid;l&&e.model.scheduleModelOperation(l,l=>{let o=l.resource;if(!o)return;let n=(0,r.pruneFilter)((0,d.transformFilter)(t.filter));(0,d.isEmptyFilter)(n)?o.removeFilterGroup(`setTargetDataScope_${e.model.uid}`):o.addFilterGroup(`setTargetDataScope_${e.model.uid}`,n),o.hasData()&&o.refresh()})}});function se(e){let t=(0,r.useFlowContext)(),l=e.uid,o=t.engine.getModel(l,!0);return o?(0,m.jsx)(f.I8,{value:e.value,FilterItem:e=>(0,m.jsx)(f.Et,{...e,model:o,rightAsVariable:!0})}):(0,m.jsxs)("div",{style:{color:t.themeToken.colorError},children:[t.t("Cannot find the model instance with UID"),": ",l]})}let st=e=>"string"==typeof e?e:Array.isArray(e)&&1===e.length?e[0]:void 0,sl=(e,t)=>{var l;if(!e)return null;let o=t||(null==(l=e.titleCollectionField)?void 0:l.name)||st(e.filterTargetKey);return o?e.getField(o):null},so=(0,r.defineAction)({name:"titleField",title:(0,r.tExpr)("Title field"),uiMode:e=>{var t;let l=e.collectionField.targetCollection,o=e.app.dataSourceManager;return{type:"select",key:"label",props:{options:((null==l||null==(t=l.getFields)?void 0:t.call(l))??[]).filter(e=>(0,a.ji)(o,e.options)).map(e=>({value:e.name,label:null==e?void 0:e.title}))}}},defaultParams:e=>{var t,l;let o=e.model.context.collectionField.targetCollectionTitleFieldName;return{label:(null==(l=e.model.parent)||null==(t=l.props)?void 0:t.titleField)||e.model.props.titleField||o}},hideInSettings:async e=>{var t;return!e.collectionField||!e.collectionField.isAssociationField()||(null==(t=e.model.subModels.field)?void 0:t.disableTitleField)},beforeParamsSave:async(e,t,l)=>{let o=e.model.collectionField.target,n=e.model.collectionField.targetCollection;if(t.label!==l.label){var i;let l=null==(i=e.model.subModels.field)?void 0:i.uid;l&&await e.engine.destroyModel(l);let a=sl(n,t.label);if(!a)return;let s=r.DisplayItemModel.getDefaultBindingByField(e,a);if(!s)return;let d=s.modelName,u=e.model.setSubModel("field",{use:d,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:o,fieldPath:t.label}}}});await u.save(),await u.dispatchEvent("beforeRender"),await e.model.save()}},async handler(e,t){let l=e.model.collectionField.target,o=e.model.collectionField.targetCollection,n=sl(o,t.label);if(!n)return;let i={value:st(o.filterTargetKey)||n.name,label:n.name};e.model.setProps({fieldNames:i});let a=r.DisplayItemModel.getDefaultBindingByField(e,n);if(!a)return;let s=a.modelName;if(!e.model.subModels.field){let t=e.model.setSubModel("field",{use:s,stepParams:{fieldSettings:{init:{dataSourceKey:e.model.collectionField.dataSourceKey,collectionName:l,fieldPath:i.label}}}});await t.dispatchEvent("beforeRender")}}}),sn=(0,r.defineAction)({title:(0,r.tExpr)("Date display format"),name:"dateDisplayFormat",uiSchema:e=>{let{collectionField:t}=e.model.context,l=t.type,o={type:"string",title:'{{t("Time format")}}',"x-component":oJ.S5,"x-decorator":"FormItem","x-component-props":{className:(0,e9.css)`
|
|
728
728
|
.ant-radio-wrapper {
|
|
729
729
|
display: flex;
|
|
730
730
|
margin: 5px 0px;
|
|
731
731
|
}
|
|
732
|
-
`,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},enum:[{label:(0,
|
|
732
|
+
`,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},enum:[{label:(0,oJ.b2)({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:(0,oJ.b2)({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:(0,r.tExpr)("Custom"),value:"custom"}],"x-reactions":[e=>{if("time"!==l){let{showTime:t,picker:l}=e.form.values||{};e.hidden=!t||"date"!==l}}]};return"time"===l?{timeFormat:o}:{picker:{type:"string",title:'{{t("Picker")}}',"x-decorator":"FormItem","x-component":"Radio.Group",description:'{{ t("Switching the picker, the value and default value will be cleared") }}',enum:[{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}]},dateFormat:{type:"string",title:'{{t("Date format")}}',"x-component":oJ.S5,"x-decorator":"FormItem","x-decorator-props":{},"x-component-props":{className:(0,e9.css)`
|
|
733
733
|
.ant-radio-wrapper {
|
|
734
734
|
display: flex;
|
|
735
735
|
margin: 5px 0px;
|
|
736
736
|
}
|
|
737
|
-
`,defaultValue:"dddd",formats:["MMMM Do YYYY","YYYY-MM-DD","MM/DD/YY","YYYY/MM/DD","DD/MM/YYYY"]},enum:[{label:(0,oW.b2)({format:"MMMM Do YYYY"}),value:"MMMM Do YYYY"},{label:(0,oW.b2)({format:"YYYY-MM-DD"}),value:"YYYY-MM-DD"},{label:(0,oW.b2)({format:"MM/DD/YY"}),value:"MM/DD/YY"},{label:(0,oW.b2)({format:"YYYY/MM/DD"}),value:"YYYY/MM/DD"},{label:(0,oW.b2)({format:"DD/MM/YYYY"}),value:"DD/MM/YYYY"},{label:(0,r.tExpr)("Custom"),value:"custom"}],"x-reactions":[e=>{let{picker:t}=e.form.values;e.value=(0,d.getPickerFormat)(t),e.setComponentProps({picker:t})}]},showTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Show time")}}',"x-reactions":[{dependencies:["picker"],fulfill:{state:{hidden:"{{ $form.values.picker !== 'date' }}"}}},t=>{let{collectionField:l}=e.model.context,{picker:o}=t.form.values||{};t.hidden="dateOnly"===l.type||"date"!==o,"date"!==o&&(t.value=!1)}]},timeFormat:o}},defaultParams:e=>{let{showTime:t,dateFormat:l,timeFormat:o,picker:n}={...e.model.context.collectionField.getComponentProps(),...e.model.props};return{picker:n||"date",dateFormat:l||"YYYY-MM-DD",timeFormat:o||"HH:mm:ss",showTime:t}},handler(e,t){let{collectionField:l}=e.model.context;"time"===l.type?e.model.setProps({...t,format:null==t?void 0:t.timeFormat}):e.model.setProps({...t,format:(null==t?void 0:t.showTime)?`${t.dateFormat} ${t.timeFormat}`:t.dateFormat})}}),so=e=>e.filter(e=>{if(!e.interface)return!1;let t=e.getInterfaceOptions();return null!=t&&!!t.sortable}).map(e=>{var t;return{value:e.name,label:(null==e||null==(t=e.uiSchema)?void 0:t.title)||e.name}}),sn=(0,r.defineAction)({name:"sortingRule",title:(0,r.tExpr)("Default sorting"),uiSchema:e=>{var t;return{sort:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}},enum:so((null==(t=e.collectionField)?void 0:t.targetCollection)?e.collectionField.targetCollection.getFields():e.blockModel.collection.getFields())},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:(0,r.tExpr)("ASC"),value:"asc"},{label:(0,r.tExpr)("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:(0,r.tExpr)("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},defaultParams:e=>({sort:[]}),async handler(e,t){var l;let o=t.sort.map(e=>"desc"===e.direction?`-${e.field}`:e.field),n=null==(l=e.model)?void 0:l.resource;n&&(e.model.setProps({globalSort:o}),n.setSort(o))}}),si=(0,r.defineAction)({name:"dataLoadingMode",title:(0,r.tExpr)("Data loading mode"),uiMode:{type:"select",key:"mode",props:{options:[{value:"auto",label:(0,r.tExpr)("Load all data when filter is empty")},{value:"manual",label:(0,r.tExpr)("Do not load data when filter is empty")}]}},defaultParams:{mode:"auto"},hideInSettings:e=>{let t=e.blockModel,l=null==t?void 0:t.resource;return!l||!(l instanceof r.MultiRecordResource)},handler(e,t){let l=e.blockModel;if(!l)return;let o=l.resource;o instanceof r.MultiRecordResource&&("manual"!==t.mode||l.hasActiveFilters()?"auto"===t.mode&&o.refresh():(o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1))}}),sr=(0,r.defineAction)({title:(0,r.tExpr)("Render mode"),name:"renderMode",uiMode(e){let t=e.t;return{type:"select",key:"textOnly",props:{options:[{label:t("Text only"),value:!0},{label:t("Html"),value:!1}]}}},hideInSettings:async e=>{var t,l,o;let n=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","overflowMode"))?void 0:t.overflowMode;return void 0===n?e.model.parent instanceof nt:!0===n||"ellipsis"===n},defaultParams:{textOnly:!0},handler(e,t){e.model.setProps({textOnly:t.textOnly})}}),sa=(0,r.defineAction)({title:(0,r.tExpr)("Set block layout"),name:"layout",uiSchema:{layout:{type:"string",enum:[{label:(0,r.tExpr)("Vertical"),value:"vertical"},{label:(0,r.tExpr)("Horizontal"),value:"horizontal"}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},labelAlign:{title:(0,r.tExpr)("Label align"),type:"string","x-decorator":"FormItem","x-component":"Select",enum:[{label:"{{t('Right')}}",value:"right"},{label:"{{t('Left')}}",value:"left"}],"x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},labelWidth:{title:(0,r.tExpr)("Label width"),type:"string",required:!0,"x-decorator":"FormItem","x-component":"NumberPicker","x-component-props":{addonAfter:"px"},"x-validator":[{minimum:50}],"x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},labelWrap:{type:"string",title:(0,r.tExpr)("When the Label exceeds the width"),enum:[{label:(0,r.tExpr)("Line break"),value:!0},{label:(0,r.tExpr)("Ellipsis"),value:!1}],"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},colon:{type:"boolean","x-content":(0,r.tExpr)("Colon"),required:!0,"x-decorator":"FormItem","x-component":"Checkbox"}},defaultParams:e=>({layout:"vertical",labelAlign:"left",labelWidth:120,labelWrap:!0,colon:!0}),handler(e,t){e.model.setProps({...t,labelWidth:"vertical"===t.layout?null:t.labelWidth}),e.model.subModels.grid.findSubModel("items",e=>{e.setProps({...t,labelWidth:"vertical"===t.layout?"100%":t.labelWidth,labelWrap:"vertical"===t.layout||t.labelWrap})})}}),ss=(0,r.defineAction)({title:(0,r.tExpr)("Required"),name:"required",uiMode:e=>{var t,l,o;let n=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(o=e.model.props.validation)?void 0:o.rules)||[];return{type:"switch",key:"required",props:{disabled:n.concat(i).some(e=>"required"===e.name)}}},uiSchema:async e=>{var t,l,o;let n=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(o=e.model.props.validation)?void 0:o.rules)||[],a=n.concat(i).some(e=>"required"===e.name);return{required:{"x-component":"Switch","x-decorator":"FormItem","x-component-props":{checkedChildren:(0,r.tExpr)("Yes"),unCheckedChildren:(0,r.tExpr)("No")},"x-disabled":a}}},defaultParams:e=>({required:e.model.getProps().required}),handler(e,t){var l,o;let n=e.model.getProps().rules||[],i=((null==(o=e.model.collectionField)||null==(l=o.validation)?void 0:l.rules)||[]).some(e=>"required"===e.name);(n=n.filter(e=>!e.required),i)?e.model.setProps({rules:n,required:!0}):(t.required&&n.push({required:!0,message:e.t("The field value is required")}),e.model.setProps({rules:n,required:t.required}))}});function sd(e,t,l){let{collectionField:o}=e,n=t.getBindingsByField(e,o),i=t=>t.map(t=>{var l;let o=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=o.meta)?void 0:l.label)||t.modelName),value:t.modelName}});if(l){let r=t.getBindingsByField(e,o.targetCollection.getField(l));return[n.length&&{label:e.t("AssociationField component"),options:i(n)},{label:e.t("Title field component"),options:i(r)}].filter(Boolean)}return i(n)}let su=(0,r.defineAction)({name:"displayFieldComponent",title:(0,r.tExpr)("Field component"),uiMode:e=>{let{titleField:t}=e.model.props;return{type:"select",key:"use",props:{options:sd(e,e.model.constructor,t)}}},hideInSettings:async e=>{let{titleField:t}=e.model.props;if(!e.collectionField||1===e.model.constructor.getBindingsByField(e,e.collectionField).length&&!t)return!0},beforeParamsSave:async(e,t,l)=>{if(!e.collectionField)return;let o=e.model.constructor.getBindingsByField(e,e.collectionField),{titleField:n}=e.model.props,i=[];n&&(i=e.model.constructor.getBindingsByField(e,e.collectionField.targetCollection.getField(n)));let r=o.concat(i).find(e=>e.modelName===t.use);t.use!==l.use&&await tf({parentModel:e.model,targetUse:t.use,defaultProps:"function"==typeof(null==r?void 0:r.defaultProps)?r.defaultProps(e,e.collectionField):null==r?void 0:r.defaultProps,pattern:e.model.getProps().pattern})},defaultParams:e=>{let t=e.model.constructor.getDefaultBindingByField(e,e.collectionField),l=e.model.subModels.field;return{use:th(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){let l=th(e.model.subModels.field);t.use!==l&&e.model.setStepParams(e.flowKey,"model",{use:t.use})}}),sc=(0,r.defineAction)({title:(0,r.tExpr)("Field component"),name:"fieldComponent",uiMode:e=>{if("readPretty"===e.model.getProps().pattern){var t,l;let{titleField:o}=e.model.props,n=e.model.constructor.getBindingsByField(e,e.collectionField);return n&&(1!==n.length||o)?{type:"select",key:"use",props:{options:sd(e,tb,o||(null==(l=e.model.subModels.field.props)||null==(t=l.fieldNames)?void 0:t.label))}}:null}{let t=e.model.constructor.getBindingsByField(e,e.collectionField);return t&&1!==t.length?{type:"select",key:"use",props:{options:t.map(t=>{var l;let o=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=o.meta)?void 0:l.label)||t.modelName),value:t.modelName}})}}:null}},hideInSettings(e){let{titleField:t}=e.model.props,l=e.model.constructor.getBindingsByField(e,e.collectionField);if("readPretty"===e.model.getProps().pattern){if(!l||1===l.length&&!t)return!0}else if(!l||1===l.length)return!0},beforeParamsSave:async(e,t,l)=>{let o=e.model.constructor.getBindingsByField(e,e.collectionField),n=[];if("readPretty"===e.model.getProps().pattern){let{titleField:t}=e.model.props;o=tb.getBindingsByField(e,e.collectionField),t&&(n=tb.getBindingsByField(e,e.collectionField.targetCollection.getField(t)))}let i=o.concat(n).find(e=>e.modelName===t.use);if(t.use!==l.use){let l="function"==typeof(null==i?void 0:i.defaultProps)?i.defaultProps(e,e.collectionField):null==i?void 0:i.defaultProps;await tf({parentModel:e.model,targetUse:t.use,defaultProps:l,pattern:e.model.getProps().pattern})}},defaultParams:e=>{let t="readPretty"===e.model.getProps().pattern?tb.getDefaultBindingByField(e,e.collectionField):e.model.constructor.getDefaultBindingByField(e,e.collectionField),l=e.model.subModels.field;return{use:th(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){}}),sp=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},sm=(0,r.defineAction)({name:"aclCheck",async handler(e,t){var l,o,n,i,r;let a=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:(null==(o=e.collectionField)?void 0:o.collectionName)||e.resourceName,actionName:e.actionName,fields:(null==e?void 0:e.collectionField)&&[e.collectionField.name],allowedActions:e.collectionField?null:null==(n=e.resource)?void 0:n.getMeta("allowedActions"),recordPkValue:sp((null==e?void 0:e.record)&&(null==(r=e.collection)||null==(i=r.getFilterByTK)?void 0:i.call(r,null==e?void 0:e.record)))});e.actionName&&(a||(e.model.hidden=!0,e.model.forbidden={actionName:e.actionName},e.exitAll()))}}),sh=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},sf=e=>{let t=null==e?void 0:e.model;t&&(t.forbidden&&(t.forbidden=null,"function"==typeof t.setHidden?t.setHidden(!1):t.hidden=!1),"function"==typeof t.setProps&&t.setProps({aclDisabled:void 0,aclCreateDisabled:void 0}))},sg=async e=>{var t,l,o,n,i,r,a,s,d;let u=await e.aclCheck({dataSourceKey:null==(t=e.dataSource)?void 0:t.key,resourceName:(null==(l=e.collectionField)?void 0:l.collectionName)||e.resourceName,actionName:e.actionName,fields:(null==e?void 0:e.collectionField)&&[e.collectionField.name],allowedActions:null==(n=e.resource)||null==(o=n.getMeta)?void 0:o.call(n,"allowedActions"),recordPkValue:sh((null==e?void 0:e.record)&&(null==(r=e.collection)||null==(i=r.getFilterByTK)?void 0:i.call(r,null==e?void 0:e.record)))});e.actionName&&(u||(null==(a=(s=e.model).setHidden)||a.call(s,!0),e.model.forbidden={actionName:e.actionName},null==(d=e.exitAll)||d.call(e)))},sv=async e=>{var t,l,o,n,i,r,a,s,d,u,c,p,m,h,f,g,v,y,_,b,x;if(!e.collectionField)return;let M=null==(l=e.blockModel)||null==(t=l.context)?void 0:t.actionName;if(!M)return;let w=await e.aclCheck({dataSourceKey:null==(o=e.dataSource)?void 0:o.key,resourceName:null==(n=e.collectionField)?void 0:n.collectionName,fields:[null==(i=e.collectionField)?void 0:i.name],actionName:M});if("update"===M){let t=await e.aclCheck({dataSourceKey:null==(r=e.dataSource)?void 0:r.key,resourceName:null==(a=e.collectionField)?void 0:a.collectionName,fields:[e.collectionField.name],actionName:"view"});e.prefixFieldPath&&e.item&&(await e.aclCheck({dataSourceKey:null==(d=e.dataSource)?void 0:d.key,resourceName:null==(u=e.collectionField)?void 0:u.collectionName,fields:[e.collectionField.name],actionName:"create"})||e.model.setProps({aclCreateDisabled:!0})),t||(null==(s=e.item)?void 0:s.__is_new__)||(null==(c=(p=e.model).setHidden)||c.call(p,!0),e.model.forbidden={actionName:"view"},null==(m=e.exitAll)||m.call(e)),w||e.model.setProps({aclDisabled:!0})}else if("create"===M){let t=await e.aclCheck({dataSourceKey:null==(h=e.dataSource)?void 0:h.key,resourceName:null==(f=e.collectionField)?void 0:f.collectionName,actionName:"update"}),l=await e.aclCheck({dataSourceKey:null==(g=e.dataSource)?void 0:g.key,resourceName:null==(v=e.collectionField)?void 0:v.collectionName,fields:[e.collectionField.name],actionName:"update"});w||(null==(y=e.item)?void 0:y.__is_stored__)||(null==(_=(b=e.model).setHidden)||_.call(b,!0),e.model.forbidden={actionName:M},null==(x=e.exitAll)||x.call(e)),t&&l||e.model.setProps({aclDisabled:!0})}},sy=(0,r.defineAction)({name:"aclCheckRefresh",async handler(e,t){let l=(null==t?void 0:t.strategy)||"default";(sf(e),"formItem"===l)?await sv(e):await sg(e)}}),s_=(0,r.defineAction)({name:"pattern",title:(0,r.tExpr)("Display mode"),uiMode(e){let t=e.t;return{type:"select",key:"pattern",props:{options:[{value:"editable",label:t("Editable")},{value:"disabled",label:t("Disabled")},{value:"readPretty",label:t("Display only")}]}}},hideInSettings:e=>!e.model.collectionField||!1===e.model.collectionField.inputable,defaultParams:e=>({pattern:!1===e.model.collectionField.inputable||e.model.context.parentDisabled||e.model.props.disabled||e.model.collectionField.readonly?"disabled":"editable"}),afterParamsSave:async(e,t,l)=>{var o,n;let i=e.collectionField.targetCollection,r=null==i?void 0:i.getField((null==(n=e.model.subModels.field.props)||null==(o=n.fieldNames)?void 0:o.label)||e.model.props.titleField),{model:a}=e,s=function(t){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.collectionField;if(t)return"function"==typeof t.defaultProps?t.defaultProps(e,l):t.defaultProps};if("readPretty"===t.pattern){let t=tb.getDefaultBindingByField(e,e.collectionField,{fallbackToTargetTitleField:!0,targetCollectionTitleField:r});await tf({parentModel:a,targetUse:t.modelName,defaultProps:s(t,r||e.collectionField)}),t.modelName&&e.model.setStepParams("editItemSettings","model",{use:t.modelName})}else{let t=e.model.constructor.getDefaultBindingByField(e,e.collectionField);"readPretty"===l.pattern&&await tf({parentModel:a,targetUse:t.modelName,defaultProps:s(t)})}},async beforeParamsSave(e,t,l){if("readPretty"===t.pattern){var o,n,i,r,a;e.model.setProps({pattern:"readPretty",disabled:!1,titleField:(null==(i=e.model.subModels)||null==(n=i.field)||null==(o=n.props.fieldNames)?void 0:o.label)||e.model.props.titleField}),e.collectionField.isAssociationField()&&await e.model.setStepParams("editItemSettings","titleField",{titleField:(null==(a=e.model.subModels.field.props)||null==(r=a.fieldNames)?void 0:r.label)||e.model.props.titleField})}else e.model.setProps({disabled:"disabled"===t.pattern,pattern:"editable"})},handler(e,t){"readPretty"===t.pattern?e.model.setProps({pattern:"readPretty"}):e.model.setProps({disabled:"disabled"===t.pattern,pattern:null})}}),sb=(0,r.defineAction)({title:(0,r.tExpr)("Validation"),name:"validation",uiSchema:e=>{if(!e.model.collectionField)return;let t=e.model.collectionField.getInterfaceOptions();return t.validationType?{validation:{"x-decorator":"FormItem","x-component":a.g7,"x-component-props":{type:t.validationType,availableValidationOptions:[...new Set(t.availableValidationOptions)],excludeValidationOptions:[...new Set(t.excludeValidationOptions)],isAssociation:t.isAssociation}}}:null},handler(e,t){if(t.validation){let l=[],o=(0,r.jioToJoiSchema)(t.validation),n=e.model.props.label;l.push({validator:(t,l)=>{let{error:i}=o.validate(l,{abortEarly:!1});if(i){let t=i.details.map(t=>e.t(`${t.type}`,{...t.context,ns:"data-source-main",label:n})),l=document.createElement("div");return l.innerHTML=t.join("; "),Promise.reject(l.textContent)}return Promise.resolve()}});let i=t.validation.rules.some(e=>"required"===e.name);i&&e.model.setProps({required:i}),console.log(l),e.model.setProps({rules:l,validation:t.validation})}}}),sx=(0,r.defineAction)({title:(0,r.tExpr)("Fixed"),name:"fixed",uiMode:e=>{let t=e.t;return{type:"select",key:"fixed",props:{options:[{label:t("Not fixed"),value:"none"},{label:t("Left fixed"),value:"left"},{label:t("Right fixed"),value:"right"}]}}},defaultParams:{fixed:"none"},handler(e,t){e.model.setProps("fixed",t.fixed)}});var sM=l(1793);let sw=e=>{let{t,fieldOptions:l,rootCollection:o,value:n,onChange:i,defaultMode:a="assign",fixedMode:s,showCondition:d=!0,showEnable:u=!0,showValueEditorWhenNoField:c=!1,getValueInputProps:p,isTitleFieldCandidate:f,onSyncAssociationTitleField:g,enableDateVariableAsConstant:v=!1}=e,y=Array.isArray(n)?n:[],[b,x]=h.default.useState(()=>Array.isArray(l)?l:[]);h.default.useEffect(()=>{x(Array.isArray(l)?l:[])},[l]);let M=h.default.useCallback((e,t)=>(null==e?void 0:e.key)||String(t),[]),[w,S]=h.default.useState({}),[k,F]=h.default.useState({}),[C,A]=h.default.useState(null);h.default.useEffect(()=>{let e=new Set(y.map((e,t)=>M(e,t)));S(t=>{let l={},o=!1;for(let[n,i]of Object.entries(t))e.has(n)?l[n]=i:o=!0;return o?l:t}),F(t=>{let l={},o=!1;for(let[n,i]of Object.entries(t))e.has(n)?l[n]=!!i:o=!0;return o?l:t}),C&&!e.has(C)&&A(null)},[M,C,y]);let P=h.default.useCallback((e,l,o)=>{if(!(null==e?void 0:e.getFields)||o.has(e))return[];let n=new Set(o);n.add(e);let i=("function"==typeof e.getFields?e.getFields():[])||[],r=[];for(let e of i){var a;if(!e)continue;let o=e,i="string"==typeof o.interface?o.interface:void 0;if(!i||"formula"===i)continue;let s=String(o.name||"");if(!s)continue;let d=t("string"==typeof o.title?o.title:s),u={name:s,title:d,type:String(o.type||"string"),interface:i,paths:[...l,s]},c=!!(null==(a=o.isAssociationField)?void 0:a.call(o)),p=(0,tg.E4)(o);c&&!p&&o.targetCollection&&(u.children=async()=>P(o.targetCollection,[...l,s],n)),r.push(u)}return r},[t]),T=h.default.useCallback(e=>{if(!(null==o?void 0:o.getField))return;let l=B(e);if(!l.length)return;let n=[],i=o;for(let e=0;e<l.length;e++){var r,a;let o=l[e],s=null==i||null==(r=i.getField)?void 0:r.call(i,o);if(!(null==s||null==(a=s.isAssociationField)?void 0:a.call(s)))break;let d=(0,tg.E4)(s),u=null==s?void 0:s.targetCollection;if(!u)break;let c=t("string"==typeof s.title?s.title:o);n.push({collection:u,toMany:d,viaLabel:c}),i=u}if(n.length<=0)return;let s=(e,l,o,i)=>{let r=n[e]||n[0],a=[];r.toMany&&(a.push({title:t("Index (starts from 0)"),name:"index",type:"number",paths:[...l,"index"]}),a.push({title:t("Total count"),name:"length",type:"number",paths:[...l,"length"]})),a.push({title:t("Attributes"),name:"value",type:"object",paths:[...l,"value"],children:async()=>P(r.collection,[...l,"value"],new Set)}),e-1>=0&&a.push(s(e-1,[...l,"parentItem"],"parentItem","Parent item"));let d=null==r?void 0:r.viaLabel;return{title:d?`${t(i)}(${d})`:t(i),name:o,type:"object",paths:l,children:a}};return[s(n.length-1,["item"],"item","Current item")]},[P,o,t]),j=(e,t)=>{let l=y.map((l,o)=>o===e?{...l,...t}:l);null==i||i(l)},I=e=>{let t=M(y[e],e);S(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),F(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),C===t&&A(null);let l=y.filter((t,l)=>l!==e);null==i||i(l)},L=(e,t)=>{let l=[...y],o="up"===t?e-1:e+1;if(o<0||o>=l.length)return;let[n]=l.splice(e,1);l.splice(o,0,n),null==i||i(l)},D=()=>{let e=[...y,{key:(0,H.uid)(),enable:!0,mode:s||a,condition:{logic:"$and",items:[]},targetPath:void 0,value:void 0}];null==i||i(e)},R=e=>s||((null==e?void 0:e.mode)==="default"?"default":"assign"),N=h.default.useCallback(e=>{let l="default"===e?t("Default value"):t("Fixed value"),o="default"===e?t("A pre-filled value. Editable, for new entries only, and won’t affect existing data (including empty values)."):t("A system-set value. Read-only."),n=e=>{e.preventDefault(),e.stopPropagation()};return(0,m.jsxs)(_.Space,{size:4,children:[(0,m.jsx)("span",{children:l}),(0,m.jsx)(_.Tooltip,{title:o,children:(0,m.jsx)(E.QuestionCircleOutlined,{style:{cursor:"help",opacity:.65,fontSize:12},onMouseDown:n,onClick:n})})]})},[t]),B=h.default.useCallback(e=>{let t=String(e||"");return t?t.split(".").map(e=>e.trim()).filter(Boolean):[]},[]),O=e=>{let l=B(e);if(!l.length)return;if(!(null==o?void 0:o.getField))return l.join(" / ");let n=[],i=o;for(let e=0;e<l.length;e++){var r,a;let o=l[e],s=null==i||null==(r=i.getField)?void 0:r.call(i,o);if(!s){n.push(o);continue}n.push(t("string"==typeof s.title?s.title:o)),(null==s||null==(a=s.isAssociationField)?void 0:a.call(s))&&(null==s?void 0:s.targetCollection)&&(i=s.targetCollection)}return n.filter(Boolean).join(" / ")},q=h.default.useCallback(e=>{let l=B(e);if(!l.length||!(null==o?void 0:o.getField))return null;let n=o,i=null;for(let e=0;e<l.length;e++){var r,a,s,d,u,c,p;let o=String(l[e]);if(!(i=(null==n||null==(r=n.getField)?void 0:r.call(n,o))||null))break;if(e===l.length-1){if(!(null==i||null==(s=i.isAssociationField)?void 0:s.call(i))||!(null==i?void 0:i.targetCollection))return null;let e=i.targetCollection,l=("function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[]).filter(t=>{if(!t)return!1;if("function"==typeof f)return!!f(t,e);let l="string"==typeof t.interface?t.interface:void 0;return!!l&&"formula"!==l}).map(e=>{let l=String((null==e?void 0:e.name)||"");return l?{value:l,label:t("string"==typeof(null==e?void 0:e.title)?e.title:l)}:null}).filter(Boolean),o="string"==typeof(null==e?void 0:e.titleField)&&e.titleField?e.titleField:void 0,n="string"==typeof(null==e||null==(d=e.options)?void 0:d.titleField)&&(null==(u=e.options)?void 0:u.titleField)?null==(c=e.options)?void 0:c.titleField:void 0,r="string"==typeof(null==i?void 0:i.targetCollectionTitleFieldName)&&i.targetCollectionTitleFieldName?i.targetCollectionTitleFieldName:void 0,a=o||n||r;if(a&&!l.some(e=>e.value===a)){let o="function"==typeof(null==e?void 0:e.getField)&&(null==(p=e.getField(a))?void 0:p.title)||a;l.unshift({value:a,label:t("string"==typeof o?o:a)})}let m="string"==typeof(null==i?void 0:i.targetKey)&&i.targetKey||(null==e?void 0:e.filterTargetKey)||(null==e?void 0:e.filterByTk)||"id";return{associationField:i,targetCollection:e,currentTitleField:a,valueKey:m,candidates:l}}if(!(null==i||null==(a=i.isAssociationField)?void 0:a.call(i))||!(null==i?void 0:i.targetCollection))break;n=i.targetCollection}return null},[f,B,o,t]),$=h.default.useCallback(e=>{if(!(null==o?void 0:o.getField))return null;let t=o;for(let o of e){var l,n;let e=null==t||null==(l=t.getField)?void 0:l.call(t,o);if(!(null==e||null==(n=e.isAssociationField)?void 0:n.call(e))||!(null==e?void 0:e.targetCollection))return null;t=e.targetCollection}return t||null},[o]),V=h.default.useCallback(e=>{let l="function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[],o=[];for(let e of l){var n;if(!e)continue;let l=e,i="string"==typeof l.interface?l.interface:void 0;if(!i||"formula"===i)continue;let r=String(l.name||"");if(!r)continue;let a=t("string"==typeof l.title?l.title:r),s=!!(null==(n=l.isAssociationField)?void 0:n.call(l)),d=!!l.targetCollection;o.push({label:a,value:r,isLeaf:!(s&&d)})}return o},[t]),z=h.default.useCallback(async e=>{let t=e||[],l=t[t.length-1];if(!l||l.children&&Array.isArray(l.children)&&l.children.length||l.isLeaf)return;let o=$(t.map(e=>String(null==e?void 0:e.value)).filter(Boolean));if(!o){l.isLeaf=!0,x(e=>[...e]);return}let n=V(o);n.length?l.children=n:l.isLeaf=!0,x(e=>[...e])},[V,$]),K=h.default.useCallback(async e=>{if(!e.length)return;let t=b,l=[];for(let n=0;n<e.length-1;n++){var o;let i=String(e[n]),r=t.find(e=>String(null==e?void 0:e.value)===i);if(!r)return;if(l.push(r),null==(o=r.children)?void 0:o.length){t=r.children;continue}if(r.isLeaf)return;await z(l),t=r.children||[]}},[b,z]),U=h.default.useMemo(()=>{let e=[],t=new Set;for(let l of y){let o=(null==l?void 0:l.targetPath)?String(l.targetPath):"";o&&(t.has(o)||(t.add(o),e.push(o)))}return e},[y]);h.default.useEffect(()=>{let e=!1;return(async()=>{for(let t of U){if(e)return;let l=B(t);l.length&&await K(l)}})(),()=>{e=!0}},[B,K,U]);let G=(e,l)=>{let o="default"===R(e)?t("Default value"):t("Fixed value"),n=O(e.targetPath),i=n?String(n):t("Please select field");return(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,m.jsxs)("div",{style:{flex:1,marginRight:16,minWidth:0,display:"flex",alignItems:"center",gap:8},children:[(0,m.jsx)("div",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},title:i,children:i}),(0,m.jsx)("div",{style:{opacity:.65,fontSize:12,whiteSpace:"nowrap"},children:o})]}),(0,m.jsxs)(_.Space,{onClick:e=>e.stopPropagation(),children:[(0,m.jsx)(_.Tooltip,{title:t("Delete"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.DeleteOutlined,{}),onClick:()=>I(l),"aria-label":t("Delete")})}),(0,m.jsx)(_.Tooltip,{title:t("Move up"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.ArrowUpOutlined,{}),onClick:()=>L(l,"up"),disabled:0===l,"aria-label":t("Move up")})}),(0,m.jsx)(_.Tooltip,{title:t("Move down"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.ArrowDownOutlined,{}),onClick:()=>L(l,"down"),disabled:l===y.length-1,"aria-label":t("Move down")})}),u&&(0,m.jsx)(_.Switch,{size:"small",checked:!1!==e.enable,onChange:e=>j(l,{enable:e}),checkedChildren:t("Enable"),unCheckedChildren:t("Disable")})]})]})},W=y.map((e,l)=>{var o;let n=R(e),i=T(e.targetPath),a=M(e,l),u=q(e.targetPath),h=w[a],f="string"==typeof h&&h||"string"==typeof(null==e?void 0:e.valueTitleField)&&e.valueTitleField||(null==u?void 0:u.currentTitleField)||void 0,y=!f||!u||!!u.candidates.some(e=>e.value===f),x=y?f:(null==u?void 0:u.currentTitleField)||void 0,P=!!u,I=!!(null==u||null==(o=u.candidates)?void 0:o.length),L=C===a,D=!!g&&P&&I&&y&&!!x&&x!==(null==u?void 0:u.currentTitleField)&&!L,O=!(0,r.isVariableExpression)(null==e?void 0:e.value)&&!(0,r.isRunJSValue)(null==e?void 0:e.value)&&(null==e?void 0:e.value)!==null,H=P&&O,$=H&&!!k[a],V=P?(0,m.jsxs)(_.Space.Compact,{size:"small",onClick:e=>e.stopPropagation(),children:[(0,m.jsx)(_.Select,{size:"small",style:{minWidth:160},value:x,placeholder:I?t("Please select field"):t("No available title fields"),options:(null==u?void 0:u.candidates)||[],disabled:!I||L,allowClear:!1,onChange:e=>{let t=String(e||""),o=t&&t!==(null==u?void 0:u.currentTitleField)?t:void 0;S(e=>{let t=Object.prototype.hasOwnProperty.call(e,a);if(!o){if(!t)return e;let l={...e};return delete l[a],l}return e[a]===o?e:{...e,[a]:o}}),j(l,{valueTitleField:o})}}),(0,m.jsx)(_.Tooltip,{title:D?t("Sync selected title field to collection"):t("Please choose a different title field before syncing"),children:(0,m.jsx)(_.Popconfirm,{title:t("Sync title field"),description:t("This will update the collection title field globally. Continue?"),okText:t("OK"),cancelText:t("Cancel"),disabled:!D,onConfirm:async()=>{if(u&&x&&"function"==typeof g&&u.candidates.some(e=>e.value===x)){A(a);try{await g({ruleItem:e,ruleIndex:l,targetPath:e.targetPath,associationField:u.associationField,targetCollection:u.targetCollection,titleField:x}),S(e=>{if(!(a in e))return e;let t={...e};return delete t[a],t}),j(l,{valueTitleField:void 0})}catch(e){console.warn("[FieldAssignRulesEditor] Failed to sync title field",e)}finally{A(e=>e===a?null:e)}}},children:(0,m.jsx)(_.Button,{size:"small",icon:(0,m.jsx)(E.SyncOutlined,{spin:L}),disabled:!D,"aria-label":t("Sync title field")})})})]}):null;return{key:e.key||String(l),label:G(e,l),styles:{header:{display:"flex",alignItems:"center"}},children:(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Field")}),(0,m.jsx)(_.Cascader,{value:B(e.targetPath),placeholder:t("Please select field"),style:{width:"100%"},options:b,loadData:z,changeOnSelect:!0,showSearch:{filter:(e,t)=>{let l=String(e||"").toLowerCase();return!l||(t||[]).some(e=>String((null==e?void 0:e.label)??"").toLowerCase().includes(l))}},allowClear:!0,onChange:t=>{let o=Array.isArray(t)?t.map(e=>String(e)).filter(Boolean):[],n=o.length?o.join("."):void 0,i=n!==e.targetPath;i&&(S(e=>{if(!(a in e))return e;let t={...e};return delete t[a],t}),F(e=>{if(!(a in e))return e;let t={...e};return delete t[a],t})),j(l,{targetPath:n,valueTitleField:i?void 0:e.valueTitleField,value:i?void 0:e.value})}})]}),(c||!!e.targetPath)&&(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Value")}),(0,m.jsx)(sM.zv,{targetPath:e.targetPath||"",value:e.value,onChange:e=>j(l,{value:e}),extraMetaTree:i,...(null==p?void 0:p(e,l))||{},enableDateVariableAsConstant:v,associationFieldNamesOverride:u&&x?{label:x,value:u.valueKey}:void 0},`${e.targetPath||"no-field"}::${x||""}`),H&&(0,m.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:6},children:(0,m.jsx)(_.Popover,{trigger:"click",open:$,onOpenChange:e=>{F(t=>({...t,[a]:e}))},placement:"bottomRight",title:t("Advanced"),content:(0,m.jsx)("div",{style:{minWidth:280},children:(0,m.jsxs)(_.Space,{size:8,align:"center",wrap:!0,children:[(0,m.jsx)("span",{style:{fontSize:12,opacity:.75},children:t("Title field")}),V]})}),children:(0,m.jsx)(_.Button,{type:"link",size:"small",style:{paddingInline:0,height:"auto"},icon:$?(0,m.jsx)(E.UpOutlined,{}):(0,m.jsx)(E.DownOutlined,{}),children:t("Advanced")})})})]}),!s&&(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Assignment mode")}),(0,m.jsx)(_.Radio.Group,{value:n,style:{width:"100%"},onChange:e=>j(l,{mode:e.target.value}),children:(0,m.jsxs)(_.Space,{size:16,children:[(0,m.jsx)(_.Radio,{value:"default",children:N("default")}),(0,m.jsx)(_.Radio,{value:"assign",children:N("assign")})]})})]}),d&&(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Condition")}),(0,m.jsx)(Y.H,{value:e.condition||{logic:"$and",items:[]},onChange:e=>j(l,{condition:e}),extraMetaTree:i})]})]})}}),J=h.default.useMemo(()=>{if(!y.length)return[];let e=-1;for(let l=y.length-1;l>=0;l--){var t;if((null==(t=y[l])?void 0:t.enable)!==!1){e=l;break}}let l=e>=0?e:0,o=y[l],n=(null==o?void 0:o.key)||String(l);return n?[n]:[]},[y]);return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[y.length?(0,m.jsx)(_.Collapse,{items:W,size:"small",style:{marginBottom:8},defaultActiveKey:J,accordion:!0}):(0,m.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:6,backgroundColor:"#fafafa",marginBottom:8},children:(0,m.jsx)(_.Empty,{description:t("No data"),style:{margin:"20px 0"}})}),(0,m.jsx)(_.Button,{type:"dashed",icon:(0,m.jsx)(E.PlusOutlined,{}),onClick:D,style:{width:"100%"},children:t("Add")})]})};function sS(e){return(0,tg.Gj)(e)}function sk(e,t){var l,o,n,i,r;let a=e=>{if(null==e)return null;if(Array.isArray(e)){let t=e.map(e=>String(e??"")).filter(Boolean);return t.length?t[t.length-1]:null}return String(e)},s=a(null==e||null==(l=e.props)?void 0:l.label);if(s)return t(s);let d=null==e||null==(i=e.subModels)||null==(n=i.field)||null==(o=n.context)?void 0:o.collectionField,u=a(null==d?void 0:d.title);if(u)return t(u);let c=a(null==e||null==(r=e.props)?void 0:r.name)||a(null==e?void 0:e.fieldPath);return c?c.includes(".")?c.split(".").filter(Boolean).slice(-1)[0]||c:t(c):""}function sF(e){let t=String(e||"").split(".").map(e=>e.trim()).filter(Boolean);return t.length?t[t.length-1]:""}function sC(e){var t;if(!e||"object"!=typeof e)return null;let l=(null==e?void 0:e.collection)||(null==e||null==(t=e.context)?void 0:t.collection);return l&&"object"==typeof l?l:null}function sA(e,t){let l="function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[],o=[];for(let e of l){var n;if(!e)continue;let l=e,i="string"==typeof l.interface?l.interface:void 0;if(!i||"formula"===i)continue;let r=String(l.name||"");if(!r)continue;let a=t("string"==typeof l.title?l.title:r),s=!!(null==(n=l.isAssociationField)?void 0:n.call(l)),d=!!l.targetCollection;o.push({label:a,value:r,isLeaf:!(s&&d)})}return o}function sP(e,t){let l=Array.isArray(e)?e:[],o=Array.isArray(t)?t:[],n=new Set;for(let e of l){let t=(null==e?void 0:e.value)?String(e.value):"";t&&n.add(t)}return[...l,...o.filter(e=>{let t=(null==e?void 0:e.value)?String(e.value):"";return!!t&&!n.has(t)})]}function sT(e){var t,l,o;let{formBlockModel:n,t:i,maxFormItemDepth:r=1/0}=e,a=(null==n||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[],s=sC(n),d=(e,t)=>{if(!Array.isArray(e)||t>r)return[];let l=[];for(let r of e){var o,n,a,s,u,c;if(!r)continue;let e=sk(r,i),p=sS(r);if(!p)continue;let m=sF(p);if(!m)continue;let h={label:e,value:m},f=null==r||null==(o=r.subModels)?void 0:o.field,g=null==f||null==(s=f.subModels)||null==(a=s.grid)||null==(n=a.subModels)?void 0:n.items,v=null==f||null==(u=f.context)?void 0:u.collectionField,y=!!(null==v||null==(c=v.isAssociationField)?void 0:c.call(v)),_=!!(null==v?void 0:v.targetCollection);if(Array.isArray(g)){if(y&&_)h.isLeaf=!1;else{let e=g.length?d(g,t+1):[];e.length?(h.children=e,h.isLeaf=!1):h.isLeaf=!0}l.push(h);continue}y&&_?h.isLeaf=!1:h.isLeaf=!0,l.push(h)}return l};return sP(d(a,1),sA(s,i))}function sj(e,t){var l;let o="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;return!!e&&!!o&&!!(null==(l=e.collectionFieldInterfaceManager.getFieldInterface(o))?void 0:l.titleUsable)}function sI(e){let t=(null==e?void 0:e.dataSourceKey)??(null==e?void 0:e.dataSource);return"string"==typeof t&&t?t:a.Ze}function sL(e){let t=null==e?void 0:e.name;if("string"==typeof t&&t)return t;throw Error("Target collection name is required for syncing title field.")}function sY(e){return e&&e!==a.Ze?`dataSources/${e}/collections:update`:"collections:update"}async function sD(e){var t,l;let{api:o,dataSourceManager:n,targetCollection:i,titleField:r}=e;if("function"!=typeof(null==o?void 0:o.request))throw Error("API client is unavailable.");if("string"!=typeof r||!r)throw Error("Title field is required.");let a=sL(i),s=sI(i);await o.request({url:sY(s),method:"post",params:{filterByTk:a},data:{titleField:r}}),null==i||null==(t=i.setOption)||t.call(i,"titleField",r);let d=null==n||null==(l=n.getDataSource)?void 0:l.call(n,s);return d&&"function"==typeof d.reload&&await d.reload(),{dataSourceKey:s,collectionName:a,titleField:r}}function sE(e){let{api:t,dataSourceManager:l}=(0,r.useFlowContext)();return{isTitleFieldCandidate:h.default.useCallback(e=>sj(l,e),[l]),onSyncAssociationTitleField:h.default.useCallback(async o=>{let{targetCollection:n,titleField:i}=o;try{await sD({api:t,dataSourceManager:l,targetCollection:n,titleField:i}),_.message.success(e("Saved successfully"))}catch(l){let t=(null==l?void 0:l.message)?String(l.message):e("Save failed");throw _.message.error(t),l}},[t,l,e])}}var sR=l(3127);let sN=(0,r.observer)(e=>{let t=(0,r.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:o,onSyncAssociationTitleField:n}=sE(l),i="function"==typeof e.onChange,a=h.default.useMemo(()=>sT({formBlockModel:t.model,t:l}),[t.model]),s=h.default.useMemo(()=>(0,sR.K7)(t.model),[t.model]),d=h.default.useRef(!1),[u,c]=h.default.useState(!1),p=h.default.useCallback(()=>{d.current||(d.current=!0,c(!0))},[]),f=h.default.useMemo(()=>Array.isArray(e.value)?e.value:[],[e.value]),g=h.default.useMemo(()=>i&&u?f:(0,sR.S2)(e.value,s),[i,u,s,f,e.value]),v=h.default.useCallback(t=>{var l;i&&(p(),null==(l=e.onChange)||l.call(e,t))},[i,p,e.onChange]);return h.default.useEffect(()=>{if(d.current||!i)return;let t=(0,sR.S2)(e.value,s);if(!(0,S.isEqual)(e.value||[],t||[])){var l;null==(l=e.onChange)||l.call(e,t)}p()},[i,s,p,e.onChange,e.value]),(0,m.jsx)(sw,{t:l,fieldOptions:a,rootCollection:(0,tg.w7)(t.model),value:g,onChange:v,showValueEditorWhenNoField:!0,isTitleFieldCandidate:o,onSyncAssociationTitleField:n,enableDateVariableAsConstant:!0})}),sB=(0,r.defineAction)({name:"formAssignRules",title:(0,r.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":sN}}),defaultParams:{value:[]},handler(){}}),sO=(0,r.observer)(e=>{let t=(0,r.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:o,onSyncAssociationTitleField:n}=sE(l),i="function"==typeof e.onChange,s=h.default.useMemo(()=>sT({formBlockModel:t.model,t:l}),[t.model]),d=h.default.useMemo(()=>ol(t.model),[t.model]),u=h.default.useCallback(e=>{var l,o,n,i;let r=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!r)return{};let s=(0,tg.eo)(t.model,r);return s?{operator:R(s),operatorMetaList:(null==s||null==(o=s.collectionField)||null==(l=o.filterable)?void 0:l.operators)||((null==s||null==(i=s.context)||null==(n=i.filterField)?void 0:n.type)?null===a.II||void 0===a.II?void 0:a.II[s.context.filterField.type]:[])||[],preferFormItemFieldModel:!0}:{}},[t.model]),c=h.default.useRef(!1),[p,f]=h.default.useState(!1),g=h.default.useCallback(()=>{c.current||(c.current=!0,f(!0))},[]),v=h.default.useMemo(()=>i&&p?Array.isArray(e.value)?e.value:[]:(0,l9.S2)(e.value,d),[i,p,d,e.value]),y=h.default.useCallback(t=>{var l;i&&(g(),null==(l=e.onChange)||l.call(e,t))},[i,g,e.onChange]);return h.default.useEffect(()=>{if(c.current||!i)return;let t=(0,l9.S2)(e.value,d);if(!(0,S.isEqual)(e.value||[],t||[])){var l;null==(l=e.onChange)||l.call(e,t)}g()},[i,d,g,e.onChange,e.value]),(0,m.jsx)(sw,{t:l,fieldOptions:s,rootCollection:(0,tg.w7)(t.model),value:v,onChange:y,fixedMode:"default",showCondition:!1,showValueEditorWhenNoField:!0,getValueInputProps:u,isTitleFieldCandidate:o,onSyncAssociationTitleField:n})}),sH=(0,r.defineAction)({name:"filterFormDefaultValues",title:(0,r.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":sO}}),defaultParams:{value:[]},handler(){}}),sq=(0,r.defineAction)({name:"linkageRulesRefresh",async handler(e,t){var l,o,n,i,r;let a=null==t?void 0:t.actionName,s=null==t?void 0:t.flowKey,d=(null==t?void 0:t.stepKey)||"linkageRules";if(!a||!s)return;let u=e.model;if(!u.getFlow(s))return;let c=!!((null==e?void 0:e.flowSettingsEnabled)||(null==u||null==(o=u.context)?void 0:o.flowSettingsEnabled)),p=!(null==u?void 0:u.isFork)&&!!(null==u||null==(n=u.forks)?void 0:n.size)&&Array.from((null==u?void 0:u.forks)||[]).some(e=>{var t,l,o;return!!e&&!e.disposed&&!!(null==e||null==(l=e.context)||null==(t=l.ref)?void 0:t.current)&&!!(null==e||null==(o=e.getFlow)?void 0:o.call(e,s))}),m=!!(null==u||null==(r=u.context)||null==(i=r.ref)?void 0:i.current);if(p&&!m&&!c)return;let h=`${s}:${d}:${a}`,f=(l=u).__linkageRulesRefreshInflight||(l.__linkageRulesRefreshInflight=new Map),g=f.get(h);if(g)return void await g;let v=(async()=>{var t,l;let o=null==u||null==(t=u.getStepParams)?void 0:t.call(u,s,d),n=await e.resolveJsonTemplate({value:[],...o||{}}),i=null==(l=e.getAction)?void 0:l.call(e,a);(null==i?void 0:i.handler)&&await i.handler(e,n)})();f.set(h,v);try{await v}finally{f.delete(h)}}}),s$="defaultHeight",sV="specifyValue",sz="fullHeight",sK=(0,r.defineAction)({name:"blockHeight",title:(0,r.tExpr)("Block height"),uiMode:{type:"dialog"},uiSchema:e=>{let{t}=e;return{heightMode:{type:"string",enum:[{label:t("Default"),value:s$},{label:t("Specify height"),value:sV},{label:t("Full height"),value:sz}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},height:{title:t("Height"),type:"number",required:!0,"x-decorator":"FormItem","x-component":_.InputNumber,"x-component-props":{addonAfter:"px"},"x-validator":[{minimum:40}],"x-reactions":{dependencies:["heightMode"],fulfill:{state:{hidden:'{{ $deps[0]==="fullHeight"||$deps[0]==="defaultHeight"}}',value:'{{$deps[0]!=="specifyValue"?null:$self.value}}'}}}}}},defaultParams:e=>({heightMode:s$}),async handler(e,t){e.model.setDecoratorProps({heightMode:t.heightMode,height:t.height})}});var sU=l(5886),sG=l(3728);let sW=e=>{if(null==e)return e;let t=typeof e;if("string"===t||"number"===t||"boolean"===t)return e;if(Array.isArray(e))return e.length<=3?e:`[Array(${e.length})]`;if("object"===t){let t=null==e?void 0:e.id;return null!=t?{id:t}:"[Object]"}return`[${t}]`},sJ=e=>{let t=0,l=e;for(;l;)(l instanceof im||l instanceof ig)&&(t+=1),l=null==l?void 0:l.parent;return t},sX=e=>{let t=Number(null==e?void 0:e.linkageScopeDepth);return Number.isFinite(t)?t:sJ(null==e?void 0:e.model)},sQ=e=>{try{var t,l,o,n;return((null==(n=e.model)||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[]).map(e=>({label:e.props.label||e.props.name,value:e.uid,model:e}))}catch(e){return console.warn("Failed to get form fields:",e),[]}},sZ=e=>{try{var t,l,o,n;return((null==(n=e.model)||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[]).map(e=>{let t=Array.from(e.forks)[0];return t?{label:(null==t?void 0:t.props.label)||(null==t?void 0:t.props.name),value:(null==t?void 0:t.uid)||e.uid,model:t}:{label:e.props.label||e.props.name,value:e.uid,model:e}})}catch(e){return console.warn("Failed to get form fields:",e),[]}};function s0(e){let t=e;return t.includes(",")&&t.includes(":")?t.split(",").map(e=>e.trim()).filter(Boolean):t?[t]:[]}function s1(e){let[t,l]=String(e||"").split(":");if(!t)return null;let o=Number(l);return Number.isFinite(o)?{fieldName:t,index:o}:null}function s2(e,t){let l,o;if(!e)return null;let n=String(e).split(".").map(e=>e.trim()).filter(Boolean);if(!n.length)return null;let i=s0(t).map(s1).filter(Boolean),r=0,a=[];for(let e of n){a.push(e);let t=i[r];t&&t.fieldName===e&&(l=[...a],o=t.index,a.push(t.index),r+=1)}return{fieldPathArray:a,listRootPath:l,listRowIndex:o,hasUnmatchedIndices:r<i.length}}function s5(e,t,l){if(Array.isArray(e))return e;if(!e||"object"!=typeof e)return[];let o=null==e?void 0:e.field,n=null==e?void 0:e[t.valueKey];if(o){let e=null==l?void 0:l(String(o));return e?[{key:"legacy",enable:!0,targetPath:e,mode:t.mode,condition:{logic:"$and",items:[]},value:n}]:[]}return[]}function s4(e){return t=>{try{var l,o,n,i;let r=null==(o=e.engine)||null==(l=o.getModel)?void 0:l.call(o,t),a=(null==r||null==(i=r.getStepParams)||null==(n=i.call(r,"fieldSettings","init"))?void 0:n.fieldPath)||(null==r?void 0:r.fieldPath);return a?String(a):void 0}catch(e){console.warn(`Failed to resolve legacy field uid ${t}:`,e);return}}}let s8=Symbol("SKIP_RUNJS_ASSIGN_VALUE");async function s3(e,t){if(!(0,r.isRunJSValue)(t))return t;try{let{code:l,version:o}=(0,r.normalizeRunJSValue)(t),n=await (0,r.runjsWithSafeGlobals)(e,l,{version:o});if(!(null==n?void 0:n.success))return s8;return n.value}catch(e){return console.warn("[linkageRules] Failed to evaluate RunJS assign value",e),s8}}function s6(e){var t,l,o;let n=e=>{var t,l;if(!e||"object"!=typeof e)return null;let o=null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"fieldSettings","init"))?void 0:t.fieldPath,n=null==e?void 0:e.fieldPath;return"string"==typeof o&&o||"string"==typeof n&&n||null},i=null==(t=e.model)?void 0:t.parent;for(;i;){let e=n(i);if(e)return e;i=null==i?void 0:i.parent}let r=null==(o=e.model)||null==(l=o.context)?void 0:l.prefixFieldPath;return"string"==typeof r&&r?r:null}function s9(e,t){let l=String(t||"").trim();if(!l)return null;let o=(0,tg.eo)(e.model,l);if(o)return{targetPath:l,fieldModel:o};let n=s6(e);if(!n)return null;let i=String(n).split(".").map(e=>e.trim()).filter(Boolean),r=String(l).split(".").map(e=>e.trim()).filter(Boolean);if(!i.length||!r.length)return null;let a=e=>e.filter(Boolean).join("."),s=[],d=e=>{let t=String(e||"").trim();t&&(s.includes(t)||s.push(t))};d(l);let u=[],c=Math.min(i.length,r.length);for(let e=c;e>=1;e--){let t=i.slice(i.length-e),l=r.slice(0,e);if(!S.default.isEqual(t,l))continue;let o=a([...i,...r.slice(e)]);o&&!u.includes(o)&&u.push(o),d(o)}let p=a([...i,...r]);for(let t of(d(p),s)){let l=(0,tg.eo)(e.model,t);if(l)return{targetPath:t,fieldModel:l}}let m=1===r.length?p:u.length>0?u[0]:l;return m?{targetPath:m,fieldModel:null}:null}let s7=(0,r.defineAction)({name:"linkageSetBlockProps",title:(0,r.tExpr)("Set block state"),scene:r.ActionScene.BLOCK_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,m.jsx)(_.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l})}}),de=(0,r.defineAction)({name:"linkageSetActionProps",title:(0,r.tExpr)("Set button state"),scene:r.ActionScene.ACTION_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,m.jsx)(_.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"},{label:n("Hidden text"),value:"hiddenText"},{label:n("Enabled"),value:"enabled"},{label:n("Disabled"),value:"disabled"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l,disabled:"disabled"===l,hiddenText:"hiddenText"===l})}}),dt=(0,r.defineAction)({name:"linkageSetFieldProps",title:(0,r.tExpr)("Set field state"),scene:r.ActionScene.FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={fields:[]},onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model),i=sQ(o),a=[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"},{label:n("Hidden (reserved value)"),value:"hiddenReservedValue"},{label:n("Required"),value:"required"},{label:n("Not required"),value:"notRequired"},{label:n("Disabled"),value:"disabled"},{label:n("Enabled"),value:"enabled"}],s=e=>{l({...t,fields:e})},d=e=>{l({...t,state:e})};return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:n("Fields")}),(0,m.jsx)(_.Select,{mode:"multiple",value:t.fields,onChange:s,placeholder:n("Please select fields"),style:{width:"100%"},options:i,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]}),(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:n("State")}),(0,m.jsx)(_.Select,{value:t.state,onChange:d,placeholder:n("Please select state"),style:{width:"100%"},options:a,allowClear:!0})]})]})}}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var l,n,r,a;let s=((null==(a=e.model)||null==(r=a.subModels)||null==(n=r.grid)||null==(l=n.subModels)?void 0:l.items)||[]).find(e=>e.uid===t);if(s){let e={};switch(i){case"visible":e={hiddenModel:!1};break;case"hidden":e={hiddenModel:!0};break;case"hiddenReservedValue":e={hidden:!0};break;case"required":e={required:!0};break;case"notRequired":e={required:!1};break;case"disabled":e={disabled:!0};break;case"enabled":e={disabled:!1};break;default:console.warn(`Unknown state: ${i}`);return}o(s,e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),dl=(0,r.defineAction)({name:"subFormLinkageSetFieldProps",title:(0,r.tExpr)("Set field state"),scene:r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={fields:[]},onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model),i=sZ(o),a=[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"},{label:n("Hidden (reserved value)"),value:"hiddenReservedValue"},{label:n("Required"),value:"required"},{label:n("Not required"),value:"notRequired"},{label:n("Disabled"),value:"disabled"},{label:n("Enabled"),value:"enabled"}],s=e=>{l({...t,fields:e})},d=e=>{l({...t,state:e})};return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:n("Fields")}),(0,m.jsx)(_.Select,{mode:"multiple",value:t.fields,onChange:s,placeholder:n("Please select fields"),style:{width:"100%"},options:i,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]}),(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:n("State")}),(0,m.jsx)(_.Select,{value:t.state,onChange:d,placeholder:n("Please select state"),style:{width:"100%"},options:a,allowClear:!0})]})]})}}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var l,n,r,a,s;let d=null==(n=e.engine)||null==(l=n.getModel)?void 0:l.call(n,t);if(!d)return void console.warn("[subFormLinkageSetFieldProps] Target field model not found",{fieldUid:t,modelUid:null==(s=e.model)?void 0:s.uid});let u=null==(a=e.model)||null==(r=a.context)?void 0:r.fieldKey,c=u?`${u}:${t}`:void 0,p=c&&"function"==typeof d.getFork?d.getFork(c):null,m=p;if(p||(m=d),m){let e={};switch(i){case"visible":e={hiddenModel:!1};break;case"hidden":e={hiddenModel:!0};break;case"hiddenReservedValue":e={hidden:!0};break;case"required":e={required:!0};break;case"notRequired":e={required:!1};break;case"disabled":e={disabled:!0};break;case"enabled":e={disabled:!1};break;default:console.warn(`Unknown state: ${i}`);return}o(m,e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),dn=(0,r.defineAction)({name:"linkageSetDetailsFieldProps",title:(0,r.tExpr)("Set field state"),scene:r.ActionScene.DETAILS_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={fields:[]},onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model),i=sQ(o),a=[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"},{label:n("Hidden (reserved value)"),value:"hiddenReservedValue"}],s=e=>{l({...t,fields:e})},d=e=>{l({...t,state:e})};return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:n("Fields")}),(0,m.jsx)(_.Select,{mode:"multiple",value:t.fields,onChange:s,placeholder:n("Please select fields"),style:{width:"100%"},options:i,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]}),(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:n("State")}),(0,m.jsx)(_.Select,{value:t.state,onChange:d,placeholder:n("Please select state"),style:{width:"100%"},options:a,allowClear:!0})]})]})}}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var l,n,r,a;let s=((null==(a=e.model)||null==(r=a.subModels)||null==(n=r.grid)||null==(l=n.subModels)?void 0:l.items)||[]).find(e=>e.uid===t);if(s){let e={};switch(i){case"visible":e={hiddenModel:!1};break;case"hidden":e={hiddenModel:!0};break;case"hiddenReservedValue":e={hidden:!0};break;default:console.warn(`Unknown state: ${i}`);return}o(s,e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),di={mode:"assign",valueKey:"assignValue"},dr={mode:"default",valueKey:"initialValue"},da=e=>{let{value:t,onChange:l,legacy:o,fixedMode:n}=e,i=(0,r.useFlowContext)(),a=h.default.useCallback(e=>i.model.translate(e),[i.model]),{isTitleFieldCandidate:s,onSyncAssociationTitleField:d}=sE(a),u=h.default.useMemo(()=>sT({formBlockModel:i.model,t:a,maxFormItemDepth:1}),[i.model,a]),c=s5(t,o,s4(i)),p=h.default.useCallback(e=>{"function"==typeof l&&l(e)},[l]);return(0,m.jsx)(sw,{t:a,fieldOptions:u,rootCollection:(0,tg.w7)(i.model),value:c,onChange:p,fixedMode:n,isTitleFieldCandidate:s,onSyncAssociationTitleField:d,enableDateVariableAsConstant:!0})},ds=e=>(0,m.jsx)(da,{...e,legacy:di}),dd=e=>(0,m.jsx)(da,{...e,legacy:di}),du=e=>(0,m.jsx)(da,{...e,legacy:dr,fixedMode:"default"}),dc=(0,r.defineAction)({name:"linkageAssignField",title:(0,r.tExpr)("Field assignment"),scene:r.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":ds}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=s5(l,{mode:"assign",valueKey:"assignValue"},s4(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]});for(let l of i){var a,s;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let u=null==l?void 0:l.condition;if(u&&!(0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(u),t))continue;let c=(0,tg.eo)(e.model,i),p=i.split(".")[0],m=(null==c?void 0:c.collectionField)??(null==(s=(0,tg.w7)(e.model))||null==(a=s.getField)?void 0:a.call(s,p)),h=null==l?void 0:l.value;if((0,r.isRunJSValue)(h)&&(h=await s3(e,h))===s8)continue;let f=tw(m,h);if(void 0===f){c&&o(c,{});continue}let g=(null==l?void 0:l.mode)==="default"?"default":"assign";c?o(c,"default"===g?{initialValue:f}:{value:f}):"function"==typeof n&&n({path:i,value:f,whenEmpty:"default"===g})}}catch(e){console.warn("[linkageAssignField] Failed to assign value to fields",e)}}}),dp=(0,r.defineAction)({name:"subFormLinkageAssignField",title:(0,r.tExpr)("Field assignment"),scene:r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":dd}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=s5(l,{mode:"assign",valueKey:"assignValue"},s4(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]}),l=()=>{let t=e.model;return(null==t?void 0:t.__subFormLinkageExplicitPathKeys)instanceof Set||(t.__subFormLinkageExplicitPathKeys=new Set),t.__subFormLinkageExplicitPathKeys},g=t=>{var l,o;let n=(0,sG.IJ)(t,null==(o=e.model)||null==(l=o.context)?void 0:l.fieldIndex);if(!Array.isArray(n)||!n.length)return null;let i=n.filter(e=>"string"==typeof e||"number"==typeof e);return i.length?(0,sG.Qc)(i):null},v=()=>{let t=null==e?void 0:e.inputArgs;if(!t||"user"!==t.source)return;let o=Array.isArray(t.changedPaths)?t.changedPaths:[];if(!o.length)return;let n=l();for(let t of o){let l=null;if(Array.isArray(t)){let e=t.filter(e=>"string"==typeof e||"number"==typeof e);l=e.length?e:null}else if("string"==typeof t){var i,r;let o=(0,sG.IJ)(t,null==(r=e.model)||null==(i=r.context)?void 0:i.fieldIndex);if(Array.isArray(o)&&o.length){let e=o.filter(e=>"string"==typeof e||"number"==typeof e);l=e.length?e:null}}(null==l?void 0:l.length)&&n.add((0,sG.Qc)(l))}},y=t=>{var o,n;let i=l(),r=g(t);if(!r)return!1;if(i.has(r))return!0;let a=(0,sG.IJ)(t,null==(n=e.model)||null==(o=n.context)?void 0:o.fieldIndex);if(!Array.isArray(a)||!a.length)return!1;let s=[];for(let e=0;e<a.length;e++){let t=a[e];if("string"!=typeof t&&"number"!=typeof t)continue;s.push(t);let l=(0,sG.Qc)(s);if(!i.has(l))continue;let o=a[e+1];if("number"!=typeof o)return!0}return!1};v();let _=t=>{var l,o,n,i,r,a;let s=e.engine.getModel(t);if(!s)return null;let d=null==e||null==(o=e.model)||null==(l=o.context)?void 0:l.fieldKey,u=d?`${d}:${t}`:null,c=u?s.getFork(u):null;if(d){let e=(null==s?void 0:s.fieldPath)||(null==s||null==(i=s.getStepParams)||null==(n=i.call(s,"fieldSettings","init"))?void 0:n.fieldPath),t=s2(e,d);!c&&u&&(c=s.createFork({},u)),(null==c?void 0:c.isFork)&&t&&(null==c||null==(a=c.context)||null==(r=a.defineProperty)||r.call(a,"fieldPathArray",{value:t.fieldPathArray}))}return c||(c=s),c};for(let l of i){var a,s,u,c,p,m,h,f;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let g=s9(e,i);if(!(null==g?void 0:g.targetPath))continue;let v=g.targetPath,b=g.fieldModel||null,x=(null==b?void 0:b.uid)?String(b.uid):"",M=null==l?void 0:l.condition;if(M&&!(0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(M),t))continue;let w=(null==l?void 0:l.mode)==="default"?"default":"assign",S=(null==(s=e.model)||null==(a=s.getAclActionName)?void 0:a.call(s))??(null==(c=e.model)||null==(u=c.context)?void 0:u.actionName),k="update"===S,F=(null==e||null==(p=e.item)?void 0:p.__is_new__)===!0;if("default"===w&&k&&!F)continue;let C=v.split(".")[0],A=(null==b?void 0:b.collectionField)??(null==(h=(0,tg.w7)((null==(f=e.model)?void 0:f.parent)??e.model))||null==(m=h.getField)?void 0:m.call(h,C)),P=null==l?void 0:l.value;if((0,r.isRunJSValue)(P)&&(P=await s3(e,P))===s8)continue;let T=tw(A,P);if(void 0===T){if(!x)continue;let e=_(x);e&&o(e,{});continue}if(!x){if("default"===w&&y(v))continue;"function"==typeof n&&n({path:v,value:T,whenEmpty:"default"===w});continue}let j=_(x);j&&o(j,"default"===w?{initialValue:T}:{value:T})}}catch(e){console.warn("[subFormLinkageAssignField] Failed to assign value to fields",e)}}});(0,r.defineAction)({name:"setFieldsDefaultValue",title:(0,r.tExpr)("设置字段默认值"),scene:r.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":du}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=s5(l,{mode:"default",valueKey:"initialValue"},s4(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]});for(let l of i){var a,s;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let u=null==l?void 0:l.condition;if(u&&!(0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(u),t))continue;let c=(0,tg.eo)(e.model,i),p=i.split(".")[0],m=(null==c?void 0:c.collectionField)??(null==(s=(0,tg.w7)(e.model))||null==(a=s.getField)?void 0:a.call(s,p)),h=null==l?void 0:l.value;if((0,r.isRunJSValue)(h)&&(h=await s3(e,h))===s8)continue;let f=tw(m,h);if(void 0===f){c&&o(c,{});continue}c?o(c,{initialValue:f}):"function"==typeof n&&n({path:i,value:f,whenEmpty:!0})}}catch(e){console.warn("[setFieldsDefaultValue] Failed to set fields default value",e)}}});let dm=(0,r.defineAction)({name:"linkageRunjs",title:(0,r.tExpr)("Execute JavaScript"),scene:[r.ActionScene.BLOCK_LINKAGE_RULES,r.ActionScene.FIELD_LINKAGE_RULES,r.ActionScene.ACTION_LINKAGE_RULES,r.ActionScene.DETAILS_FIELD_LINKAGE_RULES,r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES],sort:300,useRawParams:!0,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={script:""},onChange:l}=e,o=e=>{l({...t,script:e})};return(0,m.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:(0,m.jsx)("div",{children:(0,m.jsx)(eR.BY,{value:t.script,onChange:o,height:"200px",enableLinter:!0,scene:"linkage"})})})}}},handler:async(e,t)=>{let{value:l}=t,{script:o}=l||{};if(o&&"string"==typeof o)try{let t=(0,r.createSafeNavigator)();await e.runjs(o,{window:(0,r.createSafeWindow)({navigator:t}),document:(0,r.createSafeDocument)(),navigator:t})}catch(t){var n;if(console.error("Script execution error:",t),null==(n=e.app)?void 0:n.message){let l=t instanceof Error?t.message:String(t);e.app.message.error(`Script execution error: ${l}`)}}}});function dh(e){let t=S.default.cloneDeep(e||{}),l=new Map,o=e=>{let t=`__ncb_linkage_runjs_script_mask__${(0,H.uid)()}__`;return l.set(t,e),t},n=null==t?void 0:t.value;return Array.isArray(n)&&n.forEach(e=>{e.actions.forEach(e=>{let t=e.name;if("linkageRunjs"!==t&&"runjs"!==t)return;let l=S.default.get(e,["params","value","script"]);"string"==typeof l&&l.length&&S.default.set(e,["params","value","script"],o(l));let n=S.default.get(e,["params","code"]);"string"==typeof n&&n.length&&S.default.set(e,["params","code"],o(n))})}),{masked:t,restore:e=>{let t=null==e?void 0:e.value;return Array.isArray(t)&&t.forEach(e=>{e.actions.forEach(e=>{let t=e.name;if("linkageRunjs"!==t&&"runjs"!==t)return;let o=S.default.get(e,["params","value","script"]);"string"==typeof o&&l.has(o)&&S.default.set(e,["params","value","script"],l.get(o));let n=S.default.get(e,["params","code"]);"string"==typeof n&&l.has(n)&&S.default.set(e,["params","code"],l.get(n))})}),e}}}async function df(e,t){let{masked:l,restore:o}=dh(t);return o(await e.resolveJsonTemplate(l))}let dg=(0,r.observer)(e=>{let{value:t,supportedActions:l}=e,o=(0,r.useFlowContext)(),n=(0,r.useFlowEngine)(),i=o.model.translate.bind(o.model),a=i("Assignment takes precedence over form field assignment"),s=()=>({key:(0,H.uid)(),title:i("Linkage rule"),enable:!0,condition:{logic:"$and",items:[]},actions:[]}),d=()=>{t.push(s())},u=e=>{t.splice(e,1)},c=e=>{if(e>0){let l=t[e];t.splice(e,1),t.splice(e-1,0,l)}},p=e=>{if(e<t.length-1){let l=t[e];t.splice(e,1),t.splice(e+1,0,l)}},h=e=>{let l=S.default.cloneDeep(t[e]),o={...l,key:(0,H.uid)(),title:`${l.title} (Copy)`};t.splice(e+1,0,o)},g=(e,l)=>{t[e].title=l},v=(e,l)=>{t[e].enable=l},y=()=>l.map(e=>o.getAction(e)),b=(e,l)=>{let o={key:(0,H.uid)(),name:l,params:void 0};t[e].actions.push(o)},x=(e,l)=>{t[e].actions.splice(l,1)},M=(e,l,o)=>{t[e].actions[l].params=o},w=(e,l)=>(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,m.jsx)("div",{style:{flex:1,marginRight:16},children:(0,m.jsx)(_.Input,{value:e.title,onChange:e=>g(l,e.target.value),onClick:e=>e.stopPropagation(),placeholder:"Enter rule title"})}),(0,m.jsxs)(_.Space,{onClick:e=>e.stopPropagation(),children:[(0,m.jsx)(_.Tooltip,{title:i("Delete"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.DeleteOutlined,{}),onClick:()=>u(l)})}),(0,m.jsx)(_.Tooltip,{title:i("Move up"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.ArrowUpOutlined,{}),onClick:()=>c(l),disabled:0===l})}),(0,m.jsx)(_.Tooltip,{title:i("Move down"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.ArrowDownOutlined,{}),onClick:()=>p(l),disabled:l===t.length-1})}),(0,m.jsx)(_.Tooltip,{title:i("Copy"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.CopyOutlined,{}),onClick:()=>h(l)})}),(0,m.jsx)(_.Switch,{size:"small",checked:e.enable,onChange:e=>v(l,e),checkedChildren:i("Enable"),unCheckedChildren:i("Disable")})]})]}),k=t.map((e,t)=>({key:e.key,label:w(e,t),styles:{header:{display:"flex",alignItems:"center"}},children:(0,m.jsxs)("div",{children:[(0,m.jsxs)("div",{style:{marginBottom:32},children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,m.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#1890ff",borderRadius:"2px",marginRight:8}}),(0,m.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Condition")})]}),(0,m.jsx)("div",{style:{paddingLeft:12},children:(0,m.jsx)(sU.I,{value:e.condition,FilterItem:e=>(0,m.jsx)(f.Ru,{model:o.model,value:e.value})})})]}),(0,m.jsxs)("div",{children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,m.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#52c41a",borderRadius:"2px",marginRight:8}}),(0,m.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Actions")})]}),(0,m.jsxs)("div",{style:{paddingLeft:12},children:[e.actions.length>0?(0,m.jsx)("div",{style:{marginBottom:16},children:e.actions.map((e,l)=>{let r=o.getAction(e.name);return r?(0,m.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,m.jsxs)("span",{style:{fontWeight:500,color:"#262626"},children:[i(r.title),"linkageAssignField"===e.name||"subFormLinkageAssignField"===e.name?(0,m.jsx)(_.Tooltip,{title:a,children:(0,m.jsx)(E.QuestionCircleOutlined,{style:{marginInlineStart:4},onClick:e=>e.stopPropagation()})}):null,(0,m.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,m.jsx)(_.Tooltip,{title:i("Delete action"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.DeleteOutlined,{}),onClick:()=>x(t,l)})})]}),(0,m.jsx)("div",{children:n.flowSettings.renderStepForm({uiSchema:r.uiSchema,initialValues:e.params,flowEngine:n,onFormValuesChange:e=>M(t,l,e.values)})})]},e.key):null})}):null,(0,m.jsx)(_.Dropdown,{menu:{items:y().map(e=>({key:e.name,label:i(e.title||e.name),onClick:()=>b(t,e.name)}))},trigger:["hover"],children:(0,m.jsx)(_.Button,{type:"link",icon:(0,m.jsx)(E.PlusOutlined,{}),style:{padding:0,height:"auto",textAlign:"left"},children:i("Add action")})})]})]})]})}));return(0,m.jsxs)(m.Fragment,{children:[t.length>0?(0,m.jsx)(_.Collapse,{items:k,size:"small",style:{marginBottom:8},defaultActiveKey:t.length>0?[t[0].key]:[],accordion:!0}):(0,m.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,m.jsx)(_.Empty,{description:i("No linkage rules"),style:{margin:"20px 0"}})}),(0,m.jsx)(_.Button,{type:"dashed",icon:(0,m.jsx)(E.PlusOutlined,{}),onClick:d,style:{width:"100%"},children:i("Add linkage rule")})]})}),dv=async(e,t)=>{var l,o,n,i,r,a,s,u;let c=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]}),p=t.value,m=e.model.__allModels||(e.model.__allModels=[]),h=[],f=(0,tg.w7)((null==(o=e.model)||null==(l=o.context)?void 0:l.blockModel)??e.model),g=e=>{if(!Array.isArray(e)||!e.length||!(null==f?void 0:f.getField))return!0;let t=f;for(let n=0;n<e.length;n++){var l,o;let i=e[n];if("number"==typeof i||"string"!=typeof i)continue;let r=null==t||null==(l=t.getField)?void 0:l.call(t,i);if(!r)continue;let a=!!(null==r||null==(o=r.isAssociationField)?void 0:o.call(r)),s=!!(null==r?void 0:r.targetCollection);if((0,tg.E4)(r)&&n+1<e.length&&"number"!=typeof e[n+1])return!1;a&&s&&(t=r.targetCollection)}return!0},v=t=>{var l,o;if(!t)return null;if(Array.isArray(t))return t.length&&t.every(e=>"string"==typeof e||"number"==typeof e)?t:null;if("string"!=typeof t)return null;let n=null==(o=e.model)||null==(l=o.context)?void 0:l.fieldIndex;return(0,sG.IJ)(t,n)},y=t=>{var l,o,n,i,r;if(!t)return;let a=null==t?void 0:t.path;if(!a)return;let s=v(a);if(!s)return void console.warn("[linkageRules] Skip linkage assignment due to failed path resolution",{flowKey:e.flowKey,modelUid:null==(l=e.model)?void 0:l.uid,attemptedPath:a});if(!g(s))return void console.warn("[linkageRules] Skip linkage assignment for to-many association subpath without row index",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,attemptedPath:a,resolvedPath:s});let d=!!(null==t?void 0:t.whenEmpty);try{let l=null==(i=e.model)||null==(n=i.context)?void 0:n.form,o=null==l||null==(r=l.getFieldValue)?void 0:r.call(l,s);if(d&&null!=o&&""!==o||S.default.isEqual(o,null==t?void 0:t.value))return}catch{}h.push({path:s,value:null==t?void 0:t.value})},_=e=>{var t,l;if(!e||"object"!=typeof e)return null;try{let t=null==e||null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init"),o="string"==typeof(null==t?void 0:t.fieldPath)?t.fieldPath:"",n="string"==typeof(null==t?void 0:t.associationPathName)?t.associationPathName:"",i=o||("string"==typeof(null==e?void 0:e.fieldPath)?e.fieldPath:""),r=n||("string"==typeof(null==e?void 0:e.associationPathName)?e.associationPathName:"");if(r){if(!i)return r;if(i.startsWith(`${r}.`))return i;return`${r}.${i}`}if(i)return i}catch{}let o=null==e||null==(t=e.props)?void 0:t.name;if("string"==typeof o&&o)return o;if(Array.isArray(o)&&o.length){let e="";for(let t of o){if("number"==typeof t){e+=`[${t}]`;continue}"string"==typeof t&&t&&(e?e+=`.${t}`:e=t)}return e||null}return null};for(let t of(m.forEach(e=>{e.__props={}}),p.filter(e=>e.enable))){let{condition:l,actions:o}=t;if((0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(l),c))for(let t of o){let l=(e,t)=>{e.__originalProps||(e.__originalProps={hiddenModel:e.hidden,hiddenText:void 0,disabled:void 0,required:void 0,hidden:void 0,...e.props}),e.__props||(e.__props={}),e.__props={...e.__props,...t},-1===m.indexOf(e)&&m.push(e)};await (null==(a=e.getAction(t.name))?void 0:a.handler(e,{...t.params,setProps:l,addFormValuePatch:y}))}}let b=new Map,x=new Map;m.forEach(e=>{let t=(null==e?void 0:e.uid)||String(e),l=e.__props||{};if(b.has(t)){x.set(t,{...x.get(t),...l});let o=b.get(t);e.isFork&&!o.isFork&&b.set(t,e)}else b.set(t,e),x.set(t,{...l})}),b.forEach((t,l)=>{let o=x.get(l)||{},n={...t.__originalProps,...o};if(t.setProps(S.default.omit(n,["hiddenModel","value","hiddenText"])),t.hidden=!!n.hiddenModel,!0===n.required){let l=(t.props.rules||[]).filter(e=>!e.required);l.push({required:!0,message:e.t("The field value is required")}),t.setProps("rules",l)}else if(!1===n.required){let e=(t.props.rules||[]).filter(e=>!e.required);t.setProps("rules",e)}if(n.hiddenText&&t.setProps("title",""),"value"in n&&t.context.form){let l=_(t);if(l)y({path:l,value:n.value});else{var i;console.warn("[linkageRules] Skip linkage assignment due to missing target path",{flowKey:e.flowKey,modelUid:null==(i=e.model)?void 0:i.uid,targetUid:null==t?void 0:t.uid})}}t.__props=null});let M=[...h];if(!M.length)return;let w=e,k=null==w?void 0:w.setFormValues,F=null==(r=e.model)||null==(i=r.context)||null==(n=i.blockModel)?void 0:n.context,C=null==F?void 0:F.setFormValues,A=null==w?void 0:w.inputArgs,P="string"==typeof(null==A?void 0:A.linkageTxId)&&A.linkageTxId?A.linkageTxId:"string"==typeof(null==A?void 0:A.txId)?A.txId:void 0,T=sX(e),j=async(e,t,l)=>{await e.call(t,M,{source:l,linkageTxId:P,linkageScopeDepth:T})};if("function"==typeof k)try{await j(k,w,"linkage");return}catch(t){console.warn("[linkageRules] Failed to set form values via setFormValues",{flowKey:e.flowKey,modelUid:null==(s=e.model)?void 0:s.uid,setter:"ctx",patchCount:M.length,patches:M.slice(0,10).map(e=>({path:e.path,value:sW(e.value)}))}),console.warn(t)}if("function"==typeof C)try{await j(C,F,"linkage");return}catch(t){console.warn("[linkageRules] Failed to set form values via setFormValues",{flowKey:e.flowKey,modelUid:null==(u=e.model)?void 0:u.uid,setter:"blockModel",patchCount:M.length,patches:M.slice(0,10).map(e=>({path:e.path,value:sW(e.value)}))}),console.warn(t)}M.forEach(t=>{let{path:l,value:o}=t;try{var n,i,r;let t=null==(i=e.model)||null==(n=i.context)?void 0:n.form;if("function"==typeof(null==t?void 0:t.getFieldValue)){let e=t.getFieldValue(l);if(S.default.isEqual(e,o))return}null==t||null==(r=t.setFieldValue)||r.call(t,l,o)}catch(e){console.warn("[linkageRules] Failed to set form field value (fallback setFieldValue)",{path:l},e)}})},dy=(0,r.defineAction)({name:"blockLinkageRules",title:(0,r.tExpr)("Block linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":dg,"x-component-props":{supportedActions:dw(e,r.ActionScene.BLOCK_LINKAGE_RULES),title:(0,r.tExpr)("Block linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{let l=await df(e,t);return dv(e,l)}}),d_=(0,r.defineAction)({name:"actionLinkageRules",title:(0,r.tExpr)("Linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":dg,"x-component-props":{supportedActions:dw(e,r.ActionScene.ACTION_LINKAGE_RULES),title:(0,r.tExpr)("Linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{let l=await df(e,t);return dv(e,l)}}),db=(0,r.defineAction)({name:"fieldLinkageRules",title:(0,r.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":dg,"x-component-props":{supportedActions:dw(e,r.ActionScene.FIELD_LINKAGE_RULES),title:(0,r.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,o,n;if(e.model.hidden)return;let i=0,a=t=>{if(!t||"function"!=typeof t.defineProperty)return;let l=null==e?void 0:e.inputArgs;l&&"object"==typeof l&&t.defineProperty("inputArgs",{value:{...l}}),t.defineProperty("linkageScopeDepth",{value:i})};a(e);let s=(0,tg.w7)((null==(o=e.model)||null==(l=o.context)?void 0:l.blockModel)??e.model),d=e=>{if(!(null==s?void 0:s.getField))return null;let t=(0,sG.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(t.length<2)return null;let l=s,o=[];for(let e=0;e<t.length-1;e++){var n,i;let r=t[e];if("string"!=typeof r)continue;let a=null==l||null==(n=l.getField)?void 0:n.call(l,r);if(!(null==a||null==(i=a.isAssociationField)?void 0:i.call(a)))break;let s=(0,tg.E4)(a);if(s&&o.push(r),s&&"number"==typeof t[e+1]&&(e+=1),!(null==(l=null==a?void 0:a.targetCollection)?void 0:l.getField))break}if(!o.length)return null;let r=o[o.length-1],a=o.filter(e=>e===r).length;return`${r}#${a}`},u=e=>{if(!(null==s?void 0:s.getField))return!1;let t=(0,sG.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(t.length<2)return!1;let l=s;for(let e=0;e<t.length-1;e++){var o,n;let i=t[e];if("string"!=typeof i)continue;let r=null==l||null==(o=l.getField)?void 0:o.call(l,i);if(!(null==r||null==(n=r.isAssociationField)?void 0:n.call(r)))break;if((0,tg.E4)(r)){if("number"!=typeof t[e+1])return!0;e+=1}if(!(null==(l=null==r?void 0:r.targetCollection)?void 0:l.getField))break}return!1},c=s4(e),{blockParams:p,rowParamsByKey:m}=(()=>{let e=null==t?void 0:t.value;if(!Array.isArray(e)||!e.length)return{blockParams:t,rowParamsByKey:new Map};let l=[],o=new Map,n=(e,t,l)=>{if(!e||!l.length)return;let n=o.get(e)||[];n.push({...t,actions:l}),o.set(e,n)};for(let t of e){if(!t||"object"!=typeof t)continue;let e={key:t.key,title:t.title,enable:t.enable,condition:t.condition},o=Array.isArray(t.actions)?t.actions:[],i=[],r=new Map;for(let e of o){let t=null==e?void 0:e.name,l=null==e?void 0:e.params,o=null==l?void 0:l.value,n=t=>{let n=s5(o,t,c);if(!n.length)return{block:null,rows:new Map};let i=[],r=new Map;for(let e of n){let t=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!t){i.push(e);continue}let l=d(t);if(l&&u(t)){let t=r.get(l)||[];t.push(e),r.set(l,t)}else i.push(e)}let a=i.length>0?{...e,params:{...l,value:i}}:null,s=new Map;for(let[t,o]of r.entries())o.length&&s.set(t,{...e,params:{...l,value:o}});return{block:a,rows:s}};if("linkageAssignField"===t){let e=n({mode:"assign",valueKey:"assignValue"});e.block&&i.push(e.block),e.rows.forEach((e,t)=>{let l=r.get(t)||[];l.push(e),r.set(t,l)});continue}if("setFieldsDefaultValue"===t){let e=n({mode:"default",valueKey:"initialValue"});e.block&&i.push(e.block),e.rows.forEach((e,t)=>{let l=r.get(t)||[];l.push(e),r.set(t,l)});continue}i.push(e)}i.length&&l.push({...e,actions:i}),r.forEach((t,l)=>{n(l,e,t)})}let i={...t,value:l},r=new Map;return o.forEach((e,l)=>{r.set(l,{...t,value:e})}),{blockParams:i,rowParamsByKey:r}})(),h=await df(e,p);if(await dv(e,h),!m.size)return;let f=e=>{var t;let l=null==e||null==(t=e.context)?void 0:t.fieldIndex,o=Array.isArray(l)?l:[];if(!o.length)return null;let n=[];for(let e of o){if("string"!=typeof e)continue;let[t,l]=e.split(":"),o=Number(l);!t||Number.isNaN(o)||n.push({name:t,index:o})}if(!n.length)return null;let i=n[n.length-1].name,r=n.reduce((e,t)=>t.name===i?e+1:e,0);return`${i}#${r}`},g=e=>{var t,l;return!!e&&"object"==typeof e&&(null==e||null==(t=e.subModels)||!t.field)&&!!(null==e||null==(l=e.subModels)?void 0:l.items)&&!!f(e)},v=()=>{let t=new Map,l=e.engine;return(null==l?void 0:l.forEachModel)&&l.forEachModel(e=>{let l=null==e?void 0:e.forks;l&&"function"==typeof l.forEach&&l.forEach(e=>{if(!e||e.disposed||!g(e))return;let l=f(e);if(!l)return;let o=t.get(l)||[];o.push(e),t.set(l,o)})}),t},y=async()=>{let t=v(),l=!1;for(let[n,i]of m.entries()){let s=t.get(n)||[];if(s.length&&(l=!0),s.length)for(let t of s){let l=new r.FlowRuntimeContext(t,e.flowKey);a(l);try{let e=await df(l,i);await dv(l,e)}catch(l){var o;console.warn("[linkageRules] Failed to run row-scoped linkage rules",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,rowScopeKey:n,forkUid:null==t?void 0:t.uid}),console.warn(l)}}}return l};if(!await y()){let t="__pendingLinkageRowScopedRetry__",l=e.model;(null==l?void 0:l[t])||(console.warn("[linkageRules] Row-scoped linkage assignment deferred (row forks not ready), will retry",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,rowKeys:Array.from(m.keys())}),l[t]=!0,setTimeout(()=>{l[t]=!1;let o=e.model;o&&!o.disposed&&y().catch(e=>{console.warn("[linkageRules] Failed to retry row-scoped linkage rules",e)})},0))}}}),dx=(0,r.defineAction)({name:"subFormFieldLinkageRules",title:(0,r.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":dg,"x-component-props":{supportedActions:dw(e,r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES),title:(0,r.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,o,n,i;if(e.model.hidden)return;let a=null==(o=e.model)||null==(l=o.subModels)?void 0:l.grid;if(!a)return void console.warn("[subFormFieldLinkageRules] Missing subModels.grid",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid});let s=sJ(null==e?void 0:e.model),d=t=>{let l=new r.FlowRuntimeContext(t,e.flowKey),o=null==e?void 0:e.inputArgs;return o&&"object"==typeof o&&l.defineProperty("inputArgs",{value:{...o}}),l.defineProperty("linkageScopeDepth",{value:s}),l};if(e.model instanceof im){if(a.hidden)return;let l=d(a);try{let e=await df(l,t);await dv(l,e)}catch(t){console.warn("[subFormFieldLinkageRules] Failed to run linkage rules (to-one)",{flowKey:e.flowKey,modelUid:null==(i=e.model)?void 0:i.uid,gridUid:null==a?void 0:a.uid}),console.warn(t)}}else await Promise.all((a.forks||[]).map(async l=>{if(l.hidden)return;let o=d(l);try{let e=await df(o,t);await dv(o,e)}catch(t){var n;console.warn("[subFormFieldLinkageRules] Failed to run linkage rules for fork",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,forkUid:null==l?void 0:l.uid,gridUid:null==a?void 0:a.uid}),console.warn(t)}}))}}),dM=(0,r.defineAction)({name:"detailsFieldLinkageRules",title:(0,r.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":dg,"x-component-props":{supportedActions:dw(e,r.ActionScene.DETAILS_FIELD_LINKAGE_RULES),title:(0,r.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{if(e.model.hidden)return;let l=await df(e,t);return dv(e,l)}});function dw(e,t){return[...e.getActions().values()].filter(e=>{let l=e.scene;return!!l&&(Array.isArray(l)||(l=[l]),l.includes(t))}).sort((e,t)=>(e.sort||0)-(t.sort||0)).map(e=>e.name)}let dS=(0,r.defineAction)({name:"overflowMode",title:(0,r.tExpr)("Ellipsis on text overflow"),uiMode:{type:"switch",key:"overflowMode"},defaultParams:e=>({overflowMode:e.model.parent instanceof nt}),handler(e,t){let l;l="string"==typeof(null==t?void 0:t.overflowMode)?"ellipsis"===t.overflowMode:!!(null==t?void 0:t.overflowMode),e.model.setProps({overflowMode:l?"ellipsis":"wrap"})}}),dk=()=>{let e=(0,z.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,F.useTranslation)();return(0,m.jsxs)(_.Select,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,m.jsx)(_.Select.Option,{value:"*",children:l("Multiply by")}),(0,m.jsx)(_.Select.Option,{value:"/",children:l("Divide by")})]})},dF=(0,r.defineAction)({title:(0,r.tExpr)("Number format"),name:"numberFormat",uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,r.tExpr)("Normal")},{value:"scientifix",label:(0,r.tExpr)("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"NumberPicker",title:"{{t('Unit conversion')}}","x-component-props":{style:{width:"100%"},addonBefore:(0,m.jsx)(dk,{})}},separator:{type:"string",enum:[{value:"0,0.00",label:"100,000.00"},{value:"0.0,00",label:"100.000,00"},{value:"0 0,00",label:"100 000.00"},{value:"0.00",label:"100000.00"}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},numberStep:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem"},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem"}}),defaultParams:e=>{let{formatStyle:t,unitConversion:l,unitConversionType:o,separator:n,step:i,addonBefore:r,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:o,separator:n||"0,0.00",numberStep:i||"1",addonBefore:r,addonAfter:a}},handler(e,t){let{formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s})}}),dC=e=>{let t;if(e){if(Array.isArray(e))t=e;else if("object"==typeof e&&"function"==typeof(null==e?void 0:e[Symbol.iterator]))try{t=Array.from(e)}catch(e){t=void 0}else if("object"==typeof e){let l=Object.keys(e).filter(e=>/^\d+$/.test(e)).sort((e,t)=>Number(e)-Number(t));l.length&&(t=l.map(t=>e[t]))}if(null==t?void 0:t.length)return t.map(e=>e&&"object"==typeof e?{...e}:e)}};function dA(e){return class extends e{async onDispatchEventStart(e){var t,l,o,n,i,r;if("beforeRender"!==e)return;let a=(null==(t=(l=this).getStepParams)?void 0:t.call(l,"fieldSettings","init"))||{},s=(null==a?void 0:a.dataSourceKey)&&(null==a?void 0:a.collectionName)&&(null==a?void 0:a.fieldPath)&&`${a.dataSourceKey}.${a.collectionName}.${a.fieldPath}`,d=s&&(null==(i=this.context)||null==(n=i.dataSourceManager)||null==(o=n.getCollectionField)?void 0:o.call(n,s)),u=(null==(r=this._originalModel)?void 0:r.collectionField)||this._fallbackCollectionField;(d||u)&&this.context.defineProperty("collectionField",{get:()=>d||u})}async onDispatchEventEnd(e){var t,l,o,n,i,r,a,s,d,u,c;if("beforeRender"!==e)return;let p={...this._originalPropsFallback||{},...(null==(t=this._originalModel)?void 0:t.props)||{}},m=null==(l=this.context)?void 0:l.collectionField,h={};(null==p?void 0:p.fieldNames)&&(h.fieldNames=p.fieldNames),void 0!==(null==p?void 0:p.allowMultiple)&&(h.allowMultiple=p.allowMultiple);let f=dC(null==(o=this.props)?void 0:o.options),g=!!(null==f?void 0:f.length),v=dC(null==p?void 0:p.options),y=(null==v?void 0:v.length)?v:this._originalOptionsFallback;!g&&Array.isArray(y)&&y.length>0&&(h.options=y.map(e=>e&&"object"==typeof e?{...e}:e));let _=(()=>{let e=null==m?void 0:m.type,t=null==m?void 0:m.interface,l=t&&("m2m"===t||"o2m"===t||"mbm"===t);return!!(e&&("belongsToMany"===e||"hasMany"===e||"belongsToArray"===e)||l)})(),b=void 0!==p.multiple?p.multiple:_,x=void 0!==p.allowMultiple?p.allowMultiple:void 0!==p.multiple?p.multiple:_;void 0!==b&&(h.multiple=b),void 0!==x&&(h.allowMultiple=x),Object.keys(h).length&&this.setProps(h),(null==m?void 0:m.interface)==="multipleSelect"&&void 0===(null==(n=this.props)?void 0:n.mode)&&this.setProps({mode:"multiple"}),(0,tC.NI)(this,m),null==(i=(r=this).showTitle)||i.call(r,null),null==(a=(s=this).setDescription)||a.call(s,null),null==(d=(u=this).setPattern)||d.call(u,"editable"),this.props.onChange&&this.setProps({onChange:this.props.onChange});let M=null==(c=this.getStepParams("formItemSettings","initialValue"))?void 0:c.defaultValue;void 0!==M&&this.setProps({defaultValue:M})}setProps(e){var t,l,o;let{originalModel:n,disabled:i,readOnly:r,readPretty:a,pattern:s,...d}=e||{},u=null==(t=super.setProps)?void 0:t.call(this,{...d,disabled:!1});return null==(l=(o=this).setPattern)||l.call(o,"editable"),u}remove(){for(var e,t=arguments.length,l=Array(t),o=0;o<t;o++)l[o]=arguments[o];null==(e=super.remove)||e.call(this,...l)}}}let dP=(0,z.connect)(e=>{let{value:t,onChange:l,metaTree:o,flags:n,...i}=e,a=(0,r.useFlowContext)(),{model:s}=a,d=h.default.useCallback(e=>!!e&&"function"==typeof(null==e?void 0:e.query),[]),u=h.default.useCallback((e,t)=>{if(d(e)){var l,o,n,i;let r=null==(o=e.query(t))||null==(l=o.get)?void 0:l.call(o,"selfModified"),a=null==(i=e.query(t))||null==(n=i.get)?void 0:n.call(i,"modified");return!!(r||a)}return"function"==typeof(null==e?void 0:e.isFieldsTouched)&&!!e.isFieldsTouched([t])},[d]),c=h.default.useCallback((e,t)=>{if(d(e))return(0,S.get)(e.values,t);if("function"==typeof(null==e?void 0:e.getFieldValue))return e.getFieldValue(t);let l="function"==typeof(null==e?void 0:e.getFieldsValue)?e.getFieldsValue(!0):void 0;return(0,S.get)(l,t)},[d]),p=h.default.useCallback((e,t,l)=>{if(e&&(null==t?void 0:t.length)){if(d(e))return void e.setFieldValue(t,l);if("function"==typeof(null==e?void 0:e.setFieldValue))e.setFieldValue(t,l);else{var o;let n={};(0,S.set)(n,t,l),null==e||null==(o=e.setFieldsValue)||o.call(e,n)}}},[d]),f=h.default.useCallback(async e=>{let t=e;if((0,r.isRunJSValue)(t)){try{let{code:e,version:l}=(0,r.normalizeRunJSValue)(t),o=await (0,r.runjsWithSafeGlobals)(null==s?void 0:s.context,e,{version:l});t=(null==o?void 0:o.success)?o.value:void 0}catch{t=void 0}return t}if((0,r.isVariableExpression)(t)){var l,o;let n=await (null==s||null==(o=s.context)||null==(l=o.resolveJsonTemplate)?void 0:l.call(o,t));if(void 0!==n&&(t=n),t===e){let e=(0,r.extractPropertyPath)(String(t));e&&(t=(0,S.get)(null==s?void 0:s.context,e.join(".")))}}return t},[s]),g=h.default.useCallback((e,t)=>tS(e,t),[]);h.default.useEffect(()=>{var e;let t=s;if(!t||t.__dvSetStepParamsPatched)return;let l=null==(e=t.setStepParams)?void 0:e.bind(t);"function"==typeof l&&(t.__dvSetStepParamsPatched=!0,t.setStepParams=async(e,o,n)=>{var i,r,a,s,d,m,h;let v,y,_=[],b=(null==t||null==(i=t.props)?void 0:i.name)??(null==t?void 0:t.fieldPath);_=g(Array.isArray(b)?b:"string"==typeof b?b.split("."):[b].filter(Boolean),null==t||null==(r=t.context)?void 0:r.fieldIndex),"string"==typeof e&&"string"==typeof o&&n&&void 0!==n.defaultValue&&(v=null==(a=t.getStepParams(e,o))?void 0:a.defaultValue,y=n.defaultValue);let x=l(e,o,n);if(void 0!==y){let e=(null==t||null==(m=t.context)||null==(d=m.blockModel)||null==(s=d.context)?void 0:s.form)||(null==t||null==(h=t.context)?void 0:h.form);if(e&&_.length){let t=u(e,_),l=c(e,_),o=await f(v),n=await f(y),i=null==l||""===l,r=(0,S.isEqual)(l,o)||!t&&i;void 0!==n&&r&&p(e,_,n)}}return x})},[s,c,u,f,p,g]);let v=(0,h.useMemo)(()=>{var e;let t=null==s||null==(e=s.context)?void 0:e.flags;if(t||n)return{...t||{},...n||{}}},[s,n]),y=h.default.useRef(void 0);(0,S.isEqual)(y.current,v)||(y.current=v);let b=y.current,x=(0,h.useMemo)(()=>{var e,t,l,o,n,i,a,d,u,c,p,m,h,f,g,v,y,_,x,M,w,S,k,F,C,A,P,T;let j=s,I=(null==j?void 0:j.customFieldModelInstance)||(null==j||null==(e=j.subModels)?void 0:e.field),L=(null==I?void 0:I.props)||{},Y=(null==j?void 0:j.customFieldProps)||{},{value:D,defaultValue:E,...R}=L,{value:N,defaultValue:B,...O}=Y,q=(null==j||null==(t=j.getStepParams)?void 0:t.call(j,"fieldSettings","init"))||(null==I||null==(l=I.getStepParams)?void 0:l.call(I,"fieldSettings","init")),$=null==I?void 0:I.collectionField;if(!$&&(null==q?void 0:q.dataSourceKey)&&(null==q?void 0:q.collectionName)&&(null==q?void 0:q.fieldPath)){let e=`${q.dataSourceKey}.${q.collectionName}.${q.fieldPath}`;$=null==s||null==(g=s.context)||null==(f=g.dataSourceManager)||null==(h=f.getCollectionField)?void 0:h.call(f,e)}$||($=null==j||null==(v=j.context)?void 0:v.collectionField);let V=null==I?void 0:I.constructor,z=$?r.EditableItemModel.getDefaultBindingByField(null==s?void 0:s.context,$):null,K=null==$?void 0:$.type,U=null==$?void 0:$.interface,G="belongsToMany"===K||"hasMany"===K||"belongsToArray"===K||"m2m"===U||"o2m"===U||"mbm"===U,W=!!((null==b?void 0:b.isInSetDefaultValueDialog)&&G),J=G?lt:oC.m,X=z?null==s||null==(i=s.context)||null==(n=i.engine)||null==(o=n.getModelClass)?void 0:o.call(n,z.modelName):null,Q="function"==typeof V?V:null,Z=dA("string"==typeof(null==V?void 0:V.name)&&/FilterFieldModel$/.test(V.name)||(null==j?void 0:j.customFieldModelInstance)?Q||X||J:X||Q||J),ee=null==I||null==(a=I.props)?void 0:a.fieldNames,et=null==I||null==(d=I.props)?void 0:d.titleField,el=null==I||null==(u=I.getStepParams)?void 0:u.call(I,"selectSettings","fieldNames"),eo=null==I||null==(c=I.getStepParams)?void 0:c.call(I,"selectSettings","allowMultiple"),en={};q&&(en.fieldSettings={init:q}),(el||eo)&&(en.selectSettings={...el?{fieldNames:el}:{},...eo?{allowMultiple:eo}:{}});let ei={use:Z,uid:(0,H.uid)(),parentId:null,subKey:null,subType:null,stepParams:{...(null==I?void 0:I.stepParams)||{},...Object.keys(en).length?en:{}},props:{disabled:!1,allowClear:!0,...R,...void 0!==ee?{fieldNames:ee}:{},...void 0!==et?{titleField:et}:{},...W?{keepDropdownOpenOnSelect:!0}:{},...O}},er=s.context.engine.createModel({use:"VariableFieldFormModel",subModels:{fields:[ei]}}),ea=null==(m=er.subModels)||null==(p=m.fields)?void 0:p[0];if(ea&&(ea._originalModel=I,ea._originalPropsFallback=null==j?void 0:j.customFieldProps,ea._fallbackCollectionField=null==j||null==(y=j.context)?void 0:y.collectionField,ea._originalOptionsFallback=dC(null==I||null==(_=I.getDataSource)?void 0:_.call(I))||dC(null==I||null==(x=I.props)?void 0:x.options)||dC(null==j||null==(M=j.customFieldProps)?void 0:M.options)),(null==q?void 0:q.dataSourceKey)&&(null==q?void 0:q.collectionName)){let e=s.context.dataSourceManager,t=null==e||null==(w=e.getDataSource)?void 0:w.call(e,q.dataSourceKey),l=null==e||null==(S=e.getCollection)?void 0:S.call(e,q.dataSourceKey,q.collectionName);t&&(null==(F=er.context)||null==(k=F.defineProperty)||k.call(F,"dataSource",{get:()=>t})),l&&(null==(A=er.context)||null==(C=A.defineProperty)||C.call(A,"collection",{get:()=>l}))}return b&&(null==(T=er.context)||null==(P=T.defineProperty)||P.call(T,"flags",{value:b})),er},[s,b]);h.default.useEffect(()=>()=>{var e,t;null==(t=x.subModels)||null==(e=t.fields)||e.forEach(e=>{var t;return null==e||null==(t=e.remove)?void 0:t.call(e)}),x.remove()},[x]);let M=(0,h.useMemo)(()=>e=>{let l=h.default.useRef(!1),[,o]=h.default.useReducer(e=>e+1,0),n=h.default.useRef(Symbol("init")),i=h.default.useRef(Symbol("none")),a=h.default.useRef(!1);return h.default.useEffect(()=>{var r,s,d,u,c,p,m,h,f;let g=null==x||null==(s=x.subModels)||null==(r=s.fields)?void 0:r[0];if(!g)return;let{disabled:v,readOnly:y,readPretty:_,pattern:b,...M}=e||{},w=!!(null==g||null==(c=g.context)||null==(u=c.collectionField)||null==(d=u.isAssociationField)?void 0:d.call(u)),S=e=>!!e&&"object"==typeof e&&"data"in e,k=e=>Array.isArray(e)?e.map(e=>S(e)?e.data:e):S(e)?e.data:e,F=(null==g||null==(p=g._originalModel)?void 0:p.use)||(null==g?void 0:g.use),C=null==g||null==(h=g.context)||null==(m=h.collectionField)?void 0:m.interface,A=new Set(["input","email","phone","uuid","url","nanoid","textarea","markdown","password","color"]),P="InputFieldModel"===F||(C?A.has(C):g instanceof oC.m),T=e=>{if(e&&"object"==typeof e&&"target"in e){let t=null==e?void 0:e.target;if(P&&void 0!==(null==t?void 0:t.value))return t.value;if(void 0!==(null==t?void 0:t.checked))return t.checked;if(void 0!==(null==t?void 0:t.value))return t.value}return e};if(g.setProps({disabled:!1,onChange:function(){for(var t,l=arguments.length,n=Array(l),r=0;r<l;r++)n[r]=arguments[r];let s=n.length>1&&("string"==typeof n[1]||Array.isArray(n[1])&&n[1].every(e=>"string"==typeof e))?n[1]:n[0],d=w?k(s):T(s);if(!P){let e=w?k(s):T(s);i.current=e,g.setProps({value:e,defaultValue:void 0})}P&&a.current||(null==(t=(null==M?void 0:M.onChange)??(null==e?void 0:e.onChange))||t(d),o())},onCompositionStart:function(){for(var t,l,o=arguments.length,n=Array(o),i=0;i<o;i++)n[i]=arguments[i];a.current=!0,null==M||null==(t=M.onCompositionStart)||t.call(M,...n),null==e||null==(l=e.onCompositionStart)||l.call(e,...n)},onCompositionUpdate:(null==M?void 0:M.onCompositionUpdate)??(null==e?void 0:e.onCompositionUpdate),onCompositionEnd:t=>{var l,o,n;a.current=!1;let i=T(t);null==(l=(null==M?void 0:M.onChange)??(null==e?void 0:e.onChange))||l(i),null==M||null==(o=M.onCompositionEnd)||o.call(M,t),null==e||null==(n=e.onCompositionEnd)||n.call(e,t)},style:{width:"100%",minWidth:0,...(null==M?void 0:M.style)||(null==e?void 0:e.style)}}),null==(f=g.setPattern)||f.call(g,"editable"),!l.current){l.current=!0;let e=t;void 0!==e&&g.setProps({defaultValue:e})}if(!P){let e=t;if(e!==n.current&&(n.current=e,void 0!==e)){let t=w?k(e):T(e);i.current=t,g.setProps({value:t}),o()}}},[e,t]),(0,m.jsx)("div",{style:{flexGrow:1},children:(0,m.jsx)(r.FlowModelRenderer,{model:x,showFlowSettings:!1})})},[x]);h.default.useEffect(()=>{var e,t,l,o;let n=null==s?void 0:s.operator,i=null==x||null==(t=x.subModels)||null==(e=t.fields)?void 0:e[0];if(!n||!i)return;let r=i.__originalRender||i.render;i.__originalRender=r;let a=(0,oA._)(s.context.app,n,(null==(o=s.collectionField)||null==(l=o.filterable)?void 0:l.operators)||[]);if(a&&i instanceof oC.m){let{Comp:e,props:t}=a;i.render=()=>{var l;return(0,m.jsx)(e,{...i.props,...t,style:{width:"100%",...null==(l=i.props)?void 0:l.style,...null==t?void 0:t.style}})}}else"function"==typeof r&&(i.render=r)},[s,x,null==s?void 0:s.operator]),h.default.useEffect(()=>{var e,t,l,o,n;let i=null==s?void 0:s.operator,r=null==x||null==(t=x.subModels)||null==(e=t.fields)?void 0:e[0];if(!r||!i)return;let a=((null==(o=s.collectionField)||null==(l=o.filterable)?void 0:l.operators)||[]).find(e=>e.value===i),d=null==a||null==(n=a.schema)?void 0:n["x-component-props"];d&&r.setProps(d)},[s,x,null==s?void 0:s.operator]);let w=(0,h.useMemo)(()=>function(){var e;return(0,m.jsx)(_.Input,{placeholder:`<${(null==(e=a.t)?void 0:e.call(a,"Null"))??"Null"}>`,readOnly:!0})},[a]),k=(0,h.useMemo)(()=>e=>(0,m.jsx)(tA.h,{t:a.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange}),[a]),F=(0,h.useMemo)(()=>async()=>{var e,t,l,n;let i=[];return i="function"==typeof o?await o()||[]:Array.isArray(o)?o:(null==(n=a.getPropertyMetaTree)?void 0:n.call(a))||[],[{title:(null==(e=a.t)?void 0:e.call(a,"Constant"))??"Constant",name:"constant",type:"string",paths:["constant"],render:M},{title:(null==(t=a.t)?void 0:t.call(a,"Null"))??"Null",name:"null",type:"object",paths:["null"],render:w},{title:(null==(l=a.t)?void 0:l.call(a,"RunJS"))??"RunJS",name:"runjs",type:"object",paths:["runjs"],render:k},...i]},[o,a,M,w,k]);return h.default.useEffect(()=>{var e;let t=null==(e=x.subModels.fields)?void 0:e[0];null==t||t.setProps({disabled:!1})},[x,t]),(0,m.jsx)(r.VariableInput,{metaTree:F,value:t,onChange:l,...i,converters:{renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?M:"null"===l?w:"runjs"===l?k:r.VariableTag},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:"runjs"===l?{code:"",version:"v2"}:void 0},resolvePathFromValue:e=>null===e?["null"]:(0,r.isRunJSValue)(e)?["runjs"]:(0,r.isVariableExpression)(e)?(0,r.parseValueToPath)(e):["constant"]}})});class dT{get models(){let e=new Map;for(let t=0;t<localStorage.length;t++){let l=localStorage.key(t);if(l&&l.startsWith(`${this.prefix}flow-model:`)){let t=localStorage.getItem(l);if(t){let l=JSON.parse(t);e.set(l.uid,l)}}}return e}async findOne(e){let{uid:t,parentId:l}=e;return t?this.load(t):l?this.loadByParentId(l):null}async loadByParentId(e){for(let t of this.models.values())if(t.parentId==e)return console.log("Loading model by parentId:",e,t),this.load(t.uid);return null}async load(e){let t=localStorage.getItem(`${this.prefix}flow-model:${e}`);if(!t)return console.warn(`Model with uid ${e} not found in localStorage.`),null;let l=JSON.parse(t);for(let t of[...this.models.values()])if(t.parentId===e){if(l.subModels=l.subModels||{},"array"===t.subType){l.subModels[t.subKey]=l.subModels[t.subKey]||[];let e=await this.load(t.uid);l.subModels[t.subKey].push(e)}else if("object"===t.subType){let e=await this.load(t.uid);e&&(l.subModels[t.subKey]=e)}}return console.log("Loading model:",e,JSON.stringify(l,null,2)),l}async save(e){let t=e.serialize(),l=S.default.omit(t,["subModels","flowEngine"]);for(let t of(localStorage.setItem(`${this.prefix}flow-model:${e.uid}`,JSON.stringify(l)),console.log("Saving model:",e.uid,l),Object.keys(e.subModels||{}))){let l=e.subModels[t];if(l)if(Array.isArray(l))for(let e of l)await this.save(e);else l instanceof r.FlowModel&&await this.save(l)}return t}async destroy(e){return localStorage.removeItem(`${this.prefix}flow-model:${e}`),!0}async clear(){for(let e of Object.keys(localStorage))e.startsWith(`${this.prefix}flow-model:`)&&localStorage.removeItem(e);return!0}async move(e,t){arguments.length>2&&void 0!==arguments[2]&&arguments[2]}async duplicate(e){let t=await this.load(e);if(!t)return null;let l=()=>`dup_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`,o=(e,t)=>{let{subModels:n,flowEngine:i,...r}=e||{},a={...r};if(a.uid=l(),t&&(a.parentId=t),n&&"object"==typeof n)for(let e of(a.subModels={},Object.keys(n))){let t=n[e];Array.isArray(t)?a.subModels[e]=t.map(e=>o(e,a.uid)):t&&"object"==typeof t&&(a.subModels[e]=o(t,a.uid))}return a};return o(t)}constructor(e=""){this.prefix=e}}class dj{buildFindOneKey(e){let t=(null==e?void 0:e.uid)??"",l=(null==e?void 0:e.parentId)??"",o=(null==e?void 0:e.subKey)??"";return`uid:${t}|parentId:${l}|subKey:${o}`}async findOne(e){let t=this.buildFindOneKey(e),l=this.inFlightFindOne.get(t);if(l){let e=await l;return e?S.default.cloneDeep(e):e}let o=this.app.apiClient.request({url:"flowModels:findOne",params:S.default.pick(e,["uid","parentId","subKey"])}).then(e=>{var t;return null==(t=e.data)?void 0:t.data}).finally(()=>{this.inFlightFindOne.delete(t)});this.inFlightFindOne.set(t,o);let n=await o;return n?S.default.cloneDeep(n):n}async save(e,t){var l;let o=e.serialize();return(null==t?void 0:t.onlyStepParams)&&delete o.subModels,null==(l=(await this.app.apiClient.request({method:"POST",url:"flowModels:save",data:o})).data)?void 0:l.data}async destroy(e){return await this.app.apiClient.request({method:"POST",url:"flowModels:destroy",params:{filterByTk:e}}),!0}async move(e,t){var l;let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"after";return null==(l=(await this.app.apiClient.request({method:"POST",url:"flowModels:move",params:{sourceId:e,targetId:t,position:o}})).data)?void 0:l.data}async duplicate(e){var t;return null==(t=(await this.app.apiClient.request({method:"POST",url:"flowModels:duplicate",params:{uid:e}})).data)?void 0:t.data}constructor(e){this.app=e,this.inFlightFindOne=new Map}}function dI(e){return!!e&&"object"==typeof e}function dL(e){if(e){if("string"==typeof e)return e;if(dI(e))return e.eventName}}function dY(e){let t=e.phase;if(!t||"beforeAllFlows"===t){delete e.phase,delete e.flowKey,delete e.stepKey;return}if("afterAllFlows"===t){delete e.flowKey,delete e.stepKey;return}if("beforeFlow"===t||"afterFlow"===t){delete e.stepKey,e.flowKey||delete e.flowKey;return}if("beforeStep"===t||"afterStep"===t){e.flowKey||delete e.flowKey,e.stepKey||delete e.stepKey;return}}function dD(e){let t=e.phase;if(t&&"beforeAllFlows"!==t&&"afterAllFlows"!==t){if(("beforeFlow"===t||"afterFlow"===t||"beforeStep"===t||"afterStep"===t)&&!e.flowKey)return"flowKey";if(("beforeStep"===t||"afterStep"===t)&&!e.stepKey)return"stepKey"}}let dE=e=>{let{model:t}=e,l=t.translate.bind(t),o=()=>{let e=document.querySelector(`#${r.GLOBAL_EMBED_CONTAINER_ID}`);e&&t.context.viewer.embed({type:"embed",target:e,title:l("Edit event flows"),onOpen(){e.style.width="33.3%",e.style.maxWidth="800px",e.style.minWidth="0px"},onClose(){"1"!==e.dataset[r.EMBED_REPLACING_DATA_KEY]&&(e.style.width="auto",e.style.maxWidth="none",e.style.minWidth="auto")},content:(0,m.jsx)(dK,{model:t})})};return(0,m.jsx)(E.ThunderboltOutlined,{style:{cursor:"pointer"},onClick:o})},dR={display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},dN={width:"4px",height:"16px",borderRadius:"2px",marginRight:8},dB={margin:0,fontSize:14,fontWeight:500,color:"#262626"},dO={marginBottom:8,fontSize:14,fontWeight:500,color:"#262626"},dH={marginInlineStart:4,color:"#ff4d4f"},dq={marginInlineStart:2,marginInlineEnd:8},d$=e=>{let{color:t,children:l}=e;return(0,m.jsxs)("div",{style:dR,children:[(0,m.jsx)("div",{style:{...dN,backgroundColor:t}}),(0,m.jsx)("h4",{style:dB,children:l})]})},dV=e=>{let{children:t,required:l,style:o}=e;return(0,m.jsxs)("div",{style:{...dO,...o},children:[t,l&&(0,m.jsx)("span",{style:dH,children:"*"}),(0,m.jsx)("span",{style:dq,children:":"})]})},dz=(0,r.observer)(e=>{var t;let{flow:l,model:o,flowEngine:n}=e,i=(0,r.useFlowContext)(),a=o.translate.bind(o),s=(0,v.useUpdate)(),[d,u]=h.default.useState([]),c=dL(l.on),p=dI(l.on)?l.on:void 0,f=c?null==(t=o.getEvent(c))?void 0:t.uiSchema:void 0,g="function"==typeof f?f(i):f,y=null==p?void 0:p.defaultParams,b=h.default.useCallback(()=>{if(dI(l.on))return l.on;if(!c)return;let e={eventName:c};return l.on=e,e},[c,l]),x=(null==p?void 0:p.phase)?String(p.phase):"beforeAllFlows",M=(null==p?void 0:p.flowKey)?String(p.flowKey):void 0,w=(null==p?void 0:p.stepKey)?String(p.stepKey):void 0,k=h.default.useMemo(()=>[...o.getEvents().values()],[o]);h.default.useEffect(()=>{let e=!1;return(async()=>{let t=[];for(let e of k)await (0,r.shouldHideEventInSettings)(o,l,e)||t.push({label:o.translate(e.title),value:e.name});e||u(e=>S.default.isEqual(e,t)?e:t)})(),()=>{e=!0}},[l,o,k]);let F=h.default.useMemo(()=>c?Array.from(o.constructor.globalFlowRegistry.getFlows().values()).filter(e=>"beforeRender"===c?!0!==e.manual&&(!e.on||"beforeRender"===dL(e.on)):dL(e.on)===c):[],[c,o]),C=h.default.useMemo(()=>new Map(F.map(e=>[e.key,e])),[F]),A=h.default.useCallback((e,t)=>{if(!t)return e;let l=a(String(t));return`${e} (${l})`},[a]),P=h.default.useMemo(()=>F.map(e=>({value:e.key,label:A(String(e.key),e.title),disabled:o.flowRegistry.hasFlow(e.key)})),[A,o.flowRegistry,F]),T=h.default.useMemo(()=>{if(!M)return[];let e=C.get(M);return e?e.mapSteps(e=>{let t=e.use?o.getAction(e.use):void 0,l=e.title||(null==t?void 0:t.title);return{value:e.key,label:A(String(e.key),l)}}):[]},[M,A,o,C]),j=h.default.useMemo(()=>[{value:"beforeAllFlows",label:a("Before all flows")},{value:"afterAllFlows",label:a("After built-in flows")},{value:"beforeFlow",label:a("Before built-in flow")},{value:"afterFlow",label:a("After built-in flow")},{value:"beforeStep",label:a("Before built-in flow step")},{value:"afterStep",label:a("After built-in flow step")}],[a]),I=["beforeFlow","afterFlow","beforeStep","afterStep"].includes(x),L=["beforeStep","afterStep"].includes(x),Y=p?dD(p):void 0,D="flowKey"===Y,E="stepKey"===Y,R=e=>{let t=dI(l.on)?l.on:{eventName:e};l.on=t,t.eventName=e,delete t.phase,delete t.flowKey,delete t.stepKey,s()};return(0,m.jsxs)("div",{style:{marginBottom:32},children:[(0,m.jsx)(d$,{color:"#1890ff",children:a("Event")}),(0,m.jsxs)("div",{style:{paddingLeft:12},children:[(0,m.jsxs)("div",{style:{marginBottom:16},children:[(0,m.jsx)(dV,{children:a("Trigger event")}),(0,m.jsx)(_.Select,{placeholder:a("Select trigger event"),style:{width:"100%"},value:c,onChange:e=>{R(e)},options:d})]}),(0,m.jsxs)("div",{style:{marginBottom:16},children:[(0,m.jsx)(dV,{children:a("Execution timing")}),(0,m.jsx)(_.Select,{style:{width:"100%"},disabled:!c,value:x,onChange:e=>{let t=b();t&&(t.phase=e,dY(t),s())},options:j}),I&&(0,m.jsxs)("div",{style:{marginTop:12,display:"flex",flexDirection:"column",gap:12},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)(dV,{required:I,style:{marginBottom:6},children:a("Built-in flow")}),(0,m.jsx)(_.Select,{style:{width:"100%"},disabled:!c||0===P.length,placeholder:a("Select a built-in flow"),value:M,status:D?"error":void 0,options:P,onChange:e=>{let t=b();t&&(e?t.flowKey=e:delete t.flowKey,delete t.stepKey,s())}}),D&&(0,m.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:a("Please select a built-in flow")})]}),L&&(0,m.jsxs)("div",{children:[(0,m.jsx)(dV,{required:L,style:{marginBottom:6},children:a("Built-in flow step")}),(0,m.jsx)(_.Select,{style:{width:"100%"},disabled:!c||!M||0===T.length,placeholder:a("Select a built-in flow step"),value:w,status:E?"error":void 0,options:T,onChange:e=>{let t=b();t&&(e?t.stepKey=e:delete t.stepKey,s())}}),E&&(0,m.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:a("Please select a built-in flow step")})]}),0===P.length&&(0,m.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#8c8c8c"},children:a("No built-in flows for this event")})]})]}),c&&n.flowSettings.renderStepForm({key:c,uiSchema:g,initialValues:y,flowEngine:n,onFormValuesChange:e=>{let t=b();t&&(t.defaultParams=e.values)}})]})]})}),dK=(0,r.observer)(e=>{let{model:t}=e,l=(0,r.useFlowContext)(),o=t.flowEngine,[n,i]=h.default.useState(!1),a=t.translate.bind(t),s=()=>{t.flowRegistry.addFlow((0,H.uid)(),{title:a("Event flow"),steps:{}})},d=e=>{e.remove()},u=(e,t)=>{e.title=t},c=()=>[...t.getActions().values()].filter(e=>S.default.castArray(e.scene).includes(r.ActionScene.DYNAMIC_EVENT_FLOW)).sort((e,t)=>(e.sort??0)-(t.sort??0)),p=(e,t)=>{let l={use:t.name};e.addStep((0,H.uid)(),l)},f=e=>{e.remove()},g=(e,t)=>{e.defaultParams=t},v=e=>(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,m.jsx)("div",{style:{flex:1,marginRight:16},children:(0,m.jsx)(_.Input,{value:e.title,onChange:t=>u(e,t.target.value),onClick:e=>e.stopPropagation(),placeholder:a("Enter flow title")})}),(0,m.jsx)(_.Space,{onClick:e=>e.stopPropagation(),children:(0,m.jsx)(_.Tooltip,{title:"Delete",children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.DeleteOutlined,{}),onClick:()=>d(e)})})})]}),y=t.flowRegistry.mapFlows(e=>({key:e.key,label:v(e),styles:{header:{display:"flex",alignItems:"center"}},children:(0,m.jsxs)("div",{children:[(0,m.jsx)(dz,{flow:e,model:t,flowEngine:o}),(0,m.jsxs)("div",{children:[(0,m.jsx)(d$,{color:"#52c41a",children:a("Steps")}),(0,m.jsxs)("div",{style:{paddingLeft:12},children:[(0,m.jsx)("div",{style:{marginBottom:16},children:e.mapSteps(e=>{let l=t.getAction(e.use);return l?(0,m.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,m.jsxs)("span",{style:{fontWeight:600,color:"#262626"},children:[a(l.title),(0,m.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,m.jsx)(_.Tooltip,{title:a("Delete step"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.DeleteOutlined,{}),onClick:()=>f(e)})})]}),(0,m.jsx)("div",{children:h.default.createElement(r.FlowStepContext.Provider,{value:{params:(0,r.untracked)(()=>e.defaultParams),path:`${t.uid}_${e.flowKey}_${e.key}`}},o.flowSettings.renderStepForm({uiSchema:l.uiSchema,initialValues:(0,r.untracked)(()=>e.defaultParams),flowEngine:o,onFormValuesChange:t=>g(e,t.values)}))})]},e.key):null})}),(0,m.jsx)(_.Dropdown,{menu:{items:c().map(t=>({key:t.name,label:a(t.title)||t.name,onClick:()=>p(e,t)}))},trigger:["hover"],children:(0,m.jsx)(_.Button,{type:"link",icon:(0,m.jsx)(E.PlusOutlined,{}),style:{padding:0,height:"auto",textAlign:"left"},children:a("Add step")})})]})]})]})}));return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,m.jsxs)("div",{style:{flex:1,padding:"16px",overflow:"auto",minHeight:0},children:[y.length>0?(0,m.jsx)(_.Collapse,{items:y,size:"small",style:{marginBottom:8},defaultActiveKey:[y[0].key],accordion:!0}):(0,m.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,m.jsx)(_.Empty,{description:a("No event flows"),style:{margin:"20px 0"}})}),(0,m.jsx)(_.Button,{type:"dashed",icon:(0,m.jsx)(E.PlusOutlined,{}),onClick:s,style:{width:"100%"},children:a("Add event flow")})]}),(0,m.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",padding:"8px 16px",borderTop:"1px solid #f0f0f0",backgroundColor:"#fff",flexShrink:0},children:[(0,m.jsx)(_.Button,{onClick:()=>l.view.destroy(),children:a("Cancel")}),(0,m.jsx)(_.Button,{type:"primary",loading:n,onClick:async()=>{var e,o,n,s,d,u,c,p,m;i(!0);let h=t.flowRegistry.mapFlows(e=>{if(!dI(e.on))return;dY(e.on);let t=dD(e.on);if(t)return{type:t}}).filter(Boolean)[0];if(h){let e="flowKey"===h.type?a("Please select a built-in flow"):a("Please select a built-in flow step");null==(u=t.context)||null==(d=u.message)||null==(s=d.error)||s.call(d,e),i(!1);return}try{let e=[];for(let l of t.flowRegistry.mapFlows(e=>e))for(let o of l.mapSteps(e=>e)){let n=o.serialize(),i=o.use?t.getAction(o.use):void 0,a=n.beforeParamsSave||(null==i?void 0:i.beforeParamsSave),s=n.afterParamsSave||(null==i?void 0:i.afterParamsSave);if("function"!=typeof a&&"function"!=typeof s)continue;let d=new r.FlowRuntimeContext(t,l.key,"settings");(0,r.setupRuntimeContextSteps)(d,l.steps,t,l.key),d.defineProperty("currentStep",{value:n});let u={...o.defaultParams||{}},c={...o.defaultParams||{}};"function"==typeof a&&await a(d,u,c),"function"==typeof s&&e.push(async()=>{await s(d,u,c)}),o.defaultParams=u}for(let l of(await t.flowRegistry.save(),e))await l()}catch(e){null==(m=t.context)||null==(p=m.message)||null==(c=p.error)||c.call(p,"Steps post-save hooks failed to run"),console.error(e)}t.flowRegistry.mapFlows(e=>{if((0,r.isBeforeRenderFlow)(e))return e}).filter(Boolean).length>0&&t.rerender(),i(!1),null==(n=t.context)||null==(o=n.message)||null==(e=o.success)||e.call(o,a("Configuration saved")),l.view.destroy()},children:a("Save")})]})]})});var dU=l(6662);let dG=()=>{let e=(0,r.useFlowContext)().app,t=e.pm.get("@nocobase/plugin-block-markdown");return t.dependencyLoaded||(t.initVditorDependency(e),t.dependencyLoaded=!0),t.getCDN(e)};var dW=l(1196);let dJ="nb-markdown-vditor";function dX(){let{theme:e,token:t,hashId:l}=_.theme.useToken(),o=(0,dW.useStyleRegister)({theme:e,token:t,hashId:l,path:["flow-markdown",dJ]},()=>({[`.${dJ}`]:{".vditor-reset":{fontSize:`${t.fontSize}px !important`,color:"unset"},".vditor":{borderRadius:8},".vditor .vditor-content":{borderRadius:"0 0 8px 8px",overflow:"hidden"},".vditor .vditor-toolbar":{paddingLeft:" 16px !important",borderRadius:"8px 8px 0 0"},".vditor .vditor-content .vditor-ir .vditor-reset":{padding:"10px !important"},".vditor-ir pre.vditor-reset":{backgroundColor:`${t.colorBgContainer}!important`},".vditor-preview":{display:"none !important"},".vditor-preview__action":{display:"none"}}}));return{wrapSSR:(0,h.useMemo)(()=>o,[o,e,t,l]),hashId:l,componentCls:dJ}}function dQ(e){let t=new DOMParser().parseFromString(e,"text/html");t.querySelectorAll("img").forEach(e=>{let t=e.getAttribute("src");t&&e.replaceWith(document.createTextNode(` [Image: ${t}] `))});let l=t.body.textContent||t.body.innerText;return(null==l?void 0:l.replace(/\n|\r/g," "))||""}let dZ=e=>{if(e){let t=document.createRange();return t.selectNodeContents(e),t.getBoundingClientRect().width}};function d0(e){let t=(0,h.useRef)(null),{wrapSSR:l,componentCls:o,hashId:n}=dX(),i=dG();return(0,h.useEffect)(()=>{e.loadImages&&(__rspack_external_vditor.default.preview(t.current,e.value??"",{mode:"light",cdn:i}),setTimeout(()=>{var e,l;null==(e=t.current)||e.querySelectorAll("img").forEach(e=>{e.style.cursor="zoom-in",e.addEventListener("click",()=>{d1(e.src)})}),null==(l=t.current)||l.querySelectorAll("qr-code").forEach(e=>{let t=e.getAttribute("value")||"",l=document.createElement("div");e.replaceWith(l),(0,dU.createRoot)(l).render((0,m.jsx)(_.QRCode,{value:t}))})},300))},[e.value,e.loadImages,i]),l((0,m.jsx)("span",{className:`${n} ${o}`,children:(0,m.jsx)("span",{ref:t,style:{border:"none",...(null==e?void 0:e.style)??{}}})}))}function d1(e){if(document.getElementById("custom-image-preview"))return;let t=document.createElement("span");t.id="custom-image-preview",Object.assign(t.style,{position:"fixed",inset:"0",backgroundColor:"rgba(0,0,0,0.85)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:"9999",cursor:"zoom-out"});let l=document.createElement("img");l.src=e,Object.assign(l.style,{maxWidth:"90%",maxHeight:"90%",borderRadius:"8px",boxShadow:"0 0 20px rgba(0,0,0,0.5)",transition:"transform 0.2s",cursor:"zoom-out"}),t.addEventListener("click",()=>{document.body.removeChild(t)}),t.appendChild(l),document.body.appendChild(t)}let d2=e=>{let{value:t,textOnly:l=!0}=e,o=dG(),[n,i]=(0,h.useState)(!1),[r,a]=(0,h.useState)(!1),[s,d]=(0,h.useState)(!1),[u,c]=(0,h.useState)(""),p=(0,h.useRef)();(0,h.useEffect)(()=>{e.value&&l&&__rspack_external_vditor.default.md2html(e.value,{mode:"light",cdn:o}).then(e=>{c(dQ(e))}).catch(()=>c(""))},[e.value,l]);let f=(0,h.useCallback)(()=>{var e;return!!p.current&&dZ(p.current)>(null==(e=p.current)?void 0:e.offsetWidth)},[p]),g=e=>{i(e),e&&!s&&d(!0)};return e.ellipsis?(0,m.jsx)(_.Popover,{open:n,getPopupContainer:()=>{var e;return null==(e=document.getElementsByClassName("ant-drawer-content"))?void 0:e[0]},onOpenChange:e=>{g(r&&e)},overlayStyle:{maxWidth:600},content:(0,m.jsx)("div",{style:{maxHeight:400,overflow:"auto"},children:(0,m.jsx)(d0,{value:t,loadImages:s})}),children:(0,m.jsx)("div",{ref:p,style:{overflow:"hidden",overflowWrap:"break-word",textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"break-all"},onMouseEnter:e=>{let t=e.target;f()&&a(t.scrollWidth>=t.clientWidth)},children:l?u:(0,m.jsx)("div",{className:(0,e6.css)`
|
|
737
|
+
`,defaultValue:"dddd",formats:["MMMM Do YYYY","YYYY-MM-DD","MM/DD/YY","YYYY/MM/DD","DD/MM/YYYY"]},enum:[{label:(0,oJ.b2)({format:"MMMM Do YYYY"}),value:"MMMM Do YYYY"},{label:(0,oJ.b2)({format:"YYYY-MM-DD"}),value:"YYYY-MM-DD"},{label:(0,oJ.b2)({format:"MM/DD/YY"}),value:"MM/DD/YY"},{label:(0,oJ.b2)({format:"YYYY/MM/DD"}),value:"YYYY/MM/DD"},{label:(0,oJ.b2)({format:"DD/MM/YYYY"}),value:"DD/MM/YYYY"},{label:(0,r.tExpr)("Custom"),value:"custom"}],"x-reactions":[e=>{let{picker:t}=e.form.values;e.value=(0,d.getPickerFormat)(t),e.setComponentProps({picker:t})}]},showTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Show time")}}',"x-reactions":[{dependencies:["picker"],fulfill:{state:{hidden:"{{ $form.values.picker !== 'date' }}"}}},t=>{let{collectionField:l}=e.model.context,{picker:o}=t.form.values||{};t.hidden="dateOnly"===l.type||"date"!==o,"date"!==o&&(t.value=!1)}]},timeFormat:o}},defaultParams:e=>{let{showTime:t,dateFormat:l,timeFormat:o,picker:n}={...e.model.context.collectionField.getComponentProps(),...e.model.props};return{picker:n||"date",dateFormat:l||"YYYY-MM-DD",timeFormat:o||"HH:mm:ss",showTime:t}},handler(e,t){let{collectionField:l}=e.model.context;"time"===l.type?e.model.setProps({...t,format:null==t?void 0:t.timeFormat}):e.model.setProps({...t,format:(null==t?void 0:t.showTime)?`${t.dateFormat} ${t.timeFormat}`:t.dateFormat})}}),si=e=>e.filter(e=>{if(!e.interface)return!1;let t=e.getInterfaceOptions();return null!=t&&!!t.sortable}).map(e=>{var t;return{value:e.name,label:(null==e||null==(t=e.uiSchema)?void 0:t.title)||e.name}}),sr=(0,r.defineAction)({name:"sortingRule",title:(0,r.tExpr)("Default sorting"),uiSchema:e=>{var t;return{sort:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}},enum:si((null==(t=e.collectionField)?void 0:t.targetCollection)?e.collectionField.targetCollection.getFields():e.blockModel.collection.getFields())},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:(0,r.tExpr)("ASC"),value:"asc"},{label:(0,r.tExpr)("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:(0,r.tExpr)("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},defaultParams:e=>({sort:[]}),async handler(e,t){var l;let o=t.sort.map(e=>"desc"===e.direction?`-${e.field}`:e.field),n=null==(l=e.model)?void 0:l.resource;n&&(e.model.setProps({globalSort:o}),n.setSort(o))}}),sa=(0,r.defineAction)({name:"dataLoadingMode",title:(0,r.tExpr)("Data loading mode"),uiMode:{type:"select",key:"mode",props:{options:[{value:"auto",label:(0,r.tExpr)("Load all data when filter is empty")},{value:"manual",label:(0,r.tExpr)("Do not load data when filter is empty")}]}},defaultParams:{mode:"auto"},hideInSettings:e=>{let t=e.blockModel,l=null==t?void 0:t.resource;return!l||!(l instanceof r.MultiRecordResource)},handler(e,t){let l=e.blockModel;if(!l)return;let o=l.resource;o instanceof r.MultiRecordResource&&("manual"!==t.mode||l.hasActiveFilters()?"auto"===t.mode&&o.refresh():(o.setData([]),o.setMeta({count:0,hasNext:!1}),"function"==typeof o.setPage&&o.setPage(1),o.loading=!1))}}),ss=(0,r.defineAction)({title:(0,r.tExpr)("Render mode"),name:"renderMode",uiMode(e){let t=e.t;return{type:"select",key:"textOnly",props:{options:[{label:t("Text only"),value:!0},{label:t("Html"),value:!1}]}}},hideInSettings:async e=>{var t,l,o;let n=null==(l=(o=e.model).getStepParams)||null==(t=l.call(o,"displayFieldSettings","overflowMode"))?void 0:t.overflowMode;return void 0===n?e.model.parent instanceof nl:!0===n||"ellipsis"===n},defaultParams:{textOnly:!0},handler(e,t){e.model.setProps({textOnly:t.textOnly})}}),sd=(0,r.defineAction)({title:(0,r.tExpr)("Set block layout"),name:"layout",uiSchema:{layout:{type:"string",enum:[{label:(0,r.tExpr)("Vertical"),value:"vertical"},{label:(0,r.tExpr)("Horizontal"),value:"horizontal"}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},labelAlign:{title:(0,r.tExpr)("Label align"),type:"string","x-decorator":"FormItem","x-component":"Select",enum:[{label:"{{t('Right')}}",value:"right"},{label:"{{t('Left')}}",value:"left"}],"x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},labelWidth:{title:(0,r.tExpr)("Label width"),type:"string",required:!0,"x-decorator":"FormItem","x-component":"NumberPicker","x-component-props":{addonAfter:"px"},"x-validator":[{minimum:50}],"x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},labelWrap:{type:"string",title:(0,r.tExpr)("When the Label exceeds the width"),enum:[{label:(0,r.tExpr)("Line break"),value:!0},{label:(0,r.tExpr)("Ellipsis"),value:!1}],"x-decorator":"FormItem","x-component":"Radio.Group","x-reactions":[e=>{let{layout:t}=e.form.values;e.hidden="vertical"===t}]},colon:{type:"boolean","x-content":(0,r.tExpr)("Colon"),required:!0,"x-decorator":"FormItem","x-component":"Checkbox"}},defaultParams:e=>({layout:"vertical",labelAlign:"left",labelWidth:120,labelWrap:!0,colon:!0}),handler(e,t){e.model.setProps({...t,labelWidth:"vertical"===t.layout?null:t.labelWidth}),e.model.subModels.grid.findSubModel("items",e=>{e.setProps({...t,labelWidth:"vertical"===t.layout?"100%":t.labelWidth,labelWrap:"vertical"===t.layout||t.labelWrap})})}}),su=(0,r.defineAction)({title:(0,r.tExpr)("Required"),name:"required",uiMode:e=>{var t,l,o;let n=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(o=e.model.props.validation)?void 0:o.rules)||[];return{type:"switch",key:"required",props:{disabled:n.concat(i).some(e=>"required"===e.name)}}},uiSchema:async e=>{var t,l,o;let n=(null==(l=e.model.collectionField)||null==(t=l.validation)?void 0:t.rules)||[],i=(null==(o=e.model.props.validation)?void 0:o.rules)||[],a=n.concat(i).some(e=>"required"===e.name);return{required:{"x-component":"Switch","x-decorator":"FormItem","x-component-props":{checkedChildren:(0,r.tExpr)("Yes"),unCheckedChildren:(0,r.tExpr)("No")},"x-disabled":a}}},defaultParams:e=>({required:e.model.getProps().required}),handler(e,t){var l,o;let n=e.model.getProps().rules||[],i=((null==(o=e.model.collectionField)||null==(l=o.validation)?void 0:l.rules)||[]).some(e=>"required"===e.name);(n=n.filter(e=>!e.required),i)?e.model.setProps({rules:n,required:!0}):(t.required&&n.push({required:!0,message:e.t("The field value is required")}),e.model.setProps({rules:n,required:t.required}))}});function sc(e,t,l){let{collectionField:o}=e,n=t.getBindingsByField(e,o),i=t=>t.map(t=>{var l;let o=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=o.meta)?void 0:l.label)||t.modelName),value:t.modelName}});if(l){let r=t.getBindingsByField(e,o.targetCollection.getField(l));return[n.length&&{label:e.t("AssociationField component"),options:i(n)},{label:e.t("Title field component"),options:i(r)}].filter(Boolean)}return i(n)}let sp=(0,r.defineAction)({name:"displayFieldComponent",title:(0,r.tExpr)("Field component"),uiMode:e=>{let{titleField:t}=e.model.props;return{type:"select",key:"use",props:{options:sc(e,e.model.constructor,t)}}},hideInSettings:async e=>{let{titleField:t}=e.model.props;if(!e.collectionField||1===e.model.constructor.getBindingsByField(e,e.collectionField).length&&!t)return!0},beforeParamsSave:async(e,t,l)=>{if(!e.collectionField)return;let o=e.model.constructor.getBindingsByField(e,e.collectionField),{titleField:n}=e.model.props,i=[];n&&(i=e.model.constructor.getBindingsByField(e,e.collectionField.targetCollection.getField(n)));let r=o.concat(i).find(e=>e.modelName===t.use);t.use!==l.use&&await tg({parentModel:e.model,targetUse:t.use,defaultProps:"function"==typeof(null==r?void 0:r.defaultProps)?r.defaultProps(e,e.collectionField):null==r?void 0:r.defaultProps,pattern:e.model.getProps().pattern})},defaultParams:e=>{let t=e.model.constructor.getDefaultBindingByField(e,e.collectionField),l=e.model.subModels.field;return{use:tf(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){let l=tf(e.model.subModels.field);t.use!==l&&e.model.setStepParams(e.flowKey,"model",{use:t.use})}}),sm=(0,r.defineAction)({title:(0,r.tExpr)("Field component"),name:"fieldComponent",uiMode:e=>{if("readPretty"===e.model.getProps().pattern){var t,l;let{titleField:o}=e.model.props,n=e.model.constructor.getBindingsByField(e,e.collectionField);return n&&(1!==n.length||o)?{type:"select",key:"use",props:{options:sc(e,tx,o||(null==(l=e.model.subModels.field.props)||null==(t=l.fieldNames)?void 0:t.label))}}:null}{let t=e.model.constructor.getBindingsByField(e,e.collectionField);return t&&1!==t.length?{type:"select",key:"use",props:{options:t.map(t=>{var l;let o=e.engine.getModelClass(t.modelName);return{label:e.t((null==(l=o.meta)?void 0:l.label)||t.modelName),value:t.modelName}})}}:null}},hideInSettings(e){let{titleField:t}=e.model.props,l=e.model.constructor.getBindingsByField(e,e.collectionField);if("readPretty"===e.model.getProps().pattern){if(!l||1===l.length&&!t)return!0}else if(!l||1===l.length)return!0},beforeParamsSave:async(e,t,l)=>{let o=e.model.constructor.getBindingsByField(e,e.collectionField),n=[];if("readPretty"===e.model.getProps().pattern){let{titleField:t}=e.model.props;o=tx.getBindingsByField(e,e.collectionField),t&&(n=tx.getBindingsByField(e,e.collectionField.targetCollection.getField(t)))}let i=o.concat(n).find(e=>e.modelName===t.use);if(t.use!==l.use){let l="function"==typeof(null==i?void 0:i.defaultProps)?i.defaultProps(e,e.collectionField):null==i?void 0:i.defaultProps;await tg({parentModel:e.model,targetUse:t.use,defaultProps:l,pattern:e.model.getProps().pattern})}},defaultParams:e=>{let t="readPretty"===e.model.getProps().pattern?tx.getDefaultBindingByField(e,e.collectionField):e.model.constructor.getDefaultBindingByField(e,e.collectionField),l=e.model.subModels.field;return{use:tf(l)??(null==l?void 0:l.use)??t.modelName}},async handler(e,t){}}),sh=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},sf=(0,r.defineAction)({name:"aclCheck",async handler(e,t){var l,o,n,i,r;let a=await e.aclCheck({dataSourceKey:null==(l=e.dataSource)?void 0:l.key,resourceName:(null==(o=e.collectionField)?void 0:o.collectionName)||e.resourceName,actionName:e.actionName,fields:(null==e?void 0:e.collectionField)&&[e.collectionField.name],allowedActions:e.collectionField?null:null==(n=e.resource)?void 0:n.getMeta("allowedActions"),recordPkValue:sh((null==e?void 0:e.record)&&(null==(r=e.collection)||null==(i=r.getFilterByTK)?void 0:i.call(r,null==e?void 0:e.record)))});e.actionName&&(a||(e.model.hidden=!0,e.model.forbidden={actionName:e.actionName},e.exitAll()))}}),sg=e=>{if(e)return"object"==typeof e?Object.values(e)[0]:e},sv=e=>{let t=null==e?void 0:e.model;t&&(t.forbidden&&(t.forbidden=null,"function"==typeof t.setHidden?t.setHidden(!1):t.hidden=!1),"function"==typeof t.setProps&&t.setProps({aclDisabled:void 0,aclCreateDisabled:void 0}))},sy=async e=>{var t,l,o,n,i,r,a,s,d;let u=await e.aclCheck({dataSourceKey:null==(t=e.dataSource)?void 0:t.key,resourceName:(null==(l=e.collectionField)?void 0:l.collectionName)||e.resourceName,actionName:e.actionName,fields:(null==e?void 0:e.collectionField)&&[e.collectionField.name],allowedActions:null==(n=e.resource)||null==(o=n.getMeta)?void 0:o.call(n,"allowedActions"),recordPkValue:sg((null==e?void 0:e.record)&&(null==(r=e.collection)||null==(i=r.getFilterByTK)?void 0:i.call(r,null==e?void 0:e.record)))});e.actionName&&(u||(null==(a=(s=e.model).setHidden)||a.call(s,!0),e.model.forbidden={actionName:e.actionName},null==(d=e.exitAll)||d.call(e)))},s_=async e=>{var t,l,o,n,i,r,a,s,d,u,c,p,m,h,f,g,v,y,_,b,x;if(!e.collectionField)return;let M=null==(l=e.blockModel)||null==(t=l.context)?void 0:t.actionName;if(!M)return;let w=await e.aclCheck({dataSourceKey:null==(o=e.dataSource)?void 0:o.key,resourceName:null==(n=e.collectionField)?void 0:n.collectionName,fields:[null==(i=e.collectionField)?void 0:i.name],actionName:M});if("update"===M){let t=await e.aclCheck({dataSourceKey:null==(r=e.dataSource)?void 0:r.key,resourceName:null==(a=e.collectionField)?void 0:a.collectionName,fields:[e.collectionField.name],actionName:"view"});e.prefixFieldPath&&e.item&&(await e.aclCheck({dataSourceKey:null==(d=e.dataSource)?void 0:d.key,resourceName:null==(u=e.collectionField)?void 0:u.collectionName,fields:[e.collectionField.name],actionName:"create"})||e.model.setProps({aclCreateDisabled:!0})),t||(null==(s=e.item)?void 0:s.__is_new__)||(null==(c=(p=e.model).setHidden)||c.call(p,!0),e.model.forbidden={actionName:"view"},null==(m=e.exitAll)||m.call(e)),w||e.model.setProps({aclDisabled:!0})}else if("create"===M){let t=await e.aclCheck({dataSourceKey:null==(h=e.dataSource)?void 0:h.key,resourceName:null==(f=e.collectionField)?void 0:f.collectionName,actionName:"update"}),l=await e.aclCheck({dataSourceKey:null==(g=e.dataSource)?void 0:g.key,resourceName:null==(v=e.collectionField)?void 0:v.collectionName,fields:[e.collectionField.name],actionName:"update"});w||(null==(y=e.item)?void 0:y.__is_stored__)||(null==(_=(b=e.model).setHidden)||_.call(b,!0),e.model.forbidden={actionName:M},null==(x=e.exitAll)||x.call(e)),t&&l||e.model.setProps({aclDisabled:!0})}},sb=(0,r.defineAction)({name:"aclCheckRefresh",async handler(e,t){let l=(null==t?void 0:t.strategy)||"default";(sv(e),"formItem"===l)?await s_(e):await sy(e)}}),sx=(0,r.defineAction)({name:"pattern",title:(0,r.tExpr)("Display mode"),uiMode(e){let t=e.t;return{type:"select",key:"pattern",props:{options:[{value:"editable",label:t("Editable")},{value:"disabled",label:t("Disabled")},{value:"readPretty",label:t("Display only")}]}}},hideInSettings:e=>!e.model.collectionField||!1===e.model.collectionField.inputable,defaultParams:e=>({pattern:!1===e.model.collectionField.inputable||e.model.context.parentDisabled||e.model.props.disabled||e.model.collectionField.readonly?"disabled":"editable"}),afterParamsSave:async(e,t,l)=>{var o,n;let i=e.collectionField.targetCollection,r=null==i?void 0:i.getField((null==(n=e.model.subModels.field.props)||null==(o=n.fieldNames)?void 0:o.label)||e.model.props.titleField),{model:a}=e,s=function(t){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.collectionField;if(t)return"function"==typeof t.defaultProps?t.defaultProps(e,l):t.defaultProps};if("readPretty"===t.pattern){let t=tx.getDefaultBindingByField(e,e.collectionField,{fallbackToTargetTitleField:!0,targetCollectionTitleField:r});await tg({parentModel:a,targetUse:t.modelName,defaultProps:s(t,r||e.collectionField)}),t.modelName&&e.model.setStepParams("editItemSettings","model",{use:t.modelName})}else{let t=e.model.constructor.getDefaultBindingByField(e,e.collectionField);"readPretty"===l.pattern&&await tg({parentModel:a,targetUse:t.modelName,defaultProps:s(t)})}},async beforeParamsSave(e,t,l){if("readPretty"===t.pattern){var o,n,i,r,a;e.model.setProps({pattern:"readPretty",disabled:!1,titleField:(null==(i=e.model.subModels)||null==(n=i.field)||null==(o=n.props.fieldNames)?void 0:o.label)||e.model.props.titleField}),e.collectionField.isAssociationField()&&await e.model.setStepParams("editItemSettings","titleField",{titleField:(null==(a=e.model.subModels.field.props)||null==(r=a.fieldNames)?void 0:r.label)||e.model.props.titleField})}else e.model.setProps({disabled:"disabled"===t.pattern,pattern:"editable"})},handler(e,t){"readPretty"===t.pattern?e.model.setProps({pattern:"readPretty"}):e.model.setProps({disabled:"disabled"===t.pattern,pattern:null})}}),sM=(0,r.defineAction)({title:(0,r.tExpr)("Validation"),name:"validation",uiSchema:e=>{if(!e.model.collectionField)return;let t=e.model.collectionField.getInterfaceOptions();return t.validationType?{validation:{"x-decorator":"FormItem","x-component":a.g7,"x-component-props":{type:t.validationType,availableValidationOptions:[...new Set(t.availableValidationOptions)],excludeValidationOptions:[...new Set(t.excludeValidationOptions)],isAssociation:t.isAssociation}}}:null},handler(e,t){if(t.validation){let l=[],o=(0,r.jioToJoiSchema)(t.validation),n=e.model.props.label;l.push({validator:(t,l)=>{let{error:i}=o.validate(l,{abortEarly:!1});if(i){let t=i.details.map(t=>e.t(`${t.type}`,{...t.context,ns:"data-source-main",label:n})),l=document.createElement("div");return l.innerHTML=t.join("; "),Promise.reject(l.textContent)}return Promise.resolve()}});let i=t.validation.rules.some(e=>"required"===e.name);i&&e.model.setProps({required:i}),console.log(l),e.model.setProps({rules:l,validation:t.validation})}}}),sw=(0,r.defineAction)({title:(0,r.tExpr)("Fixed"),name:"fixed",uiMode:e=>{let t=e.t;return{type:"select",key:"fixed",props:{options:[{label:t("Not fixed"),value:"none"},{label:t("Left fixed"),value:"left"},{label:t("Right fixed"),value:"right"}]}}},defaultParams:{fixed:"none"},handler(e,t){e.model.setProps("fixed",t.fixed)}});var sS=l(1793);let sk=e=>{let{t,fieldOptions:l,rootCollection:o,value:n,onChange:i,defaultMode:a="assign",fixedMode:s,showCondition:d=!0,showEnable:u=!0,showValueEditorWhenNoField:c=!1,getValueInputProps:p,isTitleFieldCandidate:f,onSyncAssociationTitleField:g,enableDateVariableAsConstant:v=!1}=e,y=Array.isArray(n)?n:[],[b,x]=h.default.useState(()=>Array.isArray(l)?l:[]);h.default.useEffect(()=>{x(Array.isArray(l)?l:[])},[l]);let M=h.default.useCallback((e,t)=>(null==e?void 0:e.key)||String(t),[]),[w,S]=h.default.useState({}),[k,F]=h.default.useState({}),[C,A]=h.default.useState(null);h.default.useEffect(()=>{let e=new Set(y.map((e,t)=>M(e,t)));S(t=>{let l={},o=!1;for(let[n,i]of Object.entries(t))e.has(n)?l[n]=i:o=!0;return o?l:t}),F(t=>{let l={},o=!1;for(let[n,i]of Object.entries(t))e.has(n)?l[n]=!!i:o=!0;return o?l:t}),C&&!e.has(C)&&A(null)},[M,C,y]);let P=h.default.useCallback((e,l,o)=>{if(!(null==e?void 0:e.getFields)||o.has(e))return[];let n=new Set(o);n.add(e);let i=("function"==typeof e.getFields?e.getFields():[])||[],r=[];for(let e of i){var a;if(!e)continue;let o=e,i="string"==typeof o.interface?o.interface:void 0;if(!i||"formula"===i)continue;let s=String(o.name||"");if(!s)continue;let d=t("string"==typeof o.title?o.title:s),u={name:s,title:d,type:String(o.type||"string"),interface:i,paths:[...l,s]},c=!!(null==(a=o.isAssociationField)?void 0:a.call(o)),p=(0,tv.E4)(o);c&&!p&&o.targetCollection&&(u.children=async()=>P(o.targetCollection,[...l,s],n)),r.push(u)}return r},[t]),T=h.default.useCallback(e=>{if(!(null==o?void 0:o.getField))return;let l=B(e);if(!l.length)return;let n=[],i=o;for(let e=0;e<l.length;e++){var r,a;let o=l[e],s=null==i||null==(r=i.getField)?void 0:r.call(i,o);if(!(null==s||null==(a=s.isAssociationField)?void 0:a.call(s)))break;let d=(0,tv.E4)(s),u=null==s?void 0:s.targetCollection;if(!u)break;let c=t("string"==typeof s.title?s.title:o);n.push({collection:u,toMany:d,viaLabel:c}),i=u}if(n.length<=0)return;let s=(e,l,o,i)=>{let r=n[e]||n[0],a=[];r.toMany&&(a.push({title:t("Index (starts from 0)"),name:"index",type:"number",paths:[...l,"index"]}),a.push({title:t("Total count"),name:"length",type:"number",paths:[...l,"length"]})),a.push({title:t("Attributes"),name:"value",type:"object",paths:[...l,"value"],children:async()=>P(r.collection,[...l,"value"],new Set)}),e-1>=0&&a.push(s(e-1,[...l,"parentItem"],"parentItem","Parent item"));let d=null==r?void 0:r.viaLabel;return{title:d?`${t(i)}(${d})`:t(i),name:o,type:"object",paths:l,children:a}};return[s(n.length-1,["item"],"item","Current item")]},[P,o,t]),j=(e,t)=>{let l=y.map((l,o)=>o===e?{...l,...t}:l);null==i||i(l)},I=e=>{let t=M(y[e],e);S(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),F(e=>{if(!(t in e))return e;let l={...e};return delete l[t],l}),C===t&&A(null);let l=y.filter((t,l)=>l!==e);null==i||i(l)},L=(e,t)=>{let l=[...y],o="up"===t?e-1:e+1;if(o<0||o>=l.length)return;let[n]=l.splice(e,1);l.splice(o,0,n),null==i||i(l)},D=()=>{let e=[...y,{key:(0,H.uid)(),enable:!0,mode:s||a,condition:{logic:"$and",items:[]},targetPath:void 0,value:void 0}];null==i||i(e)},R=e=>s||((null==e?void 0:e.mode)==="default"?"default":"assign"),N=h.default.useCallback(e=>{let l="default"===e?t("Default value"):t("Fixed value"),o="default"===e?t("A pre-filled value. Editable, for new entries only, and won’t affect existing data (including empty values)."):t("A system-set value. Read-only."),n=e=>{e.preventDefault(),e.stopPropagation()};return(0,m.jsxs)(_.Space,{size:4,children:[(0,m.jsx)("span",{children:l}),(0,m.jsx)(_.Tooltip,{title:o,children:(0,m.jsx)(E.QuestionCircleOutlined,{style:{cursor:"help",opacity:.65,fontSize:12},onMouseDown:n,onClick:n})})]})},[t]),B=h.default.useCallback(e=>{let t=String(e||"");return t?t.split(".").map(e=>e.trim()).filter(Boolean):[]},[]),O=e=>{let l=B(e);if(!l.length)return;if(!(null==o?void 0:o.getField))return l.join(" / ");let n=[],i=o;for(let e=0;e<l.length;e++){var r,a;let o=l[e],s=null==i||null==(r=i.getField)?void 0:r.call(i,o);if(!s){n.push(o);continue}n.push(t("string"==typeof s.title?s.title:o)),(null==s||null==(a=s.isAssociationField)?void 0:a.call(s))&&(null==s?void 0:s.targetCollection)&&(i=s.targetCollection)}return n.filter(Boolean).join(" / ")},q=h.default.useCallback(e=>{let l=B(e);if(!l.length||!(null==o?void 0:o.getField))return null;let n=o,i=null;for(let e=0;e<l.length;e++){var r,a,s,d,u,c,p;let o=String(l[e]);if(!(i=(null==n||null==(r=n.getField)?void 0:r.call(n,o))||null))break;if(e===l.length-1){if(!(null==i||null==(s=i.isAssociationField)?void 0:s.call(i))||!(null==i?void 0:i.targetCollection))return null;let e=i.targetCollection,l=("function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[]).filter(t=>{if(!t)return!1;if("function"==typeof f)return!!f(t,e);let l="string"==typeof t.interface?t.interface:void 0;return!!l&&"formula"!==l}).map(e=>{let l=String((null==e?void 0:e.name)||"");return l?{value:l,label:t("string"==typeof(null==e?void 0:e.title)?e.title:l)}:null}).filter(Boolean),o="string"==typeof(null==e?void 0:e.titleField)&&e.titleField?e.titleField:void 0,n="string"==typeof(null==e||null==(d=e.options)?void 0:d.titleField)&&(null==(u=e.options)?void 0:u.titleField)?null==(c=e.options)?void 0:c.titleField:void 0,r="string"==typeof(null==i?void 0:i.targetCollectionTitleFieldName)&&i.targetCollectionTitleFieldName?i.targetCollectionTitleFieldName:void 0,a=o||n||r;if(a&&!l.some(e=>e.value===a)){let o="function"==typeof(null==e?void 0:e.getField)&&(null==(p=e.getField(a))?void 0:p.title)||a;l.unshift({value:a,label:t("string"==typeof o?o:a)})}let m="string"==typeof(null==i?void 0:i.targetKey)&&i.targetKey||(null==e?void 0:e.filterTargetKey)||(null==e?void 0:e.filterByTk)||"id";return{associationField:i,targetCollection:e,currentTitleField:a,valueKey:m,candidates:l}}if(!(null==i||null==(a=i.isAssociationField)?void 0:a.call(i))||!(null==i?void 0:i.targetCollection))break;n=i.targetCollection}return null},[f,B,o,t]),$=h.default.useCallback(e=>{if(!(null==o?void 0:o.getField))return null;let t=o;for(let o of e){var l,n;let e=null==t||null==(l=t.getField)?void 0:l.call(t,o);if(!(null==e||null==(n=e.isAssociationField)?void 0:n.call(e))||!(null==e?void 0:e.targetCollection))return null;t=e.targetCollection}return t||null},[o]),V=h.default.useCallback(e=>{let l="function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[],o=[];for(let e of l){var n;if(!e)continue;let l=e,i="string"==typeof l.interface?l.interface:void 0;if(!i||"formula"===i)continue;let r=String(l.name||"");if(!r)continue;let a=t("string"==typeof l.title?l.title:r),s=!!(null==(n=l.isAssociationField)?void 0:n.call(l)),d=!!l.targetCollection;o.push({label:a,value:r,isLeaf:!(s&&d)})}return o},[t]),z=h.default.useCallback(async e=>{let t=e||[],l=t[t.length-1];if(!l||l.children&&Array.isArray(l.children)&&l.children.length||l.isLeaf)return;let o=$(t.map(e=>String(null==e?void 0:e.value)).filter(Boolean));if(!o){l.isLeaf=!0,x(e=>[...e]);return}let n=V(o);n.length?l.children=n:l.isLeaf=!0,x(e=>[...e])},[V,$]),K=h.default.useCallback(async e=>{if(!e.length)return;let t=b,l=[];for(let n=0;n<e.length-1;n++){var o;let i=String(e[n]),r=t.find(e=>String(null==e?void 0:e.value)===i);if(!r)return;if(l.push(r),null==(o=r.children)?void 0:o.length){t=r.children;continue}if(r.isLeaf)return;await z(l),t=r.children||[]}},[b,z]),U=h.default.useMemo(()=>{let e=[],t=new Set;for(let l of y){let o=(null==l?void 0:l.targetPath)?String(l.targetPath):"";o&&(t.has(o)||(t.add(o),e.push(o)))}return e},[y]);h.default.useEffect(()=>{let e=!1;return(async()=>{for(let t of U){if(e)return;let l=B(t);l.length&&await K(l)}})(),()=>{e=!0}},[B,K,U]);let G=(e,l)=>{let o="default"===R(e)?t("Default value"):t("Fixed value"),n=O(e.targetPath),i=n?String(n):t("Please select field");return(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,m.jsxs)("div",{style:{flex:1,marginRight:16,minWidth:0,display:"flex",alignItems:"center",gap:8},children:[(0,m.jsx)("div",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},title:i,children:i}),(0,m.jsx)("div",{style:{opacity:.65,fontSize:12,whiteSpace:"nowrap"},children:o})]}),(0,m.jsxs)(_.Space,{onClick:e=>e.stopPropagation(),children:[(0,m.jsx)(_.Tooltip,{title:t("Delete"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.DeleteOutlined,{}),onClick:()=>I(l),"aria-label":t("Delete")})}),(0,m.jsx)(_.Tooltip,{title:t("Move up"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.ArrowUpOutlined,{}),onClick:()=>L(l,"up"),disabled:0===l,"aria-label":t("Move up")})}),(0,m.jsx)(_.Tooltip,{title:t("Move down"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.ArrowDownOutlined,{}),onClick:()=>L(l,"down"),disabled:l===y.length-1,"aria-label":t("Move down")})}),u&&(0,m.jsx)(_.Switch,{size:"small",checked:!1!==e.enable,onChange:e=>j(l,{enable:e}),checkedChildren:t("Enable"),unCheckedChildren:t("Disable")})]})]})},W=y.map((e,l)=>{var o;let n=R(e),i=T(e.targetPath),a=M(e,l),u=q(e.targetPath),h=w[a],f="string"==typeof h&&h||"string"==typeof(null==e?void 0:e.valueTitleField)&&e.valueTitleField||(null==u?void 0:u.currentTitleField)||void 0,y=!f||!u||!!u.candidates.some(e=>e.value===f),x=y?f:(null==u?void 0:u.currentTitleField)||void 0,P=!!u,I=!!(null==u||null==(o=u.candidates)?void 0:o.length),L=C===a,D=!!g&&P&&I&&y&&!!x&&x!==(null==u?void 0:u.currentTitleField)&&!L,O=!(0,r.isVariableExpression)(null==e?void 0:e.value)&&!(0,r.isRunJSValue)(null==e?void 0:e.value)&&(null==e?void 0:e.value)!==null,H=P&&O,$=H&&!!k[a],V=P?(0,m.jsxs)(_.Space.Compact,{size:"small",onClick:e=>e.stopPropagation(),children:[(0,m.jsx)(_.Select,{size:"small",style:{minWidth:160},value:x,placeholder:I?t("Please select field"):t("No available title fields"),options:(null==u?void 0:u.candidates)||[],disabled:!I||L,allowClear:!1,onChange:e=>{let t=String(e||""),o=t&&t!==(null==u?void 0:u.currentTitleField)?t:void 0;S(e=>{let t=Object.prototype.hasOwnProperty.call(e,a);if(!o){if(!t)return e;let l={...e};return delete l[a],l}return e[a]===o?e:{...e,[a]:o}}),j(l,{valueTitleField:o})}}),(0,m.jsx)(_.Tooltip,{title:D?t("Sync selected title field to collection"):t("Please choose a different title field before syncing"),children:(0,m.jsx)(_.Popconfirm,{title:t("Sync title field"),description:t("This will update the collection title field globally. Continue?"),okText:t("OK"),cancelText:t("Cancel"),disabled:!D,onConfirm:async()=>{if(u&&x&&"function"==typeof g&&u.candidates.some(e=>e.value===x)){A(a);try{await g({ruleItem:e,ruleIndex:l,targetPath:e.targetPath,associationField:u.associationField,targetCollection:u.targetCollection,titleField:x}),S(e=>{if(!(a in e))return e;let t={...e};return delete t[a],t}),j(l,{valueTitleField:void 0})}catch(e){console.warn("[FieldAssignRulesEditor] Failed to sync title field",e)}finally{A(e=>e===a?null:e)}}},children:(0,m.jsx)(_.Button,{size:"small",icon:(0,m.jsx)(E.SyncOutlined,{spin:L}),disabled:!D,"aria-label":t("Sync title field")})})})]}):null;return{key:e.key||String(l),label:G(e,l),styles:{header:{display:"flex",alignItems:"center"}},children:(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Field")}),(0,m.jsx)(_.Cascader,{value:B(e.targetPath),placeholder:t("Please select field"),style:{width:"100%"},options:b,loadData:z,changeOnSelect:!0,showSearch:{filter:(e,t)=>{let l=String(e||"").toLowerCase();return!l||(t||[]).some(e=>String((null==e?void 0:e.label)??"").toLowerCase().includes(l))}},allowClear:!0,onChange:t=>{let o=Array.isArray(t)?t.map(e=>String(e)).filter(Boolean):[],n=o.length?o.join("."):void 0,i=n!==e.targetPath;i&&(S(e=>{if(!(a in e))return e;let t={...e};return delete t[a],t}),F(e=>{if(!(a in e))return e;let t={...e};return delete t[a],t})),j(l,{targetPath:n,valueTitleField:i?void 0:e.valueTitleField,value:i?void 0:e.value})}})]}),(c||!!e.targetPath)&&(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Value")}),(0,m.jsx)(sS.zv,{targetPath:e.targetPath||"",value:e.value,onChange:e=>j(l,{value:e}),extraMetaTree:i,...(null==p?void 0:p(e,l))||{},enableDateVariableAsConstant:v,associationFieldNamesOverride:u&&x?{label:x,value:u.valueKey}:void 0},`${e.targetPath||"no-field"}::${x||""}`),H&&(0,m.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:6},children:(0,m.jsx)(_.Popover,{trigger:"click",open:$,onOpenChange:e=>{F(t=>({...t,[a]:e}))},placement:"bottomRight",title:t("Advanced"),content:(0,m.jsx)("div",{style:{minWidth:280},children:(0,m.jsxs)(_.Space,{size:8,align:"center",wrap:!0,children:[(0,m.jsx)("span",{style:{fontSize:12,opacity:.75},children:t("Title field")}),V]})}),children:(0,m.jsx)(_.Button,{type:"link",size:"small",style:{paddingInline:0,height:"auto"},icon:$?(0,m.jsx)(E.UpOutlined,{}):(0,m.jsx)(E.DownOutlined,{}),children:t("Advanced")})})})]}),!s&&(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Assignment mode")}),(0,m.jsx)(_.Radio.Group,{value:n,style:{width:"100%"},onChange:e=>j(l,{mode:e.target.value}),children:(0,m.jsxs)(_.Space,{size:16,children:[(0,m.jsx)(_.Radio,{value:"default",children:N("default")}),(0,m.jsx)(_.Radio,{value:"assign",children:N("assign")})]})})]}),d&&(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:4,fontSize:14},children:t("Condition")}),(0,m.jsx)(Y.H,{value:e.condition||{logic:"$and",items:[]},onChange:e=>j(l,{condition:e}),extraMetaTree:i})]})]})}}),J=h.default.useMemo(()=>{if(!y.length)return[];let e=-1;for(let l=y.length-1;l>=0;l--){var t;if((null==(t=y[l])?void 0:t.enable)!==!1){e=l;break}}let l=e>=0?e:0,o=y[l],n=(null==o?void 0:o.key)||String(l);return n?[n]:[]},[y]);return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[y.length?(0,m.jsx)(_.Collapse,{items:W,size:"small",style:{marginBottom:8},defaultActiveKey:J,accordion:!0}):(0,m.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:6,backgroundColor:"#fafafa",marginBottom:8},children:(0,m.jsx)(_.Empty,{description:t("No data"),style:{margin:"20px 0"}})}),(0,m.jsx)(_.Button,{type:"dashed",icon:(0,m.jsx)(E.PlusOutlined,{}),onClick:D,style:{width:"100%"},children:t("Add")})]})};function sF(e){return(0,tv.Gj)(e)}function sC(e,t){var l,o,n,i,r;let a=e=>{if(null==e)return null;if(Array.isArray(e)){let t=e.map(e=>String(e??"")).filter(Boolean);return t.length?t[t.length-1]:null}return String(e)},s=a(null==e||null==(l=e.props)?void 0:l.label);if(s)return t(s);let d=null==e||null==(i=e.subModels)||null==(n=i.field)||null==(o=n.context)?void 0:o.collectionField,u=a(null==d?void 0:d.title);if(u)return t(u);let c=a(null==e||null==(r=e.props)?void 0:r.name)||a(null==e?void 0:e.fieldPath);return c?c.includes(".")?c.split(".").filter(Boolean).slice(-1)[0]||c:t(c):""}function sA(e){let t=String(e||"").split(".").map(e=>e.trim()).filter(Boolean);return t.length?t[t.length-1]:""}function sP(e){var t;if(!e||"object"!=typeof e)return null;let l=(null==e?void 0:e.collection)||(null==e||null==(t=e.context)?void 0:t.collection);return l&&"object"==typeof l?l:null}function sT(e,t){let l="function"==typeof(null==e?void 0:e.getFields)&&e.getFields()||[],o=[];for(let e of l){var n;if(!e)continue;let l=e,i="string"==typeof l.interface?l.interface:void 0;if(!i||"formula"===i)continue;let r=String(l.name||"");if(!r)continue;let a=t("string"==typeof l.title?l.title:r),s=!!(null==(n=l.isAssociationField)?void 0:n.call(l)),d=!!l.targetCollection;o.push({label:a,value:r,isLeaf:!(s&&d)})}return o}function sj(e,t){let l=Array.isArray(e)?e:[],o=Array.isArray(t)?t:[],n=new Set;for(let e of l){let t=(null==e?void 0:e.value)?String(e.value):"";t&&n.add(t)}return[...l,...o.filter(e=>{let t=(null==e?void 0:e.value)?String(e.value):"";return!!t&&!n.has(t)})]}function sI(e){var t,l,o;let{formBlockModel:n,t:i,maxFormItemDepth:r=1/0}=e,a=(null==n||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[],s=sP(n),d=(e,t)=>{if(!Array.isArray(e)||t>r)return[];let l=[];for(let r of e){var o,n,a,s,u,c;if(!r)continue;let e=sC(r,i),p=sF(r);if(!p)continue;let m=sA(p);if(!m)continue;let h={label:e,value:m},f=null==r||null==(o=r.subModels)?void 0:o.field,g=null==f||null==(s=f.subModels)||null==(a=s.grid)||null==(n=a.subModels)?void 0:n.items,v=null==f||null==(u=f.context)?void 0:u.collectionField,y=!!(null==v||null==(c=v.isAssociationField)?void 0:c.call(v)),_=!!(null==v?void 0:v.targetCollection);if(Array.isArray(g)){if(y&&_)h.isLeaf=!1;else{let e=g.length?d(g,t+1):[];e.length?(h.children=e,h.isLeaf=!1):h.isLeaf=!0}l.push(h);continue}y&&_?h.isLeaf=!1:h.isLeaf=!0,l.push(h)}return l};return sj(d(a,1),sT(s,i))}function sL(e,t){var l;let o="string"==typeof(null==t?void 0:t.interface)?t.interface:void 0;return!!e&&!!o&&!!(null==(l=e.collectionFieldInterfaceManager.getFieldInterface(o))?void 0:l.titleUsable)}function sY(e){let t=(null==e?void 0:e.dataSourceKey)??(null==e?void 0:e.dataSource);return"string"==typeof t&&t?t:a.Ze}function sD(e){let t=null==e?void 0:e.name;if("string"==typeof t&&t)return t;throw Error("Target collection name is required for syncing title field.")}function sE(e){return e&&e!==a.Ze?`dataSources/${e}/collections:update`:"collections:update"}async function sR(e){var t,l;let{api:o,dataSourceManager:n,targetCollection:i,titleField:r}=e;if("function"!=typeof(null==o?void 0:o.request))throw Error("API client is unavailable.");if("string"!=typeof r||!r)throw Error("Title field is required.");let a=sD(i),s=sY(i);await o.request({url:sE(s),method:"post",params:{filterByTk:a},data:{titleField:r}}),null==i||null==(t=i.setOption)||t.call(i,"titleField",r);let d=null==n||null==(l=n.getDataSource)?void 0:l.call(n,s);return d&&"function"==typeof d.reload&&await d.reload(),{dataSourceKey:s,collectionName:a,titleField:r}}function sN(e){let{api:t,dataSourceManager:l}=(0,r.useFlowContext)();return{isTitleFieldCandidate:h.default.useCallback(e=>sL(l,e),[l]),onSyncAssociationTitleField:h.default.useCallback(async o=>{let{targetCollection:n,titleField:i}=o;try{await sR({api:t,dataSourceManager:l,targetCollection:n,titleField:i}),_.message.success(e("Saved successfully"))}catch(l){let t=(null==l?void 0:l.message)?String(l.message):e("Save failed");throw _.message.error(t),l}},[t,l,e])}}var sB=l(3127);let sO=(0,r.observer)(e=>{let t=(0,r.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:o,onSyncAssociationTitleField:n}=sN(l),i="function"==typeof e.onChange,a=h.default.useMemo(()=>sI({formBlockModel:t.model,t:l}),[t.model]),s=h.default.useMemo(()=>(0,sB.K7)(t.model),[t.model]),d=h.default.useRef(!1),[u,c]=h.default.useState(!1),p=h.default.useCallback(()=>{d.current||(d.current=!0,c(!0))},[]),f=h.default.useMemo(()=>Array.isArray(e.value)?e.value:[],[e.value]),g=h.default.useMemo(()=>i&&u?f:(0,sB.S2)(e.value,s),[i,u,s,f,e.value]),v=h.default.useCallback(t=>{var l;i&&(p(),null==(l=e.onChange)||l.call(e,t))},[i,p,e.onChange]);return h.default.useEffect(()=>{if(d.current||!i)return;let t=(0,sB.S2)(e.value,s);if(!(0,S.isEqual)(e.value||[],t||[])){var l;null==(l=e.onChange)||l.call(e,t)}p()},[i,s,p,e.onChange,e.value]),(0,m.jsx)(sk,{t:l,fieldOptions:a,rootCollection:(0,tv.w7)(t.model),value:g,onChange:v,showValueEditorWhenNoField:!0,isTitleFieldCandidate:o,onSyncAssociationTitleField:n,enableDateVariableAsConstant:!0})}),sH=(0,r.defineAction)({name:"formAssignRules",title:(0,r.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":sO}}),defaultParams:{value:[]},handler(){}}),sq=(0,r.observer)(e=>{let t=(0,r.useFlowContext)(),l=t.model.translate.bind(t.model),{isTitleFieldCandidate:o,onSyncAssociationTitleField:n}=sN(l),i="function"==typeof e.onChange,s=h.default.useMemo(()=>sI({formBlockModel:t.model,t:l}),[t.model]),d=h.default.useMemo(()=>oo(t.model),[t.model]),u=h.default.useCallback(e=>{var l,o,n,i;let r=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!r)return{};let s=(0,tv.eo)(t.model,r);return s?{operator:R(s),operatorMetaList:(null==s||null==(o=s.collectionField)||null==(l=o.filterable)?void 0:l.operators)||((null==s||null==(i=s.context)||null==(n=i.filterField)?void 0:n.type)?null===a.II||void 0===a.II?void 0:a.II[s.context.filterField.type]:[])||[],preferFormItemFieldModel:!0}:{}},[t.model]),c=h.default.useRef(!1),[p,f]=h.default.useState(!1),g=h.default.useCallback(()=>{c.current||(c.current=!0,f(!0))},[]),v=h.default.useMemo(()=>i&&p?Array.isArray(e.value)?e.value:[]:(0,l7.S2)(e.value,d),[i,p,d,e.value]),y=h.default.useCallback(t=>{var l;i&&(g(),null==(l=e.onChange)||l.call(e,t))},[i,g,e.onChange]);return h.default.useEffect(()=>{if(c.current||!i)return;let t=(0,l7.S2)(e.value,d);if(!(0,S.isEqual)(e.value||[],t||[])){var l;null==(l=e.onChange)||l.call(e,t)}g()},[i,d,g,e.onChange,e.value]),(0,m.jsx)(sk,{t:l,fieldOptions:s,rootCollection:(0,tv.w7)(t.model),value:v,onChange:y,fixedMode:"default",showCondition:!1,showValueEditorWhenNoField:!0,getValueInputProps:u,isTitleFieldCandidate:o,onSyncAssociationTitleField:n})}),s$=(0,r.defineAction)({name:"filterFormDefaultValues",title:(0,r.tExpr)("Field values"),useRawParams:!0,uiMode:"embed",uiSchema:()=>({value:{type:"array","x-component":sq}}),defaultParams:{value:[]},handler(){}}),sV=(0,r.defineAction)({name:"linkageRulesRefresh",async handler(e,t){var l,o,n,i,r;let a=null==t?void 0:t.actionName,s=null==t?void 0:t.flowKey,d=(null==t?void 0:t.stepKey)||"linkageRules";if(!a||!s)return;let u=e.model;if(!u.getFlow(s))return;let c=!!((null==e?void 0:e.flowSettingsEnabled)||(null==u||null==(o=u.context)?void 0:o.flowSettingsEnabled)),p=!(null==u?void 0:u.isFork)&&!!(null==u||null==(n=u.forks)?void 0:n.size)&&Array.from((null==u?void 0:u.forks)||[]).some(e=>{var t,l,o;return!!e&&!e.disposed&&!!(null==e||null==(l=e.context)||null==(t=l.ref)?void 0:t.current)&&!!(null==e||null==(o=e.getFlow)?void 0:o.call(e,s))}),m=!!(null==u||null==(r=u.context)||null==(i=r.ref)?void 0:i.current);if(p&&!m&&!c)return;let h=`${s}:${d}:${a}`,f=(l=u).__linkageRulesRefreshInflight||(l.__linkageRulesRefreshInflight=new Map),g=f.get(h);if(g)return void await g;let v=(async()=>{var t,l;let o=null==u||null==(t=u.getStepParams)?void 0:t.call(u,s,d),n=await e.resolveJsonTemplate({value:[],...o||{}}),i=null==(l=e.getAction)?void 0:l.call(e,a);(null==i?void 0:i.handler)&&await i.handler(e,n)})();f.set(h,v);try{await v}finally{f.delete(h)}}}),sz="defaultHeight",sK="specifyValue",sU="fullHeight",sG=(0,r.defineAction)({name:"blockHeight",title:(0,r.tExpr)("Block height"),uiMode:{type:"dialog"},uiSchema:e=>{let{t}=e;return{heightMode:{type:"string",enum:[{label:t("Default"),value:sz},{label:t("Specify height"),value:sK},{label:t("Full height"),value:sU}],required:!0,"x-decorator":"FormItem","x-component":"Radio.Group"},height:{title:t("Height"),type:"number",required:!0,"x-decorator":"FormItem","x-component":_.InputNumber,"x-component-props":{addonAfter:"px"},"x-validator":[{minimum:40}],"x-reactions":{dependencies:["heightMode"],fulfill:{state:{hidden:'{{ $deps[0]==="fullHeight"||$deps[0]==="defaultHeight"}}',value:'{{$deps[0]!=="specifyValue"?null:$self.value}}'}}}}}},defaultParams:e=>({heightMode:sz}),async handler(e,t){e.model.setDecoratorProps({heightMode:t.heightMode,height:t.height})}});var sW=l(5886),sJ=l(3728);let sX=e=>{if(null==e)return e;let t=typeof e;if("string"===t||"number"===t||"boolean"===t)return e;if(Array.isArray(e))return e.length<=3?e:`[Array(${e.length})]`;if("object"===t){let t=null==e?void 0:e.id;return null!=t?{id:t}:"[Object]"}return`[${t}]`},sQ=e=>{let t=0,l=e;for(;l;)(l instanceof ig||l instanceof iy)&&(t+=1),l=null==l?void 0:l.parent;return t},sZ=e=>{let t=Number(null==e?void 0:e.linkageScopeDepth);return Number.isFinite(t)?t:sQ(null==e?void 0:e.model)},s0=e=>{try{var t,l,o,n;return((null==(n=e.model)||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[]).map(e=>({label:e.props.label||e.props.name,value:e.uid,model:e}))}catch(e){return console.warn("Failed to get form fields:",e),[]}},s1=e=>{try{var t,l,o,n;return((null==(n=e.model)||null==(o=n.subModels)||null==(l=o.grid)||null==(t=l.subModels)?void 0:t.items)||[]).map(e=>{let t=Array.from(e.forks)[0];return t?{label:(null==t?void 0:t.props.label)||(null==t?void 0:t.props.name),value:(null==t?void 0:t.uid)||e.uid,model:t}:{label:e.props.label||e.props.name,value:e.uid,model:e}})}catch(e){return console.warn("Failed to get form fields:",e),[]}};function s2(e){let t=e;return t.includes(",")&&t.includes(":")?t.split(",").map(e=>e.trim()).filter(Boolean):t?[t]:[]}function s5(e){let[t,l]=String(e||"").split(":");if(!t)return null;let o=Number(l);return Number.isFinite(o)?{fieldName:t,index:o}:null}function s4(e,t){let l,o;if(!e)return null;let n=String(e).split(".").map(e=>e.trim()).filter(Boolean);if(!n.length)return null;let i=s2(t).map(s5).filter(Boolean),r=0,a=[];for(let e of n){a.push(e);let t=i[r];t&&t.fieldName===e&&(l=[...a],o=t.index,a.push(t.index),r+=1)}return{fieldPathArray:a,listRootPath:l,listRowIndex:o,hasUnmatchedIndices:r<i.length}}function s8(e,t,l){if(Array.isArray(e))return e;if(!e||"object"!=typeof e)return[];let o=null==e?void 0:e.field,n=null==e?void 0:e[t.valueKey];if(o){let e=null==l?void 0:l(String(o));return e?[{key:"legacy",enable:!0,targetPath:e,mode:t.mode,condition:{logic:"$and",items:[]},value:n}]:[]}return[]}function s3(e){return t=>{try{var l,o,n,i;let r=null==(o=e.engine)||null==(l=o.getModel)?void 0:l.call(o,t),a=(null==r||null==(i=r.getStepParams)||null==(n=i.call(r,"fieldSettings","init"))?void 0:n.fieldPath)||(null==r?void 0:r.fieldPath);return a?String(a):void 0}catch(e){console.warn(`Failed to resolve legacy field uid ${t}:`,e);return}}}let s6=Symbol("SKIP_RUNJS_ASSIGN_VALUE");async function s9(e,t){if(!(0,r.isRunJSValue)(t))return t;try{let{code:l,version:o}=(0,r.normalizeRunJSValue)(t),n=await (0,r.runjsWithSafeGlobals)(e,l,{version:o});if(!(null==n?void 0:n.success))return s6;return n.value}catch(e){return console.warn("[linkageRules] Failed to evaluate RunJS assign value",e),s6}}function s7(e){var t,l,o;let n=e=>{var t,l;if(!e||"object"!=typeof e)return null;let o=null==e||null==(l=e.getStepParams)||null==(t=l.call(e,"fieldSettings","init"))?void 0:t.fieldPath,n=null==e?void 0:e.fieldPath;return"string"==typeof o&&o||"string"==typeof n&&n||null},i=null==(t=e.model)?void 0:t.parent;for(;i;){let e=n(i);if(e)return e;i=null==i?void 0:i.parent}let r=null==(o=e.model)||null==(l=o.context)?void 0:l.prefixFieldPath;return"string"==typeof r&&r?r:null}function de(e,t){let l=String(t||"").trim();if(!l)return null;let o=(0,tv.eo)(e.model,l);if(o)return{targetPath:l,fieldModel:o};let n=s7(e);if(!n)return null;let i=String(n).split(".").map(e=>e.trim()).filter(Boolean),r=String(l).split(".").map(e=>e.trim()).filter(Boolean);if(!i.length||!r.length)return null;let a=e=>e.filter(Boolean).join("."),s=[],d=e=>{let t=String(e||"").trim();t&&(s.includes(t)||s.push(t))};d(l);let u=[],c=Math.min(i.length,r.length);for(let e=c;e>=1;e--){let t=i.slice(i.length-e),l=r.slice(0,e);if(!S.default.isEqual(t,l))continue;let o=a([...i,...r.slice(e)]);o&&!u.includes(o)&&u.push(o),d(o)}let p=a([...i,...r]);for(let t of(d(p),s)){let l=(0,tv.eo)(e.model,t);if(l)return{targetPath:t,fieldModel:l}}let m=1===r.length?p:u.length>0?u[0]:l;return m?{targetPath:m,fieldModel:null}:null}let dt=(0,r.defineAction)({name:"linkageSetBlockProps",title:(0,r.tExpr)("Set block state"),scene:r.ActionScene.BLOCK_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,m.jsx)(_.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l})}}),dl=(0,r.defineAction)({name:"linkageSetActionProps",title:(0,r.tExpr)("Set button state"),scene:r.ActionScene.ACTION_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"string","x-component":e=>{let{value:t,onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model);return(0,m.jsx)(_.Select,{value:t,onChange:l,placeholder:n("Please select state"),style:{width:"100%"},options:[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"},{label:n("Hidden text"),value:"hiddenText"},{label:n("Enabled"),value:"enabled"},{label:n("Disabled"),value:"disabled"}],allowClear:!0})}}},handler(e,t){let{value:l,setProps:o}=t;o(e.model,{hiddenModel:"hidden"===l,disabled:"disabled"===l,hiddenText:"hiddenText"===l})}}),dn=(0,r.defineAction)({name:"linkageSetFieldProps",title:(0,r.tExpr)("Set field state"),scene:r.ActionScene.FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={fields:[]},onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model),i=s0(o),a=[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"},{label:n("Hidden (reserved value)"),value:"hiddenReservedValue"},{label:n("Required"),value:"required"},{label:n("Not required"),value:"notRequired"},{label:n("Disabled"),value:"disabled"},{label:n("Enabled"),value:"enabled"}],s=e=>{l({...t,fields:e})},d=e=>{l({...t,state:e})};return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:n("Fields")}),(0,m.jsx)(_.Select,{mode:"multiple",value:t.fields,onChange:s,placeholder:n("Please select fields"),style:{width:"100%"},options:i,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]}),(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:n("State")}),(0,m.jsx)(_.Select,{value:t.state,onChange:d,placeholder:n("Please select state"),style:{width:"100%"},options:a,allowClear:!0})]})]})}}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var l,n,r,a;let s=((null==(a=e.model)||null==(r=a.subModels)||null==(n=r.grid)||null==(l=n.subModels)?void 0:l.items)||[]).find(e=>e.uid===t);if(s){let e={};switch(i){case"visible":e={hiddenModel:!1};break;case"hidden":e={hiddenModel:!0};break;case"hiddenReservedValue":e={hidden:!0};break;case"required":e={required:!0};break;case"notRequired":e={required:!1};break;case"disabled":e={disabled:!0};break;case"enabled":e={disabled:!1};break;default:console.warn(`Unknown state: ${i}`);return}o(s,e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),di=(0,r.defineAction)({name:"subFormLinkageSetFieldProps",title:(0,r.tExpr)("Set field state"),scene:r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={fields:[]},onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model),i=s1(o),a=[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"},{label:n("Hidden (reserved value)"),value:"hiddenReservedValue"},{label:n("Required"),value:"required"},{label:n("Not required"),value:"notRequired"},{label:n("Disabled"),value:"disabled"},{label:n("Enabled"),value:"enabled"}],s=e=>{l({...t,fields:e})},d=e=>{l({...t,state:e})};return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:n("Fields")}),(0,m.jsx)(_.Select,{mode:"multiple",value:t.fields,onChange:s,placeholder:n("Please select fields"),style:{width:"100%"},options:i,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]}),(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:n("State")}),(0,m.jsx)(_.Select,{value:t.state,onChange:d,placeholder:n("Please select state"),style:{width:"100%"},options:a,allowClear:!0})]})]})}}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var l,n,r,a,s;let d=null==(n=e.engine)||null==(l=n.getModel)?void 0:l.call(n,t);if(!d)return void console.warn("[subFormLinkageSetFieldProps] Target field model not found",{fieldUid:t,modelUid:null==(s=e.model)?void 0:s.uid});let u=null==(a=e.model)||null==(r=a.context)?void 0:r.fieldKey,c=u?`${u}:${t}`:void 0,p=c&&"function"==typeof d.getFork?d.getFork(c):null,m=p;if(p||(m=d),m){let e={};switch(i){case"visible":e={hiddenModel:!1};break;case"hidden":e={hiddenModel:!0};break;case"hiddenReservedValue":e={hidden:!0};break;case"required":e={required:!0};break;case"notRequired":e={required:!1};break;case"disabled":e={disabled:!0};break;case"enabled":e={disabled:!1};break;default:console.warn(`Unknown state: ${i}`);return}o(m,e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),dr=(0,r.defineAction)({name:"linkageSetDetailsFieldProps",title:(0,r.tExpr)("Set field state"),scene:r.ActionScene.DETAILS_FIELD_LINKAGE_RULES,sort:100,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={fields:[]},onChange:l}=e,o=(0,r.useFlowContext)(),n=o.model.translate.bind(o.model),i=s0(o),a=[{label:n("Visible"),value:"visible"},{label:n("Hidden"),value:"hidden"},{label:n("Hidden (reserved value)"),value:"hiddenReservedValue"}],s=e=>{l({...t,fields:e})},d=e=>{l({...t,state:e})};return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:n("Fields")}),(0,m.jsx)(_.Select,{mode:"multiple",value:t.fields,onChange:s,placeholder:n("Please select fields"),style:{width:"100%"},options:i,showSearch:!0,filterOption:(e,t)=>((null==t?void 0:t.label)??"").toLowerCase().includes(e.toLowerCase()),allowClear:!0})]}),(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{style:{marginBottom:"4px",fontSize:"14px"},children:n("State")}),(0,m.jsx)(_.Select,{value:t.state,onChange:d,placeholder:n("Please select state"),style:{width:"100%"},options:a,allowClear:!0})]})]})}}},handler:(e,t)=>{let{value:l,setProps:o}=t,{fields:n,state:i}=l||{};n&&Array.isArray(n)&&i&&n.forEach(t=>{try{var l,n,r,a;let s=((null==(a=e.model)||null==(r=a.subModels)||null==(n=r.grid)||null==(l=n.subModels)?void 0:l.items)||[]).find(e=>e.uid===t);if(s){let e={};switch(i){case"visible":e={hiddenModel:!1};break;case"hidden":e={hiddenModel:!0};break;case"hiddenReservedValue":e={hidden:!0};break;default:console.warn(`Unknown state: ${i}`);return}o(s,e)}}catch(e){console.warn(`Failed to set props for field ${t}:`,e)}})}}),da={mode:"assign",valueKey:"assignValue"},ds={mode:"default",valueKey:"initialValue"},dd=e=>{let{value:t,onChange:l,legacy:o,fixedMode:n}=e,i=(0,r.useFlowContext)(),a=h.default.useCallback(e=>i.model.translate(e),[i.model]),{isTitleFieldCandidate:s,onSyncAssociationTitleField:d}=sN(a),u=h.default.useMemo(()=>sI({formBlockModel:i.model,t:a,maxFormItemDepth:1}),[i.model,a]),c=s8(t,o,s3(i)),p=h.default.useCallback(e=>{"function"==typeof l&&l(e)},[l]);return(0,m.jsx)(sk,{t:a,fieldOptions:u,rootCollection:(0,tv.w7)(i.model),value:c,onChange:p,fixedMode:n,isTitleFieldCandidate:s,onSyncAssociationTitleField:d,enableDateVariableAsConstant:!0})},du=e=>(0,m.jsx)(dd,{...e,legacy:da}),dc=e=>(0,m.jsx)(dd,{...e,legacy:da}),dp=e=>(0,m.jsx)(dd,{...e,legacy:ds,fixedMode:"default"}),dm=(0,r.defineAction)({name:"linkageAssignField",title:(0,r.tExpr)("Field assignment"),scene:r.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":du}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=s8(l,{mode:"assign",valueKey:"assignValue"},s3(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]});for(let l of i){var a,s;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let u=null==l?void 0:l.condition;if(u&&!(0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(u),t))continue;let c=(0,tv.eo)(e.model,i),p=i.split(".")[0],m=(null==c?void 0:c.collectionField)??(null==(s=(0,tv.w7)(e.model))||null==(a=s.getField)?void 0:a.call(s,p)),h=null==l?void 0:l.value;if((0,r.isRunJSValue)(h)&&(h=await s9(e,h))===s6)continue;let f=tS(m,h);if(void 0===f){c&&o(c,{});continue}let g=(null==l?void 0:l.mode)==="default"?"default":"assign";c?o(c,"default"===g?{initialValue:f}:{value:f}):"function"==typeof n&&n({path:i,value:f,whenEmpty:"default"===g})}}catch(e){console.warn("[linkageAssignField] Failed to assign value to fields",e)}}}),dh=(0,r.defineAction)({name:"subFormLinkageAssignField",title:(0,r.tExpr)("Field assignment"),scene:r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":dc}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=s8(l,{mode:"assign",valueKey:"assignValue"},s3(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]}),l=()=>{let t=e.model;return(null==t?void 0:t.__subFormLinkageExplicitPathKeys)instanceof Set||(t.__subFormLinkageExplicitPathKeys=new Set),t.__subFormLinkageExplicitPathKeys},g=t=>{var l,o;let n=(0,sJ.IJ)(t,null==(o=e.model)||null==(l=o.context)?void 0:l.fieldIndex);if(!Array.isArray(n)||!n.length)return null;let i=n.filter(e=>"string"==typeof e||"number"==typeof e);return i.length?(0,sJ.Qc)(i):null},v=()=>{let t=null==e?void 0:e.inputArgs;if(!t||"user"!==t.source)return;let o=Array.isArray(t.changedPaths)?t.changedPaths:[];if(!o.length)return;let n=l();for(let t of o){let l=null;if(Array.isArray(t)){let e=t.filter(e=>"string"==typeof e||"number"==typeof e);l=e.length?e:null}else if("string"==typeof t){var i,r;let o=(0,sJ.IJ)(t,null==(r=e.model)||null==(i=r.context)?void 0:i.fieldIndex);if(Array.isArray(o)&&o.length){let e=o.filter(e=>"string"==typeof e||"number"==typeof e);l=e.length?e:null}}(null==l?void 0:l.length)&&n.add((0,sJ.Qc)(l))}},y=t=>{var o,n;let i=l(),r=g(t);if(!r)return!1;if(i.has(r))return!0;let a=(0,sJ.IJ)(t,null==(n=e.model)||null==(o=n.context)?void 0:o.fieldIndex);if(!Array.isArray(a)||!a.length)return!1;let s=[];for(let e=0;e<a.length;e++){let t=a[e];if("string"!=typeof t&&"number"!=typeof t)continue;s.push(t);let l=(0,sJ.Qc)(s);if(!i.has(l))continue;let o=a[e+1];if("number"!=typeof o)return!0}return!1};v();let _=t=>{var l,o,n,i,r,a;let s=e.engine.getModel(t);if(!s)return null;let d=null==e||null==(o=e.model)||null==(l=o.context)?void 0:l.fieldKey,u=d?`${d}:${t}`:null,c=u?s.getFork(u):null;if(d){let e=(null==s?void 0:s.fieldPath)||(null==s||null==(i=s.getStepParams)||null==(n=i.call(s,"fieldSettings","init"))?void 0:n.fieldPath),t=s4(e,d);!c&&u&&(c=s.createFork({},u)),(null==c?void 0:c.isFork)&&t&&(null==c||null==(a=c.context)||null==(r=a.defineProperty)||r.call(a,"fieldPathArray",{value:t.fieldPathArray}))}return c||(c=s),c};for(let l of i){var a,s,u,c,p,m,h,f;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let g=de(e,i);if(!(null==g?void 0:g.targetPath))continue;let v=g.targetPath,b=g.fieldModel||null,x=(null==b?void 0:b.uid)?String(b.uid):"",M=null==l?void 0:l.condition;if(M&&!(0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(M),t))continue;let w=(null==l?void 0:l.mode)==="default"?"default":"assign",S=(null==(s=e.model)||null==(a=s.getAclActionName)?void 0:a.call(s))??(null==(c=e.model)||null==(u=c.context)?void 0:u.actionName),k="update"===S,F=(null==e||null==(p=e.item)?void 0:p.__is_new__)===!0;if("default"===w&&k&&!F)continue;let C=v.split(".")[0],A=(null==b?void 0:b.collectionField)??(null==(h=(0,tv.w7)((null==(f=e.model)?void 0:f.parent)??e.model))||null==(m=h.getField)?void 0:m.call(h,C)),P=null==l?void 0:l.value;if((0,r.isRunJSValue)(P)&&(P=await s9(e,P))===s6)continue;let T=tS(A,P);if(void 0===T){if(!x)continue;let e=_(x);e&&o(e,{});continue}if(!x){if("default"===w&&y(v))continue;"function"==typeof n&&n({path:v,value:T,whenEmpty:"default"===w});continue}let j=_(x);j&&o(j,"default"===w?{initialValue:T}:{value:T})}}catch(e){console.warn("[subFormLinkageAssignField] Failed to assign value to fields",e)}}});(0,r.defineAction)({name:"setFieldsDefaultValue",title:(0,r.tExpr)("设置字段默认值"),scene:r.ActionScene.FIELD_LINKAGE_RULES,sort:200,uiSchema:{value:{type:"array","x-component":dp}},handler:async(e,t)=>{let{value:l,setProps:o,addFormValuePatch:n}=t,i=s8(l,{mode:"default",valueKey:"initialValue"},s3(e));if(i.length)try{let t=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]});for(let l of i){var a,s;if((null==l?void 0:l.enable)===!1)continue;let i=(null==l?void 0:l.targetPath)?String(l.targetPath):"";if(!i)continue;let u=null==l?void 0:l.condition;if(u&&!(0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(u),t))continue;let c=(0,tv.eo)(e.model,i),p=i.split(".")[0],m=(null==c?void 0:c.collectionField)??(null==(s=(0,tv.w7)(e.model))||null==(a=s.getField)?void 0:a.call(s,p)),h=null==l?void 0:l.value;if((0,r.isRunJSValue)(h)&&(h=await s9(e,h))===s6)continue;let f=tS(m,h);if(void 0===f){c&&o(c,{});continue}c?o(c,{initialValue:f}):"function"==typeof n&&n({path:i,value:f,whenEmpty:!0})}}catch(e){console.warn("[setFieldsDefaultValue] Failed to set fields default value",e)}}});let df=(0,r.defineAction)({name:"linkageRunjs",title:(0,r.tExpr)("Execute JavaScript"),scene:[r.ActionScene.BLOCK_LINKAGE_RULES,r.ActionScene.FIELD_LINKAGE_RULES,r.ActionScene.ACTION_LINKAGE_RULES,r.ActionScene.DETAILS_FIELD_LINKAGE_RULES,r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES],sort:300,useRawParams:!0,uiSchema:{value:{type:"object","x-component":e=>{let{value:t={script:""},onChange:l}=e,o=e=>{l({...t,script:e})};return(0,m.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:(0,m.jsx)("div",{children:(0,m.jsx)(eN.BY,{value:t.script,onChange:o,height:"200px",enableLinter:!0,scene:"linkage"})})})}}},handler:async(e,t)=>{let{value:l}=t,{script:o}=l||{};if(o&&"string"==typeof o)try{let t=(0,r.createSafeNavigator)();await e.runjs(o,{window:(0,r.createSafeWindow)({navigator:t}),document:(0,r.createSafeDocument)(),navigator:t})}catch(t){var n;if(console.error("Script execution error:",t),null==(n=e.app)?void 0:n.message){let l=t instanceof Error?t.message:String(t);e.app.message.error(`Script execution error: ${l}`)}}}});function dg(e){let t=S.default.cloneDeep(e||{}),l=new Map,o=e=>{let t=`__ncb_linkage_runjs_script_mask__${(0,H.uid)()}__`;return l.set(t,e),t},n=null==t?void 0:t.value;return Array.isArray(n)&&n.forEach(e=>{e.actions.forEach(e=>{let t=e.name;if("linkageRunjs"!==t&&"runjs"!==t)return;let l=S.default.get(e,["params","value","script"]);"string"==typeof l&&l.length&&S.default.set(e,["params","value","script"],o(l));let n=S.default.get(e,["params","code"]);"string"==typeof n&&n.length&&S.default.set(e,["params","code"],o(n))})}),{masked:t,restore:e=>{let t=null==e?void 0:e.value;return Array.isArray(t)&&t.forEach(e=>{e.actions.forEach(e=>{let t=e.name;if("linkageRunjs"!==t&&"runjs"!==t)return;let o=S.default.get(e,["params","value","script"]);"string"==typeof o&&l.has(o)&&S.default.set(e,["params","value","script"],l.get(o));let n=S.default.get(e,["params","code"]);"string"==typeof n&&l.has(n)&&S.default.set(e,["params","code"],l.get(n))})}),e}}}async function dv(e,t){let{masked:l,restore:o}=dg(t);return o(await e.resolveJsonTemplate(l))}let dy=(0,r.observer)(e=>{let{value:t,supportedActions:l}=e,o=(0,r.useFlowContext)(),n=(0,r.useFlowEngine)(),i=o.model.translate.bind(o.model),a=i("Assignment takes precedence over form field assignment"),s=()=>({key:(0,H.uid)(),title:i("Linkage rule"),enable:!0,condition:{logic:"$and",items:[]},actions:[]}),d=()=>{t.push(s())},u=e=>{t.splice(e,1)},c=e=>{if(e>0){let l=t[e];t.splice(e,1),t.splice(e-1,0,l)}},p=e=>{if(e<t.length-1){let l=t[e];t.splice(e,1),t.splice(e+1,0,l)}},h=e=>{let l=S.default.cloneDeep(t[e]),o={...l,key:(0,H.uid)(),title:`${l.title} (Copy)`};t.splice(e+1,0,o)},g=(e,l)=>{t[e].title=l},v=(e,l)=>{t[e].enable=l},y=()=>l.map(e=>o.getAction(e)),b=(e,l)=>{let o={key:(0,H.uid)(),name:l,params:void 0};t[e].actions.push(o)},x=(e,l)=>{t[e].actions.splice(l,1)},M=(e,l,o)=>{t[e].actions[l].params=o},w=(e,l)=>(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,m.jsx)("div",{style:{flex:1,marginRight:16},children:(0,m.jsx)(_.Input,{value:e.title,onChange:e=>g(l,e.target.value),onClick:e=>e.stopPropagation(),placeholder:"Enter rule title"})}),(0,m.jsxs)(_.Space,{onClick:e=>e.stopPropagation(),children:[(0,m.jsx)(_.Tooltip,{title:i("Delete"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.DeleteOutlined,{}),onClick:()=>u(l)})}),(0,m.jsx)(_.Tooltip,{title:i("Move up"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.ArrowUpOutlined,{}),onClick:()=>c(l),disabled:0===l})}),(0,m.jsx)(_.Tooltip,{title:i("Move down"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.ArrowDownOutlined,{}),onClick:()=>p(l),disabled:l===t.length-1})}),(0,m.jsx)(_.Tooltip,{title:i("Copy"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.CopyOutlined,{}),onClick:()=>h(l)})}),(0,m.jsx)(_.Switch,{size:"small",checked:e.enable,onChange:e=>v(l,e),checkedChildren:i("Enable"),unCheckedChildren:i("Disable")})]})]}),k=t.map((e,t)=>({key:e.key,label:w(e,t),styles:{header:{display:"flex",alignItems:"center"}},children:(0,m.jsxs)("div",{children:[(0,m.jsxs)("div",{style:{marginBottom:32},children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,m.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#1890ff",borderRadius:"2px",marginRight:8}}),(0,m.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Condition")})]}),(0,m.jsx)("div",{style:{paddingLeft:12},children:(0,m.jsx)(sW.I,{value:e.condition,FilterItem:e=>(0,m.jsx)(f.Ru,{model:o.model,value:e.value})})})]}),(0,m.jsxs)("div",{children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},children:[(0,m.jsx)("div",{style:{width:"4px",height:"16px",backgroundColor:"#52c41a",borderRadius:"2px",marginRight:8}}),(0,m.jsx)("h4",{style:{margin:0,fontSize:14,fontWeight:500,color:"#262626"},children:i("Actions")})]}),(0,m.jsxs)("div",{style:{paddingLeft:12},children:[e.actions.length>0?(0,m.jsx)("div",{style:{marginBottom:16},children:e.actions.map((e,l)=>{let r=o.getAction(e.name);return r?(0,m.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,m.jsxs)("span",{style:{fontWeight:500,color:"#262626"},children:[i(r.title),"linkageAssignField"===e.name||"subFormLinkageAssignField"===e.name?(0,m.jsx)(_.Tooltip,{title:a,children:(0,m.jsx)(E.QuestionCircleOutlined,{style:{marginInlineStart:4},onClick:e=>e.stopPropagation()})}):null,(0,m.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,m.jsx)(_.Tooltip,{title:i("Delete action"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.DeleteOutlined,{}),onClick:()=>x(t,l)})})]}),(0,m.jsx)("div",{children:n.flowSettings.renderStepForm({uiSchema:r.uiSchema,initialValues:e.params,flowEngine:n,onFormValuesChange:e=>M(t,l,e.values)})})]},e.key):null})}):null,(0,m.jsx)(_.Dropdown,{menu:{items:y().map(e=>({key:e.name,label:i(e.title||e.name),onClick:()=>b(t,e.name)}))},trigger:["hover"],children:(0,m.jsx)(_.Button,{type:"link",icon:(0,m.jsx)(E.PlusOutlined,{}),style:{padding:0,height:"auto",textAlign:"left"},children:i("Add action")})})]})]})]})}));return(0,m.jsxs)(m.Fragment,{children:[t.length>0?(0,m.jsx)(_.Collapse,{items:k,size:"small",style:{marginBottom:8},defaultActiveKey:t.length>0?[t[0].key]:[],accordion:!0}):(0,m.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,m.jsx)(_.Empty,{description:i("No linkage rules"),style:{margin:"20px 0"}})}),(0,m.jsx)(_.Button,{type:"dashed",icon:(0,m.jsx)(E.PlusOutlined,{}),onClick:d,style:{width:"100%"},children:i("Add linkage rule")})]})}),d_=async(e,t)=>{var l,o,n,i,r,a,s,u;let c=(t,l,o)=>!l||e.app.jsonLogic.apply({[l]:[t,o]}),p=t.value,m=e.model.__allModels||(e.model.__allModels=[]),h=[],f=(0,tv.w7)((null==(o=e.model)||null==(l=o.context)?void 0:l.blockModel)??e.model),g=e=>{if(!Array.isArray(e)||!e.length||!(null==f?void 0:f.getField))return!0;let t=f;for(let n=0;n<e.length;n++){var l,o;let i=e[n];if("number"==typeof i||"string"!=typeof i)continue;let r=null==t||null==(l=t.getField)?void 0:l.call(t,i);if(!r)continue;let a=!!(null==r||null==(o=r.isAssociationField)?void 0:o.call(r)),s=!!(null==r?void 0:r.targetCollection);if((0,tv.E4)(r)&&n+1<e.length&&"number"!=typeof e[n+1])return!1;a&&s&&(t=r.targetCollection)}return!0},v=t=>{var l,o;if(!t)return null;if(Array.isArray(t))return t.length&&t.every(e=>"string"==typeof e||"number"==typeof e)?t:null;if("string"!=typeof t)return null;let n=null==(o=e.model)||null==(l=o.context)?void 0:l.fieldIndex;return(0,sJ.IJ)(t,n)},y=t=>{var l,o,n,i,r;if(!t)return;let a=null==t?void 0:t.path;if(!a)return;let s=v(a);if(!s)return void console.warn("[linkageRules] Skip linkage assignment due to failed path resolution",{flowKey:e.flowKey,modelUid:null==(l=e.model)?void 0:l.uid,attemptedPath:a});if(!g(s))return void console.warn("[linkageRules] Skip linkage assignment for to-many association subpath without row index",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,attemptedPath:a,resolvedPath:s});let d=!!(null==t?void 0:t.whenEmpty);try{let l=null==(i=e.model)||null==(n=i.context)?void 0:n.form,o=null==l||null==(r=l.getFieldValue)?void 0:r.call(l,s);if(d&&null!=o&&""!==o||S.default.isEqual(o,null==t?void 0:t.value))return}catch{}h.push({path:s,value:null==t?void 0:t.value})},_=e=>{var t,l;if(!e||"object"!=typeof e)return null;try{let t=null==e||null==(l=e.getStepParams)?void 0:l.call(e,"fieldSettings","init"),o="string"==typeof(null==t?void 0:t.fieldPath)?t.fieldPath:"",n="string"==typeof(null==t?void 0:t.associationPathName)?t.associationPathName:"",i=o||("string"==typeof(null==e?void 0:e.fieldPath)?e.fieldPath:""),r=n||("string"==typeof(null==e?void 0:e.associationPathName)?e.associationPathName:"");if(r){if(!i)return r;if(i.startsWith(`${r}.`))return i;return`${r}.${i}`}if(i)return i}catch{}let o=null==e||null==(t=e.props)?void 0:t.name;if("string"==typeof o&&o)return o;if(Array.isArray(o)&&o.length){let e="";for(let t of o){if("number"==typeof t){e+=`[${t}]`;continue}"string"==typeof t&&t&&(e?e+=`.${t}`:e=t)}return e||null}return null};for(let t of(m.forEach(e=>{e.__props={}}),p.filter(e=>e.enable))){let{condition:l,actions:o}=t;if((0,d.evaluateConditions)((0,d.removeInvalidFilterItems)(l),c))for(let t of o){let l=(e,t)=>{e.__originalProps||(e.__originalProps={hiddenModel:e.hidden,hiddenText:void 0,disabled:void 0,required:void 0,hidden:void 0,...e.props}),e.__props||(e.__props={}),e.__props={...e.__props,...t},-1===m.indexOf(e)&&m.push(e)};await (null==(a=e.getAction(t.name))?void 0:a.handler(e,{...t.params,setProps:l,addFormValuePatch:y}))}}let b=new Map,x=new Map;m.forEach(e=>{let t=(null==e?void 0:e.uid)||String(e),l=e.__props||{};if(b.has(t)){x.set(t,{...x.get(t),...l});let o=b.get(t);e.isFork&&!o.isFork&&b.set(t,e)}else b.set(t,e),x.set(t,{...l})}),b.forEach((t,l)=>{let o=x.get(l)||{},n={...t.__originalProps,...o};if(t.setProps(S.default.omit(n,["hiddenModel","value","hiddenText"])),t.hidden=!!n.hiddenModel,!0===n.required){let l=(t.props.rules||[]).filter(e=>!e.required);l.push({required:!0,message:e.t("The field value is required")}),t.setProps("rules",l)}else if(!1===n.required){let e=(t.props.rules||[]).filter(e=>!e.required);t.setProps("rules",e)}if(n.hiddenText&&t.setProps("title",""),"value"in n&&t.context.form){let l=_(t);if(l)y({path:l,value:n.value});else{var i;console.warn("[linkageRules] Skip linkage assignment due to missing target path",{flowKey:e.flowKey,modelUid:null==(i=e.model)?void 0:i.uid,targetUid:null==t?void 0:t.uid})}}t.__props=null});let M=[...h];if(!M.length)return;let w=e,k=null==w?void 0:w.setFormValues,F=null==(r=e.model)||null==(i=r.context)||null==(n=i.blockModel)?void 0:n.context,C=null==F?void 0:F.setFormValues,A=null==w?void 0:w.inputArgs,P="string"==typeof(null==A?void 0:A.linkageTxId)&&A.linkageTxId?A.linkageTxId:"string"==typeof(null==A?void 0:A.txId)?A.txId:void 0,T=sZ(e),j=async(e,t,l)=>{await e.call(t,M,{source:l,linkageTxId:P,linkageScopeDepth:T})};if("function"==typeof k)try{await j(k,w,"linkage");return}catch(t){console.warn("[linkageRules] Failed to set form values via setFormValues",{flowKey:e.flowKey,modelUid:null==(s=e.model)?void 0:s.uid,setter:"ctx",patchCount:M.length,patches:M.slice(0,10).map(e=>({path:e.path,value:sX(e.value)}))}),console.warn(t)}if("function"==typeof C)try{await j(C,F,"linkage");return}catch(t){console.warn("[linkageRules] Failed to set form values via setFormValues",{flowKey:e.flowKey,modelUid:null==(u=e.model)?void 0:u.uid,setter:"blockModel",patchCount:M.length,patches:M.slice(0,10).map(e=>({path:e.path,value:sX(e.value)}))}),console.warn(t)}M.forEach(t=>{let{path:l,value:o}=t;try{var n,i,r;let t=null==(i=e.model)||null==(n=i.context)?void 0:n.form;if("function"==typeof(null==t?void 0:t.getFieldValue)){let e=t.getFieldValue(l);if(S.default.isEqual(e,o))return}null==t||null==(r=t.setFieldValue)||r.call(t,l,o)}catch(e){console.warn("[linkageRules] Failed to set form field value (fallback setFieldValue)",{path:l},e)}})},db=(0,r.defineAction)({name:"blockLinkageRules",title:(0,r.tExpr)("Block linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":dy,"x-component-props":{supportedActions:dk(e,r.ActionScene.BLOCK_LINKAGE_RULES),title:(0,r.tExpr)("Block linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{let l=await dv(e,t);return d_(e,l)}}),dx=(0,r.defineAction)({name:"actionLinkageRules",title:(0,r.tExpr)("Linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":dy,"x-component-props":{supportedActions:dk(e,r.ActionScene.ACTION_LINKAGE_RULES),title:(0,r.tExpr)("Linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{let l=await dv(e,t);return d_(e,l)}}),dM=(0,r.defineAction)({name:"fieldLinkageRules",title:(0,r.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":dy,"x-component-props":{supportedActions:dk(e,r.ActionScene.FIELD_LINKAGE_RULES),title:(0,r.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,o,n;if(e.model.hidden)return;let i=0,a=t=>{if(!t||"function"!=typeof t.defineProperty)return;let l=null==e?void 0:e.inputArgs;l&&"object"==typeof l&&t.defineProperty("inputArgs",{value:{...l}}),t.defineProperty("linkageScopeDepth",{value:i})};a(e);let s=(0,tv.w7)((null==(o=e.model)||null==(l=o.context)?void 0:l.blockModel)??e.model),d=e=>{if(!(null==s?void 0:s.getField))return null;let t=(0,sJ.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(t.length<2)return null;let l=s,o=[];for(let e=0;e<t.length-1;e++){var n,i;let r=t[e];if("string"!=typeof r)continue;let a=null==l||null==(n=l.getField)?void 0:n.call(l,r);if(!(null==a||null==(i=a.isAssociationField)?void 0:i.call(a)))break;let s=(0,tv.E4)(a);if(s&&o.push(r),s&&"number"==typeof t[e+1]&&(e+=1),!(null==(l=null==a?void 0:a.targetCollection)?void 0:l.getField))break}if(!o.length)return null;let r=o[o.length-1],a=o.filter(e=>e===r).length;return`${r}#${a}`},u=e=>{if(!(null==s?void 0:s.getField))return!1;let t=(0,sJ.EA)(String(e||"")).filter(e=>"object"!=typeof e);if(t.length<2)return!1;let l=s;for(let e=0;e<t.length-1;e++){var o,n;let i=t[e];if("string"!=typeof i)continue;let r=null==l||null==(o=l.getField)?void 0:o.call(l,i);if(!(null==r||null==(n=r.isAssociationField)?void 0:n.call(r)))break;if((0,tv.E4)(r)){if("number"!=typeof t[e+1])return!0;e+=1}if(!(null==(l=null==r?void 0:r.targetCollection)?void 0:l.getField))break}return!1},c=s3(e),{blockParams:p,rowParamsByKey:m}=(()=>{let e=null==t?void 0:t.value;if(!Array.isArray(e)||!e.length)return{blockParams:t,rowParamsByKey:new Map};let l=[],o=new Map,n=(e,t,l)=>{if(!e||!l.length)return;let n=o.get(e)||[];n.push({...t,actions:l}),o.set(e,n)};for(let t of e){if(!t||"object"!=typeof t)continue;let e={key:t.key,title:t.title,enable:t.enable,condition:t.condition},o=Array.isArray(t.actions)?t.actions:[],i=[],r=new Map;for(let e of o){let t=null==e?void 0:e.name,l=null==e?void 0:e.params,o=null==l?void 0:l.value,n=t=>{let n=s8(o,t,c);if(!n.length)return{block:null,rows:new Map};let i=[],r=new Map;for(let e of n){let t=(null==e?void 0:e.targetPath)?String(e.targetPath):"";if(!t){i.push(e);continue}let l=d(t);if(l&&u(t)){let t=r.get(l)||[];t.push(e),r.set(l,t)}else i.push(e)}let a=i.length>0?{...e,params:{...l,value:i}}:null,s=new Map;for(let[t,o]of r.entries())o.length&&s.set(t,{...e,params:{...l,value:o}});return{block:a,rows:s}};if("linkageAssignField"===t){let e=n({mode:"assign",valueKey:"assignValue"});e.block&&i.push(e.block),e.rows.forEach((e,t)=>{let l=r.get(t)||[];l.push(e),r.set(t,l)});continue}if("setFieldsDefaultValue"===t){let e=n({mode:"default",valueKey:"initialValue"});e.block&&i.push(e.block),e.rows.forEach((e,t)=>{let l=r.get(t)||[];l.push(e),r.set(t,l)});continue}i.push(e)}i.length&&l.push({...e,actions:i}),r.forEach((t,l)=>{n(l,e,t)})}let i={...t,value:l},r=new Map;return o.forEach((e,l)=>{r.set(l,{...t,value:e})}),{blockParams:i,rowParamsByKey:r}})(),h=await dv(e,p);if(await d_(e,h),!m.size)return;let f=e=>{var t;let l=null==e||null==(t=e.context)?void 0:t.fieldIndex,o=Array.isArray(l)?l:[];if(!o.length)return null;let n=[];for(let e of o){if("string"!=typeof e)continue;let[t,l]=e.split(":"),o=Number(l);!t||Number.isNaN(o)||n.push({name:t,index:o})}if(!n.length)return null;let i=n[n.length-1].name,r=n.reduce((e,t)=>t.name===i?e+1:e,0);return`${i}#${r}`},g=e=>{var t,l;return!!e&&"object"==typeof e&&(null==e||null==(t=e.subModels)||!t.field)&&!!(null==e||null==(l=e.subModels)?void 0:l.items)&&!!f(e)},v=()=>{let t=new Map,l=e.engine;return(null==l?void 0:l.forEachModel)&&l.forEachModel(e=>{let l=null==e?void 0:e.forks;l&&"function"==typeof l.forEach&&l.forEach(e=>{if(!e||e.disposed||!g(e))return;let l=f(e);if(!l)return;let o=t.get(l)||[];o.push(e),t.set(l,o)})}),t},y=async()=>{let t=v(),l=!1;for(let[n,i]of m.entries()){let s=t.get(n)||[];if(s.length&&(l=!0),s.length)for(let t of s){let l=new r.FlowRuntimeContext(t,e.flowKey);a(l);try{let e=await dv(l,i);await d_(l,e)}catch(l){var o;console.warn("[linkageRules] Failed to run row-scoped linkage rules",{flowKey:e.flowKey,modelUid:null==(o=e.model)?void 0:o.uid,rowScopeKey:n,forkUid:null==t?void 0:t.uid}),console.warn(l)}}}return l};if(!await y()){let t="__pendingLinkageRowScopedRetry__",l=e.model;(null==l?void 0:l[t])||(console.warn("[linkageRules] Row-scoped linkage assignment deferred (row forks not ready), will retry",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,rowKeys:Array.from(m.keys())}),l[t]=!0,setTimeout(()=>{l[t]=!1;let o=e.model;o&&!o.disposed&&y().catch(e=>{console.warn("[linkageRules] Failed to retry row-scoped linkage rules",e)})},0))}}}),dw=(0,r.defineAction)({name:"subFormFieldLinkageRules",title:(0,r.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":dy,"x-component-props":{supportedActions:dk(e,r.ActionScene.SUB_FORM_FIELD_LINKAGE_RULES),title:(0,r.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{var l,o,n,i;if(e.model.hidden)return;let a=null==(o=e.model)||null==(l=o.subModels)?void 0:l.grid;if(!a)return void console.warn("[subFormFieldLinkageRules] Missing subModels.grid",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid});let s=sQ(null==e?void 0:e.model),d=t=>{let l=new r.FlowRuntimeContext(t,e.flowKey),o=null==e?void 0:e.inputArgs;return o&&"object"==typeof o&&l.defineProperty("inputArgs",{value:{...o}}),l.defineProperty("linkageScopeDepth",{value:s}),l};if(e.model instanceof ig){if(a.hidden)return;let l=d(a);try{let e=await dv(l,t);await d_(l,e)}catch(t){console.warn("[subFormFieldLinkageRules] Failed to run linkage rules (to-one)",{flowKey:e.flowKey,modelUid:null==(i=e.model)?void 0:i.uid,gridUid:null==a?void 0:a.uid}),console.warn(t)}}else await Promise.all((a.forks||[]).map(async l=>{if(l.hidden)return;let o=d(l);try{let e=await dv(o,t);await d_(o,e)}catch(t){var n;console.warn("[subFormFieldLinkageRules] Failed to run linkage rules for fork",{flowKey:e.flowKey,modelUid:null==(n=e.model)?void 0:n.uid,forkUid:null==l?void 0:l.uid,gridUid:null==a?void 0:a.uid}),console.warn(t)}}))}}),dS=(0,r.defineAction)({name:"detailsFieldLinkageRules",title:(0,r.tExpr)("Field linkage rules"),uiMode:"embed",uiSchema:e=>({value:{type:"array","x-component":dy,"x-component-props":{supportedActions:dk(e,r.ActionScene.DETAILS_FIELD_LINKAGE_RULES),title:(0,r.tExpr)("Field linkage rules")}}}),defaultParams:{value:[]},useRawParams:!0,handler:async(e,t)=>{if(e.model.hidden)return;let l=await dv(e,t);return d_(e,l)}});function dk(e,t){return[...e.getActions().values()].filter(e=>{let l=e.scene;return!!l&&(Array.isArray(l)||(l=[l]),l.includes(t))}).sort((e,t)=>(e.sort||0)-(t.sort||0)).map(e=>e.name)}let dF=(0,r.defineAction)({name:"overflowMode",title:(0,r.tExpr)("Ellipsis on text overflow"),uiMode:{type:"switch",key:"overflowMode"},defaultParams:e=>({overflowMode:e.model.parent instanceof nl}),handler(e,t){let l;l="string"==typeof(null==t?void 0:t.overflowMode)?"ellipsis"===t.overflowMode:!!(null==t?void 0:t.overflowMode),e.model.setProps({overflowMode:l?"ellipsis":"wrap"})}}),dC=()=>{let e=(0,z.useForm)(),{unitConversionType:t}=e.values,{t:l}=(0,F.useTranslation)();return(0,m.jsxs)(_.Select,{defaultValue:t||"*",style:{width:160},onChange:t=>{e.setValuesIn("unitConversionType",t)},children:[(0,m.jsx)(_.Select.Option,{value:"*",children:l("Multiply by")}),(0,m.jsx)(_.Select.Option,{value:"/",children:l("Divide by")})]})},dA=(0,r.defineAction)({title:(0,r.tExpr)("Number format"),name:"numberFormat",uiSchema:e=>({formatStyle:{type:"string",enum:[{value:"normal",label:(0,r.tExpr)("Normal")},{value:"scientifix",label:(0,r.tExpr)("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"NumberPicker",title:"{{t('Unit conversion')}}","x-component-props":{style:{width:"100%"},addonBefore:(0,m.jsx)(dC,{})}},separator:{type:"string",enum:[{value:"0,0.00",label:"100,000.00"},{value:"0.0,00",label:"100.000,00"},{value:"0 0,00",label:"100 000.00"},{value:"0.00",label:"100000.00"}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},numberStep:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem"},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem"}}),defaultParams:e=>{let{formatStyle:t,unitConversion:l,unitConversionType:o,separator:n,step:i,addonBefore:r,addonAfter:a}=e.collectionField.getComponentProps();return{formatStyle:t||"normal",unitConversion:l,unitConversionType:o,separator:n||"0,0.00",numberStep:i||"1",addonBefore:r,addonAfter:a}},handler(e,t){let{formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s}=t;e.model.setProps({formatStyle:l,unitConversion:o,unitConversionType:n,separator:i,numberStep:r,addonBefore:a,addonAfter:s})}}),dP=e=>{let t;if(e){if(Array.isArray(e))t=e;else if("object"==typeof e&&"function"==typeof(null==e?void 0:e[Symbol.iterator]))try{t=Array.from(e)}catch(e){t=void 0}else if("object"==typeof e){let l=Object.keys(e).filter(e=>/^\d+$/.test(e)).sort((e,t)=>Number(e)-Number(t));l.length&&(t=l.map(t=>e[t]))}if(null==t?void 0:t.length)return t.map(e=>e&&"object"==typeof e?{...e}:e)}};function dT(e){return class extends e{async onDispatchEventStart(e){var t,l,o,n,i,r;if("beforeRender"!==e)return;let a=(null==(t=(l=this).getStepParams)?void 0:t.call(l,"fieldSettings","init"))||{},s=(null==a?void 0:a.dataSourceKey)&&(null==a?void 0:a.collectionName)&&(null==a?void 0:a.fieldPath)&&`${a.dataSourceKey}.${a.collectionName}.${a.fieldPath}`,d=s&&(null==(i=this.context)||null==(n=i.dataSourceManager)||null==(o=n.getCollectionField)?void 0:o.call(n,s)),u=(null==(r=this._originalModel)?void 0:r.collectionField)||this._fallbackCollectionField;(d||u)&&this.context.defineProperty("collectionField",{get:()=>d||u})}async onDispatchEventEnd(e){var t,l,o,n,i,r,a,s,d,u,c;if("beforeRender"!==e)return;let p={...this._originalPropsFallback||{},...(null==(t=this._originalModel)?void 0:t.props)||{}},m=null==(l=this.context)?void 0:l.collectionField,h={};(null==p?void 0:p.fieldNames)&&(h.fieldNames=p.fieldNames),void 0!==(null==p?void 0:p.allowMultiple)&&(h.allowMultiple=p.allowMultiple);let f=dP(null==(o=this.props)?void 0:o.options),g=!!(null==f?void 0:f.length),v=dP(null==p?void 0:p.options),y=(null==v?void 0:v.length)?v:this._originalOptionsFallback;!g&&Array.isArray(y)&&y.length>0&&(h.options=y.map(e=>e&&"object"==typeof e?{...e}:e));let _=(()=>{let e=null==m?void 0:m.type,t=null==m?void 0:m.interface,l=t&&("m2m"===t||"o2m"===t||"mbm"===t);return!!(e&&("belongsToMany"===e||"hasMany"===e||"belongsToArray"===e)||l)})(),b=void 0!==p.multiple?p.multiple:_,x=void 0!==p.allowMultiple?p.allowMultiple:void 0!==p.multiple?p.multiple:_;void 0!==b&&(h.multiple=b),void 0!==x&&(h.allowMultiple=x),Object.keys(h).length&&this.setProps(h),(null==m?void 0:m.interface)==="multipleSelect"&&void 0===(null==(n=this.props)?void 0:n.mode)&&this.setProps({mode:"multiple"}),(0,tA.NI)(this,m),null==(i=(r=this).showTitle)||i.call(r,null),null==(a=(s=this).setDescription)||a.call(s,null),null==(d=(u=this).setPattern)||d.call(u,"editable"),this.props.onChange&&this.setProps({onChange:this.props.onChange});let M=null==(c=this.getStepParams("formItemSettings","initialValue"))?void 0:c.defaultValue;void 0!==M&&this.setProps({defaultValue:M})}setProps(e){var t,l,o;let{originalModel:n,disabled:i,readOnly:r,readPretty:a,pattern:s,...d}=e||{},u=null==(t=super.setProps)?void 0:t.call(this,{...d,disabled:!1});return null==(l=(o=this).setPattern)||l.call(o,"editable"),u}remove(){for(var e,t=arguments.length,l=Array(t),o=0;o<t;o++)l[o]=arguments[o];null==(e=super.remove)||e.call(this,...l)}}}let dj=(0,z.connect)(e=>{let{value:t,onChange:l,metaTree:o,flags:n,...i}=e,a=(0,r.useFlowContext)(),{model:s}=a,d=h.default.useCallback(e=>!!e&&"function"==typeof(null==e?void 0:e.query),[]),u=h.default.useCallback((e,t)=>{if(d(e)){var l,o,n,i;let r=null==(o=e.query(t))||null==(l=o.get)?void 0:l.call(o,"selfModified"),a=null==(i=e.query(t))||null==(n=i.get)?void 0:n.call(i,"modified");return!!(r||a)}return"function"==typeof(null==e?void 0:e.isFieldsTouched)&&!!e.isFieldsTouched([t])},[d]),c=h.default.useCallback((e,t)=>{if(d(e))return(0,S.get)(e.values,t);if("function"==typeof(null==e?void 0:e.getFieldValue))return e.getFieldValue(t);let l="function"==typeof(null==e?void 0:e.getFieldsValue)?e.getFieldsValue(!0):void 0;return(0,S.get)(l,t)},[d]),p=h.default.useCallback((e,t,l)=>{if(e&&(null==t?void 0:t.length)){if(d(e))return void e.setFieldValue(t,l);if("function"==typeof(null==e?void 0:e.setFieldValue))e.setFieldValue(t,l);else{var o;let n={};(0,S.set)(n,t,l),null==e||null==(o=e.setFieldsValue)||o.call(e,n)}}},[d]),f=h.default.useCallback(async e=>{let t=e;if((0,r.isRunJSValue)(t)){try{let{code:e,version:l}=(0,r.normalizeRunJSValue)(t),o=await (0,r.runjsWithSafeGlobals)(null==s?void 0:s.context,e,{version:l});t=(null==o?void 0:o.success)?o.value:void 0}catch{t=void 0}return t}if((0,r.isVariableExpression)(t)){var l,o;let n=await (null==s||null==(o=s.context)||null==(l=o.resolveJsonTemplate)?void 0:l.call(o,t));if(void 0!==n&&(t=n),t===e){let e=(0,r.extractPropertyPath)(String(t));e&&(t=(0,S.get)(null==s?void 0:s.context,e.join(".")))}}return t},[s]),g=h.default.useCallback((e,t)=>tk(e,t),[]);h.default.useEffect(()=>{var e;let t=s;if(!t||t.__dvSetStepParamsPatched)return;let l=null==(e=t.setStepParams)?void 0:e.bind(t);"function"==typeof l&&(t.__dvSetStepParamsPatched=!0,t.setStepParams=async(e,o,n)=>{var i,r,a,s,d,m,h;let v,y,_=[],b=(null==t||null==(i=t.props)?void 0:i.name)??(null==t?void 0:t.fieldPath);_=g(Array.isArray(b)?b:"string"==typeof b?b.split("."):[b].filter(Boolean),null==t||null==(r=t.context)?void 0:r.fieldIndex),"string"==typeof e&&"string"==typeof o&&n&&void 0!==n.defaultValue&&(v=null==(a=t.getStepParams(e,o))?void 0:a.defaultValue,y=n.defaultValue);let x=l(e,o,n);if(void 0!==y){let e=(null==t||null==(m=t.context)||null==(d=m.blockModel)||null==(s=d.context)?void 0:s.form)||(null==t||null==(h=t.context)?void 0:h.form);if(e&&_.length){let t=u(e,_),l=c(e,_),o=await f(v),n=await f(y),i=null==l||""===l,r=(0,S.isEqual)(l,o)||!t&&i;void 0!==n&&r&&p(e,_,n)}}return x})},[s,c,u,f,p,g]);let v=(0,h.useMemo)(()=>{var e;let t=null==s||null==(e=s.context)?void 0:e.flags;if(t||n)return{...t||{},...n||{}}},[s,n]),y=h.default.useRef(void 0);(0,S.isEqual)(y.current,v)||(y.current=v);let b=y.current,x=(0,h.useMemo)(()=>{var e,t,l,o,n,i,a,d,u,c,p,m,h,f,g,v,y,_,x,M,w,S,k,F,C,A,P,T;let j=s,I=(null==j?void 0:j.customFieldModelInstance)||(null==j||null==(e=j.subModels)?void 0:e.field),L=(null==I?void 0:I.props)||{},Y=(null==j?void 0:j.customFieldProps)||{},{value:D,defaultValue:E,...R}=L,{value:N,defaultValue:B,...O}=Y,q=(null==j||null==(t=j.getStepParams)?void 0:t.call(j,"fieldSettings","init"))||(null==I||null==(l=I.getStepParams)?void 0:l.call(I,"fieldSettings","init")),$=null==I?void 0:I.collectionField;if(!$&&(null==q?void 0:q.dataSourceKey)&&(null==q?void 0:q.collectionName)&&(null==q?void 0:q.fieldPath)){let e=`${q.dataSourceKey}.${q.collectionName}.${q.fieldPath}`;$=null==s||null==(g=s.context)||null==(f=g.dataSourceManager)||null==(h=f.getCollectionField)?void 0:h.call(f,e)}$||($=null==j||null==(v=j.context)?void 0:v.collectionField);let V=null==I?void 0:I.constructor,z=$?r.EditableItemModel.getDefaultBindingByField(null==s?void 0:s.context,$):null,K=null==$?void 0:$.type,U=null==$?void 0:$.interface,G="belongsToMany"===K||"hasMany"===K||"belongsToArray"===K||"m2m"===U||"o2m"===U||"mbm"===U,W=!!((null==b?void 0:b.isInSetDefaultValueDialog)&&G),J=G?ll:oA.m,X=z?null==s||null==(i=s.context)||null==(n=i.engine)||null==(o=n.getModelClass)?void 0:o.call(n,z.modelName):null,Q="function"==typeof V?V:null,Z=dT("string"==typeof(null==V?void 0:V.name)&&/FilterFieldModel$/.test(V.name)||(null==j?void 0:j.customFieldModelInstance)?Q||X||J:X||Q||J),ee=null==I||null==(a=I.props)?void 0:a.fieldNames,et=null==I||null==(d=I.props)?void 0:d.titleField,el=null==I||null==(u=I.getStepParams)?void 0:u.call(I,"selectSettings","fieldNames"),eo=null==I||null==(c=I.getStepParams)?void 0:c.call(I,"selectSettings","allowMultiple"),en={};q&&(en.fieldSettings={init:q}),(el||eo)&&(en.selectSettings={...el?{fieldNames:el}:{},...eo?{allowMultiple:eo}:{}});let ei={use:Z,uid:(0,H.uid)(),parentId:null,subKey:null,subType:null,stepParams:{...(null==I?void 0:I.stepParams)||{},...Object.keys(en).length?en:{}},props:{disabled:!1,allowClear:!0,...R,...void 0!==ee?{fieldNames:ee}:{},...void 0!==et?{titleField:et}:{},...W?{keepDropdownOpenOnSelect:!0}:{},...O}},er=s.context.engine.createModel({use:"VariableFieldFormModel",subModels:{fields:[ei]}}),ea=null==(m=er.subModels)||null==(p=m.fields)?void 0:p[0];if(ea&&(ea._originalModel=I,ea._originalPropsFallback=null==j?void 0:j.customFieldProps,ea._fallbackCollectionField=null==j||null==(y=j.context)?void 0:y.collectionField,ea._originalOptionsFallback=dP(null==I||null==(_=I.getDataSource)?void 0:_.call(I))||dP(null==I||null==(x=I.props)?void 0:x.options)||dP(null==j||null==(M=j.customFieldProps)?void 0:M.options)),(null==q?void 0:q.dataSourceKey)&&(null==q?void 0:q.collectionName)){let e=s.context.dataSourceManager,t=null==e||null==(w=e.getDataSource)?void 0:w.call(e,q.dataSourceKey),l=null==e||null==(S=e.getCollection)?void 0:S.call(e,q.dataSourceKey,q.collectionName);t&&(null==(F=er.context)||null==(k=F.defineProperty)||k.call(F,"dataSource",{get:()=>t})),l&&(null==(A=er.context)||null==(C=A.defineProperty)||C.call(A,"collection",{get:()=>l}))}return b&&(null==(T=er.context)||null==(P=T.defineProperty)||P.call(T,"flags",{value:b})),er},[s,b]);h.default.useEffect(()=>()=>{var e,t;null==(t=x.subModels)||null==(e=t.fields)||e.forEach(e=>{var t;return null==e||null==(t=e.remove)?void 0:t.call(e)}),x.remove()},[x]);let M=(0,h.useMemo)(()=>e=>{let l=h.default.useRef(!1),[,o]=h.default.useReducer(e=>e+1,0),n=h.default.useRef(Symbol("init")),i=h.default.useRef(Symbol("none")),a=h.default.useRef(!1);return h.default.useEffect(()=>{var r,s,d,u,c,p,m,h,f;let g=null==x||null==(s=x.subModels)||null==(r=s.fields)?void 0:r[0];if(!g)return;let{disabled:v,readOnly:y,readPretty:_,pattern:b,...M}=e||{},w=!!(null==g||null==(c=g.context)||null==(u=c.collectionField)||null==(d=u.isAssociationField)?void 0:d.call(u)),S=e=>!!e&&"object"==typeof e&&"data"in e,k=e=>Array.isArray(e)?e.map(e=>S(e)?e.data:e):S(e)?e.data:e,F=(null==g||null==(p=g._originalModel)?void 0:p.use)||(null==g?void 0:g.use),C=null==g||null==(h=g.context)||null==(m=h.collectionField)?void 0:m.interface,A=new Set(["input","email","phone","uuid","url","nanoid","textarea","markdown","password","color"]),P="InputFieldModel"===F||(C?A.has(C):g instanceof oA.m),T=e=>{if(e&&"object"==typeof e&&"target"in e){let t=null==e?void 0:e.target;if(P&&void 0!==(null==t?void 0:t.value))return t.value;if(void 0!==(null==t?void 0:t.checked))return t.checked;if(void 0!==(null==t?void 0:t.value))return t.value}return e};if(g.setProps({disabled:!1,onChange:function(){for(var t,l=arguments.length,n=Array(l),r=0;r<l;r++)n[r]=arguments[r];let s=n.length>1&&("string"==typeof n[1]||Array.isArray(n[1])&&n[1].every(e=>"string"==typeof e))?n[1]:n[0],d=w?k(s):T(s);if(!P){let e=w?k(s):T(s);i.current=e,g.setProps({value:e,defaultValue:void 0})}P&&a.current||(null==(t=(null==M?void 0:M.onChange)??(null==e?void 0:e.onChange))||t(d),o())},onCompositionStart:function(){for(var t,l,o=arguments.length,n=Array(o),i=0;i<o;i++)n[i]=arguments[i];a.current=!0,null==M||null==(t=M.onCompositionStart)||t.call(M,...n),null==e||null==(l=e.onCompositionStart)||l.call(e,...n)},onCompositionUpdate:(null==M?void 0:M.onCompositionUpdate)??(null==e?void 0:e.onCompositionUpdate),onCompositionEnd:t=>{var l,o,n;a.current=!1;let i=T(t);null==(l=(null==M?void 0:M.onChange)??(null==e?void 0:e.onChange))||l(i),null==M||null==(o=M.onCompositionEnd)||o.call(M,t),null==e||null==(n=e.onCompositionEnd)||n.call(e,t)},style:{width:"100%",minWidth:0,...(null==M?void 0:M.style)||(null==e?void 0:e.style)}}),null==(f=g.setPattern)||f.call(g,"editable"),!l.current){l.current=!0;let e=t;void 0!==e&&g.setProps({defaultValue:e})}if(!P){let e=t;if(e!==n.current&&(n.current=e,void 0!==e)){let t=w?k(e):T(e);i.current=t,g.setProps({value:t}),o()}}},[e,t]),(0,m.jsx)("div",{style:{flexGrow:1},children:(0,m.jsx)(r.FlowModelRenderer,{model:x,showFlowSettings:!1})})},[x]);h.default.useEffect(()=>{var e,t,l,o;let n=null==s?void 0:s.operator,i=null==x||null==(t=x.subModels)||null==(e=t.fields)?void 0:e[0];if(!n||!i)return;let r=i.__originalRender||i.render;i.__originalRender=r;let a=(0,oP._)(s.context.app,n,(null==(o=s.collectionField)||null==(l=o.filterable)?void 0:l.operators)||[]);if(a&&i instanceof oA.m){let{Comp:e,props:t}=a;i.render=()=>{var l;return(0,m.jsx)(e,{...i.props,...t,style:{width:"100%",...null==(l=i.props)?void 0:l.style,...null==t?void 0:t.style}})}}else"function"==typeof r&&(i.render=r)},[s,x,null==s?void 0:s.operator]),h.default.useEffect(()=>{var e,t,l,o,n;let i=null==s?void 0:s.operator,r=null==x||null==(t=x.subModels)||null==(e=t.fields)?void 0:e[0];if(!r||!i)return;let a=((null==(o=s.collectionField)||null==(l=o.filterable)?void 0:l.operators)||[]).find(e=>e.value===i),d=null==a||null==(n=a.schema)?void 0:n["x-component-props"];d&&r.setProps(d)},[s,x,null==s?void 0:s.operator]);let w=(0,h.useMemo)(()=>function(){var e;return(0,m.jsx)(_.Input,{placeholder:`<${(null==(e=a.t)?void 0:e.call(a,"Null"))??"Null"}>`,readOnly:!0})},[a]),k=(0,h.useMemo)(()=>e=>(0,m.jsx)(tP.h,{t:a.t,value:null==e?void 0:e.value,onChange:null==e?void 0:e.onChange}),[a]),F=(0,h.useMemo)(()=>async()=>{var e,t,l,n;let i=[];return i="function"==typeof o?await o()||[]:Array.isArray(o)?o:(null==(n=a.getPropertyMetaTree)?void 0:n.call(a))||[],[{title:(null==(e=a.t)?void 0:e.call(a,"Constant"))??"Constant",name:"constant",type:"string",paths:["constant"],render:M},{title:(null==(t=a.t)?void 0:t.call(a,"Null"))??"Null",name:"null",type:"object",paths:["null"],render:w},{title:(null==(l=a.t)?void 0:l.call(a,"RunJS"))??"RunJS",name:"runjs",type:"object",paths:["runjs"],render:k},...i]},[o,a,M,w,k]);return h.default.useEffect(()=>{var e;let t=null==(e=x.subModels.fields)?void 0:e[0];null==t||t.setProps({disabled:!1})},[x,t]),(0,m.jsx)(r.VariableInput,{metaTree:F,value:t,onChange:l,...i,converters:{renderInputComponent:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?M:"null"===l?w:"runjs"===l?k:r.VariableTag},resolveValueFromPath:e=>{var t;let l=null==e||null==(t=e.paths)?void 0:t[0];return"constant"===l?"":"null"===l?null:"runjs"===l?{code:"",version:"v2"}:void 0},resolvePathFromValue:e=>null===e?["null"]:(0,r.isRunJSValue)(e)?["runjs"]:(0,r.isVariableExpression)(e)?(0,r.parseValueToPath)(e):["constant"]}})});class dI{get models(){let e=new Map;for(let t=0;t<localStorage.length;t++){let l=localStorage.key(t);if(l&&l.startsWith(`${this.prefix}flow-model:`)){let t=localStorage.getItem(l);if(t){let l=JSON.parse(t);e.set(l.uid,l)}}}return e}async findOne(e){let{uid:t,parentId:l}=e;return t?this.load(t):l?this.loadByParentId(l):null}async loadByParentId(e){for(let t of this.models.values())if(t.parentId==e)return console.log("Loading model by parentId:",e,t),this.load(t.uid);return null}async load(e){let t=localStorage.getItem(`${this.prefix}flow-model:${e}`);if(!t)return console.warn(`Model with uid ${e} not found in localStorage.`),null;let l=JSON.parse(t);for(let t of[...this.models.values()])if(t.parentId===e){if(l.subModels=l.subModels||{},"array"===t.subType){l.subModels[t.subKey]=l.subModels[t.subKey]||[];let e=await this.load(t.uid);l.subModels[t.subKey].push(e)}else if("object"===t.subType){let e=await this.load(t.uid);e&&(l.subModels[t.subKey]=e)}}return console.log("Loading model:",e,JSON.stringify(l,null,2)),l}async save(e){let t=e.serialize(),l=S.default.omit(t,["subModels","flowEngine"]);for(let t of(localStorage.setItem(`${this.prefix}flow-model:${e.uid}`,JSON.stringify(l)),console.log("Saving model:",e.uid,l),Object.keys(e.subModels||{}))){let l=e.subModels[t];if(l)if(Array.isArray(l))for(let e of l)await this.save(e);else l instanceof r.FlowModel&&await this.save(l)}return t}async destroy(e){return localStorage.removeItem(`${this.prefix}flow-model:${e}`),!0}async clear(){for(let e of Object.keys(localStorage))e.startsWith(`${this.prefix}flow-model:`)&&localStorage.removeItem(e);return!0}async move(e,t){arguments.length>2&&void 0!==arguments[2]&&arguments[2]}async duplicate(e){let t=await this.load(e);if(!t)return null;let l=()=>`dup_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`,o=(e,t)=>{let{subModels:n,flowEngine:i,...r}=e||{},a={...r};if(a.uid=l(),t&&(a.parentId=t),n&&"object"==typeof n)for(let e of(a.subModels={},Object.keys(n))){let t=n[e];Array.isArray(t)?a.subModels[e]=t.map(e=>o(e,a.uid)):t&&"object"==typeof t&&(a.subModels[e]=o(t,a.uid))}return a};return o(t)}constructor(e=""){this.prefix=e}}class dL{buildFindOneKey(e){let t=(null==e?void 0:e.uid)??"",l=(null==e?void 0:e.parentId)??"",o=(null==e?void 0:e.subKey)??"";return`uid:${t}|parentId:${l}|subKey:${o}`}async findOne(e){let t=this.buildFindOneKey(e),l=this.inFlightFindOne.get(t);if(l){let e=await l;return e?S.default.cloneDeep(e):e}let o=this.app.apiClient.request({url:"flowModels:findOne",params:S.default.pick(e,["uid","parentId","subKey"])}).then(e=>{var t;return null==(t=e.data)?void 0:t.data}).finally(()=>{this.inFlightFindOne.delete(t)});this.inFlightFindOne.set(t,o);let n=await o;return n?S.default.cloneDeep(n):n}async save(e,t){var l;let o=e.serialize();return(null==t?void 0:t.onlyStepParams)&&delete o.subModels,null==(l=(await this.app.apiClient.request({method:"POST",url:"flowModels:save",data:o})).data)?void 0:l.data}async destroy(e){return await this.app.apiClient.request({method:"POST",url:"flowModels:destroy",params:{filterByTk:e}}),!0}async move(e,t){var l;let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"after";return null==(l=(await this.app.apiClient.request({method:"POST",url:"flowModels:move",params:{sourceId:e,targetId:t,position:o}})).data)?void 0:l.data}async duplicate(e){var t;return null==(t=(await this.app.apiClient.request({method:"POST",url:"flowModels:duplicate",params:{uid:e}})).data)?void 0:t.data}constructor(e){this.app=e,this.inFlightFindOne=new Map}}function dY(e){return!!e&&"object"==typeof e}function dD(e){if(e){if("string"==typeof e)return e;if(dY(e))return e.eventName}}function dE(e){let t=e.phase;if(!t||"beforeAllFlows"===t){delete e.phase,delete e.flowKey,delete e.stepKey;return}if("afterAllFlows"===t){delete e.flowKey,delete e.stepKey;return}if("beforeFlow"===t||"afterFlow"===t){delete e.stepKey,e.flowKey||delete e.flowKey;return}if("beforeStep"===t||"afterStep"===t){e.flowKey||delete e.flowKey,e.stepKey||delete e.stepKey;return}}function dR(e){let t=e.phase;if(t&&"beforeAllFlows"!==t&&"afterAllFlows"!==t){if(("beforeFlow"===t||"afterFlow"===t||"beforeStep"===t||"afterStep"===t)&&!e.flowKey)return"flowKey";if(("beforeStep"===t||"afterStep"===t)&&!e.stepKey)return"stepKey"}}let dN=e=>{let{model:t}=e,l=t.translate.bind(t),o=()=>{let e=document.querySelector(`#${r.GLOBAL_EMBED_CONTAINER_ID}`);e&&t.context.viewer.embed({type:"embed",target:e,title:l("Edit event flows"),onOpen(){e.style.width="33.3%",e.style.maxWidth="800px",e.style.minWidth="0px"},onClose(){"1"!==e.dataset[r.EMBED_REPLACING_DATA_KEY]&&(e.style.width="auto",e.style.maxWidth="none",e.style.minWidth="auto")},content:(0,m.jsx)(dG,{model:t})})};return(0,m.jsx)(E.ThunderboltOutlined,{style:{cursor:"pointer"},onClick:o})},dB={display:"flex",alignItems:"center",marginBottom:16,paddingBottom:8,borderBottom:"1px solid #f0f0f0"},dO={width:"4px",height:"16px",borderRadius:"2px",marginRight:8},dH={margin:0,fontSize:14,fontWeight:500,color:"#262626"},dq={marginBottom:8,fontSize:14,fontWeight:500,color:"#262626"},d$={marginInlineStart:4,color:"#ff4d4f"},dV={marginInlineStart:2,marginInlineEnd:8},dz=e=>{let{color:t,children:l}=e;return(0,m.jsxs)("div",{style:dB,children:[(0,m.jsx)("div",{style:{...dO,backgroundColor:t}}),(0,m.jsx)("h4",{style:dH,children:l})]})},dK=e=>{let{children:t,required:l,style:o}=e;return(0,m.jsxs)("div",{style:{...dq,...o},children:[t,l&&(0,m.jsx)("span",{style:d$,children:"*"}),(0,m.jsx)("span",{style:dV,children:":"})]})},dU=(0,r.observer)(e=>{var t;let{flow:l,model:o,flowEngine:n}=e,i=(0,r.useFlowContext)(),a=o.translate.bind(o),s=(0,v.useUpdate)(),[d,u]=h.default.useState([]),c=dD(l.on),p=dY(l.on)?l.on:void 0,f=c?null==(t=o.getEvent(c))?void 0:t.uiSchema:void 0,g="function"==typeof f?f(i):f,y=null==p?void 0:p.defaultParams,b=h.default.useCallback(()=>{if(dY(l.on))return l.on;if(!c)return;let e={eventName:c};return l.on=e,e},[c,l]),x=(null==p?void 0:p.phase)?String(p.phase):"beforeAllFlows",M=(null==p?void 0:p.flowKey)?String(p.flowKey):void 0,w=(null==p?void 0:p.stepKey)?String(p.stepKey):void 0,k=h.default.useMemo(()=>[...o.getEvents().values()],[o]);h.default.useEffect(()=>{let e=!1;return(async()=>{let t=[];for(let e of k)await (0,r.shouldHideEventInSettings)(o,l,e)||t.push({label:o.translate(e.title),value:e.name});e||u(e=>S.default.isEqual(e,t)?e:t)})(),()=>{e=!0}},[l,o,k]);let F=h.default.useMemo(()=>c?Array.from(o.constructor.globalFlowRegistry.getFlows().values()).filter(e=>"beforeRender"===c?!0!==e.manual&&(!e.on||"beforeRender"===dD(e.on)):dD(e.on)===c):[],[c,o]),C=h.default.useMemo(()=>new Map(F.map(e=>[e.key,e])),[F]),A=h.default.useCallback((e,t)=>{if(!t)return e;let l=a(String(t));return`${e} (${l})`},[a]),P=h.default.useMemo(()=>F.map(e=>({value:e.key,label:A(String(e.key),e.title),disabled:o.flowRegistry.hasFlow(e.key)})),[A,o.flowRegistry,F]),T=h.default.useMemo(()=>{if(!M)return[];let e=C.get(M);return e?e.mapSteps(e=>{let t=e.use?o.getAction(e.use):void 0,l=e.title||(null==t?void 0:t.title);return{value:e.key,label:A(String(e.key),l)}}):[]},[M,A,o,C]),j=h.default.useMemo(()=>[{value:"beforeAllFlows",label:a("Before all flows")},{value:"afterAllFlows",label:a("After built-in flows")},{value:"beforeFlow",label:a("Before built-in flow")},{value:"afterFlow",label:a("After built-in flow")},{value:"beforeStep",label:a("Before built-in flow step")},{value:"afterStep",label:a("After built-in flow step")}],[a]),I=["beforeFlow","afterFlow","beforeStep","afterStep"].includes(x),L=["beforeStep","afterStep"].includes(x),Y=p?dR(p):void 0,D="flowKey"===Y,E="stepKey"===Y,R=e=>{let t=dY(l.on)?l.on:{eventName:e};l.on=t,t.eventName=e,delete t.phase,delete t.flowKey,delete t.stepKey,s()};return(0,m.jsxs)("div",{style:{marginBottom:32},children:[(0,m.jsx)(dz,{color:"#1890ff",children:a("Event")}),(0,m.jsxs)("div",{style:{paddingLeft:12},children:[(0,m.jsxs)("div",{style:{marginBottom:16},children:[(0,m.jsx)(dK,{children:a("Trigger event")}),(0,m.jsx)(_.Select,{placeholder:a("Select trigger event"),style:{width:"100%"},value:c,onChange:e=>{R(e)},options:d})]}),(0,m.jsxs)("div",{style:{marginBottom:16},children:[(0,m.jsx)(dK,{children:a("Execution timing")}),(0,m.jsx)(_.Select,{style:{width:"100%"},disabled:!c,value:x,onChange:e=>{let t=b();t&&(t.phase=e,dE(t),s())},options:j}),I&&(0,m.jsxs)("div",{style:{marginTop:12,display:"flex",flexDirection:"column",gap:12},children:[(0,m.jsxs)("div",{children:[(0,m.jsx)(dK,{required:I,style:{marginBottom:6},children:a("Built-in flow")}),(0,m.jsx)(_.Select,{style:{width:"100%"},disabled:!c||0===P.length,placeholder:a("Select a built-in flow"),value:M,status:D?"error":void 0,options:P,onChange:e=>{let t=b();t&&(e?t.flowKey=e:delete t.flowKey,delete t.stepKey,s())}}),D&&(0,m.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:a("Please select a built-in flow")})]}),L&&(0,m.jsxs)("div",{children:[(0,m.jsx)(dK,{required:L,style:{marginBottom:6},children:a("Built-in flow step")}),(0,m.jsx)(_.Select,{style:{width:"100%"},disabled:!c||!M||0===T.length,placeholder:a("Select a built-in flow step"),value:w,status:E?"error":void 0,options:T,onChange:e=>{let t=b();t&&(e?t.stepKey=e:delete t.stepKey,s())}}),E&&(0,m.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#ff4d4f"},children:a("Please select a built-in flow step")})]}),0===P.length&&(0,m.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#8c8c8c"},children:a("No built-in flows for this event")})]})]}),c&&n.flowSettings.renderStepForm({key:c,uiSchema:g,initialValues:y,flowEngine:n,onFormValuesChange:e=>{let t=b();t&&(t.defaultParams=e.values)}})]})]})}),dG=(0,r.observer)(e=>{let{model:t}=e,l=(0,r.useFlowContext)(),o=t.flowEngine,[n,i]=h.default.useState(!1),a=t.translate.bind(t),s=()=>{t.flowRegistry.addFlow((0,H.uid)(),{title:a("Event flow"),steps:{}})},d=e=>{e.remove()},u=(e,t)=>{e.title=t},c=()=>[...t.getActions().values()].filter(e=>S.default.castArray(e.scene).includes(r.ActionScene.DYNAMIC_EVENT_FLOW)).sort((e,t)=>(e.sort??0)-(t.sort??0)),p=(e,t)=>{let l={use:t.name};e.addStep((0,H.uid)(),l)},f=e=>{e.remove()},g=(e,t)=>{e.defaultParams=t},v=e=>(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,m.jsx)("div",{style:{flex:1,marginRight:16},children:(0,m.jsx)(_.Input,{value:e.title,onChange:t=>u(e,t.target.value),onClick:e=>e.stopPropagation(),placeholder:a("Enter flow title")})}),(0,m.jsx)(_.Space,{onClick:e=>e.stopPropagation(),children:(0,m.jsx)(_.Tooltip,{title:"Delete",children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.DeleteOutlined,{}),onClick:()=>d(e)})})})]}),y=t.flowRegistry.mapFlows(e=>({key:e.key,label:v(e),styles:{header:{display:"flex",alignItems:"center"}},children:(0,m.jsxs)("div",{children:[(0,m.jsx)(dU,{flow:e,model:t,flowEngine:o}),(0,m.jsxs)("div",{children:[(0,m.jsx)(dz,{color:"#52c41a",children:a("Steps")}),(0,m.jsxs)("div",{style:{paddingLeft:12},children:[(0,m.jsx)("div",{style:{marginBottom:16},children:e.mapSteps(e=>{let l=t.getAction(e.use);return l?(0,m.jsxs)("div",{style:{border:"1px solid #f0f0f0",borderRadius:"6px",padding:"12px",marginBottom:"8px"},children:[(0,m.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},children:[(0,m.jsxs)("span",{style:{fontWeight:600,color:"#262626"},children:[a(l.title),(0,m.jsx)("span",{style:{marginInlineStart:2,marginInlineEnd:8},children:":"})]}),(0,m.jsx)(_.Tooltip,{title:a("Delete step"),children:(0,m.jsx)(_.Button,{type:"text",size:"small",icon:(0,m.jsx)(E.DeleteOutlined,{}),onClick:()=>f(e)})})]}),(0,m.jsx)("div",{children:h.default.createElement(r.FlowStepContext.Provider,{value:{params:(0,r.untracked)(()=>e.defaultParams),path:`${t.uid}_${e.flowKey}_${e.key}`}},o.flowSettings.renderStepForm({uiSchema:l.uiSchema,initialValues:(0,r.untracked)(()=>e.defaultParams),flowEngine:o,onFormValuesChange:t=>g(e,t.values)}))})]},e.key):null})}),(0,m.jsx)(_.Dropdown,{menu:{items:c().map(t=>({key:t.name,label:a(t.title)||t.name,onClick:()=>p(e,t)}))},trigger:["hover"],children:(0,m.jsx)(_.Button,{type:"link",icon:(0,m.jsx)(E.PlusOutlined,{}),style:{padding:0,height:"auto",textAlign:"left"},children:a("Add step")})})]})]})]})}));return(0,m.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,m.jsxs)("div",{style:{flex:1,padding:"16px",overflow:"auto",minHeight:0},children:[y.length>0?(0,m.jsx)(_.Collapse,{items:y,size:"small",style:{marginBottom:8},defaultActiveKey:[y[0].key],accordion:!0}):(0,m.jsx)("div",{style:{border:"1px dashed #d9d9d9",borderRadius:"6px",backgroundColor:"#fafafa",marginBottom:"8px"},children:(0,m.jsx)(_.Empty,{description:a("No event flows"),style:{margin:"20px 0"}})}),(0,m.jsx)(_.Button,{type:"dashed",icon:(0,m.jsx)(E.PlusOutlined,{}),onClick:s,style:{width:"100%"},children:a("Add event flow")})]}),(0,m.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",padding:"8px 16px",borderTop:"1px solid #f0f0f0",backgroundColor:"#fff",flexShrink:0},children:[(0,m.jsx)(_.Button,{onClick:()=>l.view.destroy(),children:a("Cancel")}),(0,m.jsx)(_.Button,{type:"primary",loading:n,onClick:async()=>{var e,o,n,s,d,u,c,p,m;i(!0);let h=t.flowRegistry.mapFlows(e=>{if(!dY(e.on))return;dE(e.on);let t=dR(e.on);if(t)return{type:t}}).filter(Boolean)[0];if(h){let e="flowKey"===h.type?a("Please select a built-in flow"):a("Please select a built-in flow step");null==(u=t.context)||null==(d=u.message)||null==(s=d.error)||s.call(d,e),i(!1);return}try{let e=[];for(let l of t.flowRegistry.mapFlows(e=>e))for(let o of l.mapSteps(e=>e)){let n=o.serialize(),i=o.use?t.getAction(o.use):void 0,a=n.beforeParamsSave||(null==i?void 0:i.beforeParamsSave),s=n.afterParamsSave||(null==i?void 0:i.afterParamsSave);if("function"!=typeof a&&"function"!=typeof s)continue;let d=new r.FlowRuntimeContext(t,l.key,"settings");(0,r.setupRuntimeContextSteps)(d,l.steps,t,l.key),d.defineProperty("currentStep",{value:n});let u={...o.defaultParams||{}},c={...o.defaultParams||{}};"function"==typeof a&&await a(d,u,c),"function"==typeof s&&e.push(async()=>{await s(d,u,c)}),o.defaultParams=u}for(let l of(await t.flowRegistry.save(),e))await l()}catch(e){null==(m=t.context)||null==(p=m.message)||null==(c=p.error)||c.call(p,"Steps post-save hooks failed to run"),console.error(e)}t.flowRegistry.mapFlows(e=>{if((0,r.isBeforeRenderFlow)(e))return e}).filter(Boolean).length>0&&t.rerender(),i(!1),null==(n=t.context)||null==(o=n.message)||null==(e=o.success)||e.call(o,a("Configuration saved")),l.view.destroy()},children:a("Save")})]})]})});var dW=l(6662);let dJ=()=>{let e=(0,r.useFlowContext)().app,t=e.pm.get("@nocobase/plugin-block-markdown");return t.dependencyLoaded||(t.initVditorDependency(e),t.dependencyLoaded=!0),t.getCDN(e)};var dX=l(1196);let dQ="nb-markdown-vditor";function dZ(){let{theme:e,token:t,hashId:l}=_.theme.useToken(),o=(0,dX.useStyleRegister)({theme:e,token:t,hashId:l,path:["flow-markdown",dQ]},()=>({[`.${dQ}`]:{".vditor-reset":{fontSize:`${t.fontSize}px !important`,color:"unset"},".vditor":{borderRadius:8},".vditor .vditor-content":{borderRadius:"0 0 8px 8px",overflow:"hidden"},".vditor .vditor-toolbar":{paddingLeft:" 16px !important",borderRadius:"8px 8px 0 0"},".vditor .vditor-content .vditor-ir .vditor-reset":{padding:"10px !important"},".vditor-ir pre.vditor-reset":{backgroundColor:`${t.colorBgContainer}!important`},".vditor-preview":{display:"none !important"},".vditor-preview__action":{display:"none"}}}));return{wrapSSR:(0,h.useMemo)(()=>o,[o,e,t,l]),hashId:l,componentCls:dQ}}function d0(e){let t=new DOMParser().parseFromString(e,"text/html");t.querySelectorAll("img").forEach(e=>{let t=e.getAttribute("src");t&&e.replaceWith(document.createTextNode(` [Image: ${t}] `))});let l=t.body.textContent||t.body.innerText;return(null==l?void 0:l.replace(/\n|\r/g," "))||""}let d1=e=>{if(e){let t=document.createRange();return t.selectNodeContents(e),t.getBoundingClientRect().width}};function d2(e){let t=(0,h.useRef)(null),{wrapSSR:l,componentCls:o,hashId:n}=dZ(),i=dJ();return(0,h.useEffect)(()=>{e.loadImages&&(__rspack_external_vditor.default.preview(t.current,e.value??"",{mode:"light",cdn:i}),setTimeout(()=>{var e,l;null==(e=t.current)||e.querySelectorAll("img").forEach(e=>{e.style.cursor="zoom-in",e.addEventListener("click",()=>{d5(e.src)})}),null==(l=t.current)||l.querySelectorAll("qr-code").forEach(e=>{let t=e.getAttribute("value")||"",l=document.createElement("div");e.replaceWith(l),(0,dW.createRoot)(l).render((0,m.jsx)(_.QRCode,{value:t}))})},300))},[e.value,e.loadImages,i]),l((0,m.jsx)("span",{className:`${n} ${o}`,children:(0,m.jsx)("span",{ref:t,style:{border:"none",...(null==e?void 0:e.style)??{}}})}))}function d5(e){if(document.getElementById("custom-image-preview"))return;let t=document.createElement("span");t.id="custom-image-preview",Object.assign(t.style,{position:"fixed",inset:"0",backgroundColor:"rgba(0,0,0,0.85)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:"9999",cursor:"zoom-out"});let l=document.createElement("img");l.src=e,Object.assign(l.style,{maxWidth:"90%",maxHeight:"90%",borderRadius:"8px",boxShadow:"0 0 20px rgba(0,0,0,0.5)",transition:"transform 0.2s",cursor:"zoom-out"}),t.addEventListener("click",()=>{document.body.removeChild(t)}),t.appendChild(l),document.body.appendChild(t)}let d4=e=>{let{value:t,textOnly:l=!0}=e,o=dJ(),[n,i]=(0,h.useState)(!1),[r,a]=(0,h.useState)(!1),[s,d]=(0,h.useState)(!1),[u,c]=(0,h.useState)(""),p=(0,h.useRef)();(0,h.useEffect)(()=>{e.value&&l&&__rspack_external_vditor.default.md2html(e.value,{mode:"light",cdn:o}).then(e=>{c(d0(e))}).catch(()=>c(""))},[e.value,l]);let f=(0,h.useCallback)(()=>{var e;return!!p.current&&d1(p.current)>(null==(e=p.current)?void 0:e.offsetWidth)},[p]),g=e=>{i(e),e&&!s&&d(!0)};return e.ellipsis?(0,m.jsx)(_.Popover,{open:n,getPopupContainer:()=>{var e;return null==(e=document.getElementsByClassName("ant-drawer-content"))?void 0:e[0]},onOpenChange:e=>{g(r&&e)},overlayStyle:{maxWidth:600},content:(0,m.jsx)("div",{style:{maxHeight:400,overflow:"auto"},children:(0,m.jsx)(d2,{value:t,loadImages:s})}),children:(0,m.jsx)("div",{ref:p,style:{overflow:"hidden",overflowWrap:"break-word",textOverflow:"ellipsis",whiteSpace:"nowrap",wordBreak:"break-all"},onMouseEnter:e=>{let t=e.target;f()&&a(t.scrollWidth>=t.clientWidth)},children:l?u:(0,m.jsx)("div",{className:(0,e9.css)`
|
|
738
738
|
.vditor-reset {
|
|
739
739
|
white-space: nowrap;
|
|
740
740
|
display: -webkit-box;
|
|
@@ -744,7 +744,7 @@ ctx.render(<JsItem />);
|
|
|
744
744
|
text-overflow: ellipsis;
|
|
745
745
|
word-break: break-word;
|
|
746
746
|
}
|
|
747
|
-
`,children:(0,m.jsx)(
|
|
747
|
+
`,children:(0,m.jsx)(d2,{value:t,loadImages:!0})})})}):l?u:(0,m.jsx)(d2,{value:t,loadImages:!0})},d8=["headings","bold","italic","strike","link","list","ordered-list","check","quote","line","code","inline-code","upload","fullscreen"],d3="block-markdown",d6=["en_US","fr_FR","pt_BR","ja_JP","ko_KR","ru_RU","sv_SE","zh_CN","zh_TW"],d9=e=>{let{disabled:t,onChange:l,value:o,fileCollection:n,toolbar:i,vditorRef:s}=e,d=(0,r.useFlowContext)(),[u,c]=(0,h.useState)(!1),p=(0,h.useRef)();(0,h.useRef)(!1);let f=(0,h.useRef)(null),g=(0,h.useRef)(null),v=d.api,y=dJ(),{wrapSSR:b,hashId:x,componentCls:M}=dZ(),w=v.auth.locale||"en-US",S=d.app.pm.get("@nocobase/plugin-file-manager"),k=(0,h.useRef)(d.t.bind(d));k.current=d.t.bind(d);let{t:C}=(0,F.useTranslation)(),A=(0,a.$5)(),P=(0,a.fl)("drawer",A+1e3,0),T=(0,h.useMemo)(()=>{let e=w.replace(/-/g,"_");return d6.includes(e)?e:"en_US"},[w]);return(0,h.useEffect)(()=>{if(!f.current)return;let r=i??d8,a=new __rspack_external_vditor.default(f.current,{value:o??"",lang:T,cache:{enable:!1},undoDelay:0,mode:e.mode||"ir",preview:{math:{engine:"KaTeX"}},toolbar:r,fullscreen:{index:1200},cdn:y,minHeight:200,height:e.height,after:()=>{p.current=a,c(!0),a.setValue(o??""),t?a.disabled():(a.enable(),document.querySelectorAll("qr-code").forEach(e=>{let t=e.getAttribute("value")||"",l=document.createElement("div");e.replaceWith(l),(0,dW.createRoot)(l).render((0,m.jsx)(_.QRCode,{value:t}))}))},input(e){l(e)},upload:{multiple:!1,fieldName:"file",async handler(e){var t,l,o,i,r,s,d,u;let c=e[0];a.focus();let{data:p}=await v.resource("vditor").check({fileCollectionName:n});if(!(null==p||null==(t=p.data)?void 0:t.isSupportToUploadFiles))return void a.tip(C("vditor.uploadError.message",{ns:d3,storageTitle:null==(u=p.data.storage)?void 0:u.title}),0);a.tip(C("uploading"),0);let{data:m,errorMessage:h}=await S.uploadFile({file:c,fileCollectionName:n,storageId:null==p||null==(o=p.data)||null==(l=o.storage)?void 0:l.id,storageType:null==p||null==(r=p.data)||null==(i=r.storage)?void 0:i.type,storageRules:null==p||null==(d=p.data)||null==(s=d.storage)?void 0:s.rules});if(h)return void a.tip(k.current(h),3e3);if(!m)return void a.tip(C("Response data is empty",{ns:d3}),3e3);let f=m.filename,g=m.url;return c.type.startsWith("image/")?a.insertValue(``):a.insertValue(`[${f}](${g})`),a.tip(C(""),10),null}}});s.current=a;let d=f.current;if(!d)return;let u=new MutationObserver(()=>{let e=d.classList.contains("vditor--fullscreen"),t=d.querySelectorAll(".vditor-reset"),l=d.querySelectorAll(".vditor-toolbar");t.forEach(t=>{t.style.padding=e?"10px 200px":""}),l.forEach(t=>{t.style.paddingLeft=e?"200px":""})});return u.observe(d,{attributes:!0,attributeFilter:["class"]}),()=>{var e;null==(e=p.current)||e.destroy(),p.current=void 0,u.disconnect()}},[null==i?void 0:i.join(",")]),(0,h.useEffect)(()=>{if(u&&p.current){let i=p.current;if(o!==i.getValue()){var e,t,l,n;i.setValue(o??"");let r=null==(e=f.current)?void 0:e.querySelector("div.vditor-content > div.vditor-ir > pre"),a=null==(t=f.current)?void 0:t.querySelector(".vditor-content"),s=r&&(document.activeElement===r||r.contains(document.activeElement)||(null==(n=document.activeElement)||null==(l=n.closest)?void 0:l.call(n,".vditor-content"))===a);if(r&&s){let e=document.createRange(),t=window.getSelection();t&&(e.selectNodeContents(r),e.collapse(!1),t.removeAllRanges(),t.addRange(e))}}}},[o,u]),(0,h.useEffect)(()=>{u&&p.current&&(t?p.current.disabled():p.current.enable())},[t,u]),(0,h.useEffect)(()=>{if(!g.current)return;let e=new MutationObserver(e=>{for(let t of e)for(let e of Array.from(t.addedNodes))e instanceof HTMLElement&&e.classList.contains("vditor-img")&&(g.current.appendChild(e),e.style.zIndex=String(P))});return e.observe(document.body,{childList:!0}),()=>{e.disconnect()}},[P]),b((0,m.jsx)("div",{ref:g,className:`${x} ${M}`,children:(0,m.jsx)("div",{ref:f})}))},d7=e=>{let{value:t="",onChange:l,placeholder:o,style:n,quoteFlag:i,enableContextSelect:a=!0,...s}=e,d=(0,r.useFlowContext)(),[u,c]=(0,h.useState)(t||""),p=(0,h.useRef)(null),f=!!d.model.context.flowSettingsEnabled;(0,h.useEffect)(()=>{!1!==i&&c(t)},[t]);let g=(0,h.useCallback)(e=>{let t=(e??"").replace(/^\s+/g,"");null==l||l(t),c(t)},[l]),v=(0,h.useCallback)(e=>{let t=p.current;if(!t)return void console.warn("Vditor 尚未初始化,无法插入文本");if(t.getCursorPosition()){let l=t.getCursorPosition().top,o=t.getValue().split("\n"),n=document.querySelector(".vditor-reset"),i=o[Math.floor(l/(parseFloat(window.getComputedStyle(n).lineHeight)||20))]??"";(i.includes("{%")||i.includes("%}"))&&(e=e.replace(/^{{\s*(.*?)\s*}}$/,"$1"))}t.insertValue(e);let o=t.getValue();c(o),null==l||l(o),requestAnimationFrame(()=>{t.focus()})},[u,l]),y=(0,h.useCallback)(e=>{e&&v(e)},[v]),b=(0,h.useMemo)(()=>()=>{var e;return null==(e=d.getPropertyMetaTree)?void 0:e.call(d)},[d]);return(0,m.jsxs)("div",{style:{position:"relative",width:"100%",...n},children:[(0,m.jsx)(d9,{vditorRef:p,value:u,onChange:g,placeholder:o,style:{width:"100%"},...s}),f&&a&&(0,m.jsx)("div",{style:{position:"absolute",top:10,right:10,zIndex:1,lineHeight:0},children:(0,m.jsx)(r.FlowContextSelector,{metaTree:b,onChange:e=>y(e),onlyLeafSelectable:!1,children:(0,m.jsx)(_.Button,{type:"default",className:(0,e9.css)`
|
|
748
748
|
font-style: italic;
|
|
749
749
|
font-family: 'New York, Times New Roman, Times, serif';
|
|
750
750
|
line-height: 1;
|
|
@@ -753,7 +753,7 @@ ctx.render(<JsItem />);
|
|
|
753
753
|
border-top-color: transparent;
|
|
754
754
|
background-color: transparent;
|
|
755
755
|
}
|
|
756
|
-
`,children:"x"})})})]})};class d9{render(e,t){if(!e)return null;try{return(0,m.jsx)(d2,{value:e,...t})}catch(e){return console.error("渲染失败:",e),(0,m.jsxs)("pre",{style:{color:"red"},children:["Markdown 渲染错误:",e.message]})}}edit(e){try{return(0,m.jsx)(d6,{...e})}catch(e){return(0,m.jsxs)("pre",{style:{color:"red"},children:["Markdown 编辑器加载错误:",e.message]})}}}class d7 extends __rspack_external_liquidjs.Liquid{transformLiquidContext(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={};for(let l of e){let e=l.replace(/^ctx\./,"").split("."),o=t;for(let t=0;t<e.length;t++){let n=e[t];t===e.length-1?o[n]=`{{${l}}}`:(o[n]=o[n]||{},o=o[n])}}return t}async render(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{return await this.parseAndRender(e,t)}catch(e){return console.error("[Liquid] 模板解析失败:",e),`<pre style="color:red;">Liquid 模板错误:${e.message}</pre>`}}isFieldUsed(e,t){return t.some(t=>t.replace(/^ctx\./,"").endsWith(e))}enrichArrayFieldsSelective(e,t){if(e&&"object"==typeof e)for(let l in e){let o=e[l];if(Array.isArray(o)&&o.length&&"object"==typeof o[0]){let e=o;Object.keys(e[0]).filter(o=>["string","number","boolean"].includes(typeof e[0][o])&&this.isFieldUsed(`${l}.${o}`,t)).forEach(t=>{e[t]=e.map(e=>null!=e[t]?e[t]:"").join(",")}),e.forEach(e=>this.enrichArrayFieldsSelective(e,t))}else o&&"object"==typeof o&&this.enrichArrayFieldsSelective(o,t)}}async renderWithFullContext(e,t){if(e)try{"number"==typeof e&&(e=String(e)),e=e.replace(/\{\{\s*t\s*\(\s*(['"])([\s\S]*?)\1\s*(?:,\s*\{\s*ns\s*:\s*(['"])([\s\S]*?)\3\s*\}\s*)?\)\s*\}\}/g,(e,l,o,n,i)=>{try{let e=i?t.t(o,{ns:i}):t.t(o);if(null==e)return"";return/[{][{%]/.test(e)?`{% raw %}${e}{% endraw %}`:e}catch{return e}});let l=await this.fullVariables(e),o=l.map(e=>this.transformLiquidContext([e])),n=(await Promise.all(o.map(e=>t.resolveJsonTemplate(e)))).reduce((e,t)=>(0,S.merge)(e,t),{});return this.enrichArrayFieldsSelective(n,l),await this.render(e,{ctx:n})}catch(t){return e}}constructor(e){super({extname:".liquid",cache:!0,...e}),this.registerFilter("t",e.ctx.t),this.registerFilter("log",e=>(console.log("[Liquid log]",e),e))}}var ue=l(7520),ut=l(964),ul=l(7152),uo=l(5056);class un extends s.Plugin{async load(){this.app.addComponents({FlowRoute:y.default}),this.app.flowEngine.setModelRepository(new dj(this.app));let e=Object.fromEntries(Object.entries(n).filter(e=>{let[,t]=e;return"function"==typeof t&&t.prototype instanceof r.FlowModel}));this.flowEngine.registerModels(e),this.flowEngine.registerActions(i),this.flowEngine.registerActions(o),this.flowEngine.flowSettings.registerComponents({IconPicker:a.ar,DefaultValue:dP,FlowSettingsVariableTextArea:u.n}),this.flowEngine.flowSettings.addToolbarItem({key:"dynamic-flows-editor",component:dE,visible:e=>e.getEvents().size>0,sort:0});let t=new d9;this.flowEngine.context.defineProperty("markdown",{get:()=>t});let s=new d7({ctx:this.flowEngine.context});this.flowEngine.context.defineProperty("liquid",{get:()=>s}),this.flowEngine.context.defineMethod("previewRunJS",async function(e,t){let o=await Promise.resolve().then(l.bind(l,426));return await o.previewRunJS(String(e??""),this,{version:t})},{description:"Preview/diagnose a RunJS snippet (lint + sandbox execution).",detail:"(code: string, version?: string) => Promise<{ success: boolean; message: string }>",params:[{name:"code",type:"string",description:"RunJS code to preview."},{name:"version",type:"string",description:"RunJS version override (e.g. v1/v2)."}],returns:{type:"Promise<PreviewRunJSResult>",description:"Preview result."},completion:{insertText:"await ctx.previewRunJS('console.log(1)', 'v2')"}})}}},9378(e,t,l){l.d(t,{g:()=>m});var o=l(1178),n=l(1649);let i=l(7583).default.memoize(async e=>e?(await Promise.resolve().then(l.bind(l,248))).default.render(e):e);function r(e){let[t,l]=(0,n.useState)(""),[o,r]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{r(!0),i(e).then(e=>{l(e),r(!1)}).catch(e=>console.log(e))},[e]),{html:t,loading:o}}function a(e){let t=e,l=document.createElement("div");l.innerHTML=t;let o=l.innerText;return l=null,(null==o?void 0:o.replace(/[\n\r]/g,""))||""}var s=l(2741),d=l(691),u=l(504),c=l(2793);let p=()=>{let e=(0,u.useFlowContext)(),{token:t}=c.theme.useToken(),l=!!e.isDarkTheme,o=new s.TinyColor(t.colorFillAlter).onBackground(t.colorBgContainer).toHexShortString(),n={lineHeight:"inherit","&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:t.colorFillQuaternary,border:`1px solid ${t.colorBorder}`,borderRadius:t.borderRadiusSM},blockquote:{borderLeft:"4px solid #ccc",paddingLeft:"20px",marginLeft:"0",color:"#666",fontStyle:"italic"},img:{maxWidth:"100%"},".hljs":{background:"#f8f8f8",color:"#444"},".hljs-comment":{color:"#697070"},".hljs-punctuation,.hljs-tag":{color:"#444a"},".hljs-tag .hljs-attr,.hljs-tag .hljs-name":{color:"#444"},".hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag":{fontWeight:700},".hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type":{color:"#800"},".hljs-section,.hljs-title":{color:"#800",fontWeight:700},".hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable":{color:"#ab5656"},".hljs-literal":{color:"#695"},".hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code":{color:"#397300"},".hljs-meta":{color:"#1f7199"},".hljs-meta .hljs-string":{color:"#38a"},".hljs-emphasis":{fontStyle:"italic"},".hljs-strong":{fontWeight:700}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${t.colorBorderSecondary}`,padding:`${t.paddingContentVertical}px ${t.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:o,fontWeight:"bold",color:t.colorText},"tr:hover":{backgroundColor:t.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}},i={"&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:t.colorFillQuaternary,border:`1px solid ${t.colorBorder}`,borderRadius:t.borderRadiusSM},".hljs":{color:"#adbac7",background:"#22272e"},".hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_":{color:"#f47067"},".hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_":{color:"#dcbdfb"},".hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable":{color:"#6cb6ff"},".hljs-meta .hljs-string,.hljs-regexp,.hljs-string":{color:"#96d0ff"},".hljs-built_in,.hljs-symbol":{color:"#f69d50"},".hljs-code,.hljs-comment,.hljs-formula":{color:"#768390"},".hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag":{color:"#8ddb8c"},".hljs-subst":{color:"#adbac7"},".hljs-section":{color:"#316dca",fontWeight:700},".hljs-bullet":{color:"#eac55f"},".hljs-emphasis":{color:"#adbac7",fontStyle:"italic"},".hljs-strong":{color:"#adbac7",fontWeight:700},".hljs-addition":{color:"#b4f1b4",backgroundColor:"#1b4721"},".hljs-deletion":{color:"#ffd8d3",backgroundColor:"#78191b"}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${t.colorBorderSecondary}`,padding:`${t.paddingContentVertical}px ${t.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:o,fontWeight:"bold",color:t.colorText},"tr:hover":{backgroundColor:t.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}};return(0,d.css)({lineHeight:t.lineHeight,"& > *:last-child":{marginBottom:"0"},".ant-description-textarea, .ant-description-input":{lineHeight:t.lineHeight},".field-interface-datetime":{minWidth:"100px"},img:{maxWidth:"100%"},...l?i:n})},m=e=>{let{textOnly:t,overflowMode:l,style:i}=e,s=p(),{html:d=""}=r(e.value),u=a(d),m="ellipsis"===l,h=(0,n.useRef)(null),[f,g]=(0,n.useState)(!1);(0,n.useEffect)(()=>{if(h.current){let e=h.current;g(e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight)}},[d,i,l]);let v={...i||{},...m?{display:"-webkit-box",WebkitLineClamp:1,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-word",cursor:"default"}:{}},y=(0,o.jsx)("div",{ref:h,className:`${s} nb-markdown`,dangerouslySetInnerHTML:{__html:t?u:d},style:v});return m&&f?(0,o.jsx)(c.Tooltip,{title:(0,o.jsx)("div",{dangerouslySetInnerHTML:{__html:d},style:{maxHeight:500,overflowY:"auto",padding:10,color:"#000"}}),overlayInnerStyle:{background:"#fff",color:"#000",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"},color:"#fff",children:y}):y}},248(e,t,l){function o(e,t){function l(e){return e.split(/\s+/g)[0]}__rspack_external_mermaid.default.initialize({securityLevel:"loose",...t});let o=e.renderer.rules.fence;function n(e,t,n,i,r){let a=e[t],s=a.info.trim();if(-1===["mermaid","{mermaid}"].indexOf(s?l(s):""))return void 0!==o?o(e,t,n,i,r):"";let d="",u=[],c=document.createElement("div");document.body.appendChild(c);try{let e="mermaid-container";__rspack_external_mermaid.default.mermaidAPI.render(e,a.content,t=>{let l=document.getElementById(e);null!==l&&u.push(["style",`max-width:${l.style.maxWidth};max-height:${l.style.maxHeight}`]),d=t},c)}catch(e){return`<div class="alert alert-danger">${e}</div>`}finally{c.remove()}return u.push(["src",`data:image/svg+xml,${encodeURIComponent(d)}`]),`<img ${r.renderAttrs({attrs:u})}>`}e.renderer.rules.fence=n}l.d(t,{default:()=>i});let n=new __rspack_external_markdown_it_a5918e6a.default({html:!0,linkify:!0,typographer:!0,breaks:!0});n.use(__rspack_external_markdown_it_highlightjs_3df446b8.default),n.use(o);let i=n},7309(e,t,l){function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Array.isArray(e)?e.map(e=>{if(e&&"object"==typeof e&&!Array.isArray(e)){let t=e,l=void 0!==t.label,o=void 0!==t.value,n=l?t.label:String(t.value??""),i=o?t.value:n,r={label:n,value:i};return t.color&&(r.color=t.color),t.icon&&(r.icon=t.icon),r}return{label:String(e),value:e}}):[]}function n(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;return Array.isArray(e)?e.map(e=>"string"==typeof(null==e?void 0:e.label)?{...e,label:t(e.label)}:e):[]}function i(e,t){if(e&&Array.isArray(e)&&0!==e.length)return n(o(e),t)}function r(e,t){var l,n,i,r;if(!["radioGroup","checkboxGroup","select","multipleSelect"].includes(null==t?void 0:t.interface)||Array.isArray(null==(l=e.props)?void 0:l.options)&&(null==(i=e.props)||null==(n=i.options)?void 0:n.length)>0)return!1;let a=null==(r=t.uiSchema)?void 0:r.enum;if(!Array.isArray(a)||0===a.length)return!1;let s=o(a);return!!s.length&&(e.setProps({options:s}),!0)}l.d(t,{NI:()=>r,ZY:()=>n,di:()=>i})},9133(e,t,l){l.d(t,{E4:()=>i,Gj:()=>d,a_:()=>o,eo:()=>p,w7:()=>r});let o="__custom__";function n(e){return`${o}:${e}`}function i(e){var t;if(!e||"object"!=typeof e)return!1;let l=e;if(!(null==(t=l.isAssociationField)?void 0:t.call(l)))return!1;let o=l.type,n=l.interface;return"belongsToMany"===o||"hasMany"===o||"belongsToArray"===o||"m2m"===n||"o2m"===n||"mbm"===n}function r(e){var t;if(!e||"object"!=typeof e)return;let l=e;return l.collection||(null==(t=l.context)?void 0:t.collection)||void 0}function a(e){return"string"==typeof e?e.trim():""}function s(e){if(!e||"object"!=typeof e)return[];let t=e,l="function"==typeof t.getStepParams?t.getStepParams("fieldSettings","init"):void 0,o=l&&"object"==typeof l?l:void 0,i="function"==typeof t.getStepParams?t.getStepParams("formItemSettings","fieldSettings"):void 0,r=i&&"object"==typeof i?i:void 0,s=(null==o?void 0:o.fieldPath)??t.fieldPath,d=(null==o?void 0:o.associationPathName)??t.associationPathName,u=null==r?void 0:r.name,c=a(s),p=a(d),m=a(u),h=new Set;return c&&h.add(c),p&&(c?c.startsWith(`${p}.`)?h.add(c):h.add(`${p}.${c}`):h.add(p)),m&&h.add(n(m)),Array.from(h)}function d(e){return s(e)[0]}function u(e){if(!e||"object"!=typeof e)return[];let t=e.subModels;if(!t||"object"!=typeof t)return[];let l=t.items;if(Array.isArray(l))return l;let o=t.grid;if(!o||"object"!=typeof o)return[];let n=o.subModels;if(!n||"object"!=typeof n)return[];let i=n.items;return Array.isArray(i)?i:[]}function c(e){if(!e||"object"!=typeof e)return[];let t=e.subModels;return t&&"object"==typeof t?u(t.field):[]}function p(e,t){let l=a(t);if(!l)return null;let o=e=>{if(!Array.isArray(e))return null;for(let t of e){if(s(t).some(e=>e===l))return t;let e=o(c(t));if(e)return e}return null};return o(u(e))}},7720(e,t,l){l.d(t,{_:()=>n});var o=l(6832);function n(e,t,l){let n;if(!l||!Array.isArray(l))return null;let i=l.find(e=>(null==e?void 0:e.value)===t),r=null==i?void 0:i.schema,a=null==r?void 0:r["x-component"];if(!a)return null;if("DateFilterDynamicComponent"===a)n=o.DateFilterDynamicComponent;else{var s;n=null==e||null==(s=e.getComponent)?void 0:s.call(e,a)}return n?{Comp:n,props:(null==r?void 0:r["x-component-props"])||{}}:null}},544(e,t,l){l.d(t,{ON:()=>i,jI:()=>n});let o="__saveStepParamsWithSubModels";function n(e){if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("[saveStepParamsWithSubModels] model is not an object");e[o]=!0}async function i(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("[saveStepParamsWithSubModels] model is not an object");let l=e;if(!0!==l[o])return await t();if("function"!=typeof l.save)throw Error("[saveStepParamsWithSubModels] model.save is not a function");try{return await l.save()}finally{delete l[o]}}},3890(e,t,l){l.d(t,{P:()=>f,z:()=>g});var o=l(1178),n=l(2314),i=l(504),r=l(7583),a=l(1649),s=l(2793),d=l(1077),u=l(2542),c=l(7843),p=l(8804);let m=()=>{let{t:e}=(0,c.useTranslation)(),t=(0,i.useFlowModel)(),l=t.context.blockModel.collection,n=l.dataSource,d=(0,a.useMemo)(()=>{let t=`${e(n.displayName||n.key)} > `,o=l?`${e(l.title)||l.name||l.tableName} `:"";return`${t}${o}`},[]),{actionName:u}=t.forbidden,m=(0,a.useMemo)(()=>e('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:d,actionName:e(r.default.capitalize(u))}).replaceAll(">",">"),[u,d,e]);return(0,o.jsx)(p.t,{children:(0,o.jsx)(s.Result,{status:"403",subTitle:m})})};function h(){let{t:e}=(0,c.useTranslation)(),t=(0,i.useFlowModel)(),l=t.dataSource,n=(0,a.useMemo)(()=>{let o=`${e(l.displayName||l.key)} > `,n=t.resource.resourceName;return`${o}${n}`},[]),r=(0,a.useMemo)(()=>e('The {{type}} "{{name}}" may have been deleted. Please remove this {{blockType}}.',{type:e("Collection"),name:n,blockType:e("Block")}).replaceAll(">",">"),[n,e]);return(0,o.jsx)(p.t,{children:(0,o.jsx)(s.Result,{status:"404",subTitle:r})})}let f={new:"new",one:"one",many:"many",select:"select",filter:"filter",oam:["one","many"],subForm:"subForm",bulkEditForm:"bulkEditForm"};class g extends i.FlowModel{setFilterActive(e,t){this.activeFilterSources.set(e,t)}hasActiveFilters(){let e=this.resource;if(e&&e.filter&&Object.keys(e.filter).length>0)return!0;for(let[,e]of this.activeFilterSources)if(e)return!0;return!1}removeFilterSource(e){this.activeFilterSources.delete(e)}getDataLoadingMode(){var e;let t=this.getStepParams("dataLoadingModeSettings");return(null==t||null==(e=t.dataLoadingMode)?void 0:e.mode)||"auto"}static _getScene(){return r.default.castArray(this.scene||[])}static _isScene(e){return this._getScene().includes(e)}getModelClassName(e){return Object.keys(this.customModelClasses).includes(e)?this.customModelClasses[e]:this._defaultCustomModelClasses[e]||e}renderHiddenInConfig(){return this.forbidden?(0,o.jsx)(m,{}):(0,o.jsx)(s.Tooltip,{title:this.context.t("The block is hidden and only visible when the UI Editor is active"),children:(0,o.jsx)(d.tn,{ref:this.context.ref,...this.decoratorProps,style:{opacity:"0.3"},children:(0,o.jsx)(this.ObservedRenderComponent,{})})})}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineMethod("getModelClassName",e=>this.getModelClassName(e)),this.ObservedRenderComponent=(0,i.observer)(()=>this.renderComponent(),{displayName:"ObservedRenderComponent"})}setDecoratorProps(e){Object.assign(this.decoratorProps,e)}get title(){return this._title||(this._title=this.defaultBlockTitle()),this._title}defaultBlockTitle(){var e;return`${this.translate((null==(e=this.constructor.meta)?void 0:e.label)||this.constructor.name)}`}renderComponent(){throw Error("renderComponent method must be implemented in subclasses of BlockModel")}render(){return this.collectionRequired&&!this.context.collection?(0,o.jsx)(h,{}):(0,o.jsx)(d.tn,{ref:this.context.ref,...this.decoratorProps,children:(0,o.jsx)(this.ObservedRenderComponent,{})})}constructor(...e){super(...e),this.decoratorProps=(0,n.observable)({}),this._defaultCustomModelClasses={},this.customModelClasses={},this.collectionRequired=!1,this.ObservedRenderComponent=null,this.activeFilterSources=new Map}}g.registerFlow({key:"cardSettings",title:(0,i.tExpr)("Card settings"),steps:{titleDescription:{title:(0,i.tExpr)("Title & description"),uiSchema:{title:{"x-component":"Input","x-decorator":"FormItem",title:(0,i.tExpr)("Title")},description:{"x-component":"Input.TextArea","x-decorator":"FormItem",title:(0,i.tExpr)("Description")}},handler(e,t){let l=e.t(t.title,{ns:"lm-flow-engine"}),o=e.t(t.description,{ns:"lm-flow-engine"});e.model.setDecoratorProps({title:l,description:o})}},linkageRules:{use:"blockLinkageRules"},blockHeight:{use:"blockHeight"}}}),g.define({hide:!0,label:(0,i.tExpr)("Other blocks")}),i.FlowModel.registerEvents({beforeRender:{title:(0,i.tExpr)("Before render"),name:"beforeRender",uiSchema:{condition:{type:"object",title:(0,i.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":u.H}},handler:u.b}})},146(e,t,l){l.d(t,{t:()=>s});var o=l(504),n=l(7583),i=l(7123),r=l(8481),a=l(2606);class s extends a.R{onMount(){super.onMount(),this.previousBeforeRenderHash=this.context.location.search}getDirtyTrackingVersion(e,t,l,o){var n;let i=new Set,r=(null==l||null==(n=l.getResourceName)?void 0:n.call(l))||o.associationName||o.collectionName;r&&i.add(String(r)),o.associationName&&i.add(String(o.associationName)),o.collectionName&&i.add(String(o.collectionName));let a=0;for(let l of i)a+=e.getDataSourceDirtyVersion(t,l);return a}onActive(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.hidden&&this.previousBeforeRenderHash!==this.context.location.search&&(this.rerender(),!e)||this.hidden)return;let t=this.context.resource;if(!t)return;let l=this.getResourceSettingsInitParams(),o=t.getDataSourceKey()||l.dataSourceKey||"main",n=this.context.engine,i=this.getDirtyTrackingVersion(n,o,t,l);if(e){if(this.dirtyRefreshing)return;this.dirtyRefreshing=!0,t.refresh().then(()=>{this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(n,o,t,l)}).catch(()=>{}).finally(()=>{this.dirtyRefreshing=!1});return}this.isManualRefresh||null!==this.lastSeenDirtyVersion&&i===this.lastSeenDirtyVersion||this.dirtyRefreshing||(this.dirtyRefreshing=!0,t.refresh().then(()=>{this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(n,o,t,l)}).catch(()=>{}).finally(()=>{this.dirtyRefreshing=!1}))}static filterCollection(e){return!!e.filterTargetKey}static isCollectionAvailable(e){if(!e)return!1;let t=(0,r.b1)(this);return(0,r.F3)(e,t)}static async defineChildren(e){let t=t=>{var l;if(!(null==(l=this.meta)?void 0:l.createModelOptions))return t||{};if("function"==typeof this.meta.createModelOptions){let l=this.meta.createModelOptions(e);return n.default.merge({},l,t)}return n.default.merge({},this.meta.createModelOptions,t)},l=e=>this.name+e,{dataSourceKey:i,collectionName:r,associationName:a,filterByTk:s}=e.view.inputArgs,d=e.dataSourceManager.getDataSources().map(e=>0===e.getCollections().length?null:{key:l(`ds-${e.key}`),label:e.displayName,searchable:!0,searchPlaceholder:(0,o.tExpr)("Search"),children:o=>e.getCollections().map(o=>{if(!this.filterCollection(o)||!this.isCollectionAvailable(o))return null;let n={dataSourceKey:o.dataSourceKey,collectionName:o.name};return{key:l(`ds-${e.key}.${o.name}`),label:o.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)}).filter(Boolean),u=e=>1===d.length?d[0].children(e):d;if(!r)return u(e);if(this._isScene("select")){let o={dataSourceKey:i,collectionName:r};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let n=e.dataSourceManager.getCollection(i,r),s=[];return this.isCollectionAvailable(n)&&s.push({key:l("current-collection"),label:"Current collection",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}),s.push({key:l("others-collections"),label:"Other collections",children:u(e)}),s}if(this._isScene("new")){let o={dataSourceKey:i,collectionName:r};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let n=[],d=e.dataSourceManager.getCollection(i,r);return this.isCollectionAvailable(d)&&n.push({key:l("current-collection"),label:"Current collection",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}),null!=s&&n.push({key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(i,r).getAssociationFields(this._getScene()).map(e=>{if(!e.targetCollection||"belongsToArray"===e.type||!this.filterCollection(e.targetCollection)||!this.isCollectionAvailable(e.targetCollection))return null;let o=`{{ctx.popup.record.${e.sourceKey||e.collection.filterTargetKey}}}`;e.sourceKey===e.collection.filterTargetKey&&(o="{{ctx.view.inputArgs.filterByTk}}");let n={dataSourceKey:i,collectionName:e.target,associationName:e.resourceName,sourceId:o};return{key:l(`associated-${e.name}`),label:e.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)}),n.push({key:l("others-collections"),label:"Other collections",children:u(e)}),n}let c=[{key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(i,r).getAssociationFields(this._getScene()).map(e=>{if(!e.targetCollection||"belongsToArray"===e.type||!this.filterCollection(e.targetCollection)||!this.isCollectionAvailable(e.targetCollection))return null;let o=`{{ctx.popup.record.${e.sourceKey||e.collection.filterTargetKey}}}`;e.sourceKey===e.collection.filterTargetKey&&(o="{{ctx.view.inputArgs.filterByTk}}");let n={dataSourceKey:i,collectionName:e.target,associationName:e.resourceName,sourceId:o};return{key:l(`associated-${e.name}`),label:e.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)},{key:l("others-records"),label:"Other records",children:u(e)}];if(this._isScene("one")){let o=e.dataSourceManager.getCollection(i,r);if(!o||!this.filterCollection(o)||!this.isCollectionAvailable(o))return c;let n={dataSourceKey:i,collectionName:r,filterByTk:"{{ctx.view.inputArgs.filterByTk}}"};a&&(n.associationName=a,n.sourceId="{{ctx.view.inputArgs.sourceId}}"),c.unshift({key:l("current-record"),label:"Current record",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})})}return c}get dataSource(){return this.context.dataSource}get collection(){return this.context.collection}get resource(){return this.context.resource}get association(){return this.context.association}get associationField(){return this.context.association}getAclActionName(){return"view"}async getFilterFields(){return this.collection.getFields().filter(e=>e.filterable)}getResourceSettingsInitParams(){return this.getStepParams("resourceSettings","init")}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineProperty("actionName",{get:()=>this.getAclActionName(),cache:!1}),this.context.defineProperty("resourceName",{get:()=>this.resource.getResourceName(),cache:!1}),this.context.defineProperty("dataSource",{get:()=>{let e=this.getResourceSettingsInitParams();return this.context.dataSourceManager.getDataSource(e.dataSourceKey)}}),this.context.defineProperty("collection",{get:()=>{let e=this.getResourceSettingsInitParams();return this.context.dataSourceManager.getCollection(e.dataSourceKey,e.collectionName)}}),this.context.defineProperty("resource",{get:()=>{let e=this.getResourceSettingsInitParams(),t=this.createResource(this.context,e);t.setDataSourceKey(e.dataSourceKey),t.setResourceName(e.associationName||e.collectionName);let l=()=>{var l;let o=this.context.engine;if(!(null==o?void 0:o.getDataSourceDirtyVersion))return;let n=(null==(l=t.getDataSourceKey)?void 0:l.call(t))||e.dataSourceKey||"main";this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(o,n,t,e)};return l(),t.on("refresh",()=>{l(),this.invalidateFlowCache("beforeRender")}),t}}),this.context.defineProperty("association",{get:()=>{let e=this.getResourceSettingsInitParams();if(e.associationName)return this.dataSource.getAssociation(e.associationName)}})}createResource(e,t){throw Error("createResource method must be implemented in subclasses of CollectionBlockModel")}refresh(){return this.resource?this.resource.refresh():super.refresh()}defaultBlockTitle(){var e,t,l,o,n,r,a;let s=this.translate((null==(e=this.constructor.meta)?void 0:e.label)||this.constructor.name),d=(null==(t=this.dataSource)?void 0:t.displayName)||(null==(l=this.dataSource)?void 0:l.key),u=(null==(r=this.context)||null==(n=r.dataSourceManager)||null==(o=n.getDataSources)?void 0:o.call(n).length)||0,c=null==(a=this.collection)?void 0:a.title;if(this.association){let e=this.resource.getResourceName(),t=this.dataSource.getCollection(e.split(".")[0]);return(0,i.l)({blockLabel:s,dsName:d,dsCount:u,collectionTitle:c,sourceCollectionTitle:t.title,associationTitle:this.association.title})}return(0,i.l)({blockLabel:s,dsName:d,dsCount:u,collectionTitle:c})}addAppends(e){var t,l;let o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e)if(e.includes(".")){let[l,n]=e.split("."),i=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${l}`);if(!i)return;let r=i.target;if(!r)return;let a=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${r}.${n}`);if(a&&a.isAssociationField()){if(this.resource.addAppends(e),(null==(t=a.targetCollection)?void 0:t.template)==="tree"){let t=e.includes(".")?e.slice(e.lastIndexOf(".")+1):e;a.name===t&&this.resource.addAppends(`${e}.parent(recursively=true)`)}o&&this.resource.refresh()}}else{if(!this.collection)return;let t=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${e}`);if(!t)return;t.isAssociationField()&&(this.resource.addAppends(t.name),(null==(l=t.targetCollection)?void 0:l.template)==="tree"&&this.resource.addAppends(`${t.name}.parent(recursively=true)`),o&&this.resource.refresh())}}constructor(...e){super(...e),this.isManualRefresh=!1,this.collectionRequired=!0,this.lastSeenDirtyVersion=null,this.dirtyRefreshing=!1}}s.registerFlow({key:"resourceSettings",sort:-999,steps:{collectionCheck:{handler(e){e.collection||e.exitAll()}},aclCheck:{use:"aclCheck"},init:{handler(e,t){if(!t.dataSourceKey)throw Error("dataSourceKey is required");if(!t.collectionName)throw Error("collectionName is required");Object.keys(t).includes("sourceId")&&e.resource.setSourceId(t.sourceId),Object.keys(t).includes("filterByTk")&&e.resource.setFilterByTk(t.filterByTk)}}}}),s.registerFlow({key:"refreshSettings",sort:1e4,steps:{refresh:{async handler(e){let t=e.model,l=e.model.context.filterManager;l&&l.bindToTarget(e.model.uid);let n=t.getDataLoadingMode(),i=t.resource;if(i instanceof o.MultiRecordResource&&"manual"===n&&!t.hasActiveFilters()){i.setData([]),i.setMeta({count:0,hasNext:!1,page:1}),i.loading=!1;return}e.model.isManualRefresh?e.model.resource.loading=!1:await e.model.resource.refresh()}}}}),s.registerFlow({key:"dataLoadingModeSettings",sort:800,title:(0,o.tExpr)("Set data loading mode"),steps:{dataLoadingMode:{use:"dataLoadingMode"}}}),s.define({hide:!0})},2606(e,t,l){l.d(t,{R:()=>i});var o=l(504),n=l(3890);class i extends n.z{}i.define({hide:!0,label:(0,o.tExpr)("Data blocks"),async children(e){let t=await (0,o.buildSubModelItems)(i)(e),{collectionName:l,filterByTk:n,scene:r}=e.view.inputArgs;return t.filter(t=>{var o,i,a,s,d,u,c;let p=e.engine.getModelClass(t.useModel);return"select"===r?null==(s=p._isScene)?void 0:s.call(p,"select"):"subForm"===r?null==(d=p._isScene)?void 0:d.call(p,"subForm"):"bulkEditForm"===r?null==(u=p._isScene)?void 0:u.call(p,"bulkEditForm"):"new"===r||l&&!n?null==(c=p._isScene)?void 0:c.call(p,"new"):!p._isScene||!(null==(o=p._isScene)?void 0:o.call(p,"select"))&&!(null==(i=p._isScene)?void 0:i.call(p,"subForm"))&&!(null==(a=p._isScene)?void 0:a.call(p,"bulkEditForm"))})}})},6859(e,t,l){l.d(t,{o:()=>n});var o=l(504);class n extends o.FlowModel{static resolveUse(e,t,l){var o,n;let i=null==e||null==(n=e.stepParams)||null==(o=n.fieldBinding)?void 0:o.use;return i&&i!==(null==e?void 0:e.use)?i:null==e?void 0:e.use}}},1442(e,t,l){l.d(t,{j:()=>n});var o=l(504);class n extends o.FlowModel{}n.registerFlow({key:"popupSettings",on:"click",steps:{openView:{use:"openView",defaultParams:e=>({mode:"embed",preventClose:!0,pageModelClass:"RootPageModel"})}}})},6832(e,t,l){l.r(t),l.d(t,{DateFilterDynamicComponent:()=>_});var o=l(1178),n=l(1649),i=l(2793),r=l(691),a=l(504),s=l(6305),d=l(3526),u=l(7583);let c=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,p=(e,t)=>{if(!e)return null;if(d.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,d.dayjs)(e).format(t),o=(0,d.dayjs)(l,t);return o.isValid()?o:(0,d.dayjs)(e)}let l=(0,d.dayjs)(e,t);if(l.isValid())return l;let o=(0,d.dayjs)(e);return o.isValid()?o:null},m=e=>{let{value:t,picker:l="date",format:r,showTime:m,timeFormat:h}=e,f=(0,a.useFlowEngine)(),g=f.translate.bind(f),v=(0,s.fD)(),y=[{label:g("Today"),value:v.today},{label:g("Last week"),value:v.lastWeek},{label:g("This week"),value:v.thisWeek},{label:g("Next week"),value:v.nextWeek},{label:g("Last month"),value:v.lastMonth},{label:g("This month"),value:v.thisMonth},{label:g("Next month"),value:v.nextMonth},{label:g("Last quarter"),value:v.lastQuarter},{label:g("This quarter"),value:v.thisQuarter},{label:g("Next quarter"),value:v.nextQuarter},{label:g("Last year"),value:v.lastYear},{label:g("This year"),value:v.thisYear},{label:g("Next year"),value:v.nextYear},{label:g("Last 7 days"),value:v.last7Days},{label:g("Next 7 days"),value:v.next7Days},{label:g("Last 30 days"),value:v.last30Days},{label:g("Next 30 days"),value:v.next30Days},{label:g("Last 90 days"),value:v.last90Days},{label:g("Next 90 days"),value:v.next90Days}],_=t?(0,s.Pn)(null==t?void 0:t[0],l):l,b=_===l&&r?r:(0,d.getPickerFormat)(_),x="date"===_?c(b):b,M=(0,d.getDateTimeFormat)(_,x,m,h),w={utc:!0,presets:y,...e,format:M,picker:_,showTime:!!m&&{defaultValue:[(0,d.dayjs)("00:00:00","HH:mm:ss"),(0,d.dayjs)("23:59:59","HH:mm:ss")]}},S=(0,n.useMemo)(()=>u.default.castArray(e.value).map(e=>p(e,M)),[e.value,M]);return(0,o.jsx)(i.DatePicker.RangePicker,{...w,style:{flex:1,...null==w?void 0:w.style},value:S})},h=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,f=(e,t)=>{if(!e)return null;if(d.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,d.dayjs)(e).format(t),o=(0,d.dayjs)(l,t);return o.isValid()?o:(0,d.dayjs)(e)}let l=(0,d.dayjs)(e,t);if(l.isValid())return l;let o=(0,d.dayjs)(e);return o.isValid()?o:null},g=e=>{let{picker:t="date",format:l,showTime:r,timeFormat:u,onChange:c}=e,p=(0,a.useFlowContext)(),m=Array.isArray(e.value)?e.value[0]:e.value,g=m?(0,s.Pn)(m,t):t,[v,y]=(0,n.useState)(g),_=p.model.translate.bind(p.model),b=e=>{let o=e===t&&l?l:(0,d.getPickerFormat)(e),n="date"===e?h(o):o;return(0,d.getDateTimeFormat)(e,n,r,u)},x=(0,n.useMemo)(()=>b(v),[l,t,r,v,u]),M=(0,n.useMemo)(()=>f(m,x),[m,x]),w={utc:!0,inputReadOnly:p.isMobileLayout,...e,underFilter:!0,showTime:!!r&&{defaultValue:(0,d.dayjs)("00:00:00","HH:mm:ss")},format:x,picker:v};return(0,o.jsxs)(i.Space.Compact,{style:{width:"100%"},children:[(0,o.jsx)(i.Select,{style:{width:"100px"},popupMatchSelectWidth:!1,value:v,options:[{label:_("Date"),value:"date"},{label:_("Month"),value:"month"},{label:_("Quarter"),value:"quarter"},{label:_("Year"),value:"year"}],onChange:e=>{let t=b(e),l=x;if(y(e),!m||!c)return;let o=f(m,l);o&&o.isValid()&&c(o,o.format(t))}}),(0,o.jsx)(i.DatePicker,{...w,style:{flex:1,...null==w?void 0:w.style},value:M})]})},v=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=[{value:"exact",label:e("Exact day")},{value:"past",label:e("Past")},{value:"next",label:e("Next")},{value:"today",label:e("Today")},{value:"yesterday",label:e("Yesterday")},{value:"tomorrow",label:e("Tomorrow")},{value:"thisWeek",label:e("This Week")},{value:"lastWeek",label:e("Last Week")},{value:"nextWeek",label:e("Next Week")},{value:"thisMonth",label:e("This Month")},{value:"lastMonth",label:e("Last Month")},{value:"nextMonth",label:e("Next Month")},{value:"thisQuarter",label:e("This Quarter")},{value:"lastQuarter",label:e("Last Quarter")},{value:"nextQuarter",label:e("Next Quarter")},{value:"thisYear",label:e("This Year")},{value:"lastYear",label:e("Last Year")},{value:"nextYear",label:e("Next Year")}];return t&&l.splice(3,0,{value:"now",label:e("Now")}),l},y=e=>{let{isRange:t,defaultValue:l,onChange:i,...r}=e,a=(0,n.useCallback)((e,t)=>i(t),[i]);return t?(0,o.jsx)(m,{...r,onChange:a}):(0,o.jsx)(g,{...r,onChange:a})},_=e=>{let{value:t,onChange:l,includeNow:s=!1,...d}=e,u=(0,a.useFlowEngine)(),c=u.translate.bind(u),{token:p}=i.theme.useToken(),[m,h]=(0,n.useState)(!1),f=(0,n.useMemo)(()=>v(c,s),[c,s]),g=e=>{if(h(!1),"exact"===e)return l(void 0);let t={type:e};["past","next"].includes(e)&&(t.number=1,t.unit="day"),l(t)},_=()=>{let e=f.slice(0,3),t=f.slice(3),l=(0,r.css)`
|
|
756
|
+
`,children:"x"})})})]})};class ue{render(e,t){if(!e)return null;try{return(0,m.jsx)(d4,{value:e,...t})}catch(e){return console.error("渲染失败:",e),(0,m.jsxs)("pre",{style:{color:"red"},children:["Markdown 渲染错误:",e.message]})}}edit(e){try{return(0,m.jsx)(d7,{...e})}catch(e){return(0,m.jsxs)("pre",{style:{color:"red"},children:["Markdown 编辑器加载错误:",e.message]})}}}class ut extends __rspack_external_liquidjs.Liquid{transformLiquidContext(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={};for(let l of e){let e=l.replace(/^ctx\./,"").split("."),o=t;for(let t=0;t<e.length;t++){let n=e[t];t===e.length-1?o[n]=`{{${l}}}`:(o[n]=o[n]||{},o=o[n])}}return t}async render(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{return await this.parseAndRender(e,t)}catch(e){return console.error("[Liquid] 模板解析失败:",e),`<pre style="color:red;">Liquid 模板错误:${e.message}</pre>`}}isFieldUsed(e,t){return t.some(t=>t.replace(/^ctx\./,"").endsWith(e))}enrichArrayFieldsSelective(e,t){if(e&&"object"==typeof e)for(let l in e){let o=e[l];if(Array.isArray(o)&&o.length&&"object"==typeof o[0]){let e=o;Object.keys(e[0]).filter(o=>["string","number","boolean"].includes(typeof e[0][o])&&this.isFieldUsed(`${l}.${o}`,t)).forEach(t=>{e[t]=e.map(e=>null!=e[t]?e[t]:"").join(",")}),e.forEach(e=>this.enrichArrayFieldsSelective(e,t))}else o&&"object"==typeof o&&this.enrichArrayFieldsSelective(o,t)}}async renderWithFullContext(e,t){if(e)try{"number"==typeof e&&(e=String(e)),e=e.replace(/\{\{\s*t\s*\(\s*(['"])([\s\S]*?)\1\s*(?:,\s*\{\s*ns\s*:\s*(['"])([\s\S]*?)\3\s*\}\s*)?\)\s*\}\}/g,(e,l,o,n,i)=>{try{let e=i?t.t(o,{ns:i}):t.t(o);if(null==e)return"";return/[{][{%]/.test(e)?`{% raw %}${e}{% endraw %}`:e}catch{return e}});let l=await this.fullVariables(e),o=l.map(e=>this.transformLiquidContext([e])),n=(await Promise.all(o.map(e=>t.resolveJsonTemplate(e)))).reduce((e,t)=>(0,S.merge)(e,t),{});return this.enrichArrayFieldsSelective(n,l),await this.render(e,{ctx:n})}catch(t){return e}}constructor(e){super({extname:".liquid",cache:!0,...e}),this.registerFilter("t",e.ctx.t),this.registerFilter("log",e=>(console.log("[Liquid log]",e),e))}}var ul=l(7520),uo=l(964),un=l(7152),ui=l(5056);class ur extends s.Plugin{async load(){this.app.addComponents({FlowRoute:y.default}),this.app.flowEngine.setModelRepository(new dL(this.app));let e=Object.fromEntries(Object.entries(n).filter(e=>{let[,t]=e;return"function"==typeof t&&t.prototype instanceof r.FlowModel}));this.flowEngine.registerModels(e),this.flowEngine.registerActions(i),this.flowEngine.registerActions(o),this.flowEngine.flowSettings.registerComponents({IconPicker:a.ar,DefaultValue:dj,FlowSettingsVariableTextArea:u.n}),this.flowEngine.flowSettings.addToolbarItem({key:"dynamic-flows-editor",component:dN,visible:e=>e.getEvents().size>0,sort:0});let t=new ue;this.flowEngine.context.defineProperty("markdown",{get:()=>t});let s=new ut({ctx:this.flowEngine.context});this.flowEngine.context.defineProperty("liquid",{get:()=>s}),this.flowEngine.context.defineMethod("previewRunJS",async function(e,t){let o=await Promise.resolve().then(l.bind(l,426));return await o.previewRunJS(String(e??""),this,{version:t})},{description:"Preview/diagnose a RunJS snippet (lint + sandbox execution).",detail:"(code: string, version?: string) => Promise<{ success: boolean; message: string }>",params:[{name:"code",type:"string",description:"RunJS code to preview."},{name:"version",type:"string",description:"RunJS version override (e.g. v1/v2)."}],returns:{type:"Promise<PreviewRunJSResult>",description:"Preview result."},completion:{insertText:"await ctx.previewRunJS('console.log(1)', 'v2')"}})}}},9378(e,t,l){l.d(t,{g:()=>m});var o=l(1178),n=l(1649);let i=l(7583).default.memoize(async e=>e?(await Promise.resolve().then(l.bind(l,248))).default.render(e):e);function r(e){let[t,l]=(0,n.useState)(""),[o,r]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{r(!0),i(e).then(e=>{l(e),r(!1)}).catch(e=>console.log(e))},[e]),{html:t,loading:o}}function a(e){let t=e,l=document.createElement("div");l.innerHTML=t;let o=l.innerText;return l=null,(null==o?void 0:o.replace(/[\n\r]/g,""))||""}var s=l(2741),d=l(691),u=l(504),c=l(2793);let p=()=>{let e=(0,u.useFlowContext)(),{token:t}=c.theme.useToken(),l=!!e.isDarkTheme,o=new s.TinyColor(t.colorFillAlter).onBackground(t.colorBgContainer).toHexShortString(),n={lineHeight:"inherit","&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:t.colorFillQuaternary,border:`1px solid ${t.colorBorder}`,borderRadius:t.borderRadiusSM},blockquote:{borderLeft:"4px solid #ccc",paddingLeft:"20px",marginLeft:"0",color:"#666",fontStyle:"italic"},img:{maxWidth:"100%"},".hljs":{background:"#f8f8f8",color:"#444"},".hljs-comment":{color:"#697070"},".hljs-punctuation,.hljs-tag":{color:"#444a"},".hljs-tag .hljs-attr,.hljs-tag .hljs-name":{color:"#444"},".hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag":{fontWeight:700},".hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type":{color:"#800"},".hljs-section,.hljs-title":{color:"#800",fontWeight:700},".hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable":{color:"#ab5656"},".hljs-literal":{color:"#695"},".hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code":{color:"#397300"},".hljs-meta":{color:"#1f7199"},".hljs-meta .hljs-string":{color:"#38a"},".hljs-emphasis":{fontStyle:"italic"},".hljs-strong":{fontWeight:700}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${t.colorBorderSecondary}`,padding:`${t.paddingContentVertical}px ${t.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:o,fontWeight:"bold",color:t.colorText},"tr:hover":{backgroundColor:t.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}},i={"&.nb-markdown-default":{"pre code.hljs":{display:"block",overflowX:"auto",padding:"1em"},"code.hljs":{padding:"3px 5px"},":not(pre) code":{padding:"2px 5px",color:"#d56161",background:t.colorFillQuaternary,border:`1px solid ${t.colorBorder}`,borderRadius:t.borderRadiusSM},".hljs":{color:"#adbac7",background:"#22272e"},".hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_":{color:"#f47067"},".hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_":{color:"#dcbdfb"},".hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable":{color:"#6cb6ff"},".hljs-meta .hljs-string,.hljs-regexp,.hljs-string":{color:"#96d0ff"},".hljs-built_in,.hljs-symbol":{color:"#f69d50"},".hljs-code,.hljs-comment,.hljs-formula":{color:"#768390"},".hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag":{color:"#8ddb8c"},".hljs-subst":{color:"#adbac7"},".hljs-section":{color:"#316dca",fontWeight:700},".hljs-bullet":{color:"#eac55f"},".hljs-emphasis":{color:"#adbac7",fontStyle:"italic"},".hljs-strong":{color:"#adbac7",fontWeight:700},".hljs-addition":{color:"#b4f1b4",backgroundColor:"#1b4721"},".hljs-deletion":{color:"#ffd8d3",backgroundColor:"#78191b"}},"&.nb-markdown-table":{table:{borderCollapse:"collapse",width:"100%",fontFamily:"Arial, sans-serif",marginBottom:"1.5rem"},"th, td":{borderBottom:`1px solid ${t.colorBorderSecondary}`,padding:`${t.paddingContentVertical}px ${t.paddingContentHorizontal}px`,textAlign:"left"},th:{backgroundColor:o,fontWeight:"bold",color:t.colorText},"tr:hover":{backgroundColor:t.colorFillTertiary},"tr:last-child td":{borderBottom:"none"},"tr:first-child th":{borderTop:"none"}}};return(0,d.css)({lineHeight:t.lineHeight,"& > *:last-child":{marginBottom:"0"},".ant-description-textarea, .ant-description-input":{lineHeight:t.lineHeight},".field-interface-datetime":{minWidth:"100px"},img:{maxWidth:"100%"},...l?i:n})},m=e=>{let{textOnly:t,overflowMode:l,style:i}=e,s=p(),{html:d=""}=r(e.value),u=a(d),m="ellipsis"===l,h=(0,n.useRef)(null),[f,g]=(0,n.useState)(!1);(0,n.useEffect)(()=>{if(h.current){let e=h.current;g(e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight)}},[d,i,l]);let v={...i||{},...m?{display:"-webkit-box",WebkitLineClamp:1,WebkitBoxOrient:"vertical",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-word",cursor:"default"}:{}},y=(0,o.jsx)("div",{ref:h,className:`${s} nb-markdown`,dangerouslySetInnerHTML:{__html:t?u:d},style:v});return m&&f?(0,o.jsx)(c.Tooltip,{title:(0,o.jsx)("div",{dangerouslySetInnerHTML:{__html:d},style:{maxHeight:500,overflowY:"auto",padding:10,color:"#000"}}),overlayInnerStyle:{background:"#fff",color:"#000",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"},color:"#fff",children:y}):y}},248(e,t,l){function o(e,t){function l(e){return e.split(/\s+/g)[0]}__rspack_external_mermaid.default.initialize({securityLevel:"loose",...t});let o=e.renderer.rules.fence;function n(e,t,n,i,r){let a=e[t],s=a.info.trim();if(-1===["mermaid","{mermaid}"].indexOf(s?l(s):""))return void 0!==o?o(e,t,n,i,r):"";let d="",u=[],c=document.createElement("div");document.body.appendChild(c);try{let e="mermaid-container";__rspack_external_mermaid.default.mermaidAPI.render(e,a.content,t=>{let l=document.getElementById(e);null!==l&&u.push(["style",`max-width:${l.style.maxWidth};max-height:${l.style.maxHeight}`]),d=t},c)}catch(e){return`<div class="alert alert-danger">${e}</div>`}finally{c.remove()}return u.push(["src",`data:image/svg+xml,${encodeURIComponent(d)}`]),`<img ${r.renderAttrs({attrs:u})}>`}e.renderer.rules.fence=n}l.d(t,{default:()=>i});let n=new __rspack_external_markdown_it_a5918e6a.default({html:!0,linkify:!0,typographer:!0,breaks:!0});n.use(__rspack_external_markdown_it_highlightjs_3df446b8.default),n.use(o);let i=n},7309(e,t,l){function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Array.isArray(e)?e.map(e=>{if(e&&"object"==typeof e&&!Array.isArray(e)){let t=e,l=void 0!==t.label,o=void 0!==t.value,n=l?t.label:String(t.value??""),i=o?t.value:n,r={label:n,value:i};return t.color&&(r.color=t.color),t.icon&&(r.icon=t.icon),r}return{label:String(e),value:e}}):[]}function n(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;return Array.isArray(e)?e.map(e=>"string"==typeof(null==e?void 0:e.label)?{...e,label:t(e.label)}:e):[]}function i(e,t){if(e&&Array.isArray(e)&&0!==e.length)return n(o(e),t)}function r(e,t){var l,n,i,r;if(!["radioGroup","checkboxGroup","select","multipleSelect"].includes(null==t?void 0:t.interface)||Array.isArray(null==(l=e.props)?void 0:l.options)&&(null==(i=e.props)||null==(n=i.options)?void 0:n.length)>0)return!1;let a=null==(r=t.uiSchema)?void 0:r.enum;if(!Array.isArray(a)||0===a.length)return!1;let s=o(a);return!!s.length&&(e.setProps({options:s}),!0)}l.d(t,{NI:()=>r,ZY:()=>n,di:()=>i})},9133(e,t,l){l.d(t,{E4:()=>i,Gj:()=>d,a_:()=>o,eo:()=>p,w7:()=>r});let o="__custom__";function n(e){return`${o}:${e}`}function i(e){var t;if(!e||"object"!=typeof e)return!1;let l=e;if(!(null==(t=l.isAssociationField)?void 0:t.call(l)))return!1;let o=l.type,n=l.interface;return"belongsToMany"===o||"hasMany"===o||"belongsToArray"===o||"m2m"===n||"o2m"===n||"mbm"===n}function r(e){var t;if(!e||"object"!=typeof e)return;let l=e;return l.collection||(null==(t=l.context)?void 0:t.collection)||void 0}function a(e){return"string"==typeof e?e.trim():""}function s(e){if(!e||"object"!=typeof e)return[];let t=e,l="function"==typeof t.getStepParams?t.getStepParams("fieldSettings","init"):void 0,o=l&&"object"==typeof l?l:void 0,i="function"==typeof t.getStepParams?t.getStepParams("formItemSettings","fieldSettings"):void 0,r=i&&"object"==typeof i?i:void 0,s=(null==o?void 0:o.fieldPath)??t.fieldPath,d=(null==o?void 0:o.associationPathName)??t.associationPathName,u=null==r?void 0:r.name,c=a(s),p=a(d),m=a(u),h=new Set;return c&&h.add(c),p&&(c?c.startsWith(`${p}.`)?h.add(c):h.add(`${p}.${c}`):h.add(p)),m&&h.add(n(m)),Array.from(h)}function d(e){return s(e)[0]}function u(e){if(!e||"object"!=typeof e)return[];let t=e.subModels;if(!t||"object"!=typeof t)return[];let l=t.items;if(Array.isArray(l))return l;let o=t.grid;if(!o||"object"!=typeof o)return[];let n=o.subModels;if(!n||"object"!=typeof n)return[];let i=n.items;return Array.isArray(i)?i:[]}function c(e){if(!e||"object"!=typeof e)return[];let t=e.subModels;return t&&"object"==typeof t?u(t.field):[]}function p(e,t){let l=a(t);if(!l)return null;let o=e=>{if(!Array.isArray(e))return null;for(let t of e){if(s(t).some(e=>e===l))return t;let e=o(c(t));if(e)return e}return null};return o(u(e))}},7720(e,t,l){l.d(t,{_:()=>n});var o=l(6832);function n(e,t,l){let n;if(!l||!Array.isArray(l))return null;let i=l.find(e=>(null==e?void 0:e.value)===t),r=null==i?void 0:i.schema,a=null==r?void 0:r["x-component"];if(!a)return null;if("DateFilterDynamicComponent"===a)n=o.DateFilterDynamicComponent;else{var s;n=null==e||null==(s=e.getComponent)?void 0:s.call(e,a)}return n?{Comp:n,props:(null==r?void 0:r["x-component-props"])||{}}:null}},544(e,t,l){l.d(t,{ON:()=>i,jI:()=>n});let o="__saveStepParamsWithSubModels";function n(e){if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("[saveStepParamsWithSubModels] model is not an object");e[o]=!0}async function i(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("[saveStepParamsWithSubModels] model is not an object");let l=e;if(!0!==l[o])return await t();if("function"!=typeof l.save)throw Error("[saveStepParamsWithSubModels] model.save is not a function");try{return await l.save()}finally{delete l[o]}}},3890(e,t,l){l.d(t,{P:()=>f,z:()=>g});var o=l(1178),n=l(2314),i=l(504),r=l(7583),a=l(1649),s=l(2793),d=l(1077),u=l(2542),c=l(7843),p=l(8804);let m=()=>{let{t:e}=(0,c.useTranslation)(),t=(0,i.useFlowModel)(),l=t.context.blockModel.collection,n=l.dataSource,d=(0,a.useMemo)(()=>{let t=`${e(n.displayName||n.key)} > `,o=l?`${e(l.title)||l.name||l.tableName} `:"";return`${t}${o}`},[]),{actionName:u}=t.forbidden,m=(0,a.useMemo)(()=>e('The current user only has the UI configuration permission, but don\'t have "{{actionName}}" permission for collection "{{name}}"',{name:d,actionName:e(r.default.capitalize(u))}).replaceAll(">",">"),[u,d,e]);return(0,o.jsx)(p.t,{children:(0,o.jsx)(s.Result,{status:"403",subTitle:m})})};function h(){let{t:e}=(0,c.useTranslation)(),t=(0,i.useFlowModel)(),l=t.dataSource,n=(0,a.useMemo)(()=>{let o=`${e(l.displayName||l.key)} > `,n=t.resource.resourceName;return`${o}${n}`},[]),r=(0,a.useMemo)(()=>e('The {{type}} "{{name}}" may have been deleted. Please remove this {{blockType}}.',{type:e("Collection"),name:n,blockType:e("Block")}).replaceAll(">",">"),[n,e]);return(0,o.jsx)(p.t,{children:(0,o.jsx)(s.Result,{status:"404",subTitle:r})})}let f={new:"new",one:"one",many:"many",select:"select",filter:"filter",oam:["one","many"],subForm:"subForm",bulkEditForm:"bulkEditForm"};class g extends i.FlowModel{setFilterActive(e,t){this.activeFilterSources.set(e,t)}hasActiveFilters(){let e=this.resource;if(e&&e.filter&&Object.keys(e.filter).length>0)return!0;for(let[,e]of this.activeFilterSources)if(e)return!0;return!1}removeFilterSource(e){this.activeFilterSources.delete(e)}getDataLoadingMode(){var e;let t=this.getStepParams("dataLoadingModeSettings");return(null==t||null==(e=t.dataLoadingMode)?void 0:e.mode)||"auto"}static _getScene(){return r.default.castArray(this.scene||[])}static _isScene(e){return this._getScene().includes(e)}getModelClassName(e){return Object.keys(this.customModelClasses).includes(e)?this.customModelClasses[e]:this._defaultCustomModelClasses[e]||e}renderHiddenInConfig(){return this.forbidden?(0,o.jsx)(m,{}):(0,o.jsx)(s.Tooltip,{title:this.context.t("The block is hidden and only visible when the UI Editor is active"),children:(0,o.jsx)(d.tn,{ref:this.context.ref,...this.decoratorProps,style:{opacity:"0.3"},children:(0,o.jsx)(this.ObservedRenderComponent,{})})})}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineMethod("getModelClassName",e=>this.getModelClassName(e)),this.ObservedRenderComponent=(0,i.observer)(()=>this.renderComponent(),{displayName:"ObservedRenderComponent"})}setDecoratorProps(e){Object.assign(this.decoratorProps,e)}get title(){return this._title||(this._title=this.defaultBlockTitle()),this._title}defaultBlockTitle(){var e;return`${this.translate((null==(e=this.constructor.meta)?void 0:e.label)||this.constructor.name)}`}renderComponent(){throw Error("renderComponent method must be implemented in subclasses of BlockModel")}render(){return this.collectionRequired&&!this.context.collection?(0,o.jsx)(h,{}):(0,o.jsx)(d.tn,{ref:this.context.ref,...this.decoratorProps,children:(0,o.jsx)(this.ObservedRenderComponent,{})})}constructor(...e){super(...e),this.decoratorProps=(0,n.observable)({}),this._defaultCustomModelClasses={},this.customModelClasses={},this.collectionRequired=!1,this.ObservedRenderComponent=null,this.activeFilterSources=new Map}}g.registerFlow({key:"cardSettings",title:(0,i.tExpr)("Card settings"),steps:{titleDescription:{title:(0,i.tExpr)("Title & description"),uiSchema:{title:{"x-component":"Input","x-decorator":"FormItem",title:(0,i.tExpr)("Title")},description:{"x-component":"Input.TextArea","x-decorator":"FormItem",title:(0,i.tExpr)("Description")}},handler(e,t){let l=e.t(t.title,{ns:"lm-flow-engine"}),o=e.t(t.description,{ns:"lm-flow-engine"});e.model.setDecoratorProps({title:l,description:o})}},linkageRules:{use:"blockLinkageRules"},blockHeight:{use:"blockHeight"}}}),g.define({hide:!0,label:(0,i.tExpr)("Other blocks")}),i.FlowModel.registerEvents({beforeRender:{title:(0,i.tExpr)("Before render"),name:"beforeRender",uiSchema:{condition:{type:"object",title:(0,i.tExpr)("Trigger condition"),"x-decorator":"FormItem","x-component":u.H}},handler:u.b}})},146(e,t,l){l.d(t,{t:()=>s});var o=l(504),n=l(7583),i=l(7123),r=l(8481),a=l(2606);class s extends a.R{onMount(){super.onMount(),this.previousBeforeRenderHash=this.context.location.search}getDirtyTrackingVersion(e,t,l,o){var n;let i=new Set,r=(null==l||null==(n=l.getResourceName)?void 0:n.call(l))||o.associationName||o.collectionName;r&&i.add(String(r)),o.associationName&&i.add(String(o.associationName)),o.collectionName&&i.add(String(o.collectionName));let a=0;for(let l of i)a+=e.getDataSourceDirtyVersion(t,l);return a}onActive(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.hidden&&this.previousBeforeRenderHash!==this.context.location.search&&(this.rerender(),!e)||this.hidden)return;let t=this.context.resource;if(!t)return;let l=this.getResourceSettingsInitParams(),o=t.getDataSourceKey()||l.dataSourceKey||"main",n=this.context.engine,i=this.getDirtyTrackingVersion(n,o,t,l);if(e){if(this.dirtyRefreshing)return;this.dirtyRefreshing=!0,t.refresh().then(()=>{this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(n,o,t,l)}).catch(()=>{}).finally(()=>{this.dirtyRefreshing=!1});return}this.isManualRefresh||null!==this.lastSeenDirtyVersion&&i===this.lastSeenDirtyVersion||this.dirtyRefreshing||(this.dirtyRefreshing=!0,t.refresh().then(()=>{this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(n,o,t,l)}).catch(()=>{}).finally(()=>{this.dirtyRefreshing=!1}))}static filterCollection(e){return!!e.filterTargetKey}static isCollectionAvailable(e){if(!e)return!1;let t=(0,r.b1)(this);return(0,r.F3)(e,t)}static async defineChildren(e){let t=t=>{var l;if(!(null==(l=this.meta)?void 0:l.createModelOptions))return t||{};if("function"==typeof this.meta.createModelOptions){let l=this.meta.createModelOptions(e);return n.default.merge({},l,t)}return n.default.merge({},this.meta.createModelOptions,t)},l=e=>this.name+e,{dataSourceKey:i,collectionName:r,associationName:a,filterByTk:s}=e.view.inputArgs,d=e.dataSourceManager.getDataSources().map(e=>0===e.getCollections().length?null:{key:l(`ds-${e.key}`),label:e.displayName,searchable:!0,searchPlaceholder:(0,o.tExpr)("Search"),children:o=>e.getCollections().map(o=>{if(!this.filterCollection(o)||!this.isCollectionAvailable(o))return null;let n={dataSourceKey:o.dataSourceKey,collectionName:o.name};return{key:l(`ds-${e.key}.${o.name}`),label:o.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)}).filter(Boolean),u=e=>1===d.length?d[0].children(e):d;if(!r)return u(e);if(this._isScene("select")){let o={dataSourceKey:i,collectionName:r};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let n=e.dataSourceManager.getCollection(i,r),s=[];return this.isCollectionAvailable(n)&&s.push({key:l("current-collection"),label:"Current collection",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}),s.push({key:l("others-collections"),label:"Other collections",children:u(e)}),s}if(this._isScene("new")){let o={dataSourceKey:i,collectionName:r};a&&(o.associationName=a,o.sourceId="{{ctx.view.inputArgs.sourceId}}");let n=[],d=e.dataSourceManager.getCollection(i,r);return this.isCollectionAvailable(d)&&n.push({key:l("current-collection"),label:"Current collection",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:o}}})}),null!=s&&n.push({key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(i,r).getAssociationFields(this._getScene()).map(e=>{if(!e.targetCollection||"belongsToArray"===e.type||!this.filterCollection(e.targetCollection)||!this.isCollectionAvailable(e.targetCollection))return null;let o=`{{ctx.popup.record.${e.sourceKey||e.collection.filterTargetKey}}}`;e.sourceKey===e.collection.filterTargetKey&&(o="{{ctx.view.inputArgs.filterByTk}}");let n={dataSourceKey:i,collectionName:e.target,associationName:e.resourceName,sourceId:o};return{key:l(`associated-${e.name}`),label:e.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)}),n.push({key:l("others-collections"),label:"Other collections",children:u(e)}),n}let c=[{key:l("associated"),label:"Associated records",children:()=>e.dataSourceManager.getCollection(i,r).getAssociationFields(this._getScene()).map(e=>{if(!e.targetCollection||"belongsToArray"===e.type||!this.filterCollection(e.targetCollection)||!this.isCollectionAvailable(e.targetCollection))return null;let o=`{{ctx.popup.record.${e.sourceKey||e.collection.filterTargetKey}}}`;e.sourceKey===e.collection.filterTargetKey&&(o="{{ctx.view.inputArgs.filterByTk}}");let n={dataSourceKey:i,collectionName:e.target,associationName:e.resourceName,sourceId:o};return{key:l(`associated-${e.name}`),label:e.title,useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})}}).filter(Boolean)},{key:l("others-records"),label:"Other records",children:u(e)}];if(this._isScene("one")){let o=e.dataSourceManager.getCollection(i,r);if(!o||!this.filterCollection(o)||!this.isCollectionAvailable(o))return c;let n={dataSourceKey:i,collectionName:r,filterByTk:"{{ctx.view.inputArgs.filterByTk}}"};a&&(n.associationName=a,n.sourceId="{{ctx.view.inputArgs.sourceId}}"),c.unshift({key:l("current-record"),label:"Current record",useModel:this.name,createModelOptions:t({stepParams:{resourceSettings:{init:n}}})})}return c}get dataSource(){return this.context.dataSource}get collection(){return this.context.collection}get resource(){return this.context.resource}get association(){return this.context.association}get associationField(){return this.context.association}getAclActionName(){return"view"}async getFilterFields(){return this.collection.getFields().filter(e=>e.filterable)}getResourceSettingsInitParams(){return this.getStepParams("resourceSettings","init")}onInit(e){super.onInit(e),this.context.defineProperty("blockModel",{value:this}),this.context.defineProperty("actionName",{get:()=>this.getAclActionName(),cache:!1}),this.context.defineProperty("resourceName",{get:()=>this.resource.getResourceName(),cache:!1}),this.context.defineProperty("dataSource",{get:()=>{let e=this.getResourceSettingsInitParams();return this.context.dataSourceManager.getDataSource(e.dataSourceKey)}}),this.context.defineProperty("collection",{get:()=>{let e=this.getResourceSettingsInitParams();return this.context.dataSourceManager.getCollection(e.dataSourceKey,e.collectionName)}}),this.context.defineProperty("resource",{get:()=>{let e=this.getResourceSettingsInitParams(),t=this.createResource(this.context,e);t.setDataSourceKey(e.dataSourceKey),t.setResourceName(e.associationName||e.collectionName);let l=()=>{var l;let o=this.context.engine;if(!(null==o?void 0:o.getDataSourceDirtyVersion))return;let n=(null==(l=t.getDataSourceKey)?void 0:l.call(t))||e.dataSourceKey||"main";this.lastSeenDirtyVersion=this.getDirtyTrackingVersion(o,n,t,e)};return l(),t.on("refresh",()=>{l(),this.invalidateFlowCache("beforeRender")}),t}}),this.context.defineProperty("association",{get:()=>{let e=this.getResourceSettingsInitParams();if(e.associationName)return this.dataSource.getAssociation(e.associationName)}})}createResource(e,t){throw Error("createResource method must be implemented in subclasses of CollectionBlockModel")}refresh(){return this.resource?this.resource.refresh():super.refresh()}defaultBlockTitle(){var e,t,l,o,n,r,a;let s=this.translate((null==(e=this.constructor.meta)?void 0:e.label)||this.constructor.name),d=(null==(t=this.dataSource)?void 0:t.displayName)||(null==(l=this.dataSource)?void 0:l.key),u=(null==(r=this.context)||null==(n=r.dataSourceManager)||null==(o=n.getDataSources)?void 0:o.call(n).length)||0,c=null==(a=this.collection)?void 0:a.title;if(this.association){let e=this.resource.getResourceName(),t=this.dataSource.getCollection(e.split(".")[0]);return(0,i.l)({blockLabel:s,dsName:d,dsCount:u,collectionTitle:c,sourceCollectionTitle:t.title,associationTitle:this.association.title})}return(0,i.l)({blockLabel:s,dsName:d,dsCount:u,collectionTitle:c})}addAppends(e){var t,l;let o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e)if(e.includes(".")){let[l,n]=e.split("."),i=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${l}`);if(!i)return;let r=i.target;if(!r)return;let a=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${r}.${n}`);if(a&&a.isAssociationField()){if(this.resource.addAppends(e),(null==(t=a.targetCollection)?void 0:t.template)==="tree"){let t=e.includes(".")?e.slice(e.lastIndexOf(".")+1):e;a.name===t&&this.resource.addAppends(`${e}.parent(recursively=true)`)}o&&this.resource.refresh()}}else{if(!this.collection)return;let t=this.context.dataSourceManager.getCollectionField(`${this.collection.dataSourceKey}.${this.collection.name}.${e}`);if(!t)return;t.isAssociationField()&&(this.resource.addAppends(t.name),(null==(l=t.targetCollection)?void 0:l.template)==="tree"&&this.resource.addAppends(`${t.name}.parent(recursively=true)`),o&&this.resource.refresh())}}constructor(...e){super(...e),this.isManualRefresh=!1,this.collectionRequired=!0,this.lastSeenDirtyVersion=null,this.dirtyRefreshing=!1}}s.registerFlow({key:"resourceSettings",sort:-999,steps:{collectionCheck:{handler(e){e.collection||e.exitAll()}},aclCheck:{use:"aclCheck"},init:{handler(e,t){if(!t.dataSourceKey)throw Error("dataSourceKey is required");if(!t.collectionName)throw Error("collectionName is required");Object.keys(t).includes("sourceId")&&e.resource.setSourceId(t.sourceId),Object.keys(t).includes("filterByTk")&&e.resource.setFilterByTk(t.filterByTk)}}}}),s.registerFlow({key:"refreshSettings",sort:1e4,steps:{refresh:{async handler(e){let t=e.model,l=e.model.context.filterManager;l&&l.bindToTarget(e.model.uid);let n=t.getDataLoadingMode(),i=t.resource;if(i instanceof o.MultiRecordResource&&"manual"===n&&!t.hasActiveFilters()){i.setData([]),i.setMeta({count:0,hasNext:!1,page:1}),i.loading=!1;return}e.model.isManualRefresh?e.model.resource.loading=!1:await e.model.resource.refresh()}}}}),s.registerFlow({key:"dataLoadingModeSettings",sort:800,title:(0,o.tExpr)("Set data loading mode"),steps:{dataLoadingMode:{use:"dataLoadingMode"}}}),s.define({hide:!0})},2606(e,t,l){l.d(t,{R:()=>i});var o=l(504),n=l(3890);class i extends n.z{}i.define({hide:!0,label:(0,o.tExpr)("Data blocks"),async children(e){let t=await (0,o.buildSubModelItems)(i)(e),{collectionName:l,filterByTk:n,scene:r}=e.view.inputArgs;return t.filter(t=>{var o,i,a,s,d,u,c;let p=e.engine.getModelClass(t.useModel);return"select"===r?null==(s=p._isScene)?void 0:s.call(p,"select"):"subForm"===r?null==(d=p._isScene)?void 0:d.call(p,"subForm"):"bulkEditForm"===r?null==(u=p._isScene)?void 0:u.call(p,"bulkEditForm"):"new"===r||l&&!n?null==(c=p._isScene)?void 0:c.call(p,"new"):!p._isScene||!(null==(o=p._isScene)?void 0:o.call(p,"select"))&&!(null==(i=p._isScene)?void 0:i.call(p,"subForm"))&&!(null==(a=p._isScene)?void 0:a.call(p,"bulkEditForm"))})}})},6859(e,t,l){l.d(t,{o:()=>n});var o=l(504);class n extends o.FlowModel{static resolveUse(e,t,l){var o,n;let i=null==e||null==(n=e.stepParams)||null==(o=n.fieldBinding)?void 0:o.use;return i&&i!==(null==e?void 0:e.use)?i:null==e?void 0:e.use}}},1442(e,t,l){l.d(t,{j:()=>n});var o=l(504);class n extends o.FlowModel{}n.registerFlow({key:"popupSettings",on:"click",steps:{openView:{use:"openView",defaultParams:e=>({mode:"embed",preventClose:!0,pageModelClass:"RootPageModel"})}}})},6832(e,t,l){l.r(t),l.d(t,{DateFilterDynamicComponent:()=>_});var o=l(1178),n=l(1649),i=l(2793),r=l(691),a=l(504),s=l(6305),d=l(3526),u=l(7583);let c=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,p=(e,t)=>{if(!e)return null;if(d.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,d.dayjs)(e).format(t),o=(0,d.dayjs)(l,t);return o.isValid()?o:(0,d.dayjs)(e)}let l=(0,d.dayjs)(e,t);if(l.isValid())return l;let o=(0,d.dayjs)(e);return o.isValid()?o:null},m=e=>{let{value:t,picker:l="date",format:r,showTime:m,timeFormat:h}=e,f=(0,a.useFlowEngine)(),g=f.translate.bind(f),v=(0,s.fD)(),y=[{label:g("Today"),value:v.today},{label:g("Last week"),value:v.lastWeek},{label:g("This week"),value:v.thisWeek},{label:g("Next week"),value:v.nextWeek},{label:g("Last month"),value:v.lastMonth},{label:g("This month"),value:v.thisMonth},{label:g("Next month"),value:v.nextMonth},{label:g("Last quarter"),value:v.lastQuarter},{label:g("This quarter"),value:v.thisQuarter},{label:g("Next quarter"),value:v.nextQuarter},{label:g("Last year"),value:v.lastYear},{label:g("This year"),value:v.thisYear},{label:g("Next year"),value:v.nextYear},{label:g("Last 7 days"),value:v.last7Days},{label:g("Next 7 days"),value:v.next7Days},{label:g("Last 30 days"),value:v.last30Days},{label:g("Next 30 days"),value:v.next30Days},{label:g("Last 90 days"),value:v.last90Days},{label:g("Next 90 days"),value:v.next90Days}],_=t?(0,s.Pn)(null==t?void 0:t[0],l):l,b=_===l&&r?r:(0,d.getPickerFormat)(_),x="date"===_?c(b):b,M=(0,d.getDateTimeFormat)(_,x,m,h),w={utc:!0,presets:y,...e,format:M,picker:_,showTime:!!m&&{defaultValue:[(0,d.dayjs)("00:00:00","HH:mm:ss"),(0,d.dayjs)("23:59:59","HH:mm:ss")]}},S=(0,n.useMemo)(()=>u.default.castArray(e.value).map(e=>p(e,M)),[e.value,M]);return(0,o.jsx)(i.DatePicker.RangePicker,{...w,style:{flex:1,...null==w?void 0:w.style},value:S})},h=e=>e?e.replace(/\s*HH?:mm(?::ss)?(?:\.SSS)?/g,"").trim():e,f=(e,t)=>{if(!e)return null;if(d.dayjs.isDayjs(e))return e;if("string"==typeof e&&e.endsWith("Z")){let l=(0,d.dayjs)(e).format(t),o=(0,d.dayjs)(l,t);return o.isValid()?o:(0,d.dayjs)(e)}let l=(0,d.dayjs)(e,t);if(l.isValid())return l;let o=(0,d.dayjs)(e);return o.isValid()?o:null},g=e=>{let{picker:t="date",format:l,showTime:r,timeFormat:u,onChange:c}=e,p=(0,a.useFlowContext)(),m=Array.isArray(e.value)?e.value[0]:e.value,g=m?(0,s.Pn)(m,t):t,[v,y]=(0,n.useState)(g),_=p.model.translate.bind(p.model),b=e=>{let o=e===t&&l?l:(0,d.getPickerFormat)(e),n="date"===e?h(o):o;return(0,d.getDateTimeFormat)(e,n,r,u)},x=(0,n.useMemo)(()=>b(v),[l,t,r,v,u]),M=(0,n.useMemo)(()=>f(m,x),[m,x]),w={utc:!0,inputReadOnly:p.isMobileLayout,...e,underFilter:!0,showTime:!!r&&{defaultValue:(0,d.dayjs)("00:00:00","HH:mm:ss")},format:x,picker:v};return(0,o.jsxs)(i.Space.Compact,{style:{width:"100%"},children:[(0,o.jsx)(i.Select,{style:{width:"100px"},popupMatchSelectWidth:!1,value:v,options:[{label:_("Date"),value:"date"},{label:_("Month"),value:"month"},{label:_("Quarter"),value:"quarter"},{label:_("Year"),value:"year"}],onChange:e=>{let t=b(e),l=x;if(y(e),!m||!c)return;let o=f(m,l);o&&o.isValid()&&c(o,o.format(t))}}),(0,o.jsx)(i.DatePicker,{...w,style:{flex:1,...null==w?void 0:w.style},value:M})]})},v=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=[{value:"exact",label:e("Exact day")},{value:"past",label:e("Past")},{value:"next",label:e("Next")},{value:"today",label:e("Today")},{value:"yesterday",label:e("Yesterday")},{value:"tomorrow",label:e("Tomorrow")},{value:"thisWeek",label:e("This Week")},{value:"lastWeek",label:e("Last Week")},{value:"nextWeek",label:e("Next Week")},{value:"thisMonth",label:e("This Month")},{value:"lastMonth",label:e("Last Month")},{value:"nextMonth",label:e("Next Month")},{value:"thisQuarter",label:e("This Quarter")},{value:"lastQuarter",label:e("Last Quarter")},{value:"nextQuarter",label:e("Next Quarter")},{value:"thisYear",label:e("This Year")},{value:"lastYear",label:e("Last Year")},{value:"nextYear",label:e("Next Year")}];return t&&l.splice(3,0,{value:"now",label:e("Now")}),l},y=e=>{let{isRange:t,defaultValue:l,onChange:i,...r}=e,a=(0,n.useCallback)((e,t)=>i(t),[i]);return t?(0,o.jsx)(m,{...r,onChange:a}):(0,o.jsx)(g,{...r,onChange:a})},_=e=>{let{value:t,onChange:l,includeNow:s=!1,...d}=e,u=(0,a.useFlowEngine)(),c=u.translate.bind(u),{token:p}=i.theme.useToken(),[m,h]=(0,n.useState)(!1),f=(0,n.useMemo)(()=>v(c,s),[c,s]),g=e=>{if(h(!1),"exact"===e)return l(void 0);let t={type:e};["past","next"].includes(e)&&(t.number=1,t.unit="day"),l(t)},_=()=>{let e=f.slice(0,3),t=f.slice(3),l=(0,r.css)`
|
|
757
757
|
padding: 3px 10px;
|
|
758
758
|
cursor: pointer;
|
|
759
759
|
white-space: nowrap;
|
|
@@ -762,8 +762,8 @@ ctx.render(<JsItem />);
|
|
|
762
762
|
&:hover {
|
|
763
763
|
background-color: ${p.colorFillSecondary};
|
|
764
764
|
}
|
|
765
|
-
`;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(793),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;let s=e.resource.getMeta("currentFilterByTk"),d={...e.model.getCurrentRecord()};if(!d)return;let u=null==(t=e.association)?void 0:t.targetKey;if(u&&(null==(l=e.association)?void 0:l.interface)!=="m2m"?e.resource.setMeta({currentFilterByTk:null==d?void 0:d[u]}):e.resource.setMeta({currentFilterByTk:e.collection.getFilterByTK(d)}),!e.form)return;let c=e.resource.getMeta("currentFilterByTk"),p=!(0,r.isEqual)(s,c),m=null==(o=(n=e.model).getUserModifiedFields)?void 0:o.call(n),h=!!(null==m?void 0:m.size),f=()=>{if(!(null==m?void 0:m.size))return;let t=e=>null!==e&&"object"==typeof e;for(let l of Array.from(m)){let o=e.form.getFieldValue(l),n=null==d?void 0:d[l];(Object.is(o,n)||t(o)&&t(n)&&(0,r.isEqual)(o,n))&&m.delete(l)}};if(!p&&h){let t={...d};for(let l of m)t[l]=e.form.getFieldValue(l);e.form.setFieldsValue(t),f();return}p&&(null==(i=(a=e.model).resetUserModifiedFields)||i.call(a)),e.form.setFieldsValue(d),f()})}},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})},793(e,t,l){l.d(t,{JU:()=>H,s2:()=>R,F4:()=>E,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(3526);function f(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,h.evaluateConditions)((0,h.removeInvalidFilterItems)(t),l)}catch{return!1}}var g=l(3728);function v(e){return!!e&&"object"==typeof e&&(Array.isArray(e)||s.default.isPlainObject(e))}function y(e,t){if(t)for(let l of(0,g.ef)(e))t.deps.add(`fv:${l}`)}function _(e){let{valuesMirror:t,collector:l,basePath:o,getFormValuesSnapshot:n,getFormValueAtPath:i}=e,r=()=>o.length?s.default.get(t,o):t,a=r(),d=a&&("object"==typeof a||"function"==typeof a)?a:Array.isArray(a)?[]:{},u=e=>_({valuesMirror:t,basePath:e,collector:l,getFormValuesSnapshot:n,getFormValueAtPath:i});return new Proxy(d,{get(e,a){if("toJSON"===a)return(l&&(l.wildcard=!0),0===o.length)?()=>n():()=>(0,m.toJS)(r());if("symbol"==typeof a){l&&(l.wildcard=!0);let e=r();return null==e?void 0:e[a]}let d=r();if(null==d)return;if("__raw"===a)return d;if("__proto__"===a||"prototype"===a||"constructor"===a){l&&(l.wildcard=!0);return}let c=Array.isArray(d),p=c&&("number"==typeof a&&Number.isInteger(a)||"string"==typeof a&&/^\d+$/.test(a));if(c&&!p){l&&(l.wildcard=!0);let e=d[a];return"function"==typeof e?e.bind(d):e}let h=[...o,p?Number(a):a];y(h,l);let f=d[a];if(void 0===f){let e=i(h);s.default.isEqual(e,f)||(s.default.set(t,h,e),f=e)}return null==f||"object"!=typeof f?f:v(f)?u(h):f},ownKeys(){l&&(l.wildcard=!0);let e=r();return e?Reflect.ownKeys(e):[]},getOwnPropertyDescriptor(e,t){let l=r();if(l)return Object.getOwnPropertyDescriptor(l,t)},has(e,t){let l=r();return!!l&&t in l}})}function b(e,t){try{let l=(0,r.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,g.EA)(String(o)).filter(e=>"object"!=typeof e);y(e,t);continue}let l=o?`ctx:${e}:${String(o)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}function x(e,t){if((0,r.isRunJSValue)(e))try{let l=(0,r.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,g.EA)(String(o)).filter(e=>"object"!=typeof e);y(e,t);continue}let l=o?`ctx:${e}:${String(o)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}function M(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 w=l(1022),S=l(9133);let k=Symbol("SKIP_RULE_VALUE"),F=Symbol("UNRESOLVED_ASSOCIATION_IDENTITY"),C=1e3;class A{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="default"==((null==l?void 0:l.mode)==="default"?"default":"assign")?"default":"system",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,g.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,S.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,S.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,S.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,S.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,g.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="default"==((null==o?void 0:o.mode)==="default"?"default":"assign")?"default":"system",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,g.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()?C: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,g.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,S.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="default"==((null==i?void 0:i.mode)==="default"?"default":"assign")?"default":"system",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,S.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,S.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)?C:0;for(let e of i){let t=this.rules.get(e);t&&(t.rule.priority=a),this.scheduleRule(e)}});this.defaultRuleMasterDisposers.set(l,n)}removeRule(e){let t=this.rules.get(e);if(!t)return;try{let e=t.rule.getContext(),l=t.rule.getTarget(),o=this.options.tryResolveNamePath(e,l);if(o){let e=(0,g.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,w.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 v=await this.resolveRuleValue(l,o,n,f,h);if(v===k||n!==o.runSeq)return;this.commitRuleDeps(l,o,h);let y=this.normalizeResolvedValueForTarget(a,v),_=this.normalizeResolvedValueForAssociationTarget(a,p,y);if("default"===l.source&&!this.checkDefaultRuleCanApply(_,p,m,u,c,o))return;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){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 b=_;if(this.isAssociationTargetSemanticallyEqual(a,p,this.options.getFormValueAtPath(p),b))return;let x=this.collectUpdateAssociationInitPatches(a,p);if(null==x)return;if("system"===l.source||"default"===l.source){var M,w;let e=null==a?void 0:a.model,t=null==e||null==(M=e.subModels)?void 0:M.field;if(t){let l=this.getModelTargetNamePath(e);l&&(0,g.Qc)(l)===m&&(e.setProps({value:_}),null==(w=t.setProps)||w.call(t,{value:_}))}}let S=this.options.getWriteSeq(),F=[...x,{path:p,value:_}];await this.options.setFormValues(f,F,{source:l.source,txId:this.currentRuleTxId||void 0});let C=this.options.getWriteSeq();C!==S&&this.lastRuleWriteByTargetKey.set(m,{source:l.source,priority:l.priority,writeSeq:C})}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,h.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:F;if(!e||"object"!=typeof e)return F;if(o)return void 0===e[o]?F:e[o];let t={};for(let o of l){if(void 0===e[o])return F;t[o]=e[o]}return t};if((0,S.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===F)return F;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===F||a===F?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,S.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,S.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,g.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;let o;if("update"!==(null==(t=(l=this.options).getActionName)?void 0:t.call(l)))return!0;try{o=null==e?void 0:e.item}catch{o=void 0}return!!o&&"object"==typeof o&&!0===o.__is_new__}shouldRunRule(e,t,l,o){return!(!e.getEnabled()||!t||!l||"default"===e.source&&(!this.shouldApplyDefaultRuleInCurrentState(o)||this.options.findExplicitHit(l)))&&!0}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&&b(e.getCondition(),a),i?x(n,a):b(n,a),o)for(let e of(y(o,a),this.collectAssociationPrefixPaths(l,o)))y(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||!!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 k;return this.commitRuleDeps(i,t,n),k}return d.value}catch{if(l!==t.runSeq)return k;return this.commitRuleDeps(i,t,n),k}}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 k;return this.commitRuleDeps(i,t,n),k}}commitRuleDeps(e,t,l){let o=new Set(l.deps);l.wildcard&&o.add("fv:*"),this.updateRuleDeps(e,t,o)}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,w.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=!1,u=()=>(d||(n=this.buildItemChainValue(e,i,l)??(null==e?void 0:e.item),d=!0),n);return a.defineProperty("item",{get:u,cache:!1}),a}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=n(t,void 0,void 0,void 0);if(!l||!Array.isArray(l)||!l.length||!(null==o?void 0:o.getField))return;let r=[],a=[],d=o;for(let e=0;e<l.length-1;e++){var u,c;let t=l[e];if("string"!=typeof t)break;let o=null==d||null==(u=d.getField)?void 0:u.call(d,t);if(!(null==o||null==(c=o.isAssociationField)?void 0:c.call(o)))break;let n=(0,S.E4)(o);if(a.push(t),n){let t=l[e+1];if("number"!=typeof t)break;a.push(t),e+=1}let i=null==o?void 0:o.targetCollection;if(!i)break;r.push({path:[...a],toMany:n}),d=i}let p=e=>{if(e<0)return i;let l=r[e],o=s.default.get(t,l.path),a=l.path[l.path.length-1];return n(o,l.toMany&&"number"==typeof a?a:void 0,(()=>{if(!l.toMany)return;let e=l.path.slice(0,-1),o=s.default.get(t,e);return Array.isArray(o)?o.length:void 0})(),p(e-1))};return r.length?p(r.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){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 o=(()=>{try{return e.getContext()}catch{return}})();for(let n of l){if("fv:*"===n)continue;if(!n.startsWith("fv:")&&!n.startsWith("ctx:")){let l=(0,g.c1)(n),o=(0,m.reaction)(()=>s.default.get(this.options.valuesMirror,l),()=>this.scheduleRule(e.id));t.depDisposers.push(o);continue}if(n.startsWith("fv:")){let l=n.slice(3),o=(0,g.c1)(l),i=(0,m.reaction)(()=>s.default.get(this.options.valuesMirror,o),()=>this.scheduleRule(e.id));t.depDisposers.push(i);continue}let l=n.slice(4),i=l.indexOf(":"),r=i>=0?l.slice(0,i):l,a=i>=0?l.slice(i+1):"",d=a?(0,g.EA)(a).filter(e=>"object"!=typeof e):[];if("item"===r){let l=(0,m.reaction)(()=>this.getFieldIndexSignature(o),()=>this.scheduleRule(e.id));if(t.depDisposers.push(l),d.length){let l=this.options.createTrackingFormValues({deps:new Set,wildcard:!1}),n=(0,m.reaction)(()=>{var t;let n=null==(t=e.getTarget)?void 0:t.call(e),i=n?this.options.tryResolveNamePath(o,n):null,r=this.buildItemChainValue(o,l,i)??(null==o?void 0:o.item);return s.default.get(r,d)},()=>this.scheduleRule(e.id));t.depDisposers.push(n)}continue}let u=(0,m.reaction)(()=>{let e=o?o[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 P{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)}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.ruleEngine.onModelMounted(t)},this.unmountedListener=e=>{let{model:t}=e;this.ruleEngine.onModelUnmounted(t)},o.on("model:mounted",this.mountedListener),o.on("model:unmounted",this.unmountedListener)),null==e?void 0:e.sync)){let e=this.getFormValuesSnapshot();e&&"object"==typeof e&&(s.default.merge(this.valuesMirror,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.observableBindings.values()))e.dispose();this.observableBindings.clear(),this.txWriteCounts.clear()}resetAfterFormReset(){if(this.disposed)return;for(let e of(this.explicitSet.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,e),this.writeSeq+=1,this.bumpChangeTick(),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;for(let i of e||[]){let e=null==i?void 0:i.name,r=Array.isArray(e)?e:"string"==typeof e||"number"==typeof e?[e]:null;if(!(null==r?void 0:r.length))continue;let a=t.getFieldValue(r),d=s.default.get(this.valuesMirror,r);s.default.isEqual(a,d)||(n||(this.writeSeq+=1,n=!0),s.default.set(this.valuesMirror,r,a),l.push(r),(null==i?void 0:i.touched)===!0&&o.add((0,g.Qc)(r)))}if(!l.length)return;let i=this.isSuppressed();if(!i&&o.size)for(let e of o)this.markExplicit(e);if(this.bumpChangeTick(),i)return;let r=e.some(e=>(null==e?void 0:e.touched)===!0)?"user":"system",a=this.writeSeq;for(let e of l)this.lastWriteMetaByPathKey.set((0,g.Qc)(e),{source:r,writeSeq:a});this.lastObservedChangedPaths=l,this.lastObservedSource=r;let d=++this.lastObservedToken;queueMicrotask(()=>{this.disposed||this.lastObservedToken===d&&(this.lastObservedChangedPaths=null,this.lastObservedSource=null)})}handleFormValuesChange(e,t){if(this.disposed||this.isSuppressed())return;let l=this.lastObservedChangedPaths&&this.lastObservedChangedPaths.length?this.lastObservedChangedPaths:Object.keys(e||{}).map(e=>[e]),o=this.lastObservedSource??"user";this.lastObservedChangedPaths=null,this.lastObservedSource=null;let n=t&&"object"==typeof t?t:this.getFormValuesSnapshot(),i=this.deriveExplicitPaths(l,n,this.valuesMirror),r=!1,a=!1,d=[];for(let e of l){if(!(null==e?void 0:e.length))continue;let t=s.default.get(n,e),l=s.default.get(this.valuesMirror,e);s.default.isEqual(l,t)||(a||(this.writeSeq+=1,a=!0),s.default.set(this.valuesMirror,e,t),r=!0,d.push(e))}for(let e of(r&&this.bumpChangeTick(),i))this.markExplicit((0,g.Qc)(e));if(r){let e=this.writeSeq;for(let t of d)(null==t?void 0:t.length)&&this.lastWriteMetaByPathKey.set((0,g.Qc)(t),{source:o,writeSeq:e})}let u=(0,w.ao)();this.emitFormValuesChange({source:o,txId:u,changedPaths:l,changedValues:e,allValues:n,allValuesSnapshot:n})}deriveExplicitPaths(e,t,l){let o=[],n=new Set;for(let i of e||[]){if(!(null==i?void 0:i.length))continue;let e=s.default.get(l,i),r=s.default.get(t,i);this.collectExplicitDiffPaths(e,r,i,o,n)}return o}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 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,g.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,w.ao)(),p=(null==l?void 0:l.markExplicit)??"default"!==d,h=void 0===(null==l?void 0:l.txId),v="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,_=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)>v},b=e=>"linkage"===d?{source:d,writeSeq:e,linkageScopeDepth:v,linkageTxId:y}:{source:d,writeSeq:e},x=e=>"linkage"===d&&y?{...e,linkageTxId:y}:e;try{let l=[];if(!Array.isArray(t)){let e=Object.entries(t||{}).filter(e=>{let[t]=e;return!_(t)}),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){let e=(0,m.isObservable)(l)?(0,m.toJS)(l):l;"function"==typeof a.setFieldValue?a.setFieldValue(t,e):"function"==typeof a.setFields?a.setFields([{name:t,value:e}]):null==(i=a.setFieldsValue)||i.call(a,{[t]:e}),s.default.set(this.valuesMirror,[t],e)}this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let n=this.writeSeq;for(let e of o)this.lastWriteMetaByPathKey.set(e,b(n));if(p)for(let e of o)this.markExplicit(e);if(u){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(x({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&&!f(e,t))continue;let i=this.resolveNamePath(e,l.path),r=(0,g.Qc)(i),a=l.value,d=(0,m.isObservable)(a)?(0,m.toJS)(a):a;if(_(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 h=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(!h.length)return;let M=this.txWriteCounts.get(c)||new Map;this.txWriteCounts.set(c,M);let S=[];for(let e of h){let t=(M.get(e.pathKey)||0)+1;M.set(e.pathKey,t),t>w.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,t),l.push(e);this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}for(let{pathKey:e}of S)this.lastWriteMetaByPathKey.set(e,b(k));if(p)for(let{pathKey:e}of S)this.markExplicit(e);if("default"===d)for(let{namePath:e,pathKey:t}of S){let l=this.getFormValueAtPath(e);this.lastDefaultValueByPathKey.set(t,l)}for(let{namePath:t,rawValue:l,pathKey:o}of S){if(!(0,m.isObservable)(l))continue;let n=l,i=(0,m.observe)(n,()=>{this.applyBoundValue(e,t,o,(0,m.toJS)(n),d,v,y)}),r=this.observableBindings.get(o);r&&r.dispose(),this.observableBindings.set(o,{source:d,dispose:i})}if(u){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(x({source:d,txId:c,changedPaths:l,changedValues:{},allValues:e,allValuesSnapshot:e}))}}finally{h&&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)return;let p=s.default.get(this.valuesMirror,t);if(s.default.isEqual(p,o))return;this.writeSeq+=1;let m=this.writeSeq;this.suppressFormCallbackDepth++;try{null==(u=c.setFieldValue)||u.call(c,t,o),s.default.set(this.valuesMirror,t,o),this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let h="linkage"===n?{source:n,writeSeq:m,linkageScopeDepth:Number.isFinite(Number(i))?Number(i):0,linkageTxId:"string"==typeof r&&r?r:void 0}:{source:n,writeSeq:m};this.lastWriteMetaByPathKey.set(l,h);let f=(0,w.ao)(),g=this.getFormValuesSnapshot(),v={source:n,txId:f,changedPaths:[t],changedValues:{},allValues:g,allValuesSnapshot:g};if("linkage"===n&&r&&(v.linkageTxId=r),this.emitFormValuesChange(v),"default"===n&&this.isExplicit(l)){let e=this.observableBindings.get(l);e&&(e.dispose(),this.observableBindings.delete(l))}"default"===n&&this.lastDefaultValueByPathKey.set(l,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,g.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)}markExplicit(e){if(!this.explicitSet.has(e)){for(let t of(this.explicitSet.add(e),Array.from(this.lastDefaultValueByPathKey.keys())))(t===e||t.startsWith(`${e}.`)||t.startsWith(`${e}[`))&&this.lastDefaultValueByPathKey.delete(t);for(let[e,t]of Array.from(this.observableBindings.entries()))"default"===t.source&&this.isExplicit(e)&&(t.dispose(),this.observableBindings.delete(e))}}isExplicit(e){return!!this.findExplicitHit(e)}findExplicitHit(e){if(this.explicitSet.has(e))return e;let t=(0,g.c1)(e),l=[];for(let e=0;e<t.length;e++){l.push(t[e]);let o=(0,g.Qc)(l);if(this.explicitSet.has(o)&&"number"!=typeof t[e+1])return o}return null}constructor(e){this.valuesMirror=(0,m.observable)({}),this.explicitSet=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.model=e.model,this.getForm=e.getForm,this.formPatcher=M({isSuppressed:()=>this.isSuppressed(),getCallerContext:()=>{var e;return null==(e=this.model)?void 0:e.context},setFormValues:this.setFormValues.bind(this)}),this.ruleEngine=new A({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=>_({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),lastDefaultValueByPathKey:this.lastDefaultValueByPathKey,lastWriteMetaByPathKey:this.lastWriteMetaByPathKey,observableBindings:this.observableBindings}),this.formValuesProxy=_({valuesMirror:this.valuesMirror,basePath:[],getFormValuesSnapshot:()=>this.getFormValuesSnapshot(),getFormValueAtPath:e=>this.getFormValueAtPath(e)})}}function T(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 j=l(3127);let I={formModelSettings:new Set(["layout","assignRules"]),eventSettings:new Set(["linkageRules"])},L="nb-flow-keep-mobile-horizontal",Y=(0,i.css)`
|
|
766
|
-
&.${
|
|
765
|
+
`;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(793),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;let s=e.resource.getMeta("currentFilterByTk"),d={...e.model.getCurrentRecord()};if(!d)return;let u=null==(t=e.association)?void 0:t.targetKey;if(u&&(null==(l=e.association)?void 0:l.interface)!=="m2m"?e.resource.setMeta({currentFilterByTk:null==d?void 0:d[u]}):e.resource.setMeta({currentFilterByTk:e.collection.getFilterByTK(d)}),!e.form)return;let c=e.resource.getMeta("currentFilterByTk"),p=!(0,r.isEqual)(s,c),m=null==(o=(n=e.model).getUserModifiedFields)?void 0:o.call(n),h=!!(null==m?void 0:m.size),f=()=>{if(!(null==m?void 0:m.size))return;let t=e=>null!==e&&"object"==typeof e;for(let l of Array.from(m)){let o=e.form.getFieldValue(l),n=null==d?void 0:d[l];(Object.is(o,n)||t(o)&&t(n)&&(0,r.isEqual)(o,n))&&m.delete(l)}};if(!p&&h){let t={...d};for(let l of m)t[l]=e.form.getFieldValue(l);e.form.setFieldsValue(t),f();return}p&&(null==(i=(a=e.model).resetUserModifiedFields)||i.call(a)),e.form.setFieldsValue(d),f()})}},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})},793(e,t,l){l.d(t,{JU:()=>q,s2:()=>N,F4:()=>R,mO:()=>$});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(3526);function f(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,h.evaluateConditions)((0,h.removeInvalidFilterItems)(t),l)}catch{return!1}}var g=l(3728);function v(e){return!!e&&"object"==typeof e&&(Array.isArray(e)||s.default.isPlainObject(e))}function y(e,t){if(t)for(let l of(0,g.ef)(e))t.deps.add(`fv:${l}`)}function _(e){let{valuesMirror:t,collector:l,basePath:o,getFormValuesSnapshot:n,getFormValueAtPath:i}=e,r=()=>o.length?s.default.get(t,o):t,a=r(),d=a&&("object"==typeof a||"function"==typeof a)?a:Array.isArray(a)?[]:{},u=e=>_({valuesMirror:t,basePath:e,collector:l,getFormValuesSnapshot:n,getFormValueAtPath:i});return new Proxy(d,{get(e,a){if("toJSON"===a)return(l&&(l.wildcard=!0),0===o.length)?()=>n():()=>(0,m.toJS)(r());if("symbol"==typeof a){l&&(l.wildcard=!0);let e=r();return null==e?void 0:e[a]}let d=r();if(null==d)return;if("__raw"===a)return d;if("__proto__"===a||"prototype"===a||"constructor"===a){l&&(l.wildcard=!0);return}let c=Array.isArray(d),p=c&&("number"==typeof a&&Number.isInteger(a)||"string"==typeof a&&/^\d+$/.test(a));if(c&&!p){l&&(l.wildcard=!0);let e=d[a];return"function"==typeof e?e.bind(d):e}let h=[...o,p?Number(a):a];y(h,l);let f=d[a];if(void 0===f){let e=i(h);s.default.isEqual(e,f)||(s.default.set(t,h,e),f=e)}return null==f||"object"!=typeof f?f:v(f)?u(h):f},ownKeys(){l&&(l.wildcard=!0);let e=r();return e?Reflect.ownKeys(e):[]},getOwnPropertyDescriptor(e,t){let l=r();if(l)return Object.getOwnPropertyDescriptor(l,t)},has(e,t){let l=r();return!!l&&t in l}})}function b(e,t){try{let l=(0,r.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,g.EA)(String(o)).filter(e=>"object"!=typeof e);y(e,t);continue}let l=o?`ctx:${e}:${String(o)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}function x(e,t){if((0,r.isRunJSValue)(e))try{let l=(0,r.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,g.EA)(String(o)).filter(e=>"object"!=typeof e);y(e,t);continue}let l=o?`ctx:${e}:${String(o)}`:`ctx:${e}`;t.deps.add(l)}}}catch{}}function M(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 w=l(1022),S=l(9133),k=l(8709);let F=Symbol("SKIP_RULE_VALUE"),C=Symbol("UNRESOLVED_ASSOCIATION_IDENTITY"),A=1e3;class P{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="default"==((null==l?void 0:l.mode)==="default"?"default":"assign")?"default":"system",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,g.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,S.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,S.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,S.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,S.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,g.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="default"==((null==o?void 0:o.mode)==="default"?"default":"assign")?"default":"system",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,g.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()?A: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,g.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,S.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="default"==((null==i?void 0:i.mode)==="default"?"default":"assign")?"default":"system",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,S.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,S.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)?A: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,g.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,w.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 v=await this.resolveRuleValue(l,o,n,f,h);if(v===F||n!==o.runSeq)return;this.commitRuleDeps(l,o,h);let y=this.normalizeResolvedValueForTarget(a,v),_=this.normalizeResolvedValueForAssociationTarget(a,p,y);if("default"===l.source&&!this.checkDefaultRuleCanApply(_,p,m,u,c,o))return;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){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 b=_;if(this.isAssociationTargetSemanticallyEqual(a,p,this.options.getFormValueAtPath(p),b))return;let x=this.collectUpdateAssociationInitPatches(a,p);if(null==x)return;if("system"===l.source||"default"===l.source){var M,w;let e=null==a?void 0:a.model,t=null==e||null==(M=e.subModels)?void 0:M.field;if(t){let l=this.getModelTargetNamePath(e);l&&(0,g.Qc)(l)===m&&(e.setProps({value:_}),null==(w=t.setProps)||w.call(t,{value:_}))}}let S=this.options.getWriteSeq(),k=[...x,{path:p,value:_}];await this.options.setFormValues(f,k,{source:l.source,txId:this.currentRuleTxId||void 0});let C=this.options.getWriteSeq();C!==S&&this.lastRuleWriteByTargetKey.set(m,{source:l.source,priority:l.priority,writeSeq:C})}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,h.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:C;if(!e||"object"!=typeof e)return C;if(o)return void 0===e[o]?C:e[o];let t={};for(let o of l){if(void 0===e[o])return C;t[o]=e[o]}return t};if((0,S.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===C)return C;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===C||a===C?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,S.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,S.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,g.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=this.getRootCollection()||this.getCollectionFromContext(e);for(let e of t)if("number"!=typeof e){if("string"!=typeof e||!e||!(null==a?void 0:a.getField)||(r=null==a||null==(n=a.getField)?void 0:n.call(a,e),!(null==r||null==(i=r.isAssociationField)?void 0:i.call(r))))break;a=null==r?void 0:r.targetCollection}let s=(null==r||null==(l=r.targetCollection)?void 0:l.filterTargetKey)??(null==r||null==(o=r.targetCollection)?void 0:o.filterByTk)??(null==r?void 0:r.targetKey);if(Array.isArray(s)){let e=s.filter(e=>"string"==typeof e&&!!e);return e.length?e:"id"}return"string"==typeof s&&s?s:"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,k.r5)(r,i),s=(0,k.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)))&&!0}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&&b(e.getCondition(),a),i?x(n,a):b(n,a),o)for(let e of(y(o,a),this.collectAssociationPrefixPaths(l,o)))y(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||!!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 F;return this.commitRuleDeps(i,t,n),F}return d.value}catch{if(l!==t.runSeq)return F;return this.commitRuleDeps(i,t,n),F}}async resolveTemplateValue(e,t,l,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 F;return this.commitRuleDeps(i,t,n),F}}commitRuleDeps(e,t,l){let o=new Set(l.deps);l.wildcard&&o.add("fv:*"),this.updateRuleDeps(e,t,o)}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,w.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=!1,u=()=>(d||(n=this.buildItemChainValue(e,i,l)??(null==e?void 0:e.item),d=!0),n);return a.defineProperty("item",{get:u,cache:!1}),a}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=n(t,void 0,void 0,void 0);if(!l||!Array.isArray(l)||!l.length||!(null==o?void 0:o.getField))return;let r=[],a=[],d=o;for(let e=0;e<l.length-1;e++){var u,c;let t=l[e];if("string"!=typeof t)break;let o=null==d||null==(u=d.getField)?void 0:u.call(d,t);if(!(null==o||null==(c=o.isAssociationField)?void 0:c.call(o)))break;let n=(0,S.E4)(o);if(a.push(t),n){let t=l[e+1];if("number"!=typeof t)break;a.push(t),e+=1}let i=null==o?void 0:o.targetCollection;if(!i)break;r.push({path:[...a],toMany:n}),d=i}let p=e=>{if(e<0)return i;let l=r[e],o=s.default.get(t,l.path),a=l.path[l.path.length-1];return n(o,l.toMany&&"number"==typeof a?a:void 0,(()=>{if(!l.toMany)return;let e=l.path.slice(0,-1),o=s.default.get(t,e);return Array.isArray(o)?o.length:void 0})(),p(e-1))};return r.length?p(r.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,g.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,g.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,g.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 T{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)}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.ruleEngine.onModelMounted(t)},this.unmountedListener=e=>{let{model:t}=e;this.ruleEngine.onModelUnmounted(t)},o.on("model:mounted",this.mountedListener),o.on("model:unmounted",this.unmountedListener)),null==e?void 0:e.sync)){let e=this.getFormValuesSnapshot();e&&"object"==typeof e&&(s.default.merge(this.valuesMirror,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.observableBindings.values()))e.dispose();this.observableBindings.clear(),this.txWriteCounts.clear()}resetAfterFormReset(){if(this.disposed)return;for(let e of(this.explicitSet.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,e),this.writeSeq+=1,this.bumpChangeTick(),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=Array.isArray(e)?e:"string"==typeof e||"number"==typeof e?[e]:null;if(!(null==a?void 0:a.length))continue;let d=t.getFieldValue(a),u=s.default.get(this.valuesMirror,a);!s.default.isEqual(d,u)&&(i||(this.writeSeq+=1,i=!0),s.default.set(this.valuesMirror,a,d),l.push(a),(null==r?void 0:r.touched)!==!0||this.shouldIgnoreSyntheticTouchedInit(a,u,d)||(o.add((0,g.Qc)(a)),n=!0))}if(!l.length)return;let r=this.isSuppressed();if(!r&&o.size)for(let e of o)this.markExplicit(e);if(this.bumpChangeTick(),r)return;let a=n?"user":"system",d=this.writeSeq;for(let e of l)this.lastWriteMetaByPathKey.set((0,g.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,w.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,g.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.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=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==s?void 0:s.getField)||(a=null==s||null==(i=s.getField)?void 0:i.call(s,t),!(null==a||null==(r=a.isAssociationField)?void 0:r.call(a))))break;s=null==a?void 0:a.targetCollection}let d=(null==a||null==(o=a.targetCollection)?void 0:o.filterTargetKey)??(null==a||null==(n=a.targetCollection)?void 0:n.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"}getArrayItemIdentity(e,t){return(0,k.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,g.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.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,g.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,g.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((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))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=t&&"object"==typeof t?t:this.getFormValuesSnapshot(),r=this.getObservedSnapshot(e,i);this.reconcileArrayItemState([...o,...l],e,r),this.pruneDeletedArrayItemState(r);let a=this.deriveExplicitPaths(o,e,r,this.valuesMirror).filter(e=>!this.isDeletedArrayItemPath(e,r)),d=!1,u=!1,c=[];for(let t of o){if(!(null==t?void 0:t.length))continue;let l=this.getObservedChangedValue(t,e,r),o=s.default.get(this.valuesMirror,t);s.default.isEqual(o,l)||(u||(this.writeSeq+=1,u=!0),s.default.set(this.valuesMirror,t,l),d=!0,c.push(t))}for(let e of(d&&this.bumpChangeTick(),a))this.markExplicit((0,g.Qc)(e));if(d){let e=this.writeSeq;for(let t of c)(null==t?void 0:t.length)&&this.lastWriteMetaByPathKey.set((0,g.Qc)(t),{source:n,writeSeq:e})}let p=(0,w.ao)();this.emitFormValuesChange({source:n,txId:p,changedPaths:o,changedValues:e,allValues:r,allValuesSnapshot:r})}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 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,g.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,w.ao)(),p=(null==l?void 0:l.markExplicit)??"default"!==d,h=void 0===(null==l?void 0:l.txId),v="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,_=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)>v},b=e=>"linkage"===d?{source:d,writeSeq:e,linkageScopeDepth:v,linkageTxId:y}:{source:d,writeSeq:e},x=e=>"linkage"===d&&y?{...e,linkageTxId:y}:e;try{let l=[];if(!Array.isArray(t)){let e=Object.entries(t||{}).filter(e=>{let[t]=e;return!_(t)}),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){let e=(0,m.isObservable)(l)?(0,m.toJS)(l):l;"function"==typeof a.setFieldValue?a.setFieldValue(t,e):"function"==typeof a.setFields?a.setFields([{name:t,value:e}]):null==(i=a.setFieldsValue)||i.call(a,{[t]:e}),s.default.set(this.valuesMirror,[t],e)}this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let n=this.writeSeq;for(let e of o)this.lastWriteMetaByPathKey.set(e,b(n));if(p)for(let e of o)this.markExplicit(e);if(u){let e=this.getFormValuesSnapshot();this.emitFormValuesChange(x({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&&!f(e,t))continue;let i=this.resolveNamePath(e,l.path),r=(0,g.Qc)(i),a=l.value,d=(0,m.isObservable)(a)?(0,m.toJS)(a):a;if(_(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 h=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(!h.length)return;let M=this.txWriteCounts.get(c)||new Map;this.txWriteCounts.set(c,M);let S=[];for(let e of h){let t=(M.get(e.pathKey)||0)+1;M.set(e.pathKey,t),t>w.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,t),l.push(e);this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}for(let{pathKey:e}of S)this.lastWriteMetaByPathKey.set(e,b(k));if(p)for(let{pathKey:e}of S)this.markExplicit(e);if("default"===d)for(let{namePath:e,pathKey:t}of S){let l=this.getFormValueAtPath(e);this.lastDefaultValueByPathKey.set(t,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,g.c1)(t),t,(0,m.toJS)(o),d,v,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(x({source:d,txId:c,changedPaths:l,changedValues:{},allValues:e,allValuesSnapshot:e}))}}finally{h&&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)return;let p=s.default.get(this.valuesMirror,t);if(s.default.isEqual(p,o))return;this.writeSeq+=1;let m=this.writeSeq;this.suppressFormCallbackDepth++;try{null==(u=c.setFieldValue)||u.call(c,t,o),s.default.set(this.valuesMirror,t,o),this.bumpChangeTick()}finally{this.suppressFormCallbackDepth--}let h="linkage"===n?{source:n,writeSeq:m,linkageScopeDepth:Number.isFinite(Number(i))?Number(i):0,linkageTxId:"string"==typeof r&&r?r:void 0}:{source:n,writeSeq:m};this.lastWriteMetaByPathKey.set(l,h);let f=(0,w.ao)(),g=this.getFormValuesSnapshot(),v={source:n,txId:f,changedPaths:[t],changedValues:{},allValues:g,allValuesSnapshot:g};if("linkage"===n&&r&&(v.linkageTxId=r),this.emitFormValuesChange(v),"default"===n&&this.isExplicit(l)){let e=this.observableBindings.get(l);e&&(e.dispose(),this.observableBindings.delete(l))}"default"===n&&this.lastDefaultValueByPathKey.set(l,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,g.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)}markExplicit(e){if(!this.explicitSet.has(e)){for(let t of(this.explicitSet.add(e),Array.from(this.lastDefaultValueByPathKey.keys())))(t===e||t.startsWith(`${e}.`)||t.startsWith(`${e}[`))&&this.lastDefaultValueByPathKey.delete(t);for(let[e,t]of Array.from(this.observableBindings.entries()))"default"===t.source&&this.isExplicit(e)&&(t.dispose(),this.observableBindings.delete(e))}}isExplicit(e){return!!this.findExplicitHit(e)}findExplicitHit(e){if(this.explicitSet.has(e))return e;let t=(0,g.c1)(e),l=[];for(let e=0;e<t.length;e++){l.push(t[e]);let o=(0,g.Qc)(l);if(this.explicitSet.has(o)&&"number"!=typeof t[e+1])return o}return null}constructor(e){this.valuesMirror=(0,m.observable)({}),this.explicitSet=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.model=e.model,this.getForm=e.getForm,this.formPatcher=M({isSuppressed:()=>this.isSuppressed(),getCallerContext:()=>{var e;return null==(e=this.model)?void 0:e.context},setFormValues:this.setFormValues.bind(this)}),this.ruleEngine=new P({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=>_({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),lastDefaultValueByPathKey:this.lastDefaultValueByPathKey,lastWriteMetaByPathKey:this.lastWriteMetaByPathKey,observableBindings:this.observableBindings}),this.formValuesProxy=_({valuesMirror:this.valuesMirror,basePath:[],getFormValuesSnapshot:()=>this.getFormValuesSnapshot(),getFormValueAtPath:e=>this.getFormValueAtPath(e)})}}function j(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 I=l(3127);let L={formModelSettings:new Set(["layout","assignRules"]),eventSettings:new Set(["linkageRules"])},Y="nb-flow-keep-mobile-horizontal",D=(0,i.css)`
|
|
766
|
+
&.${Y} {
|
|
767
767
|
@media (max-width: 575px) {
|
|
768
768
|
.ant-form-item {
|
|
769
769
|
flex-wrap: nowrap !important;
|
|
@@ -781,7 +781,7 @@ ctx.render(<JsItem />);
|
|
|
781
781
|
}
|
|
782
782
|
}
|
|
783
783
|
}
|
|
784
|
-
`;function D(e,t){var l;return!!(null==(l=I[e])?void 0:l.has(t))}class E 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=T(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()}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&&I[e]&&l){let t=super.getStepParams(e)||{},o=l.getStepParams(e)||{};for(let l of I[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=I[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 P({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 R(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?L:"",m?Y:""].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 N=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},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-N((null==o?void 0:o.current)||null)-N((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=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)(R,{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]})})};E.define({hide:!0}),E.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,j.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=T(s,null==(r=e.model)?void 0:r.collection);(null==d?void 0:d.addUpdateAssociationValues)&&u.length&&d.addUpdateAssociationValues(u)}}}}),E.registerFlow({key:"eventSettings",title:(0,r.tExpr)("Event settings"),on:"formValuesChange",steps:{linkageRules:{use:"fieldLinkageRules",afterParamsSave(e){var t;e.model.applyFlow("eventSettings",{changedValues:{},allValues:null==(t=e.form)?void 0:t.getFieldsValue(!0)})}}}}),E.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 E{}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:()=>i});var o=l(504),n=l(24);async function i(e,t,i){var r,a,s,d,u;let c=e.resource,p=e.blockModel,{EditFormModel:m}=await Promise.resolve().then(l.bind(l,1961)),h=p instanceof m;await (0,n.D9)({form:null==p?void 0:p.form,blockModel:p,flowSettingsEnabled:null==e?void 0:e.flowSettingsEnabled,skipValidator:(0,n.go)(null==e?void 0:e.model)});let f=p.form.getFieldsValue(!0),g=(0,n.xT)(f,p);if(c instanceof o.SingleRecordResource){if(h){let e=c.getMeta("currentFilterByTk");e?c.setFilterByTk(e):c.isNewRecord=!0}let l=i?await i(g):await c.save(g,t.requestConfig);h?(c.isNewRecord=!1,null==(r=p.resetUserModifiedFields)||r.call(p),await c.refresh()):(p.form.resetFields(),p.emitter.emit("onFieldReset"),null==(a=p.resetUserModifiedFields)||a.call(p),null==(d=p.formValueRuntime)||null==(s=d.resetAfterFormReset)||s.call(d),e.view.inputArgs.collectionName===p.collection.name&&e.view.inputArgs.onChange&&e.view.inputArgs.onChange(null==l?void 0:l.data))}else if(c instanceof o.MultiRecordResource){let l=c.getMeta("currentFilterByTk");if(!l)return void e.message.error(e.t("No filterByTk found for multi-record resource."));await i?await i(g,l):await c.update(l,g,t.requestConfig),null==(u=p.resetUserModifiedFields)||u.call(p)}}},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=>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}},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:()=>p,S2:()=>c,TE:()=>u,li:()=>a,u4:()=>d});var o=l(7583);function n(){return{logic:"$and",items:[]}}function i(e){if(!e)return;let t="function"==typeof e.getProps?e.getProps():e.props;if(t&&void 0!==t.initialValue)return t.initialValue}function r(e,t){var l,o;if(e)return null==(o=e.getStepParams)||null==(l=o.call(e,t,"initialValue"))?void 0:l.defaultValue}function a(e){return t=>{if(!t)return;let l=i(t);if(void 0!==l)return l;for(let l of e){let e=r(t,l);if(void 0!==e)return e}}}function s(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 d(e){return t=>{var l;if(t)for(let o of(null==(l=t.setProps)||l.call(t,{initialValue:void 0}),t.props&&Object.prototype.hasOwnProperty.call(t.props,"initialValue")&&delete t.props.initialValue,e))s(t,o,"initialValue")}}function u(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 c(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 p(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}},4881(e,t,l){l.d(t,{m:()=>s});var o=l(1178),n=l(504),i=l(2793);l(1649);var r=l(9829),a=l(6859);class s extends a.o{render(){return(0,o.jsx)(i.Input,{...this.props})}}s.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,r.customAlphabet)(l,t)())}})}}}}),s.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})},4695(e,t,l){l.d(t,{h2:()=>w,ES:()=>S,k9:()=>y,XC:()=>v});var o=l(1178),n=l(2113),i=l(691),r=l(504),a=l(2793),s=l(1649),d=l(7843),u=l(8356),c=l(3589),p=l(5703),m=l(6431),h=l(5501);let f=(0,i.css)`
|
|
784
|
+
`;function E(e,t){var l;return!!(null==(l=L[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=j(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()}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&&E(e,t)&&l){let o=l.getStepParams(e,t);return void 0!==o?o:super.getStepParams(e,t)}if(e&&!t&&L[e]&&l){let t=super.getStepParams(e)||{},o=l.getStepParams(e)||{};for(let l of L[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=L[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(E(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 T({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?Y:"",m?D:""].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 B=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},O=e=>{if(null!=e&&""!==e)return"number"==typeof e||/^\d+(\.\d+)?$/.test(e)?`${e}px`:e},H=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-B((null==o?void 0:o.current)||null)-B((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},q=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"?O(null==r?void 0:r.labelWidth):void 0;_&&(y.marginInlineStart=_);let b=H({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]})})};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,I.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=j(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){var t;e.model.applyFlow("eventSettings",{changedValues:{},allValues:null==(t=e.form)?void 0:t.getFieldsValue(!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 $ extends R{}$.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:()=>i});var o=l(504),n=l(24);async function i(e,t,i){var r,a,s,d,u;let c=e.resource,p=e.blockModel,{EditFormModel:m}=await Promise.resolve().then(l.bind(l,1961)),h=p instanceof m;await (0,n.D9)({form:null==p?void 0:p.form,blockModel:p,flowSettingsEnabled:null==e?void 0:e.flowSettingsEnabled,skipValidator:(0,n.go)(null==e?void 0:e.model)});let f=p.form.getFieldsValue(!0),g=(0,n.xT)(f,p);if(c instanceof o.SingleRecordResource){if(h){let e=c.getMeta("currentFilterByTk");e?c.setFilterByTk(e):c.isNewRecord=!0}let l=i?await i(g):await c.save(g,t.requestConfig);h?(c.isNewRecord=!1,null==(r=p.resetUserModifiedFields)||r.call(p),await c.refresh()):(p.form.resetFields(),p.emitter.emit("onFieldReset"),null==(a=p.resetUserModifiedFields)||a.call(p),null==(d=p.formValueRuntime)||null==(s=d.resetAfterFormReset)||s.call(d),e.view.inputArgs.collectionName===p.collection.name&&e.view.inputArgs.onChange&&e.view.inputArgs.onChange(null==l?void 0:l.data))}else if(c instanceof o.MultiRecordResource){let l=c.getMeta("currentFilterByTk");if(!l)return void e.message.error(e.t("No filterByTk found for multi-record resource."));await i?await i(g,l):await c.update(l,g,t.requestConfig),null==(u=p.resetUserModifiedFields)||u.call(p)}}},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=>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}},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:()=>p,S2:()=>c,TE:()=>u,li:()=>a,u4:()=>d});var o=l(7583);function n(){return{logic:"$and",items:[]}}function i(e){if(!e)return;let t="function"==typeof e.getProps?e.getProps():e.props;if(t&&void 0!==t.initialValue)return t.initialValue}function r(e,t){var l,o;if(e)return null==(o=e.getStepParams)||null==(l=o.call(e,t,"initialValue"))?void 0:l.defaultValue}function a(e){return t=>{if(!t)return;let l=i(t);if(void 0!==l)return l;for(let l of e){let e=r(t,l);if(void 0!==e)return e}}}function s(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 d(e){return t=>{var l;if(t)for(let o of(null==(l=t.setProps)||l.call(t,{initialValue:void 0}),t.props&&Object.prototype.hasOwnProperty.call(t.props,"initialValue")&&delete t.props.initialValue,e))s(t,o,"initialValue")}}function u(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 c(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 p(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:()=>s});var o=l(1178),n=l(504),i=l(2793);l(1649);var r=l(9829),a=l(6859);class s extends a.o{render(){return(0,o.jsx)(i.Input,{...this.props})}}s.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,r.customAlphabet)(l,t)())}})}}}}),s.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})},4695(e,t,l){l.d(t,{h2:()=>w,ES:()=>S,k9:()=>y,XC:()=>v});var o=l(1178),n=l(2113),i=l(691),r=l(504),a=l(2793),s=l(1649),d=l(7843),u=l(8356),c=l(3589),p=l(5703),m=l(6431),h=l(5501);let f=(0,i.css)`
|
|
785
785
|
&.ant-btn {
|
|
786
786
|
display: inline-flex;
|
|
787
787
|
align-items: center;
|