@agile-team/mach-report 2.16.0 → 2.18.0

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.
Files changed (177) hide show
  1. package/README.md +25 -12
  2. package/dist/{ExcelBindingWizard-CP6h2x1f.cjs → ExcelBindingWizard-Czn3C2yE.cjs} +1 -1
  3. package/dist/{ExcelBindingWizard-HhB3hAJE.js → ExcelBindingWizard-DMGZj6I6.js} +3 -3
  4. package/dist/ParamEditor-KzDQvbHY.js +732 -0
  5. package/dist/ParamEditor-oDfD8LgE.cjs +1 -0
  6. package/dist/{ReportBatchPanel-ruxcbfY6.js → ReportBatchPanel-BJK7PvZ4.js} +39 -39
  7. package/dist/ReportBatchPanel-DnmNRssu.cjs +1 -0
  8. package/dist/ReportParamPanel-mQkeN70Q.js +1020 -0
  9. package/dist/ReportParamPanel-sOANVRz-.cjs +1 -0
  10. package/dist/ReportPreview-BxWWTUL5.js +5583 -0
  11. package/dist/ReportPreview-Yf99omi3.cjs +6 -0
  12. package/dist/{ReportTemplateLibrary-DcwrH-63.js → ReportTemplateLibrary-BFjB08Wu.js} +1 -1
  13. package/dist/{ReportTemplateLibrary-BDlNT8JN.cjs → ReportTemplateLibrary-BO42QnWd.cjs} +1 -1
  14. package/dist/RuleEditor-CqxT1a-W.js +2337 -0
  15. package/dist/RuleEditor-D7YWigD9.cjs +1 -0
  16. package/dist/{TemplateOutlinePanel-CGrT5DFN.cjs → TemplateOutlinePanel-B0XX350V.cjs} +1 -1
  17. package/dist/{TemplateOutlinePanel-SXCjaPKR.js → TemplateOutlinePanel-zG0DrsIB.js} +2 -2
  18. package/dist/{TemplateReusePanel-6Z3wRFz8.cjs → TemplateReusePanel-BD0HSKp_.cjs} +1 -1
  19. package/dist/{TemplateReusePanel-lHLOS9Wn.js → TemplateReusePanel-Czwe5GbC.js} +2 -2
  20. package/dist/{TemplateReviewPanel-Dpk7sLcF.cjs → TemplateReviewPanel-CA5sdffM.cjs} +1 -1
  21. package/dist/{TemplateReviewPanel-CJ9PLc48.js → TemplateReviewPanel-NhmQI65C.js} +2 -2
  22. package/dist/analytics.cjs +1 -1
  23. package/dist/analytics.d.cts +163 -42
  24. package/dist/analytics.d.ts +163 -42
  25. package/dist/analytics.js +76 -141
  26. package/dist/artifact-integrity.json +110 -108
  27. package/dist/assets-2eC3mOcV.js +232 -0
  28. package/dist/assets-B0Hxn4l6.cjs +1 -0
  29. package/dist/{auto-uVBjX1j5.cjs → auto-B0EZFIK1.cjs} +1 -1
  30. package/dist/{auto-YR7a4BtF.js → auto-BlchZ1b8.js} +10 -10
  31. package/dist/{batch-WzDIXJAt.js → batch-DGCt44XM.js} +1 -1
  32. package/dist/{batch-z6Aw5GEY.cjs → batch-DYcokH4v.cjs} +1 -1
  33. package/dist/charts-Dlv8j2AG.js +141 -0
  34. package/dist/charts-aCtoswXq.cjs +1 -0
  35. package/dist/codes.cjs +9 -9
  36. package/dist/codes.d.cts +54 -0
  37. package/dist/codes.d.ts +54 -0
  38. package/dist/codes.js +12097 -13668
  39. package/dist/column-visual-BpgQVWwT.js +238 -0
  40. package/dist/column-visual-CtYxnBCP.cjs +1 -0
  41. package/dist/component-tree-6TV7W6Yj.cjs +1 -0
  42. package/dist/component-tree-CvW4lzpv.js +67 -0
  43. package/dist/computed-4TnxzgIh.cjs +1 -0
  44. package/dist/computed-C8NRZQss.js +739 -0
  45. package/dist/data-bar-Ce38juRZ.cjs +1 -0
  46. package/dist/data-bar-PtjXhMgN.js +9 -0
  47. package/dist/dataset-DL83majE.js +161 -0
  48. package/dist/dataset-IrlXbUvh.cjs +1 -0
  49. package/dist/designer--TKECSEc.cjs +2 -0
  50. package/dist/designer-d6hJS41w.js +5683 -0
  51. package/dist/designer.cjs +1 -1
  52. package/dist/designer.d.cts +835 -45
  53. package/dist/designer.d.ts +835 -45
  54. package/dist/designer.js +23 -20
  55. package/dist/{encoding-BYF9ZTl9.cjs → encoding-B--eZpp1.cjs} +1 -1
  56. package/dist/{encoding-BOGq4qYL.js → encoding-mctOLocI.js} +2 -2
  57. package/dist/{font-loader-EKLzOJxf.cjs → font-loader-DBBJ5KE9.cjs} +1 -1
  58. package/dist/{font-loader-CzI1GuBc.js → font-loader-DW8tIaNp.js} +1 -1
  59. package/dist/index-CPh6tqge.js +1575 -0
  60. package/dist/index-CUNw7dL9.cjs +1 -0
  61. package/dist/index.cjs +8 -8
  62. package/dist/index.d.cts +534 -16
  63. package/dist/index.d.ts +534 -16
  64. package/dist/index.js +1393 -955
  65. package/dist/json-snapshot-By4ZVVUt.js +1967 -0
  66. package/dist/json-snapshot-jiXff4lc.cjs +2 -0
  67. package/dist/matrix-0hywp0-F.cjs +1 -0
  68. package/dist/matrix-Dy-tyY7E.js +381 -0
  69. package/dist/param-validation-C-8sRJLq.cjs +1 -0
  70. package/dist/param-validation-CnDEd2l-.js +333 -0
  71. package/dist/{pdf-DJ5S6ukC.js → pdf-CKROKygt.js} +1845 -1845
  72. package/dist/{pdf-ByVCb1i6.cjs → pdf-DqyxJ96U.cjs} +47 -47
  73. package/dist/pdf.cjs +1 -1
  74. package/dist/pdf.d.cts +66 -0
  75. package/dist/pdf.d.ts +66 -0
  76. package/dist/pdf.js +2 -2
  77. package/dist/{plugin-C2j5_mhx.js → plugin-ByjF2kiV.js} +5 -5
  78. package/dist/{plugin-Dr39GBRG.cjs → plugin-DM1M2wlI.cjs} +1 -1
  79. package/dist/prefill-B8H9qwE4.js +371 -0
  80. package/dist/prefill-D7EswyTI.cjs +1 -0
  81. package/dist/{prepared-DqtpvRTn.js → prepared-BE-4jfX5.js} +2 -2
  82. package/dist/{prepared-DdrjLC7L.cjs → prepared-CGVphji3.cjs} +1 -1
  83. package/dist/{protocol-BzwMP4Vw.cjs → protocol-ByRVzzQG.cjs} +1 -1
  84. package/dist/{protocol-kt4Iy6-3.js → protocol-Cr81vFSQ.js} +3 -3
  85. package/dist/{record-bindings-CZWBJ1fU.js → record-bindings-DEJtmo3p.js} +67 -107
  86. package/dist/record-bindings-ehjnCDHt.cjs +1 -0
  87. package/dist/{region-binding-workflow-CWNvIjkV.js → region-binding-workflow-CBg0l_tj.js} +2 -2
  88. package/dist/{region-binding-workflow-CqSMxQ4p.cjs → region-binding-workflow-D05tOYn3.cjs} +1 -1
  89. package/dist/report-encoding-worker.cjs +1 -1
  90. package/dist/report-encoding-worker.js +1 -1
  91. package/dist/{report-params-B1RzkhJj.js → report-params-D9tBuM9B.js} +1 -1
  92. package/dist/{report-params-WDGrA4oP.cjs → report-params-VTg8MoCp.cjs} +1 -1
  93. package/dist/runtime-CDA6d263.cjs +1 -0
  94. package/dist/runtime-CEMvybO7.js +170 -0
  95. package/dist/sbom.cdx.json +1 -1
  96. package/dist/server/node.d.cts +121 -7
  97. package/dist/server/node.d.ts +121 -7
  98. package/dist/server-node.cjs +4 -4
  99. package/dist/server-node.js +3446 -2115
  100. package/dist/server.cjs +1 -1
  101. package/dist/server.d.cts +417 -29
  102. package/dist/server.d.ts +417 -29
  103. package/dist/server.js +787 -544
  104. package/dist/sha256-BDQ1Qk7A.js +158 -0
  105. package/dist/sha256-DgZAKXqI.cjs +1 -0
  106. package/dist/style.css +1 -1
  107. package/dist/template-bindings-Cg5oBLFT.cjs +1 -0
  108. package/dist/template-bindings-TKnXM7ll.js +62 -0
  109. package/dist/{template-catalog-BtR2JmCL.js → template-catalog-CmbWOJqy.js} +16 -16
  110. package/dist/template-catalog-Utu4GP09.cjs +1 -0
  111. package/dist/{template-fragments-BVsbxs4a.cjs → template-fragments-C_zSHJAa.cjs} +1 -1
  112. package/dist/{template-fragments-By0aZC1D.js → template-fragments-DWgo9tlZ.js} +2 -2
  113. package/dist/{template-outline-BwRV_eRo.cjs → template-outline-DWkzZXVC.cjs} +1 -1
  114. package/dist/{template-outline-cnWfT_LK.js → template-outline-DiADphlq.js} +1 -1
  115. package/dist/{template-registry-Cw3vRTX2.js → template-registry-BIhIHOab.js} +319 -314
  116. package/dist/template-registry-DzWswQI5.cjs +1 -0
  117. package/dist/vue/async.d.cts +636 -35
  118. package/dist/vue/async.d.ts +636 -35
  119. package/dist/vue/index.d.cts +746 -67
  120. package/dist/vue/index.d.ts +746 -67
  121. package/dist/vue-async.cjs +1 -1
  122. package/dist/vue-async.js +3 -3
  123. package/dist/vue.cjs +1 -1
  124. package/dist/vue.js +94 -89
  125. package/dist/{workbook-session-Cbts-22R.cjs → workbook-session-B94EwVa_.cjs} +1 -1
  126. package/dist/{workbook-session-BeSO8PFB.js → workbook-session-BoScoOg-.js} +2 -2
  127. package/dist/worker.cjs +1 -1
  128. package/dist/worker.d.cts +75 -7
  129. package/dist/worker.d.ts +75 -7
  130. package/dist/worker.js +4 -4
  131. package/dist/xlsx.cjs +4 -4
  132. package/dist/xlsx.d.cts +208 -15
  133. package/dist/xlsx.d.ts +208 -15
  134. package/dist/xlsx.js +288 -252
  135. package/package.json +1 -1
  136. package/dist/ParamEditor-CUQLgoxa.cjs +0 -1
  137. package/dist/ParamEditor-OKesP_nO.js +0 -594
  138. package/dist/ReportBatchPanel-cZCAMAwH.cjs +0 -1
  139. package/dist/ReportPreview-BcDKCLiK.js +0 -4834
  140. package/dist/ReportPreview-Bk9nLfO9.cjs +0 -6
  141. package/dist/RuleEditor-BX5S8RSF.cjs +0 -1
  142. package/dist/RuleEditor-CGl9XY2s.js +0 -2037
  143. package/dist/assets-CqIbfbTr.js +0 -126
  144. package/dist/assets-e4YSke8n.cjs +0 -1
  145. package/dist/capabilities-DDwXr_cA.js +0 -103
  146. package/dist/capabilities-DNLyZdNw.cjs +0 -1
  147. package/dist/component-tree-Ca6YYfHq.js +0 -61
  148. package/dist/component-tree-DkGLEfZC.cjs +0 -1
  149. package/dist/computed-C-4C2S5h.js +0 -521
  150. package/dist/computed-CGV2a809.cjs +0 -1
  151. package/dist/config-Dg_o8e7m.cjs +0 -1
  152. package/dist/config-XQ4qrQ7Q.js +0 -844
  153. package/dist/dataset-BkRmwgeJ.cjs +0 -1
  154. package/dist/dataset-H5pFuQGU.js +0 -121
  155. package/dist/designer-BfQSahxq.js +0 -5163
  156. package/dist/designer-CPPdeM5_.cjs +0 -2
  157. package/dist/diagnostic-notification-B9K9We3h.cjs +0 -1
  158. package/dist/diagnostic-notification-qGAYZdkB.js +0 -7
  159. package/dist/drill-CsdjgkRM.cjs +0 -1
  160. package/dist/drill-DIGsZfyB.js +0 -145
  161. package/dist/json-snapshot-D6ioHth9.js +0 -1702
  162. package/dist/json-snapshot-DknkjvxP.cjs +0 -2
  163. package/dist/matrix-CGRGkn5s.js +0 -112
  164. package/dist/matrix-gEO7ZM_u.cjs +0 -1
  165. package/dist/param-validation-C3HlcLLO.cjs +0 -1
  166. package/dist/param-validation-Do7Eg8Zv.js +0 -181
  167. package/dist/record-bindings-DUX1VMlR.cjs +0 -1
  168. package/dist/runtime-BjKBI530.js +0 -168
  169. package/dist/runtime-CBFEPKEs.cjs +0 -1
  170. package/dist/sha256-BshdOkCC.cjs +0 -1
  171. package/dist/sha256-DTG-Gq8i.js +0 -157
  172. package/dist/template-bindings-C2SpvsMU.js +0 -58
  173. package/dist/template-bindings-CEtWyiLX.cjs +0 -1
  174. package/dist/template-catalog-C2NLdrwB.cjs +0 -1
  175. package/dist/template-registry-C62vpv4a.cjs +0 -1
  176. package/dist/tree-BX380Rr7.cjs +0 -1
  177. package/dist/tree-CjVZLRw7.js +0 -172
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),M=require("./ReportParamPanel-sOANVRz-.cjs"),j=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),q=require("@agile-team/mach-report"),J=require("./designer--TKECSEc.cjs"),w={class:"mr-param-tree"},H={"aria-hidden":"true"},W=["value","aria-label","disabled","onInput"],z=["value","aria-label","disabled","onInput"],G=["aria-label","disabled","onClick"],K=["aria-label","disabled","onClick"],Q=["disabled"],X=e.defineComponent({__name:"ParamTreeOptionsEditor",props:{modelValue:{},messages:{},readonly:{type:Boolean}},emits:["update:modelValue"],setup(a,{emit:y}){const b=a,u=y,g=e.computed(()=>{const N=[],h=b.modelValue.map((t,m)=>({item:t,path:[m]}));for(let t=0;t<h.length&&N.length<1e3;t++){const m=h[t];N.push(m),m.path.length<16&&h.splice(t+1,0,...(m.item.children??[]).map((s,l)=>({item:s,path:[...m.path,l]})))}return N});function o(N,h,t=""){if(b.readonly)return;const m=JSON.parse(JSON.stringify(b.modelValue));let s=m;for(const S of N.slice(0,-1))s=s[S].children;const l=N[N.length-1],E=s[l];if(h==="remove")s.splice(l,1);else if(h==="add"){if(g.value.length>=1e3||N.length>=16)return;E?(E.children??=[]).push({label:"",value:""}):m.push({label:"",value:""})}else E&&(E[h]=t);u("update:modelValue",m)}return(N,h)=>(e.openBlock(),e.createElementBlock("div",w,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(t,m)=>(e.openBlock(),e.createElementBlock("div",{key:t.path.join("."),class:"mr-param-tree__row",style:e.normalizeStyle({paddingLeft:`${(t.path.length-1)*14}px`})},[e.createElementVNode("span",H,e.toDisplayString(t.path.length>1?"↳":"•"),1),e.createElementVNode("input",{value:t.item.value,"aria-label":`${a.messages.paramOptionValue} ${m+1}`,disabled:a.readonly,onInput:s=>o(t.path,"value",s.target.value)},null,40,W),e.createElementVNode("input",{value:t.item.label,"aria-label":`${a.messages.paramOptionLabel} ${m+1}`,disabled:a.readonly,onInput:s=>o(t.path,"label",s.target.value)},null,40,z),e.createElementVNode("button",{type:"button","aria-label":`${a.messages.paramChildAdd} ${m+1}`,disabled:a.readonly||t.path.length>=16||g.value.length>=1e3,onClick:s=>o(t.path,"add")},"+↳",8,G),e.createElementVNode("button",{type:"button","aria-label":`${a.messages.paramOptionRemove} ${m+1}`,disabled:a.readonly,onClick:s=>o(t.path,"remove")},"×",8,K)],4))),128)),e.createElementVNode("button",{type:"button",disabled:a.readonly||g.value.length>=1e3,onClick:h[0]||(h[0]=t=>o([a.modelValue.length],"add"))},"+ "+e.toDisplayString(a.messages.paramOptionAdd),9,Q)]))}}),Z=j._export_sfc(X,[["__scopeId","data-v-fb7ced48"]]),ee=["text","number","date","month","year","dateRange","select","multiSelect","cascader","numberRange"],te={text:"string",number:"string → number",date:"YYYY-MM-DD",month:"YYYY-MM",year:"YYYY",dateRange:"YYYY-MM-DD/YYYY-MM-DD",select:"option.value",multiSelect:'JSON ["value",…]',cascader:'JSON ["parent","leaf"]',numberRange:"JSON [minimum,maximum]"};function ae(a){if(a.startsWith("远程选项"))return["optionsSource"];if(a.startsWith("联动依赖"))return["dependsOn"];if(/^(默认值|必填参数的默认值)/.test(a))return["defaultValue"];if(a.includes("参数名"))return["field"];if(a.includes("选项"))return["options"];if(a.startsWith("最小边界"))return["min","max"];if(a.startsWith("最小长度"))return["minLength","maxLength"];const y=/^(minLength|maxLength|minItems|maxItems|min|max) /.exec(a)?.[1];return y?[y]:["type"]}function ne(a){return JSON.parse(JSON.stringify(a))}function P(a){return{field:a.field,label:a.label??"",type:a.type??"text",required:a.required===!0,placeholder:a.placeholder??"",defaultEnabled:a.defaultValue!==void 0,defaultValue:a.defaultValue??"",min:a.min===void 0?"":String(a.min),max:a.max===void 0?"":String(a.max),minLength:a.minLength===void 0?"":String(a.minLength),maxLength:a.maxLength===void 0?"":String(a.maxLength),minItems:a.minItems===void 0?"":String(a.minItems),maxItems:a.maxItems===void 0?"":String(a.maxItems),options:a.options?JSON.parse(JSON.stringify(a.options)):[],optionsMode:a.optionsSource===void 0?"static":"remote",optionsSource:a.optionsSource??"",dependsOn:[...a.dependsOn??[]]}}function le(a){const y={field:a.field,type:a.type};a.label&&(y.label=a.label),a.placeholder&&(y.placeholder=a.placeholder),a.required&&(y.required=!0),a.defaultEnabled&&(y.defaultValue=a.defaultValue);for(const b of["min","max"])a[b]!==""&&(y[b]=["number","numberRange"].includes(a.type)?Number(a[b]):a[b]);for(const b of["minLength","maxLength","minItems","maxItems"])a[b]!==""&&(y[b]=Number(a[b]));return["select","multiSelect","cascader"].includes(a.type)&&a.optionsMode==="remote"?(y.optionsSource=a.optionsSource.trim(),a.dependsOn.length&&(y.dependsOn=[...a.dependsOn])):["select","multiSelect","cascader"].includes(a.type)&&(y.options=JSON.parse(JSON.stringify(a.options))),y}function re(a){const y=()=>JSON.stringify(a.document.template.params??[]),b=e.ref(y()),u=e.ref((a.document.template.params??[]).map(P)),g=e.ref(0),o=e.ref(""),N=e.computed(()=>({...J.PARAM_EDITOR_MESSAGES,...a.messages})),h=e.computed(()=>u.value.map(le)),t=e.ref(JSON.stringify(u.value)),m=e.computed(()=>JSON.stringify(u.value)!==t.value),s=e.computed(()=>y()!==b.value),l=e.computed(()=>q.validateReportParamDefinitions(h.value)),E=e.computed(()=>{const d=new Map;for(const c of l.value){const f=Number(c.path.split(".").at(-1)),v=d.get(f)??[];v.push({message:c.message,controls:ae(c.message)}),d.set(f,v)}return d}),S=e.computed(()=>E.value.keys().next().value),V=e.computed(()=>u.value[g.value]),x=e.computed(()=>l.value.filter(d=>d.path===`$.paramDefs.${g.value}`));function _(d){return(E.value.get(g.value)??[]).filter(c=>c.controls.includes(d)).map(c=>c.message)}const D=e.computed(()=>{const d=JSON.parse(b.value).map(f=>f.field),c=h.value.map(f=>f.field);return{added:c.filter(f=>f&&!d.includes(f)),removed:d.filter(f=>!c.includes(f))}});function I(){b.value=y(),u.value=(a.document.template.params??[]).map(P),g.value=Math.min(g.value,Math.max(0,u.value.length-1)),t.value=JSON.stringify(u.value),o.value=""}e.watch(y,()=>{m.value||I()});function R(){if(a.readonly)return;let d=u.value.length+1;for(;u.value.some(c=>c.field===`param${d}`);)d++;u.value.push(P({field:`param${d}`,type:"text"})),g.value=u.value.length-1}function L(){a.readonly||!V.value||(u.value.splice(g.value,1),g.value=Math.min(g.value,Math.max(0,u.value.length-1)))}function T(d){const c=g.value+d;if(a.readonly||c<0||c>=u.value.length)return;const f=u.value.splice(g.value,1)[0];u.value.splice(c,0,f),g.value=c}function $(d){a.readonly||!V.value||(V.value.type==="cascader"&&d!=="cascader"&&(V.value.options=V.value.options.map(c=>({label:c.label,value:c.value}))),V.value.type=d,V.value.min="",V.value.max="",V.value.minLength="",V.value.maxLength="",V.value.minItems="",V.value.maxItems="")}function k(){if(a.readonly||s.value||l.value.length)return!1;try{return a.accept(ne(h.value))?(b.value=JSON.stringify(h.value),t.value=JSON.stringify(u.value),o.value="",!0):(o.value=N.value.paramApplyFailed,!1)}catch(d){return o.value=d instanceof Error?d.message:String(d),!1}}return J.useTemplateToolDraft({key:()=>"params",baseline:()=>b.value,pending:()=>m.value,snapshot:()=>JSON.stringify({rows:u.value,selected:g.value,initial:t.value}),restore(d,c){const f=JSON.parse(d);if(!Array.isArray(f.rows)||f.rows.length>1e3||typeof f.initial!="string")throw new Error("Invalid parameter draft");u.value=f.rows.map(v=>({...v,minItems:v.minItems??"",maxItems:v.maxItems??"",optionsMode:v.optionsMode??"static",optionsSource:v.optionsSource??"",dependsOn:v.dependsOn??[]})),g.value=Math.max(0,Math.min(f.selected,f.rows.length-1)),t.value=f.initial,b.value=c}}),{m:N,rows:u,selected:g,current:V,definitions:h,issues:l,issuesByRow:E,firstIssueIndex:S,controlIssues:_,currentIssues:x,changes:D,pending:m,conflicted:s,error:o,reset:I,add:R,remove:L,move:T,setType:$,apply:k}}const oe=["aria-label"],ie={class:"mr-param-editor__directory"},se=["aria-label"],ue=["aria-pressed","aria-label","onClick"],de={class:"mr-param-editor__directory-title"},me={key:0,class:"mr-param-editor__error-count","aria-hidden":"true"},ce={key:0},pe=["disabled"],fe={key:0,class:"mr-param-editor__validation",role:"status"},ye={class:"mr-param-editor__heading"},ge={class:"mr-param-editor__grid"},ve=["aria-label","disabled"],be=["id"],he=["aria-label","disabled"],Ve=["value","aria-label","disabled"],Ee=["value"],Ne=["id"],ke=["aria-label","disabled"],Se={class:"mr-param-editor__checks"},_e=["disabled"],De=["disabled"],Be={key:0,class:"mr-param-editor__compound-default"},xe={class:"mr-param-editor__default-label"},Ie={class:"mr-param-editor__range"},$e=["value","aria-label","disabled"],Ce=["value","aria-label","disabled"],Oe={key:2},Me=["aria-label","disabled"],Re=["value"],Le=["value","aria-label","type","min","max","step","disabled"],Te=["id"],Pe=["value","aria-label","type","min","max","step","disabled","onInput"],Ue=["id"],Ye=["value","aria-label","disabled","onInput"],Ae=["id"],Fe={key:0,class:"mr-param-editor__hint"},Je={key:1,class:"mr-param-editor__options"},je=["aria-label","disabled"],qe={value:"static"},we={value:"remote"},He=["aria-label","disabled"],We=["id"],ze=["value","disabled"],Ge=["id"],Ke={class:"mr-param-editor__hint"},Qe={key:2,class:"mr-param-editor__options"},Xe={class:"mr-param-editor__option-head"},Ze=["onUpdate:modelValue","aria-label","disabled"],et=["onUpdate:modelValue","aria-label","disabled"],tt=["aria-label","disabled","onClick"],at=["id"],nt=["disabled"],lt={key:3,class:"mr-param-editor__options"},rt={class:"mr-param-editor__hint"},ot=["id"],it={key:4,class:"mr-param-editor__grid"},st=["value","aria-label","disabled","onInput"],ut=["id"],dt={class:"mr-param-editor__row-actions"},mt=["disabled"],ct=["disabled"],pt=["disabled"],ft={class:"mr-param-editor__technical"},yt={key:2,class:"mr-param-editor__empty"},gt=["disabled"],vt={key:3,class:"mr-param-editor__impact"},bt={key:0},ht={key:1},Vt={key:4,class:"mr-param-editor__errors",role:"alert"},Et=["disabled"],Nt=["disabled"],kt=e.defineComponent({__name:"ParamEditor",props:{document:{},readonly:{type:Boolean},messages:{},loadOptions:{type:Function},accept:{type:Function}},emits:["dirty"],setup(a,{expose:y,emit:b}){const u=a,g=b,o=re(u),N=M.useMachReportConfig(),h=e.computed(()=>u.loadOptions??M.resolveConfig(N.value).loadParamOptions),{m:t,rows:m,selected:s,current:l,changes:E,pending:S,conflicted:V,error:x,issues:_,issuesByRow:D}=o,I=e.computed(()=>{const i=m.value.filter((r,n)=>n!==s.value).map(r=>({field:r.field,label:r.label||r.field||t.value.paramUnnamed}));for(const r of l.value?.dependsOn??[])i.some(n=>n.field===r)||i.push({field:r,label:`${r} · ${t.value.paramDependencyUnavailable}`});return i}),R=e.computed(()=>l.value?[{...o.definitions.value[s.value],defaultValue:void 0,required:!1}]:[]),L=e.computed(()=>{const i=Object.fromEntries(o.definitions.value.map(r=>[r.field,r.defaultValue??""]));return l.value&&(i[l.value.field]=l.value.defaultValue),i});function T(i){l.value&&!u.readonly&&(l.value.defaultValue=i[l.value.field]??"")}const $=e.ref(),k=`mr-param-${e.getCurrentInstance()?.uid??0}`;e.watch(S,i=>g("dirty",i),{immediate:!0});function d(i){return{text:t.value.paramText,number:t.value.paramNumber,date:t.value.paramDate,month:t.value.paramMonth,year:t.value.paramYear,dateRange:t.value.paramDateRange,select:t.value.paramSelect,multiSelect:t.value.paramMultiSelect,cascader:t.value.paramCascader,numberRange:t.value.paramNumberRange}[i]}function c(){l.value&&!u.readonly&&l.value.options.push({value:"",label:""})}function f(i){u.readonly||l.value?.options.splice(i,1)}function v(i){const r=o.controlIssues(i).length>0;return{"aria-invalid":r?"true":void 0,"aria-describedby":r?`${k}-${s.value}-${i}`:void 0}}function U(i){return i==="year"?"number":i==="dateRange"?"date":i==="numberRange"?"number":["date","month","number"].includes(i)?i:"text"}function Y(i){return i.target.value}function C(i,r){l.value&&!u.readonly&&(l.value[i]=Y(r))}function O(i){return l.value?.defaultValue.split("/")[i]??""}function A(i,r){if(!l.value||u.readonly)return;const n=[O(0),O(1)];n[i]=Y(r),l.value.defaultValue=n.some(Boolean)?n.join("/"):""}async function F(){const i=o.firstIssueIndex.value;if(i===void 0)return;s.value=i,await e.nextTick();const r=$.value?.querySelector('[aria-invalid="true"]');r?.focus({preventScroll:!0}),r?.scrollIntoView?.({block:"nearest"})}return y({pending:S,reset:o.reset,apply:o.apply,locateIssue:F}),(i,r)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-param-editor","aria-label":e.unref(t).paramsTool},[e.createElementVNode("aside",ie,[e.createElementVNode("header",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(t).paramsDirectory),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(m).length),1)]),e.createElementVNode("nav",{"aria-label":e.unref(t).paramsDirectory},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),(n,p)=>(e.openBlock(),e.createElementBlock("button",{key:p,type:"button","aria-pressed":e.unref(s)===p,"aria-label":`${n.label||n.field||e.unref(t).paramUnnamed}${e.unref(D).get(p)?.length?` · ${e.unref(t).paramIssueCount} ${e.unref(D).get(p)?.length}`:""}`,class:e.normalizeClass({"has-errors":e.unref(D).has(p)}),onClick:B=>s.value=p},[e.createElementVNode("span",de,[e.createElementVNode("strong",null,e.toDisplayString(n.label||n.field||e.unref(t).paramUnnamed),1),e.unref(D).has(p)?(e.openBlock(),e.createElementBlock("span",me,e.toDisplayString(e.unref(D).get(p)?.length),1)):e.createCommentVNode("",!0)]),e.createElementVNode("small",null,[e.createTextVNode(e.toDisplayString(n.field)+" · "+e.toDisplayString(d(n.type)),1),n.required?(e.openBlock(),e.createElementBlock("span",ce," *")):e.createCommentVNode("",!0)])],10,ue))),128))],8,se),e.createElementVNode("button",{type:"button",class:"mr-param-editor__add",disabled:a.readonly,onClick:r[0]||(r[0]=(...n)=>e.unref(o).add&&e.unref(o).add(...n))},"+ "+e.toDisplayString(e.unref(t).paramAdd),9,pe),e.createElementVNode("p",null,e.toDisplayString(e.unref(t).paramsDescription),1)]),e.createElementVNode("div",{ref_key:"main",ref:$,class:"mr-param-editor__main"},[e.unref(_).length?(e.openBlock(),e.createElementBlock("div",fe,[e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramIssueCount)+" ",1),e.createElementVNode("strong",null,e.toDisplayString(e.unref(_).length),1)]),e.createElementVNode("button",{type:"button",onClick:F},e.toDisplayString(e.unref(t).paramLocateFirst),1)])):e.createCommentVNode("",!0),e.unref(l)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("header",ye,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(l).label||e.unref(l).field||e.unref(t).paramUnnamed),1),e.createElementVNode("small",null,e.toDisplayString(d(e.unref(l).type)),1)]),e.createElementVNode("span",{class:e.normalizeClass({"is-pending":e.unref(S)||e.unref(_).length>0})},e.toDisplayString(e.unref(_).length?e.unref(t).paramInvalid:e.unref(S)?e.unref(t).paramPending:e.unref(t).paramReady),3)]),e.createElementVNode("div",ge,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramField),1),e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":r[1]||(r[1]=n=>e.unref(l).field=n),"aria-label":e.unref(t).paramField,disabled:a.readonly,autocomplete:"off"},v("field")),null,16,ve),[[e.vModelDynamic,e.unref(l).field]]),e.unref(o).controlIssues("field").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-field`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("field").join(";")),9,be)):e.createCommentVNode("",!0)]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramLabel),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[2]||(r[2]=n=>e.unref(l).label=n),"aria-label":e.unref(t).paramLabel,disabled:a.readonly},null,8,he),[[e.vModelText,e.unref(l).label]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramType),1),e.createElementVNode("select",e.mergeProps({value:e.unref(l).type,"aria-label":e.unref(t).paramType,disabled:a.readonly},v("type"),{onChange:r[3]||(r[3]=n=>e.unref(o).setType(n.target.value))}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ee),n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(d(n)),9,Ee))),128))],16,Ve),e.unref(o).controlIssues("type").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-type`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("type").join(";")),9,Ne)):e.createCommentVNode("",!0)]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramPlaceholder),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[4]||(r[4]=n=>e.unref(l).placeholder=n),"aria-label":e.unref(t).paramPlaceholder,disabled:a.readonly},null,8,ke),[[e.vModelText,e.unref(l).placeholder]])]),e.createElementVNode("div",Se,[e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[5]||(r[5]=n=>e.unref(l).required=n),type:"checkbox",disabled:a.readonly},null,8,_e),[[e.vModelCheckbox,e.unref(l).required]]),e.createTextVNode(e.toDisplayString(e.unref(t).paramRequired),1)]),e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[6]||(r[6]=n=>e.unref(l).defaultEnabled=n),type:"checkbox",disabled:a.readonly},null,8,De),[[e.vModelCheckbox,e.unref(l).defaultEnabled]]),e.createTextVNode(e.toDisplayString(e.unref(t).paramDefaultEnabled),1)])]),e.unref(l).defaultEnabled?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["mr-param-editor__default",{"is-range":e.unref(l).type==="dateRange"}])},[["multiSelect","cascader","numberRange"].includes(e.unref(l).type)?(e.openBlock(),e.createElementBlock("div",Be,[e.createElementVNode("span",null,e.toDisplayString(e.unref(t).paramDefault),1),e.createVNode(M.ReportParamPanel,{defs:R.value,"model-value":L.value,messages:e.unref(M.DEFAULT_MESSAGES),"load-options":h.value,attempted:!1,"show-title":!1,"show-actions":!1,disabled:a.readonly,"onUpdate:modelValue":T},null,8,["defs","model-value","messages","load-options","disabled"])])):e.unref(l).type==="dateRange"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("span",xe,e.toDisplayString(e.unref(t).paramDefault),1),e.createElementVNode("div",Ie,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramRangeStart),1),e.createElementVNode("input",e.mergeProps({value:O(0),type:"date","aria-label":e.unref(t).paramRangeStart,disabled:a.readonly},v("defaultValue"),{onInput:r[7]||(r[7]=n=>A(0,n))}),null,16,$e)]),r[21]||(r[21]=e.createElementVNode("span",{"aria-hidden":"true"},"—",-1)),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramRangeEnd),1),e.createElementVNode("input",e.mergeProps({value:O(1),type:"date","aria-label":e.unref(t).paramRangeEnd,disabled:a.readonly},v("defaultValue"),{onInput:r[8]||(r[8]=n=>A(1,n))}),null,16,Ce)])])],64)):(e.openBlock(),e.createElementBlock("label",Oe,[e.createTextVNode(e.toDisplayString(e.unref(t).paramDefault),1),e.unref(l).type==="select"&&e.unref(l).optionsMode!=="remote"?e.withDirectives((e.openBlock(),e.createElementBlock("select",e.mergeProps({key:0,"onUpdate:modelValue":r[9]||(r[9]=n=>e.unref(l).defaultValue=n),"aria-label":e.unref(t).paramDefault,disabled:a.readonly},v("defaultValue")),[r[22]||(r[22]=e.createElementVNode("option",{value:""},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l).options,(n,p)=>(e.openBlock(),e.createElementBlock("option",{key:p,value:n.value},e.toDisplayString(n.label||n.value),9,Re))),128))],16,Me)),[[e.vModelSelect,e.unref(l).defaultValue]]):(e.openBlock(),e.createElementBlock("input",e.mergeProps({key:1,value:e.unref(l).defaultValue,"aria-label":e.unref(t).paramDefault,type:U(e.unref(l).type),min:e.unref(l).type==="year"?1:void 0,max:e.unref(l).type==="year"?9999:void 0,step:e.unref(l).type==="year"?1:"any",disabled:a.readonly},v("defaultValue"),{onInput:r[10]||(r[10]=n=>C("defaultValue",n))}),null,16,Le))])),e.unref(o).controlIssues("defaultValue").length?(e.openBlock(),e.createElementBlock("small",{key:3,id:`${k}-${e.unref(s)}-defaultValue`,class:"mr-param-editor__field-error mr-param-editor__errors",role:"alert"},e.toDisplayString(e.unref(o).controlIssues("defaultValue").join(";")),9,Te)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),["number","numberRange","date","month","year","dateRange"].includes(e.unref(l).type)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},e.renderList(["min","max"],n=>e.createElementVNode("label",{key:n},[e.createTextVNode(e.toDisplayString(n==="min"?e.unref(t).paramMinimum:e.unref(t).paramMaximum),1),e.createElementVNode("input",e.mergeProps({value:e.unref(l)[n],"aria-label":n==="min"?e.unref(t).paramMinimum:e.unref(t).paramMaximum,type:U(e.unref(l).type),min:e.unref(l).type==="year"?1:void 0,max:e.unref(l).type==="year"?9999:void 0,step:e.unref(l).type==="year"?1:"any",disabled:a.readonly},{ref_for:!0},v(n),{onInput:p=>C(n,p)}),null,16,Pe),e.unref(o).controlIssues(n).length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-${n}`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues(n).join(";")),9,Ue)):e.createCommentVNode("",!0)])),64)):e.createCommentVNode("",!0),e.unref(l).type==="text"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},e.renderList(["minLength","maxLength"],n=>e.createElementVNode("label",{key:n},[e.createTextVNode(e.toDisplayString(n==="minLength"?e.unref(t).paramMinLength:e.unref(t).paramMaxLength),1),e.createElementVNode("input",e.mergeProps({value:e.unref(l)[n],type:"number",min:"0",step:"1","aria-label":n==="minLength"?e.unref(t).paramMinLength:e.unref(t).paramMaxLength,disabled:a.readonly},{ref_for:!0},v(n),{onInput:p=>C(n,p)}),null,16,Ye),e.unref(o).controlIssues(n).length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-${n}`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues(n).join(";")),9,Ae)):e.createCommentVNode("",!0)])),64)):e.createCommentVNode("",!0)]),e.unref(l).type==="dateRange"?(e.openBlock(),e.createElementBlock("p",Fe,e.toDisplayString(e.unref(t).paramRangeHint),1)):e.createCommentVNode("",!0),["select","multiSelect","cascader"].includes(e.unref(l).type)?(e.openBlock(),e.createElementBlock("fieldset",Je,[e.createElementVNode("legend",null,e.toDisplayString(e.unref(t).paramOptionsMode),1),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramOptionsMode),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":r[11]||(r[11]=n=>e.unref(l).optionsMode=n),"aria-label":e.unref(t).paramOptionsMode,disabled:a.readonly},[e.createElementVNode("option",qe,e.toDisplayString(e.unref(t).paramOptionsStatic),1),e.createElementVNode("option",we,e.toDisplayString(e.unref(t).paramOptionsRemote),1)],8,je),[[e.vModelSelect,e.unref(l).optionsMode]])]),e.unref(l).optionsMode==="remote"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(t).paramOptionsSource),1),e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":r[12]||(r[12]=n=>e.unref(l).optionsSource=n),"aria-label":e.unref(t).paramOptionsSource,disabled:a.readonly},v("optionsSource")),null,16,He),[[e.vModelDynamic,e.unref(l).optionsSource]])]),e.unref(o).controlIssues("optionsSource").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-optionsSource`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("optionsSource").join(";")),9,We)):e.createCommentVNode("",!0),e.createElementVNode("fieldset",e.mergeProps({class:"mr-param-editor__dependencies",tabindex:"-1"},v("dependsOn")),[e.createElementVNode("legend",null,e.toDisplayString(e.unref(t).paramDependencies),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,(n,p)=>(e.openBlock(),e.createElementBlock("label",{key:p},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[13]||(r[13]=B=>e.unref(l).dependsOn=B),type:"checkbox",value:n.field,disabled:a.readonly},null,8,ze),[[e.vModelCheckbox,e.unref(l).dependsOn]]),e.createTextVNode(e.toDisplayString(n.label),1)]))),128))],16),e.unref(o).controlIssues("dependsOn").length?(e.openBlock(),e.createElementBlock("small",{key:1,id:`${k}-${e.unref(s)}-dependsOn`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("dependsOn").join(";")),9,Ge)):e.createCommentVNode("",!0),e.createElementVNode("p",Ke,e.toDisplayString(e.unref(t).paramRemoteHint),1)],64)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),["select","multiSelect"].includes(e.unref(l).type)&&e.unref(l).optionsMode==="static"?(e.openBlock(),e.createElementBlock("fieldset",Qe,[e.createElementVNode("legend",null,e.toDisplayString(e.unref(t).paramOptions),1),e.createElementVNode("div",Xe,[e.createElementVNode("span",null,e.toDisplayString(e.unref(t).paramOptionValue),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(t).paramOptionLabel),1)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l).options,(n,p)=>(e.openBlock(),e.createElementBlock("div",{key:p,class:"mr-param-editor__option"},[e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":B=>n.value=B,"aria-label":`${e.unref(t).paramOptionValue} ${p+1}`,disabled:a.readonly},{ref_for:!0},v("options")),null,16,Ze),[[e.vModelDynamic,n.value]]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":B=>n.label=B,"aria-label":`${e.unref(t).paramOptionLabel} ${p+1}`,disabled:a.readonly},null,8,et),[[e.vModelText,n.label]]),e.createElementVNode("button",{type:"button","aria-label":`${e.unref(t).paramOptionRemove} ${p+1}`,disabled:a.readonly,onClick:B=>f(p)},"×",8,tt)]))),128)),e.unref(o).controlIssues("options").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-options`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("options").join(";")),9,at)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",disabled:a.readonly,onClick:c},"+ "+e.toDisplayString(e.unref(t).paramOptionAdd),9,nt)])):e.createCommentVNode("",!0),e.unref(l).type==="cascader"&&e.unref(l).optionsMode==="static"?(e.openBlock(),e.createElementBlock("fieldset",lt,[e.createElementVNode("legend",null,e.toDisplayString(e.unref(t).paramOptions),1),e.createElementVNode("p",rt,e.toDisplayString(e.unref(t).paramTreeHint),1),e.createVNode(Z,{modelValue:e.unref(l).options,"onUpdate:modelValue":r[14]||(r[14]=n=>e.unref(l).options=n),messages:e.unref(t),readonly:a.readonly},null,8,["modelValue","messages","readonly"]),e.unref(o).controlIssues("options").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-options`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("options").join(";")),9,ot)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.unref(l).type==="multiSelect"?(e.openBlock(),e.createElementBlock("div",it,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["minItems","maxItems"],n=>e.createElementVNode("label",{key:n},[e.createTextVNode(e.toDisplayString(n==="minItems"?e.unref(t).paramMinItems:e.unref(t).paramMaxItems),1),e.createElementVNode("input",e.mergeProps({value:e.unref(l)[n],"aria-label":n==="minItems"?e.unref(t).paramMinItems:e.unref(t).paramMaxItems,type:"number",min:"0",max:"100",step:"1",disabled:a.readonly},{ref_for:!0},v(n),{onInput:p=>C(n,p)}),null,16,st),e.unref(o).controlIssues(n).length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(s)}-${n}`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues(n).join(";")),9,ut)):e.createCommentVNode("",!0)])),64))])):e.createCommentVNode("",!0),e.createElementVNode("div",dt,[e.createElementVNode("button",{type:"button",disabled:a.readonly||e.unref(s)===0,onClick:r[15]||(r[15]=n=>e.unref(o).move(-1))},"↑ "+e.toDisplayString(e.unref(t).paramMoveUp),9,mt),e.createElementVNode("button",{type:"button",disabled:a.readonly||e.unref(s)===e.unref(m).length-1,onClick:r[16]||(r[16]=n=>e.unref(o).move(1))},"↓ "+e.toDisplayString(e.unref(t).paramMoveDown),9,ct),e.createElementVNode("button",{type:"button",class:"is-danger",disabled:a.readonly,onClick:r[17]||(r[17]=(...n)=>e.unref(o).remove&&e.unref(o).remove(...n))},e.toDisplayString(e.unref(t).paramRemove),9,pt)]),e.createElementVNode("details",ft,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(t).paramWire),1),e.createElementVNode("code",null,e.toDisplayString(e.unref(te)[e.unref(l).type]),1)])],64)):(e.openBlock(),e.createElementBlock("div",yt,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(t).paramEmpty),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(t).paramEmptyHint),1),e.createElementVNode("button",{type:"button",disabled:a.readonly,onClick:r[18]||(r[18]=(...n)=>e.unref(o).add&&e.unref(o).add(...n))},"+ "+e.toDisplayString(e.unref(t).paramAdd),9,gt)])),e.unref(E).added.length||e.unref(E).removed.length?(e.openBlock(),e.createElementBlock("aside",vt,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(t).paramChanges),1),e.unref(E).added.length?(e.openBlock(),e.createElementBlock("p",bt,[e.createTextVNode(e.toDisplayString(e.unref(t).paramAdded)+":",1),e.createElementVNode("code",null,e.toDisplayString(e.unref(E).added.join(", ")),1)])):e.createCommentVNode("",!0),e.unref(E).removed.length?(e.openBlock(),e.createElementBlock("p",ht,[e.createTextVNode(e.toDisplayString(e.unref(t).paramRemoved)+":",1),e.createElementVNode("code",null,e.toDisplayString(e.unref(E).removed.join(", ")),1)])):e.createCommentVNode("",!0),e.createElementVNode("small",null,e.toDisplayString(e.unref(t).paramRenameHint),1)])):e.createCommentVNode("",!0),e.unref(V)||e.unref(x)?(e.openBlock(),e.createElementBlock("p",Vt,e.toDisplayString(e.unref(V)?e.unref(t).paramConflict:e.unref(x)),1)):e.createCommentVNode("",!0),e.createElementVNode("footer",null,[e.createElementVNode("button",{type:"button",disabled:!e.unref(S)&&!e.unref(V),onClick:r[19]||(r[19]=(...n)=>e.unref(o).reset&&e.unref(o).reset(...n))},e.toDisplayString(e.unref(t).paramRestore),9,Et),e.createElementVNode("button",{type:"button",class:"is-primary",disabled:a.readonly||!e.unref(S)||e.unref(V)||!!e.unref(_).length,onClick:r[20]||(r[20]=(...n)=>e.unref(o).apply&&e.unref(o).apply(...n))},e.toDisplayString(e.unref(t).paramApply),9,Nt)])],512)],8,oe))}}),St=j._export_sfc(kt,[["__scopeId","data-v-276b7ccd"]]);exports.default=St;
@@ -1,14 +1,14 @@
1
1
  import { ref as C, computed as _, watch as Y, onBeforeUnmount as ne, defineComponent as le, openBlock as d, createElementBlock as m, unref as e, createElementVNode as u, toDisplayString as r, Fragment as j, renderList as ee, createTextVNode as X, createCommentVNode as I, normalizeClass as se, createVNode as ie, nextTick as te } from "vue";
2
- import { a as ce, R as re } from "./config-XQ4qrQ7Q.js";
2
+ import { b as ce, R as re } from "./ReportParamPanel-mQkeN70Q.js";
3
3
  import { validateReportParams as ae } from "@agile-team/mach-report";
4
- import { f as oe, r as ue } from "./batch-WzDIXJAt.js";
5
- import { R as de } from "./designer-BfQSahxq.js";
4
+ import { f as oe, r as ue } from "./batch-DGCt44XM.js";
5
+ import { R as de } from "./designer-d6hJS41w.js";
6
6
  import { _ as me } from "./_plugin-vue_export-helper-8SL1F89S.js";
7
- function fe(a) {
7
+ function be(a) {
8
8
  const p = {};
9
9
  return !a || typeof a != "object" || (typeof a.instanceId == "string" && a.instanceId.length > 0 && a.instanceId.length <= 512 && (p.instanceId = a.instanceId), typeof a.label == "string" && (p.label = a.label.slice(0, 512))), p;
10
10
  }
11
- function be(a) {
11
+ function fe(a) {
12
12
  return Object.fromEntries((Array.isArray(a) ? a : []).filter((p) => p && typeof p.field == "string").map((p) => [p.field, p.defaultValue ?? ""]));
13
13
  }
14
14
  function Z(a) {
@@ -25,53 +25,53 @@ function he(a) {
25
25
  let p = 0;
26
26
  const O = (n) => ({ key: ++p, item: { id: n.id, params: { ...n.params } }, status: "pending" }), M = ve(a), x = new Set(M.cases.map((n) => n.id));
27
27
  let s = M.cases.length + 1;
28
- const f = C(M.cases.map(O)), S = C(!1), g = C(!1), V = C(!1), E = C(M.error), A = C(), R = C({ completed: 0, total: 0, failed: 0, cancelled: 0 }), P = _(() => ({ ...de, ...a.messages })), F = _(() => f.value.map((n) => ae(a.paramDefs, n.item.params))), w = _(() => f.value.filter((n) => n.status === "failed").length), T = _(() => f.value.filter((n) => n.status === "pending" || n.status === "cancelled").length), L = _(() => f.value.filter((n) => n.status === "cancelled").length), y = _(() => a.maxCases ?? 100);
28
+ const b = C(M.cases.map(O)), S = C(!1), g = C(!1), V = C(!1), E = C(M.error), A = C(), R = C({ completed: 0, total: 0, failed: 0, cancelled: 0 }), P = _(() => ({ ...de, ...a.messages })), F = _(() => b.value.map((n) => ae(a.paramDefs, n.item.params))), w = _(() => b.value.filter((n) => n.status === "failed").length), T = _(() => b.value.filter((n) => n.status === "pending" || n.status === "cancelled").length), L = _(() => b.value.filter((n) => n.status === "cancelled").length), y = _(() => a.maxCases ?? 100);
29
29
  let $, v = 0;
30
- function K(n = be(a.paramDefs)) {
30
+ function K(n = fe(a.paramDefs)) {
31
31
  for (; x.has(`case-${s}`); ) s++;
32
32
  return { id: `case-${s++}`, params: { ...n } };
33
33
  }
34
34
  function U(n) {
35
35
  if (a.readonly || S.value) return;
36
- if (f.value.length >= y.value) {
36
+ if (b.value.length >= y.value) {
37
37
  E.value = P.value.batchLimit.replace("{count}", String(y.value));
38
38
  return;
39
39
  }
40
40
  const i = O(K(n?.item.params));
41
- return f.value.push(i), E.value = "", i;
41
+ return b.value.push(i), E.value = "", i;
42
42
  }
43
43
  function z(n) {
44
- !S.value && !a.readonly && (f.value = f.value.filter((i) => i.key !== n));
44
+ !S.value && !a.readonly && (b.value = b.value.filter((i) => i.key !== n));
45
45
  }
46
46
  function D(n, i) {
47
47
  if (S.value || a.readonly) return;
48
- const o = f.value.find((b) => b.key === n);
48
+ const o = b.value.find((f) => f.key === n);
49
49
  !o || o.status === "completed" || JSON.stringify(o.item.params) === JSON.stringify(i) || (o.item = o.submitted ? K(i) : { ...o.item, params: { ...i } }, o.submitted = !1, o.status = "pending", delete o.receipt, delete o.error);
50
50
  }
51
51
  function N() {
52
52
  S.value && (g.value = !0, $?.abort());
53
53
  }
54
54
  function G(n) {
55
- return f.value.filter((i) => n ? i.status === "failed" : i.status === "pending" || i.status === "cancelled");
55
+ return b.value.filter((i) => n ? i.status === "failed" : i.status === "pending" || i.status === "cancelled");
56
56
  }
57
57
  function H(n) {
58
- const i = n.map((b) => ae(a.paramDefs, b.item.params)), o = i.findIndex((b) => !b.ok);
58
+ const i = n.map((f) => ae(a.paramDefs, f.item.params)), o = i.findIndex((f) => !f.ok);
59
59
  if (o >= 0) {
60
60
  A.value = n[o].key, E.value = P.value.batchInvalid;
61
61
  return;
62
62
  }
63
- return n.map((b, B) => ({ id: b.item.id, params: { ...i[B].values } }));
63
+ return n.map((f, B) => ({ id: f.item.id, params: { ...i[B].values } }));
64
64
  }
65
65
  function Q(n, i) {
66
66
  n.status = i.status, i.status === "completed" && (n.receipt = i.value), i.status === "failed" && (n.error = i.error.message.slice(0, 1e3));
67
67
  }
68
- async function q(n, i, o, b, B) {
69
- b === v && (n.status = "running");
68
+ async function q(n, i, o, f, B) {
69
+ f === v && (n.status = "running");
70
70
  try {
71
- const h = fe(await B(i, o));
72
- return b === v && (n.receipt = h, n.status = "completed"), h;
71
+ const h = be(await B(i, o));
72
+ return f === v && (n.receipt = h, n.status = "completed"), h;
73
73
  } catch (h) {
74
- throw b === v && (n.status = o.signal.aborted ? "cancelled" : "failed", n.error = Z(h)), h;
74
+ throw f === v && (n.status = o.signal.aborted ? "cancelled" : "failed", n.error = Z(h)), h;
75
75
  }
76
76
  }
77
77
  async function W(n = !1) {
@@ -81,31 +81,31 @@ function he(a) {
81
81
  V.value = !0, E.value = "", A.value = void 0;
82
82
  const o = H(i);
83
83
  if (!o) return;
84
- const b = ++v, B = a.execute;
84
+ const f = ++v, B = a.execute;
85
85
  $ = new AbortController(), S.value = !0, g.value = !1, R.value = { completed: 0, total: i.length, failed: 0, cancelled: 0 };
86
86
  for (const h of i)
87
87
  h.status = "pending", h.submitted = !0, delete h.receipt, delete h.error;
88
88
  try {
89
- const h = await ue(o, (c, l) => q(i[l.index], c, l, b, B), {
89
+ const h = await ue(o, (c, l) => q(i[l.index], c, l, f, B), {
90
90
  concurrency: a.concurrency,
91
91
  maxCases: y.value,
92
92
  signal: $.signal,
93
93
  onProgress: (c) => {
94
- b === v && (R.value = c);
94
+ f === v && (R.value = c);
95
95
  }
96
96
  });
97
- b === v && h.forEach((c, l) => Q(i[l], c));
97
+ f === v && h.forEach((c, l) => Q(i[l], c));
98
98
  } catch (h) {
99
- b === v && (E.value = Z(h));
99
+ f === v && (E.value = Z(h));
100
100
  } finally {
101
- b === v && (S.value = !1, g.value = !1, $ = void 0);
101
+ f === v && (S.value = !1, g.value = !1, $ = void 0);
102
102
  }
103
103
  }
104
104
  return Y(() => [JSON.stringify(a.paramDefs), a.execute, a.readonly, a.concurrency, a.maxCases], () => {
105
105
  S.value && (N(), E.value = P.value.batchChanged);
106
106
  }), ne(() => {
107
107
  v++, $?.abort();
108
- }), { m: P, rows: f, validations: F, running: S, cancelling: g, attempted: V, error: E, progress: R, failures: w, unfinished: T, cancelled: L, maximum: y, invalidKey: A, add: U, remove: z, setParams: D, cancel: N, run: W };
108
+ }), { m: P, rows: b, validations: F, running: S, cancelling: g, attempted: V, error: E, progress: R, failures: w, unfinished: T, cancelled: L, maximum: y, invalidKey: A, add: U, remove: z, setParams: D, cancel: N, run: W };
109
109
  }
110
110
  const pe = ["aria-label", "aria-busy"], ye = { class: "mr-batch__heading" }, ge = ["disabled"], _e = {
111
111
  key: 0,
@@ -153,15 +153,15 @@ const pe = ["aria-label", "aria-busy"], ye = { class: "mr-batch__heading" }, ge
153
153
  },
154
154
  emits: ["open-instance"],
155
155
  setup(a, { emit: p }) {
156
- const O = a, M = p, x = he(O), { m: s, rows: f, validations: S, running: g, cancelling: V, attempted: E, error: A, progress: R, failures: P, unfinished: F, cancelled: w, maximum: T } = x, L = C(), y = C(1), $ = 10, v = C("all"), K = C(), U = C(), z = _(() => f.value.map((c, l) => ({ row: c, index: l }))), D = _(() => z.value.filter(({ row: c }) => v.value === "all" || c.status === v.value)), N = _(() => Math.max(1, Math.ceil(D.value.length / $))), G = _(() => D.value.slice((y.value - 1) * $, y.value * $)), H = _(() => s.value.batchPage.replace("{page}", String(y.value)).replace("{pages}", String(N.value)).replace("{total}", String(D.value.length)));
156
+ const O = a, M = p, x = he(O), { m: s, rows: b, validations: S, running: g, cancelling: V, attempted: E, error: A, progress: R, failures: P, unfinished: F, cancelled: w, maximum: T } = x, L = C(), y = C(1), $ = 10, v = C("all"), K = C(), U = C(), z = _(() => b.value.map((c, l) => ({ row: c, index: l }))), D = _(() => z.value.filter(({ row: c }) => v.value === "all" || c.status === v.value)), N = _(() => Math.max(1, Math.ceil(D.value.length / $))), G = _(() => D.value.slice((y.value - 1) * $, y.value * $)), H = _(() => s.value.batchPage.replace("{page}", String(y.value)).replace("{pages}", String(N.value)).replace("{total}", String(D.value.length)));
157
157
  Y(N, (c) => {
158
158
  y.value = Math.min(y.value, c);
159
159
  }), Y(v, () => {
160
160
  y.value = 1;
161
161
  });
162
162
  const Q = _(() => ({ ...ce, ...O.paramMessages })), q = _(() => s.value.batchProgress.replace("{completed}", String(R.value.completed)).replace("{total}", String(R.value.total)).replace("{failed}", String(R.value.failed)).replace("{cancelled}", String(R.value.cancelled))), W = _(() => {
163
- const c = { all: f.value.length, pending: 0, running: 0, completed: 0, failed: 0, cancelled: 0 };
164
- for (const l of f.value) c[l.status]++;
163
+ const c = { all: b.value.length, pending: 0, running: 0, completed: 0, failed: 0, cancelled: 0 };
164
+ for (const l of b.value) c[l.status]++;
165
165
  return Object.keys(c).filter((l) => l !== "running" || g.value || c.running > 0 || v.value === "running").map((l) => ({ value: l, count: c[l], label: l === "all" ? s.value.batchAll : n({ status: l }) }));
166
166
  });
167
167
  function n(c) {
@@ -169,25 +169,25 @@ const pe = ["aria-label", "aria-busy"], ye = { class: "mr-batch__heading" }, ge
169
169
  }
170
170
  async function i(c) {
171
171
  const l = x.add(c);
172
- l && (await b(l.key, "all"), o(l.key)?.querySelector(".mrp-param-input")?.focus());
172
+ l && (await f(l.key, "all"), o(l.key)?.querySelector(".mrp-param-input")?.focus());
173
173
  }
174
174
  function o(c) {
175
175
  return L.value?.querySelector(`[data-batch-key="${c}"]`);
176
176
  }
177
- async function b(c, l) {
177
+ async function f(c, l) {
178
178
  v.value = l, await te();
179
179
  const t = D.value.findIndex(({ row: k }) => k.key === c);
180
180
  t < 0 || (y.value = Math.floor(t / $) + 1, K.value = c, await te());
181
181
  }
182
182
  async function B() {
183
- const c = f.value.filter((k) => k.status === "failed"), l = c.findIndex((k) => k.key === U.value), t = c[(l + 1) % c.length];
184
- t && (U.value = t.key, await b(t.key, "failed"), o(t.key)?.focus());
183
+ const c = b.value.filter((k) => k.status === "failed"), l = c.findIndex((k) => k.key === U.value), t = c[(l + 1) % c.length];
184
+ t && (U.value = t.key, await f(t.key, "failed"), o(t.key)?.focus());
185
185
  }
186
186
  async function h(c = !1) {
187
187
  const l = x.run(c);
188
188
  if (x.invalidKey.value !== void 0) {
189
189
  const t = x.invalidKey.value;
190
- await b(t, "all"), o(t)?.querySelector('[aria-invalid="true"]')?.focus();
190
+ await f(t, "all"), o(t)?.querySelector('[aria-invalid="true"]')?.focus();
191
191
  }
192
192
  await l;
193
193
  }
@@ -205,11 +205,11 @@ const pe = ["aria-label", "aria-busy"], ye = { class: "mr-batch__heading" }, ge
205
205
  ]),
206
206
  u("button", {
207
207
  type: "button",
208
- disabled: a.readonly || e(g) || e(f).length >= e(T),
208
+ disabled: a.readonly || e(g) || e(b).length >= e(T),
209
209
  onClick: l[0] || (l[0] = (t) => i())
210
210
  }, "+ " + r(e(s).batchAdd), 9, ge)
211
211
  ]),
212
- e(f).length ? (d(), m("div", _e, [
212
+ e(b).length ? (d(), m("div", _e, [
213
213
  u("div", {
214
214
  class: "mr-batch__filters",
215
215
  role: "group",
@@ -233,7 +233,7 @@ const pe = ["aria-label", "aria-busy"], ye = { class: "mr-batch__heading" }, ge
233
233
  onClick: B
234
234
  }, r(e(s).batchNextFailure) + " ↓", 9, xe)) : I("", !0)
235
235
  ])) : I("", !0),
236
- e(f).length ? D.value.length ? (d(), m("div", $e, [
236
+ e(b).length ? D.value.length ? (d(), m("div", $e, [
237
237
  (d(!0), m(j, null, ee(G.value, ({ row: t, index: k }) => (d(), m("article", {
238
238
  key: t.key,
239
239
  class: se(["mr-batch__row", [`is-${t.status}`, { "is-located": t.key === K.value }]]),
@@ -250,7 +250,7 @@ const pe = ["aria-label", "aria-busy"], ye = { class: "mr-batch__heading" }, ge
250
250
  u("button", {
251
251
  type: "button",
252
252
  "aria-label": `${t.status === "completed" ? e(s).batchDuplicateCompleted : e(s).batchDuplicate} ${k + 1}`,
253
- disabled: a.readonly || e(g) || e(f).length >= e(T),
253
+ disabled: a.readonly || e(g) || e(b).length >= e(T),
254
254
  onClick: (J) => i(t)
255
255
  }, r(t.status === "completed" ? e(s).batchDuplicateCompleted : e(s).batchDuplicate), 9, De),
256
256
  u("button", {
@@ -296,7 +296,7 @@ const pe = ["aria-label", "aria-busy"], ye = { class: "mr-batch__heading" }, ge
296
296
  "aria-label": q.value
297
297
  }, null, 8, Ke),
298
298
  u("span", null, r(q.value), 1)
299
- ], 64)) : (d(), m("span", Le, r(e(f).length) + " / " + r(e(T)), 1))
299
+ ], 64)) : (d(), m("span", Le, r(e(b).length) + " / " + r(e(T)), 1))
300
300
  ]),
301
301
  u("div", Ue, [
302
302
  e(P) && !e(g) ? (d(), m("button", {
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),j=require("./ReportParamPanel-sOANVRz-.cjs"),H=require("@agile-team/mach-report"),J=require("./batch-DYcokH4v.cjs"),z=require("./designer--TKECSEc.cjs"),G=require("./_plugin-vue_export-helper-BLmdZLlg.cjs");function Q(a){const f={};return!a||typeof a!="object"||(typeof a.instanceId=="string"&&a.instanceId.length>0&&a.instanceId.length<=512&&(f.instanceId=a.instanceId),typeof a.label=="string"&&(f.label=a.label.slice(0,512))),f}function W(a){return Object.fromEntries((Array.isArray(a)?a:[]).filter(f=>f&&typeof f.field=="string").map(f=>[f.field,f.defaultValue??""]))}function U(a){return(a instanceof Error?a.message:String(a)).slice(0,1e3)}function X(a){try{return{cases:J.snapshotReportBatchCases(a.initialCases??[],a.maxCases??100),error:""}}catch(f){return{cases:[],error:U(f)}}}function Y(a){let f=0;const D=n=>({key:++f,item:{id:n.id,params:{...n.params}},status:"pending"}),N=X(a),y=new Set(N.cases.map(n=>n.id));let r=N.cases.length+1;const i=e.ref(N.cases.map(D)),h=e.ref(!1),b=e.ref(!1),x=e.ref(!1),_=e.ref(N.error),V=e.ref(),g=e.ref({completed:0,total:0,failed:0,cancelled:0}),E=e.computed(()=>({...z.REPORT_BATCH_MESSAGES,...a.messages})),R=e.computed(()=>i.value.map(n=>H.validateReportParams(a.paramDefs,n.item.params))),q=e.computed(()=>i.value.filter(n=>n.status==="failed").length),$=e.computed(()=>i.value.filter(n=>n.status==="pending"||n.status==="cancelled").length),P=e.computed(()=>i.value.filter(n=>n.status==="cancelled").length),p=e.computed(()=>a.maxCases??100);let k,d=0;function I(n=W(a.paramDefs)){for(;y.has(`case-${r}`);)r++;return{id:`case-${r++}`,params:{...n}}}function M(n){if(a.readonly||h.value)return;if(i.value.length>=p.value){_.value=E.value.batchLimit.replace("{count}",String(p.value));return}const s=D(I(n?.item.params));return i.value.push(s),_.value="",s}function A(n){!h.value&&!a.readonly&&(i.value=i.value.filter(s=>s.key!==n))}function S(n,s){if(h.value||a.readonly)return;const o=i.value.find(u=>u.key===n);!o||o.status==="completed"||JSON.stringify(o.item.params)===JSON.stringify(s)||(o.item=o.submitted?I(s):{...o.item,params:{...s}},o.submitted=!1,o.status="pending",delete o.receipt,delete o.error)}function B(){h.value&&(b.value=!0,k?.abort())}function O(n){return i.value.filter(s=>n?s.status==="failed":s.status==="pending"||s.status==="cancelled")}function K(n){const s=n.map(u=>H.validateReportParams(a.paramDefs,u.item.params)),o=s.findIndex(u=>!u.ok);if(o>=0){V.value=n[o].key,_.value=E.value.batchInvalid;return}return n.map((u,C)=>({id:u.item.id,params:{...s[C].values}}))}function L(n,s){n.status=s.status,s.status==="completed"&&(n.receipt=s.value),s.status==="failed"&&(n.error=s.error.message.slice(0,1e3))}async function T(n,s,o,u,C){u===d&&(n.status="running");try{const m=Q(await C(s,o));return u===d&&(n.receipt=m,n.status="completed"),m}catch(m){throw u===d&&(n.status=o.signal.aborted?"cancelled":"failed",n.error=U(m)),m}}async function w(n=!1){if(a.readonly||h.value)return;const s=O(n);if(!s.length)return;x.value=!0,_.value="",V.value=void 0;const o=K(s);if(!o)return;const u=++d,C=a.execute;k=new AbortController,h.value=!0,b.value=!1,g.value={completed:0,total:s.length,failed:0,cancelled:0};for(const m of s)m.status="pending",m.submitted=!0,delete m.receipt,delete m.error;try{const m=await J.runReportBatch(o,(c,l)=>T(s[l.index],c,l,u,C),{concurrency:a.concurrency,maxCases:p.value,signal:k.signal,onProgress:c=>{u===d&&(g.value=c)}});u===d&&m.forEach((c,l)=>L(s[l],c))}catch(m){u===d&&(_.value=U(m))}finally{u===d&&(h.value=!1,b.value=!1,k=void 0)}}return e.watch(()=>[JSON.stringify(a.paramDefs),a.execute,a.readonly,a.concurrency,a.maxCases],()=>{h.value&&(B(),_.value=E.value.batchChanged)}),e.onBeforeUnmount(()=>{d++,k?.abort()}),{m:E,rows:i,validations:R,running:h,cancelling:b,attempted:x,error:_,progress:g,failures:q,unfinished:$,cancelled:P,maximum:p,invalidKey:V,add:M,remove:A,setParams:S,cancel:B,run:w}}const Z=["aria-label","aria-busy"],ee={class:"mr-batch__heading"},te=["disabled"],ae={key:0,class:"mr-batch__toolbar"},ne=["aria-label"],le=["aria-pressed","onClick"],re=["disabled"],se={key:1,class:"mr-batch__empty"},ce={key:2,class:"mr-batch__empty"},oe={key:3,class:"mr-batch__rows"},ie=["data-batch-key","aria-label"],ue={class:"mr-batch__status",role:"status"},de={class:"mr-batch__row-actions"},me=["aria-label","disabled","onClick"],fe=["aria-label","disabled","onClick"],pe={key:0,class:"mr-batch__hint"},be={key:1,class:"mr-batch__row-error",role:"alert"},ve={key:2,class:"mr-batch__receipt"},ye=["title"],he=["onClick"],ge={key:4,class:"mr-batch__error",role:"alert"},ke={class:"mr-batch__progress","aria-live":"polite"},_e=["value","max","aria-label"],Ee={key:1},Se={class:"mr-batch__actions"},Be=["disabled"],Ce=["disabled"],Ne=["disabled"],Ve=["aria-label"],De=["disabled"],xe=["disabled"],Re=e.defineComponent({__name:"ReportBatchPanel",props:{paramDefs:{},execute:{type:Function},initialCases:{},readonly:{type:Boolean},concurrency:{},maxCases:{},messages:{},paramMessages:{}},emits:["open-instance"],setup(a,{emit:f}){const D=a,N=f,y=Y(D),{m:r,rows:i,validations:h,running:b,cancelling:x,attempted:_,error:V,progress:g,failures:E,unfinished:R,cancelled:q,maximum:$}=y,P=e.ref(),p=e.ref(1),k=10,d=e.ref("all"),I=e.ref(),M=e.ref(),A=e.computed(()=>i.value.map((c,l)=>({row:c,index:l}))),S=e.computed(()=>A.value.filter(({row:c})=>d.value==="all"||c.status===d.value)),B=e.computed(()=>Math.max(1,Math.ceil(S.value.length/k))),O=e.computed(()=>S.value.slice((p.value-1)*k,p.value*k)),K=e.computed(()=>r.value.batchPage.replace("{page}",String(p.value)).replace("{pages}",String(B.value)).replace("{total}",String(S.value.length)));e.watch(B,c=>{p.value=Math.min(p.value,c)}),e.watch(d,()=>{p.value=1});const L=e.computed(()=>({...j.DEFAULT_MESSAGES,...D.paramMessages})),T=e.computed(()=>r.value.batchProgress.replace("{completed}",String(g.value.completed)).replace("{total}",String(g.value.total)).replace("{failed}",String(g.value.failed)).replace("{cancelled}",String(g.value.cancelled))),w=e.computed(()=>{const c={all:i.value.length,pending:0,running:0,completed:0,failed:0,cancelled:0};for(const l of i.value)c[l.status]++;return Object.keys(c).filter(l=>l!=="running"||b.value||c.running>0||d.value==="running").map(l=>({value:l,count:c[l],label:l==="all"?r.value.batchAll:n({status:l})}))});function n(c){return{pending:r.value.batchPending,running:r.value.batchRunning,completed:r.value.batchCompleted,failed:r.value.batchFailed,cancelled:r.value.batchCancelled}[c.status]}async function s(c){const l=y.add(c);l&&(await u(l.key,"all"),o(l.key)?.querySelector(".mrp-param-input")?.focus())}function o(c){return P.value?.querySelector(`[data-batch-key="${c}"]`)}async function u(c,l){d.value=l,await e.nextTick();const t=S.value.findIndex(({row:v})=>v.key===c);t<0||(p.value=Math.floor(t/k)+1,I.value=c,await e.nextTick())}async function C(){const c=i.value.filter(v=>v.status==="failed"),l=c.findIndex(v=>v.key===M.value),t=c[(l+1)%c.length];t&&(M.value=t.key,await u(t.key,"failed"),o(t.key)?.focus())}async function m(c=!1){const l=y.run(c);if(y.invalidKey.value!==void 0){const t=y.invalidKey.value;await u(t,"all"),o(t)?.querySelector('[aria-invalid="true"]')?.focus()}await l}return(c,l)=>(e.openBlock(),e.createElementBlock("section",{ref_key:"root",ref:P,class:"mr-batch","aria-label":e.unref(r).batchTitle,"aria-busy":e.unref(b)},[e.createElementVNode("header",ee,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(r).batchTitle),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(r).batchDescription),1)]),e.createElementVNode("button",{type:"button",disabled:a.readonly||e.unref(b)||e.unref(i).length>=e.unref($),onClick:l[0]||(l[0]=t=>s())},"+ "+e.toDisplayString(e.unref(r).batchAdd),9,te)]),e.unref(i).length?(e.openBlock(),e.createElementBlock("div",ae,[e.createElementVNode("div",{class:"mr-batch__filters",role:"group","aria-label":e.unref(r).batchFilter},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,t=>(e.openBlock(),e.createElementBlock("button",{key:t.value,type:"button","aria-pressed":d.value===t.value,onClick:v=>d.value=t.value},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),e.createElementVNode("span",null,e.toDisplayString(t.count),1)],8,le))),128))],8,ne),e.unref(E)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"mr-batch__next-failure",disabled:e.unref(b),onClick:C},e.toDisplayString(e.unref(r).batchNextFailure)+" ↓",9,re)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.unref(i).length?S.value.length?(e.openBlock(),e.createElementBlock("div",oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O.value,({row:t,index:v})=>(e.openBlock(),e.createElementBlock("article",{key:t.key,class:e.normalizeClass(["mr-batch__row",[`is-${t.status}`,{"is-located":t.key===I.value}]]),"data-batch-key":t.key,tabindex:"-1","aria-label":`${e.unref(r).batchCase} ${v+1} · ${n(t)}`},[e.createElementVNode("header",null,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(r).batchCase)+" "+e.toDisplayString(v+1),1),e.createElementVNode("span",ue,e.toDisplayString(n(t)),1)]),e.createElementVNode("div",de,[e.createElementVNode("button",{type:"button","aria-label":`${t.status==="completed"?e.unref(r).batchDuplicateCompleted:e.unref(r).batchDuplicate} ${v+1}`,disabled:a.readonly||e.unref(b)||e.unref(i).length>=e.unref($),onClick:F=>s(t)},e.toDisplayString(t.status==="completed"?e.unref(r).batchDuplicateCompleted:e.unref(r).batchDuplicate),9,me),e.createElementVNode("button",{type:"button","aria-label":`${e.unref(r).batchRemove} ${v+1}`,disabled:a.readonly||e.unref(b),onClick:F=>e.unref(y).remove(t.key)},"×",8,fe)])]),e.createVNode(j.ReportParamPanel,{defs:a.paramDefs,"model-value":t.item.params,messages:L.value,attempted:e.unref(_),issues:e.unref(h)[v]?.issues,"show-actions":!1,"show-title":!1,disabled:a.readonly||e.unref(b)||t.status==="completed","onUpdate:modelValue":F=>e.unref(y).setParams(t.key,F)},null,8,["defs","model-value","messages","attempted","issues","disabled","onUpdate:modelValue"]),t.status==="completed"?(e.openBlock(),e.createElementBlock("p",pe,e.toDisplayString(e.unref(r).batchCompletedHint),1)):e.createCommentVNode("",!0),t.status==="failed"&&t.error?(e.openBlock(),e.createElementBlock("p",be,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),t.status==="completed"?(e.openBlock(),e.createElementBlock("div",ve,[e.createElementVNode("span",{title:t.receipt?.label||t.receipt?.instanceId},e.toDisplayString(t.receipt?.label||(t.receipt?.instanceId?t.receipt.instanceId:e.unref(r).batchNoInstance)),9,ye),t.receipt?.instanceId?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:F=>N("open-instance",{...t.receipt})},e.toDisplayString(e.unref(r).batchOpen)+" ↗",9,he)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],10,ie))),128))])):(e.openBlock(),e.createElementBlock("div",ce,e.toDisplayString(e.unref(r).batchNoMatches),1)):(e.openBlock(),e.createElementBlock("div",se,e.toDisplayString(e.unref(r).batchEmpty),1)),e.unref(V)?(e.openBlock(),e.createElementBlock("p",ge,e.toDisplayString(e.unref(V)),1)):e.createCommentVNode("",!0),e.createElementVNode("footer",null,[e.createElementVNode("div",ke,[e.unref(g).total?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("progress",{value:e.unref(g).completed,max:e.unref(g).total,"aria-label":T.value},null,8,_e),e.createElementVNode("span",null,e.toDisplayString(T.value),1)],64)):(e.openBlock(),e.createElementBlock("span",Ee,e.toDisplayString(e.unref(i).length)+" / "+e.toDisplayString(e.unref($)),1))]),e.createElementVNode("div",Se,[e.unref(E)&&!e.unref(b)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:a.readonly,onClick:l[1]||(l[1]=t=>m(!0))},e.toDisplayString(e.unref(r).batchRetry)+" ("+e.toDisplayString(e.unref(E))+")",9,Be)):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",disabled:e.unref(x),onClick:l[2]||(l[2]=(...t)=>e.unref(y).cancel&&e.unref(y).cancel(...t))},e.toDisplayString(e.unref(x)?e.unref(r).batchCancelling:e.unref(r).batchCancel),9,Ce)):(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"is-primary",disabled:a.readonly||!e.unref(R),onClick:l[3]||(l[3]=t=>m())},[e.createTextVNode(e.toDisplayString(e.unref(q)?e.unref(r).batchContinue:e.unref(r).batchRun),1),e.unref(R)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" ("+e.toDisplayString(e.unref(R))+")",1)],64)):e.createCommentVNode("",!0)],8,Ne))]),B.value>1?(e.openBlock(),e.createElementBlock("nav",{key:0,class:"mr-batch__pagination","aria-label":e.unref(r).batchPages},[e.createElementVNode("span",null,e.toDisplayString(K.value),1),e.createElementVNode("button",{type:"button",disabled:p.value<=1,onClick:l[4]||(l[4]=t=>p.value--)},e.toDisplayString(e.unref(r).batchPrevious),9,De),e.createElementVNode("button",{type:"button",disabled:p.value>=B.value,onClick:l[5]||(l[5]=t=>p.value++)},e.toDisplayString(e.unref(r).batchNext),9,xe)],8,Ve)):e.createCommentVNode("",!0)])],8,Z))}}),$e=G._export_sfc(Re,[["__scopeId","data-v-45980136"]]);exports.default=$e;