@agile-team/mach-report 2.12.0 → 2.14.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 (97) hide show
  1. package/README.md +27 -3
  2. package/dist/ExcelBindingWizard-CLT2p7P3.cjs +1 -0
  3. package/dist/ExcelBindingWizard-CvsWR8Ga.js +1485 -0
  4. package/dist/{ParamEditor-BLaE5q5W.js → ParamEditor-CflQV3eQ.js} +191 -187
  5. package/dist/ParamEditor-vIDzvpPV.cjs +1 -0
  6. package/dist/ReportBatchPanel-DkxTzBkD.cjs +1 -0
  7. package/dist/{ReportBatchPanel-B5ClP9tm.js → ReportBatchPanel-LqVgiqp7.js} +3 -3
  8. package/dist/ReportPreview-CvbqLUzM.cjs +6 -0
  9. package/dist/ReportPreview-D_ywJ_-H.js +4533 -0
  10. package/dist/{ReportTemplateLibrary-BZB-XWjj.js → ReportTemplateLibrary-MjWEtc7X.js} +1 -1
  11. package/dist/ReportTemplateLibrary-cQ1sqNYo.cjs +1 -0
  12. package/dist/RuleEditor-BaR6xUiI.cjs +1 -0
  13. package/dist/RuleEditor-ChuXMlei.js +2037 -0
  14. package/dist/TemplateOutlinePanel-BHKP89Xz.cjs +1 -0
  15. package/dist/TemplateOutlinePanel-Dci6aRn1.js +96 -0
  16. package/dist/TemplateReusePanel-B7Gmyc1z.js +388 -0
  17. package/dist/TemplateReusePanel-CY5eO2Sh.cjs +1 -0
  18. package/dist/TemplateReviewPanel-DjlX3xpt.js +592 -0
  19. package/dist/TemplateReviewPanel-JvZe9_4G.cjs +1 -0
  20. package/dist/{batch-mRqhhhjt.js → batch-DzaTNLWI.js} +23 -16
  21. package/dist/batch-xMkqYiTr.cjs +1 -0
  22. package/dist/config-0UIohTS7.cjs +1 -0
  23. package/dist/{config-B612mw0x.js → config-Dt9NtCPl.js} +227 -186
  24. package/dist/data-explanation-BktvER5B.cjs +1 -0
  25. package/dist/data-explanation-C_J6jYNi.js +16 -0
  26. package/dist/designer-Ci1LizA9.js +5020 -0
  27. package/dist/designer-rtmVIIdN.cjs +2 -0
  28. package/dist/designer.cjs +1 -2
  29. package/dist/designer.d.cts +306 -3
  30. package/dist/designer.d.ts +306 -3
  31. package/dist/designer.js +21 -4266
  32. package/dist/font-loader-DHto6Lra.js +297 -0
  33. package/dist/font-loader-vhCT8znW.cjs +1 -0
  34. package/dist/index.cjs +8 -8
  35. package/dist/index.d.cts +182 -1
  36. package/dist/index.d.ts +182 -1
  37. package/dist/index.js +728 -628
  38. package/dist/{template-review-BzpcI-tR.js → json-snapshot-BeFT3Tso.js} +867 -637
  39. package/dist/json-snapshot-D1NTP2oI.cjs +2 -0
  40. package/dist/pdf-8UPQebOE.js +36288 -0
  41. package/dist/pdf-AyJGb22z.cjs +101 -0
  42. package/dist/pdf.cjs +1 -101
  43. package/dist/pdf.js +9 -36579
  44. package/dist/plugin-BGKf-Tqg.js +22 -0
  45. package/dist/{plugin-BDTU4D94.cjs → plugin-CktLH_Iy.cjs} +1 -1
  46. package/dist/{region-binding-workflow-CcUq8W2Q.js → region-binding-workflow-DEJbhpCv.js} +1 -1
  47. package/dist/server/node.d.cts +46 -11
  48. package/dist/server/node.d.ts +46 -11
  49. package/dist/server-node.cjs +1 -1
  50. package/dist/server-node.js +294 -280
  51. package/dist/server.cjs +1 -1
  52. package/dist/server.d.cts +107 -12
  53. package/dist/server.d.ts +107 -12
  54. package/dist/server.js +713 -453
  55. package/dist/style.css +1 -1
  56. package/dist/template-bindings-BJR4k7qZ.cjs +1 -0
  57. package/dist/template-bindings-Daui7hLF.js +252 -0
  58. package/dist/template-fragments-CLkGo6To.js +187 -0
  59. package/dist/template-fragments-DFUpq5QM.cjs +1 -0
  60. package/dist/template-outline-B3xVkzSv.cjs +1 -0
  61. package/dist/template-outline-CFenM1PV.js +88 -0
  62. package/dist/{template-registry-BjE1VS6g.js → template-registry-COXDEJEM.js} +1 -1
  63. package/dist/{useLocalDraft-C07SYRnC.js → useLocalDraft-BnhcxXk_.js} +1 -1
  64. package/dist/{useLocalDraft-Yiw1wFgI.cjs → useLocalDraft-CioIfDb6.cjs} +1 -1
  65. package/dist/{validate-DbgEM1Hh.js → validate-CkQBWCeg.js} +3 -3
  66. package/dist/vue/async.d.cts +72 -2
  67. package/dist/vue/async.d.ts +72 -2
  68. package/dist/vue/index.d.cts +124 -5
  69. package/dist/vue/index.d.ts +124 -5
  70. package/dist/vue-async.cjs +1 -1
  71. package/dist/vue-async.js +5 -5
  72. package/dist/vue.cjs +1 -1
  73. package/dist/vue.js +78 -71
  74. package/dist/{workbook-session-BPb3TMnT.js → workbook-session-BfK1yHOO.js} +1 -1
  75. package/dist/worker.cjs +1 -1
  76. package/dist/worker.d.cts +46 -11
  77. package/dist/worker.d.ts +46 -11
  78. package/dist/worker.js +59 -55
  79. package/dist/xlsx.js +3 -3
  80. package/package.json +1 -1
  81. package/dist/ExcelBindingWizard-CeAf4QSE.js +0 -1465
  82. package/dist/ExcelBindingWizard-y0mT-AHR.cjs +0 -1
  83. package/dist/ParamEditor-MBBC7lUE.cjs +0 -1
  84. package/dist/ReportBatchPanel-Dc-SDkYA.cjs +0 -1
  85. package/dist/ReportPreview-DWXROHBP.cjs +0 -6
  86. package/dist/ReportPreview-DiNXhQI0.js +0 -4138
  87. package/dist/ReportTemplateLibrary-5fk5CQBO.cjs +0 -1
  88. package/dist/RuleEditor-ChRzNQuF.cjs +0 -1
  89. package/dist/RuleEditor-DzAmW5YH.js +0 -2024
  90. package/dist/TemplateReviewPanel-BKofGrV9.js +0 -222
  91. package/dist/TemplateReviewPanel-DwtOcLue.cjs +0 -1
  92. package/dist/batch-Bt3Fd27Z.cjs +0 -1
  93. package/dist/config-BRoLo2oj.cjs +0 -1
  94. package/dist/plugin-Cd5G2QQn.js +0 -22
  95. package/dist/record-bindings-By_UKZ2g.cjs +0 -1
  96. package/dist/record-bindings-D-5jQlTj.js +0 -196
  97. package/dist/template-review-BfCC8Ng9.cjs +0 -2
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),R=require("./region-binding-workflow-BzfbxRiR.cjs"),I=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),_e=require("./useLocalDraft-Yiw1wFgI.cjs"),Fe=require("./designer.cjs");function be(t,h){const u=/^\$\.datasets\[(\d+)\]/.exec(t.path)?.[1];return u!==void 0?h[Number(u)]?.id:h.find(d=>t.path.startsWith(`$.datasets.${d.id}.samples`))?.id}function pe(t,h){const u=/\.fields\[(\d+)\]/.exec(t)?.[1];return u!==void 0?{control:"field",fieldIndex:Number(u)}:{control:t.split(".").at(-1)||h}}function ye(t,h,u){const d=/^\$\.recipe\.regions\[(\d+)\]/.exec(t.path)?.[1],f=be(t,u),a=d===void 0?h.regions.find(V=>V.dataset===f):h.regions[Number(d)];if(!a)return{control:t.path.endsWith("footerRange")?"footer":"regions",...h.footerRange?{range:h.footerRange}:{}};if(t.path.startsWith("$.datasets"))return{regionId:a.id,range:a.range,control:t.code==="row-key"?"rowKey":"contract"};const B=pe(t.path,"range"),k=t.code==="row-key"?"rowKey":B.control.startsWith("regions[")?"range":B.control;return{...B,control:k,regionId:a.id,range:a.range}}function Me(t,h,u){if(t.path.startsWith("$.datasets")){const f=be(t,u);return f===void 0?[]:h.regions.filter(a=>a.dataset===f).map(a=>a.id)}const d=ye(t,h,u).regionId;return d?[d]:[]}function Te(t,h){const u=/^\$\.recipe\.regions\.(title|header|detail|footer)$/.exec(t.path)?.[1];return u?{control:u,range:h.regions[u]}:t.path.startsWith("$.datasets")?{control:t.code==="row-key"?"rowKey":"contract",range:h.regions.detail}:{...pe(t.path,"detail"),range:h.regions.detail}}function ie(t){if(t.range)try{const h=R.parseImportRange(t.range);return t.fieldIndex!==void 0&&(h.left=h.right=h.left+t.fieldIndex),h}catch{return}}function Ke(t,h,u){return h.control==="dataset"?!u.dataset:h.control==="rowKey"?!u.rowKey:h.control==="field"&&h.fieldIndex!==void 0?!u.fields[h.fieldIndex]:!1}const Le=["aria-label"],ze={class:"mr-binding-group"},Pe={class:"mr-binding-note"},We=["title","disabled"],Ae={class:"mr-binding-region-list",role:"list",tabindex:"-1","data-binding-control":"regions"},He=["data-state"],qe=["aria-pressed","onClick"],Oe=["title"],Je={class:"mr-binding-region-state"},je={key:0},Ue=["aria-label","disabled","onClick"],Ge=["disabled"],Xe={key:0,class:"mr-binding-group"},Qe={class:"mr-binding-label",tabindex:"-1"},Ye=["value","aria-label"],Ze={class:"mr-binding-label"},et=["value","aria-label"],tt={value:"record"},nt={value:"repeat"},at={class:"mr-binding-note"},lt={class:"mr-binding-label",tabindex:"-1"},ot=["value","aria-label"],rt={value:""},it=["value"],st={key:0,class:"mr-binding-label",tabindex:"-1"},ut=["value","aria-label"],ct={value:""},dt=["value"],gt={class:"mr-binding-region-tools"},mt=["disabled"],ft=["aria-label"],vt={key:1,class:"mr-binding-mappings"},bt={class:"mr-binding-field-search"},pt=["placeholder","aria-label"],yt={key:0,class:"mr-binding-note"},ht=["data-binding-control","value","onChange","aria-label"],kt={value:""},Et=["value"],Nt={key:0},Vt={key:2,class:"mr-binding-map-pages"},wt=["disabled","aria-label"],Bt=["disabled","aria-label"],St={key:3,class:"mr-binding-concurrency"},xt=["data-binding-control","value","onChange"],Dt={value:""},$t=["value"],Ct={class:"mr-binding-group",tabindex:"-1","data-binding-control":"footer"},Rt={class:"mr-binding-note"},It={class:"mr-binding-region-tools"},_t=["disabled"],Ft=["aria-label"],Mt=e.defineComponent({__name:"ExcelRegionBindingPanel",props:{controller:{},datasets:{},disabled:{type:Boolean},messages:{}},setup(t){const h=t,u=e.ref(0),d=e.ref(),f=e.ref(""),a=h.controller.active,B=e.computed(()=>h.datasets.find(m=>m.id===a.value?.dataset)),k=e.computed(()=>{if(!a.value)return[];let m=1;try{m=R.parseImportRange(a.value.range).left}catch{}return a.value.fields.slice(u.value*12,u.value*12+12).map((p,r)=>({field:p,index:u.value*12+r,physical:R.columnName(m+u.value*12+r)}))}),V=e.computed(()=>Math.max(1,Math.ceil((a.value?.fields.length??0)/12))),C=e.computed(()=>{const m=f.value.trim().toLocaleLowerCase(),p=B.value?.fields??[],r=p.filter(D=>[D.field,D.label,D.unit].some(K=>K?.toLocaleLowerCase().includes(m))).slice(0,64),E=new Set(k.value.map(D=>D.field));return[...r,...p.filter(D=>E.has(D.field)&&!r.includes(D))]});function z(m){return m.target.value}function X(m){h.controller.setActive(m),u.value=0,f.value=""}e.watch(()=>h.controller.focusTarget.value,async m=>{if(!m)return;u.value=Math.floor((m.target.fieldIndex??0)/12),f.value="",await e.nextTick();const p=m.target.control==="field"?`field-${m.target.fieldIndex}`:m.target.control==="contract"?"dataset":m.target.control,r=d.value?.querySelector(`[data-binding-control="${p}"]`),E=r?.closest("details");E&&(E.open=!0);const D=h.disabled&&r?.matches("input,select,textarea,button")?r.closest("label"):r;D?.focus(),D?.scrollIntoView?.({block:"nearest"})});function U(m){if(!(!a.value||h.disabled)){a.value.range=z(m);try{const p=R.parseImportRange(a.value.range),r=p.right-p.left+1;r<=2048&&(a.value.fields=Array.from({length:r},(E,D)=>a.value.fields[D]??""))}catch{}}}return(m,p)=>(e.openBlock(),e.createElementBlock("section",{ref_key:"panel",ref:d,class:"mr-binding-multi","aria-label":t.messages.multiRegions},[e.createElementVNode("div",ze,[e.createElementVNode("h3",null,[e.createTextVNode(e.toDisplayString(t.messages.multiRegions),1),e.createElementVNode("span",null,e.toDisplayString(t.controller.recipe.value.regions.length)+"/128",1)]),e.createElementVNode("p",Pe,e.toDisplayString(t.messages.multiHint),1),e.createElementVNode("button",{type:"button",class:"mr-binding-add-region",title:t.controller.recipe.value.regions.length>=128?t.messages.limitRegions:t.controller.selection.value?t.messages.addRegion:t.messages.noCellSelection,disabled:t.disabled||!t.controller.selection.value||t.controller.recipe.value.regions.length>=128,onClick:p[0]||(p[0]=(...r)=>t.controller.add&&t.controller.add(...r))},[e.createVNode(I._sfc_main,{name:"grid",size:13}),e.createTextVNode(e.toDisplayString(t.messages.addRegion),1),e.createElementVNode("code",null,e.toDisplayString(t.controller.selection.value||"—"),1)],8,We),e.createElementVNode("div",Ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.controller.directory.value,r=>(e.openBlock(),e.createElementBlock("div",{key:r.region.id,class:e.normalizeClass(["mr-binding-region-entry",{"is-active":r.region.id===t.controller.activeId.value}]),"data-state":r.state},[e.createElementVNode("button",{type:"button","aria-pressed":r.region.id===t.controller.activeId.value,onClick:E=>X(r.region.id)},[e.createElementVNode("strong",{title:r.region.id},e.toDisplayString(r.region.id),9,Oe),e.createElementVNode("code",null,e.toDisplayString(r.region.range),1),e.createElementVNode("small",null,e.toDisplayString(r.region.mode==="record"?t.messages.recordMode:t.messages.repeatMode)+" · "+e.toDisplayString(r.region.dataset||t.messages.chooseDataset),1),e.createElementVNode("span",Je,[e.createTextVNode(e.toDisplayString(r.state==="ready"?t.messages.regionReady:r.state==="pending"?t.messages.regionPending:t.messages.regionError),1),r.issues.length?(e.openBlock(),e.createElementBlock("span",je," · "+e.toDisplayString(r.issues.length),1)):e.createCommentVNode("",!0)])],8,qe),e.createElementVNode("button",{type:"button","aria-label":`${t.messages.removeRegion} ${r.region.id}`,disabled:t.disabled,onClick:E=>t.controller.remove(r.region.id)},[e.createVNode(I._sfc_main,{name:"close",size:12})],8,Ue)],10,He))),128))])]),e.createElementVNode("fieldset",{disabled:t.disabled,class:"mr-binding-region-editor"},[e.unref(a)?(e.openBlock(),e.createElementBlock("section",Xe,[e.createElementVNode("h3",null,[e.createTextVNode(e.toDisplayString(t.messages.regionProperties),1),e.createElementVNode("code",null,e.toDisplayString(e.unref(a).id),1)]),e.createElementVNode("label",Qe,[e.createTextVNode(e.toDisplayString(t.messages.regionCoordinates),1),e.createElementVNode("input",{"data-binding-control":"range",value:e.unref(a).range,"aria-label":t.messages.regionCoordinates,onChange:U},null,40,Ye)]),e.createElementVNode("label",Ze,[e.createTextVNode(e.toDisplayString(t.messages.regionMode),1),e.createElementVNode("select",{value:e.unref(a).mode,"aria-label":t.messages.regionMode,onChange:p[1]||(p[1]=r=>t.controller.property("mode",z(r)))},[e.createElementVNode("option",tt,e.toDisplayString(t.messages.recordMode),1),e.createElementVNode("option",nt,e.toDisplayString(t.messages.repeatMode),1)],40,et)]),e.createElementVNode("p",at,e.toDisplayString(e.unref(a).mode==="record"?t.messages.recordHint:t.messages.repeatHint),1),e.createElementVNode("label",lt,[e.createTextVNode(e.toDisplayString(t.messages.dataset),1),e.createElementVNode("select",{"data-binding-control":"dataset",value:e.unref(a).dataset,"aria-label":t.messages.dataset,onChange:p[2]||(p[2]=r=>t.controller.dataset(z(r)))},[e.createElementVNode("option",rt,e.toDisplayString(t.messages.chooseDataset),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.datasets,r=>(e.openBlock(),e.createElementBlock("option",{key:r.id,value:r.id},e.toDisplayString(r.label||r.id),9,it))),128))],40,ot)]),B.value?(e.openBlock(),e.createElementBlock("label",st,[e.createTextVNode(e.toDisplayString(t.messages.rowKey),1),e.createElementVNode("select",{"data-binding-control":"rowKey",value:e.unref(a).rowKey,"aria-label":t.messages.rowKey,onChange:p[3]||(p[3]=r=>t.controller.property("rowKey",z(r)))},[e.createElementVNode("option",ct,e.toDisplayString(t.messages.chooseRowKey),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value.fields.filter(r=>r.type!=="boolean"),r=>(e.openBlock(),e.createElementBlock("option",{key:r.field,value:r.field},e.toDisplayString(r.label||r.field),9,dt))),128))],40,ut)])):e.createCommentVNode("",!0),e.createElementVNode("div",gt,[e.createElementVNode("button",{type:"button",disabled:!t.controller.selection.value,onClick:p[4]||(p[4]=(...r)=>t.controller.header&&t.controller.header(...r))},e.toDisplayString(t.messages.bindRegionHeader),9,mt),e.createElementVNode("code",null,e.toDisplayString(e.unref(a).headerRange||t.messages.noRegionHeader),1),e.unref(a).headerRange?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","aria-label":t.messages.clearHeader,onClick:p[5]||(p[5]=(...r)=>t.controller.clearHeader&&t.controller.clearHeader(...r))},[e.createVNode(I._sfc_main,{name:"close",size:11})],8,ft)):e.createCommentVNode("",!0)]),B.value?(e.openBlock(),e.createElementBlock("div",vt,[e.createElementVNode("label",bt,[e.createVNode(I._sfc_main,{name:"search",size:13}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[6]||(p[6]=r=>f.value=r),type:"search",placeholder:t.messages.searchFields,"aria-label":t.messages.searchFields},null,8,pt),[[e.vModelText,f.value]])]),B.value.fields.length>64?(e.openBlock(),e.createElementBlock("small",yt,e.toDisplayString(t.messages.fieldLimit),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,r=>(e.openBlock(),e.createElementBlock("label",{key:r.index,class:"mr-binding-map",tabindex:"-1"},[e.createElementVNode("span",null,e.toDisplayString(r.physical),1),e.createElementVNode("div",null,[e.createElementVNode("select",{"data-binding-control":`field-${r.index}`,value:e.unref(a).fields[r.index],onChange:E=>t.controller.mapping(r.index,z(E)),"aria-label":`${t.messages.physical} ${r.physical} · ${t.messages.business}`},[e.createElementVNode("option",kt,e.toDisplayString(t.messages.chooseField),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,E=>(e.openBlock(),e.createElementBlock("option",{key:E.field,value:E.field},e.toDisplayString(E.label||E.field)+" · "+e.toDisplayString(E.field),9,Et))),128))],40,ht),r.field?(e.openBlock(),e.createElementBlock("small",Nt,e.toDisplayString(B.value.fields.find(E=>E.field===r.field)?.type)+" · "+e.toDisplayString(B.value.fields.find(E=>E.field===r.field)?.unit||"—"),1)):e.createCommentVNode("",!0)])]))),128))])):e.createCommentVNode("",!0),V.value>1?(e.openBlock(),e.createElementBlock("div",Vt,[e.createElementVNode("button",{type:"button",disabled:u.value<=0,"aria-label":t.messages.previousColumns,onClick:p[7]||(p[7]=r=>u.value--)},[e.createVNode(I._sfc_main,{name:"chevron-left",size:13})],8,wt),e.createElementVNode("span",null,e.toDisplayString(u.value+1)+"/"+e.toDisplayString(V.value),1),e.createElementVNode("button",{type:"button",disabled:u.value+1>=V.value,"aria-label":t.messages.nextColumns,onClick:p[8]||(p[8]=r=>u.value++)},[e.createVNode(I._sfc_main,{name:"chevron-right",size:13})],8,Bt)])):e.createCommentVNode("",!0),B.value?(e.openBlock(),e.createElementBlock("details",St,[e.createElementVNode("summary",null,e.toDisplayString(t.messages.concurrency),1),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["revisionField","sourceTokenField"],r=>e.createElementVNode("label",{key:r,class:"mr-binding-label",tabindex:"-1"},[e.createTextVNode(e.toDisplayString(r==="revisionField"?t.messages.revisionField:t.messages.sourceTokenField),1),e.createElementVNode("select",{"data-binding-control":r,value:e.unref(a)[r]||"",onChange:E=>t.controller.property(r,z(E))},[e.createElementVNode("option",Dt,e.toDisplayString(t.messages.optional),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value.fields,E=>(e.openBlock(),e.createElementBlock("option",{key:E.field,value:E.field},e.toDisplayString(E.label||E.field),9,$t))),128))],40,xt)])),64))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("section",Ct,[e.createElementVNode("h3",null,e.toDisplayString(t.messages.flowFooter),1),e.createElementVNode("p",Rt,e.toDisplayString(t.messages.flowFooterHint),1),e.createElementVNode("div",It,[e.createElementVNode("button",{type:"button",disabled:!t.controller.selection.value,onClick:p[9]||(p[9]=(...r)=>t.controller.footer&&t.controller.footer(...r))},e.toDisplayString(t.messages.bindFooter),9,_t),e.createElementVNode("code",null,e.toDisplayString(t.controller.recipe.value.footerRange||"—"),1),t.controller.recipe.value.footerRange?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","aria-label":t.messages.clearFooter,onClick:p[10]||(p[10]=(...r)=>t.controller.clearFooter&&t.controller.clearFooter(...r))},[e.createVNode(I._sfc_main,{name:"close",size:11})],8,Ft)):e.createCommentVNode("",!0)])])],8,Ge)],8,Le))}});function ve(t=""){return{version:"2.0",sheet:t,regions:[]}}function Tt(t,h,u,d){const f=e.ref(ve()),a=e.ref(""),B=e.ref(),k=e.ref(),V=e.ref(),C=e.computed(()=>!t.value||!k.value||!V.value?"":R.excelBindingCellRange(t.value,h.value,k.value,V.value)),z=e.computed(()=>({...f.value,regions:f.value.regions.map(s=>({...s,fields:[]}))})),X=e.computed(()=>t.value?R.validateExcelRegionGeometry(t.value,z.value):[]),U=e.computed(()=>{const s=R.validateExcelRegionFields(f.value,d()),v=[...X.value,...s.issues];return{...s,ok:!v.length,issues:v}}),m=e.computed(()=>f.value.regions.find(s=>s.id===a.value));function p(s){return ye(s,f.value,d())}const r=e.computed(()=>{const s=new Map;for(const v of U.value.issues){const M=p(v);for(const N of Me(v,f.value,d())){const j=s.get(N)??[];j.push({issue:v,target:{...M,regionId:N}}),s.set(N,j)}}return f.value.regions.map(v=>{const M=s.get(v.id)??[],N=M.length?M.every(j=>Ke(j.issue,j.target,v))?"pending":"error":"ready";return{region:v,state:N,issues:M}})});function E(s=ve(h.value)){f.value=JSON.parse(JSON.stringify(s)),a.value=f.value.regions[0]?.id??"",k.value=void 0,V.value=void 0,B.value=void 0}function D(s){s.regionId&&(a.value=s.regionId);const v=ie(s);v&&(k.value={row:v.top,column:v.left},V.value={row:v.bottom,column:v.right}),B.value={target:s,sequence:(B.value?.sequence??0)+1}}function K(s){D(p(s))}function i(s,v,M){u.value||((!M||!k.value)&&(k.value={row:s,column:v}),V.value={row:s,column:v})}function w(){if(u.value||!C.value||f.value.regions.length>=128)return;let s=1;for(;f.value.regions.some(N=>N.id===`region-${s}`);)s++;const v=`region-${s}`,M=Math.abs(V.value.column-k.value.column)+1;f.value.regions.push({id:v,range:C.value,mode:"repeat",dataset:"",fields:Array.from({length:M},()=>""),rowKey:""}),a.value=v}function P(s){u.value||(f.value.regions=f.value.regions.filter(v=>v.id!==s),a.value===s&&(a.value=f.value.regions[0]?.id??""))}function x(s){!u.value&&m.value&&(m.value.dataset=s,m.value.rowKey="",m.value.fields.fill(""),delete m.value.revisionField,delete m.value.sourceTokenField)}function T(s,v){if(!(u.value||!m.value)){if(s==="mode"){(v==="record"||v==="repeat")&&(m.value.mode=v);return}v||s==="rowKey"?m.value[s]=v:delete m.value[s]}}function $(s,v){!u.value&&m.value&&s>=0&&s<m.value.fields.length&&(m.value.fields[s]=v)}function W(){!u.value&&m.value&&delete m.value.headerRange}function J(){!u.value&&m.value&&C.value&&(m.value.headerRange=C.value)}function O(){!u.value&&C.value&&(f.value.footerRange=C.value)}function _(){u.value||delete f.value.footerRange}function H(s){const v=f.value.regions.find(M=>M.id===s);v&&D({regionId:s,control:"range",range:v.range})}function y(s,v){return!!k.value&&!!V.value&&s>=Math.min(k.value.row,V.value.row)&&s<=Math.max(k.value.row,V.value.row)&&v>=Math.min(k.value.column,V.value.column)&&v<=Math.max(k.value.column,V.value.column)}return{recipe:f,activeId:a,active:m,selection:C,validation:U,directory:r,focusTarget:B,target:p,locate:K,reset:E,select:i,add:w,remove:P,dataset:x,property:T,mapping:$,header:J,clearHeader:W,footer:O,clearFooter:_,setActive:H,selected:y}}function re(t="",h=0){return{version:"1.0",sheet:t,dataset:"",regions:{header:"",detail:""},fields:Array.from({length:h},()=>""),rowKey:""}}function ce(t){return t instanceof Error?t.message:String(t)}function Kt(t,h){const u=e.shallowRef(),d=e.ref(re()),f=e.ref("table"),a=Tt(u,e.computed(()=>d.value.sheet),e.computed(()=>s.value),()=>t.datasets),B=new Map,k=new Map,V=e.ref({table:[],regions:[]});function C(){B.clear(),k.clear(),V.value={table:[],regions:[]}}function z(){d.value.sheet&&(B.set(d.value.sheet,X(d.value)),k.set(d.value.sheet,JSON.parse(JSON.stringify(a.recipe.value))),V.value={table:[...B.values()],regions:[...k.values()]})}const X=o=>JSON.parse(JSON.stringify(o));function U(o,c){return X(B.get(o)??re(o,c))}const m=e.ref({id:t.identity?.id??"excel-template",name:t.identity?.name??"Excel 业务模板"}),p=e.ref(""),r=e.ref(0),E=_e.useLocalDraft(()=>({source:r.value,recipe:d.value,mode:f.value,regions:a.recipe.value,cached:V.value,identity:m.value})),D=e.ref([]);let K;function i(){K?.dispose(),K=void 0}const w=e.ref(""),P=e.ref(!1),x=e.ref(!1),T=e.ref(!1),$=e.ref(!1),W=e.ref(1),J=e.ref(1),O=e.ref(),_=e.ref(),H=e.ref(0),y=e.computed(()=>({...Fe.EXCEL_BINDING_MESSAGES,...t.messages})),s=e.computed(()=>!!t.readonly||P.value||$.value),v=e.computed(()=>!P.value&&!$.value),M=e.computed(()=>u.value?.sheets.find(o=>o.name===d.value.sheet)),N=e.computed(()=>M.value?R.parseImportRange(M.value.range):void 0),j=e.computed(()=>t.datasets.find(o=>o.id===d.value.dataset)),Z=e.computed(()=>u.value&&M.value?R.getExcelSheetWindow(u.value,M.value.name,{row:W.value,column:J.value}):void 0),te=e.computed(()=>u.value?R.validateExcelBindingRegions(u.value,d.value):[]),G=e.computed(()=>{if(!u.value)return{ok:!1,issues:[],mapped:0,total:0};const o=R.validateExcelBindingFields(u.value,d.value,t.datasets),c=[...te.value,...o.issues];return{...o,ok:c.length===0,issues:c}}),Q=e.computed(()=>f.value==="regions"?a.validation.value:G.value),ne=e.ref(),se=e.computed(()=>f.value==="regions"?a.focusTarget.value:ne.value);function ae(o){return f.value==="regions"?a.target(o):Te(o,d.value)}function de(o){const c={dataset:y.value.dataset,contract:y.value.dataContract,rowKey:y.value.rowKey,range:y.value.regionCoordinates,field:y.value.mapping,fields:y.value.mapping,footer:y.value.flowFooter,header:y.value.headerRegion,detail:y.value.detailRegion,title:y.value.titleRegion,sheet:y.value.sheet,regions:f.value==="regions"?y.value.multiRegions:y.value.regionLegend,revisionField:y.value.revisionField,sourceTokenField:y.value.sourceTokenField},S=ie(o),F=o.fieldIndex===void 0?"":` ${R.columnName(S?.left??o.fieldIndex+1)}`;return`${o.regionId?`${o.regionId} · `:""}${c[o.control]??y.value.regionCoordinates}${F}`}const ge=e.computed(()=>Q.value.issues.map(o=>({issue:o,label:de(ae(o)),message:o.message.replace(/\$\.recipe\.regions\[(\d+)\]/g,(c,S)=>a.recipe.value.regions[Number(S)]?.id??y.value.regionProperties)})));function ue(o){return o?{dataset:y.value.nextDataset,rowKey:y.value.nextRowKey,field:y.value.nextField,fields:y.value.nextField,range:y.value.nextRange,regions:y.value.nextRegion,footer:y.value.nextFooter,header:y.value.nextHeader,detail:y.value.nextHeader,title:y.value.nextHeader}[o.control]??y.value.nextContract:f.value==="regions"?y.value.nextRegion:y.value.nextHeader}const g=e.computed(()=>t.readonly?y.value.readonly:P.value?y.value.loading:$.value?y.value.applying:T.value?y.value.applied:Q.value.ok?y.value.ready:ue(Q.value.issues[0]?ae(Q.value.issues[0]):void 0));e.watch(se,o=>{const c=o&&ie(o.target);!c||!N.value||(W.value=Math.max(N.value.top,Math.min(N.value.bottom,c.top)),J.value=Math.max(N.value.left,Math.min(N.value.right,c.left)))});function l(o){if(f.value==="regions"){a.locate(o);return}const c=ae(o),S=ie(c);S&&(O.value=S.top,_.value=S.bottom),c.fieldIndex!==void 0&&(H.value=Math.floor(c.fieldIndex/12)),ne.value={target:c,sequence:(ne.value?.sequence??0)+1}}const n=e.computed(()=>d.value.fields.slice(H.value*12,(H.value+1)*12).map((o,c)=>({index:H.value*12+c,field:o,physical:R.columnName((N.value?.left??1)+H.value*12+c)}))),b=e.computed(()=>j.value?.fields.filter(o=>o.type!=="boolean")??[]),L=e.computed(()=>O.value!==void 0&&_.value!==void 0?{top:Math.min(O.value,_.value),bottom:Math.max(O.value,_.value)}:void 0);let q,A=0;function Y(){A++,q?.abort(),q=void 0,P.value=!1}function le(){W.value=N.value?.top??1,J.value=N.value?.left??1,O.value=void 0,_.value=void 0,H.value=0,x.value=!1,T.value=!1}function fe(o){Y();try{const c=o.version==="2.0"?R.parseExcelRegionBindingSession(o):R.parseExcelBindingSession(o);Y(),i(),D.value=c.source.sheets.map(S=>({name:S.name,index:S.index})),u.value=c.source,C(),c.version==="2.0"?(d.value=re(c.recipe.sheet,c.source.sheets.find(S=>S.name===c.recipe.sheet).columnCount),a.reset(c.recipe),f.value="regions"):(d.value=c.recipe,a.reset(),f.value="table"),m.value={...c.identity,...t.lockId&&t.identity?{id:t.identity.id}:{}},p.value=c.recipe.sheet,w.value="",le(),r.value++,E.accept()}catch(c){w.value=ce(c)}}e.watch(()=>t.session,o=>{o&&fe(o)},{immediate:!0}),e.watch(()=>t.readonly,o=>{o&&(Y(),i())}),e.watch([d,m,f,a.recipe],()=>{x.value=!1,T.value=!1},{deep:!0,flush:"sync"}),e.watch(()=>t.datasets,()=>{x.value=!1,T.value=!1}),e.onBeforeUnmount(()=>{Y(),i()});async function he(o){if(t.readonly)return;if(Y(),!/\.xlsx$/i.test(o.name)){w.value=y.value.invalidFile;return}const c=++A;q=new AbortController,P.value=!0,w.value="";let S;try{const{openExcelWorkbook:F}=await Promise.resolve().then(()=>require("./workbook-session-DNa2RHNG.cjs")).then(ee=>ee.workbookSession);if(c!==A||t.readonly||(S=await F(o,{...t.importOptions,signal:q.signal}),c!==A||t.readonly))return;const oe=S.inspect().sheets.filter(ee=>ee.visible);if(!oe.length)throw new Error("Excel 中没有可导入的可见工作表");const me=await S.importTemplate({sheets:[oe[0].name],signal:q.signal});if(c!==A||t.readonly)return;i(),K=S,S=void 0,u.value=me,r.value++,p.value=o.name,D.value=oe.map(ee=>({name:ee.name,index:ee.index})),C(),d.value=re(me.sheets[0].name,me.sheets[0].columnCount),a.reset(),le()}catch(F){c===A&&(w.value=ce(F))}finally{S?.dispose(),c===A&&(P.value=!1,q=void 0)}}async function ke(o){if(s.value||!D.value.some(F=>F.name===o)||d.value.sheet===o)return;z();const c=u.value?.sheets.find(F=>F.name===o);if(c){d.value=U(o,c.columnCount),a.reset(k.get(o)),w.value="",le();return}if(!K||K.disposed)return;Y();const S=++A;q=new AbortController,P.value=!0,w.value="";try{const F=await K.importTemplate({sheets:[o],signal:q.signal});if(S!==A||t.readonly)return;u.value=F,d.value=U(o,F.sheets[0].columnCount),a.reset(k.get(o)),le()}catch(F){S===A&&(w.value=ce(F))}finally{S===A&&(P.value=!1,q=void 0)}}function Ee(o){s.value||(d.value.dataset=o,d.value.rowKey="",d.value.fields.fill(""),x.value=!1,T.value=!1)}function Ne(o,c){s.value||!N.value||o<N.value.top||o>N.value.bottom||((!c||O.value===void 0)&&(O.value=o),_.value=o)}function Ve(o){if(s.value||!u.value||!L.value){s.value||(w.value=y.value.emptySelection);return}d.value.regions[o]=R.excelBindingRowRange(u.value,d.value.sheet,L.value.top,L.value.bottom),x.value=!1,T.value=!1,w.value=""}function we(o){s.value||(delete d.value.regions[o],x.value=!1,T.value=!1)}function Be(o,c){!s.value&&o>=0&&o<d.value.fields.length&&(d.value.fields[o]=c,x.value=!1,T.value=!1)}function Se(o){s.value||(d.value.rowKey=o)}function xe(o,c){!s.value&&!(o==="id"&&t.lockId)&&(m.value[o]=c)}function De(o){for(const c of["title","header","detail","footer"]){const S=d.value.regions[c];if(!S)continue;const F=R.parseImportRange(S);if(o>=F.top&&o<=F.bottom)return c}}function $e(o,c){N.value&&(o==="row"?W.value=Math.max(N.value.top,Math.min(N.value.bottom,W.value+c)):J.value=Math.max(N.value.left,Math.min(N.value.right,J.value+c)))}function Ce(){if(!t.readonly){if(t.session){fe(t.session);return}Y(),i(),u.value=void 0,D.value=[],p.value="",C(),d.value=re(),m.value={id:t.identity?.id??"excel-template",name:t.identity?.name??"Excel 业务模板"},a.reset(),f.value="table",le(),r.value++,E.accept(),w.value=""}}function Re(){v.value&&(x.value=!0,w.value="")}async function Ie(){if(!(s.value||!u.value)&&(x.value=!0,w.value="",!!Q.value.ok)){$.value=!0;try{const o={...m.value,...t.lockId&&t.identity?{id:t.identity.id}:{}},c=f.value==="regions"?R.createExcelRegionBindingDocument(u.value,a.recipe.value,t.datasets,o):R.createExcelBindingDocument(u.value,d.value,t.datasets,o),S=f.value==="regions"?R.createExcelRegionBindingSession(u.value,a.recipe.value,o):R.createExcelBindingSession(u.value,d.value,o),F={...c,session:S},oe=E.snapshot();if(t.accept&&!await t.accept(F)||t.readonly||oe!==E.snapshot()&&E.pending.value)return;t.accept||h(F),C(),E.accept(),T.value=!0}catch(o){w.value=ce(o)}finally{$.value=!1}}}return{imported:u,mode:f,regionBindings:a,pendingLocalChanges:E.pending,recipe:d,identity:m,sourceName:p,sheetChoices:D,error:w,loading:P,checked:x,applied:T,row:W,column:J,mappingPage:H,m:y,disabled:s,canCheck:v,sheet:M,sourceRange:N,dataset:j,window:Z,validation:Q,focusTarget:se,issueEntries:ge,guidance:g,locateIssue:l,mappings:n,rowKeys:b,selection:L,cancel:Y,importFile:he,chooseSheet:ke,chooseDataset:Ee,chooseRow:Ne,markRegion:Ve,clearRegion:we,setMapping:Be,setRowKey:Se,setIdentity:xe,regionAt:De,moveWindow:$e,check:Re,restoreDraft:Ce,apply:Ie}}const Lt=["aria-label","aria-busy"],zt={class:"mr-binding-bar"},Pt={class:"mr-binding-heading"},Wt=["aria-label","disabled"],At=["disabled"],Ht={key:0,class:"mr-binding-error",role:"alert"},qt={key:1,class:"mr-binding-placeholder",role:"status"},Ot={key:2,class:"mr-binding-placeholder"},Jt=["disabled"],jt={class:"mr-binding-sourcebar"},Ut=["value","aria-label","disabled"],Gt=["value"],Xt=["aria-label"],Qt=["aria-pressed","disabled"],Yt=["aria-pressed","disabled"],Zt={class:"mr-binding-range"},en={class:"mr-binding-sample-note"},tn={class:"mr-binding-layout"},nn={class:"mr-binding-source"},an={class:"mr-binding-grid-heading"},ln=["aria-label"],on={class:"mr-binding-grid"},rn=["data-region"],sn={scope:"row"},un=["data-source-row","aria-label","aria-pressed","disabled","onPointerdown","onPointerenter","onKeydown"],cn=["rowspan","colspan","title","data-source-cell","tabindex","aria-label","aria-selected","onPointerdown","onPointerenter","onKeydown"],dn={key:1,class:"mr-binding-grid-footer"},gn={class:"mr-binding-window"},mn=["aria-label","disabled"],fn=["min","max","value","aria-label"],vn=["aria-label","disabled"],bn={class:"mr-binding-window"},pn=["aria-label","disabled"],yn=["min","max","value","aria-label"],hn=["aria-label","disabled"],kn={class:"mr-binding-inspector"},En=["disabled"],Nn={class:"mr-binding-group"},Vn=["data-role"],wn={key:0},Bn=["aria-label","data-binding-control","title","disabled","onClick"],Sn=["aria-label","onClick"],xn={key:0,class:"mr-binding-note"},Dn={class:"mr-binding-group"},$n={class:"mr-binding-label",tabindex:"-1"},Cn=["value","aria-label"],Rn={value:""},In=["value"],_n={key:0,class:"mr-binding-note"},Fn={key:1,class:"mr-binding-label",tabindex:"-1"},Mn=["value","aria-label"],Tn={value:""},Kn=["value"],Ln={key:2,class:"mr-binding-mappings"},zn=["data-binding-control","aria-label","value","onChange"],Pn={value:""},Wn=["value"],An={key:0},Hn={key:3,class:"mr-binding-map-pages"},qn=["disabled","aria-label"],On=["disabled","aria-label"],Jn=["disabled"],jn={class:"mr-binding-group"},Un={class:"mr-binding-label"},Gn=["value","readonly"],Xn={class:"mr-binding-label"},Qn=["value"],Yn={key:0,class:"mr-binding-issues",open:""},Zn=["aria-label","onClick"],ea={key:0,class:"mr-binding-issue-pages"},ta=["disabled","aria-label"],na=["disabled","aria-label"],aa={key:1,class:"mr-binding-warnings"},la={class:"mr-binding-actions"},oa=["title"],ra=["disabled"],ia=["disabled"],sa=["disabled","title"],ua=e.defineComponent({__name:"ExcelBindingWizard",props:{datasets:{},accept:{type:Function},session:{},identity:{},lockId:{type:Boolean},readonly:{type:Boolean},importOptions:{},messages:{}},emits:["apply","dirty"],setup(t,{expose:h,emit:u}){const d=t,f=u,a=Kt(d,g=>f("apply",g)),{imported:B,mode:k,regionBindings:V,recipe:C,identity:z,sourceName:X,sheetChoices:U,error:m,loading:p,checked:r,row:E,column:D,mappingPage:K,m:i,disabled:w,sheet:P,sourceRange:x,dataset:T,window:$,validation:W,mappings:J,rowKeys:O,selection:_}=a;e.watch([a.pendingLocalChanges,C,z],()=>f("dirty",a.pendingLocalChanges.value),{immediate:!0,deep:!0,flush:"sync"});const H=e.ref(),y=e.ref(),s=e.ref(0),v=e.computed(()=>Math.max(1,Math.ceil(a.issueEntries.value.length/12))),M=e.computed(()=>a.issueEntries.value.slice(s.value*12,(s.value+1)*12));e.watch(v,g=>{s.value=Math.min(s.value,g-1)}),e.watch(a.focusTarget,async g=>{if(!g)return;await e.nextTick();const l=ie(g.target);if(l&&y.value?.querySelector(`td[data-source-cell="${l.top}:${l.left}"]`)?.scrollIntoView?.({block:"nearest",inline:"nearest"}),k.value==="regions")return;const n=g.target.control==="field"?`field-${g.target.fieldIndex}`:g.target.control==="contract"?"dataset":g.target.control,b=y.value?.querySelector(`.mr-binding-table-editor [data-binding-control="${n}"]`),L=w.value?b?.closest("label"):b;L?.focus(),L?.scrollIntoView?.({block:"nearest"})});const N=e.ref(!1),j=["title","header","detail","footer"],Z=e.computed(()=>({title:i.value.titleRegion,header:i.value.headerRegion,detail:i.value.detailRegion,footer:i.value.footerRegion})),te=e.computed(()=>Math.max(1,Math.ceil(C.value.fields.length/12)));function G(g){return g.target.value}function Q(g){const l=g.target,n=l.files?.[0];n&&a.importFile(n),l.value=""}function ne(g,l){g.button!==0||w.value||(g.preventDefault(),N.value=!0,a.chooseRow(l,g.shiftKey),k.value==="regions"&&x.value&&(V.select(l,x.value.left,!1),V.select(l,x.value.right,!0)),g.currentTarget.focus())}function se(g,l,n){k.value!=="regions"||g.button!==0||w.value||(g.preventDefault(),N.value=!0,V.select(l,n,g.shiftKey),g.currentTarget.focus())}function ae(g,l,n){if(k.value!=="regions")return;(g.key===" "||g.key==="Enter")&&(g.preventDefault(),V.select(l,n,g.shiftKey));const L={ArrowUp:[-1,0],ArrowDown:[1,0],ArrowLeft:[0,-1],ArrowRight:[0,1]}[g.key];if(!L||!x.value)return;g.preventDefault();const q=Math.max(x.value.top,Math.min(x.value.bottom,l+L[0])),A=Math.max(x.value.left,Math.min(x.value.right,n+L[1]));g.shiftKey&&V.select(q,A,!0),g.currentTarget.closest("table")?.querySelector(`td[data-source-cell="${q}:${A}"]`)?.focus()}function de(g,l){if((g.key===" "||g.key==="Enter")&&(g.preventDefault(),a.chooseRow(l,g.shiftKey)),g.key==="ArrowDown"||g.key==="ArrowUp"){g.preventDefault();const n=l+(g.key==="ArrowDown"?1:-1);g.shiftKey&&a.chooseRow(n,!0),g.currentTarget.closest("table")?.querySelector(`button[data-source-row="${n}"]`)?.focus()}}function ge(g){const l=T.value?.fields.find(n=>n.field===g);return l?[l.type,l.unit,l.digits===void 0?void 0:`${l.digits}${i.value.precision}`,l.sample===void 0?void 0:`${i.value.sample}: ${String(l.sample)}`].filter(n=>n!==void 0&&n!=="").join(" · "):""}function ue(g,l){const n=Number(G(g));!Number.isInteger(n)||!x.value||(l==="row"?E.value=Math.max(x.value.top,Math.min(x.value.bottom,n)):D.value=Math.max(x.value.left,Math.min(x.value.right,n)))}return h({get pendingLocalChanges(){return a.pendingLocalChanges.value},importFile:a.importFile,apply:a.apply,cancel:a.cancel}),(g,l)=>(e.openBlock(),e.createElementBlock("section",{ref_key:"element",ref:y,class:"mr-binding","aria-label":e.unref(i).title,"aria-busy":e.unref(p),onPointerup:l[23]||(l[23]=n=>N.value=!1),onPointercancel:l[24]||(l[24]=n=>N.value=!1),onPointerleave:l[25]||(l[25]=n=>N.value=!1)},[e.createElementVNode("header",zt,[e.createElementVNode("div",Pt,[e.createVNode(I._sfc_main,{name:"file",size:17}),e.createElementVNode("strong",null,e.toDisplayString(e.unref(i).title),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(X)||e.unref(i).intro),1)]),e.createElementVNode("input",{ref_key:"input",ref:H,type:"file",accept:".xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","aria-label":e.unref(i).upload,class:"mr-binding-file",disabled:t.readonly,onChange:Q},null,40,Wt),e.unref(p)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:l[0]||(l[0]=(...n)=>e.unref(a).cancel&&e.unref(a).cancel(...n))},e.toDisplayString(e.unref(i).cancel),1)):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",disabled:t.readonly,onClick:l[1]||(l[1]=n=>H.value?.click())},[e.createVNode(I._sfc_main,{name:"upload",size:14}),e.createTextVNode(e.toDisplayString(e.unref(B)?e.unref(i).replace:e.unref(i).upload),1)],8,At))]),e.unref(m)?(e.openBlock(),e.createElementBlock("div",Ht,e.toDisplayString(e.unref(m)),1)):e.createCommentVNode("",!0),e.unref(p)?(e.openBlock(),e.createElementBlock("div",qt,[l[26]||(l[26]=e.createElementVNode("span",{class:"mr-binding-loader"},null,-1)),e.createTextVNode(e.toDisplayString(e.unref(i).loading),1)])):e.unref(B)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("div",jt,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(i).sheet),1),e.createElementVNode("select",{value:e.unref(C).sheet,"aria-label":e.unref(i).sheet,disabled:e.unref(w),onChange:l[3]||(l[3]=n=>e.unref(a).chooseSheet(G(n)))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(U),n=>(e.openBlock(),e.createElementBlock("option",{key:n.name,value:n.name},e.toDisplayString(n.name),9,Gt))),128))],40,Ut)]),e.createElementVNode("div",{class:"mr-binding-mode",role:"group","aria-label":e.unref(i).regionMode},[e.createElementVNode("button",{type:"button","aria-pressed":e.unref(k)==="table",disabled:e.unref(w),onClick:l[4]||(l[4]=n=>k.value="table")},e.toDisplayString(e.unref(i).tableMode),9,Qt),e.createElementVNode("button",{type:"button","aria-pressed":e.unref(k)==="regions",disabled:e.unref(w),onClick:l[5]||(l[5]=n=>k.value="regions")},[e.createVNode(I._sfc_main,{name:"grid",size:12}),e.createTextVNode(e.toDisplayString(e.unref(i).multiRegions),1)],8,Yt)],8,Xt),e.createElementVNode("span",Zt,e.toDisplayString(e.unref(P)?.range)+" · "+e.toDisplayString(e.unref(P)?.rowCount)+" × "+e.toDisplayString(e.unref(P)?.columnCount),1),e.createElementVNode("span",en,e.toDisplayString(e.unref(i).sourceOnly),1)]),e.createElementVNode("div",tn,[e.createElementVNode("div",nn,[e.createElementVNode("div",an,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(i).source),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(k)==="regions"?e.unref(i).multiHint:e.unref(i).sourceHint),1)]),e.unref($)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"mr-binding-grid-scroll","aria-label":e.unref(i).source},[e.createElementVNode("table",on,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[l[28]||(l[28]=e.createElementVNode("th",{class:"mr-binding-corner","aria-label":"#"},"#",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref($).columns,n=>(e.openBlock(),e.createElementBlock("th",{key:n.column,scope:"col"},e.toDisplayString(n.name),1))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref($).rows,n=>(e.openBlock(),e.createElementBlock("tr",{key:n.row,"data-region":e.unref(a).regionAt(n.row),class:e.normalizeClass({"is-selected":e.unref(_)&&n.row>=e.unref(_).top&&n.row<=e.unref(_).bottom})},[e.createElementVNode("th",sn,[e.createElementVNode("button",{type:"button","data-source-row":n.row,"aria-label":`${e.unref(i).selectionLabel} ${n.row}`,"aria-pressed":!!e.unref(_)&&n.row>=e.unref(_).top&&n.row<=e.unref(_).bottom,disabled:e.unref(w),onPointerdown:b=>ne(b,n.row),onPointerenter:b=>N.value&&e.unref(a).chooseRow(n.row,!0),onKeydown:b=>de(b,n.row)},e.toDisplayString(n.row),41,un)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.cells,b=>(e.openBlock(),e.createElementBlock("td",{key:b.column,rowspan:b.rowSpan,colspan:b.colSpan,title:`${b.address} · ${b.text}`,"data-source-cell":`${b.row}:${b.column}`,tabindex:e.unref(k)==="regions"?0:void 0,"aria-label":e.unref(k)==="regions"?`${e.unref(i).selectionCellLabel} ${b.address}`:void 0,"aria-selected":e.unref(k)==="regions"?e.unref(V).selected(b.row,b.column):void 0,class:e.normalizeClass({"is-continued":b.continued,"is-cell-selected":e.unref(k)==="regions"&&e.unref(V).selected(b.row,b.column)}),onPointerdown:L=>se(L,b.row,b.column),onPointerenter:L=>e.unref(k)==="regions"&&N.value&&e.unref(V).select(b.row,b.column,!0),onKeydown:L=>ae(L,b.row,b.column),style:e.normalizeStyle({textAlign:b.style?.align,fontWeight:b.style?.bold?"600":void 0})},[e.createElementVNode("span",null,e.toDisplayString(b.text),1)],46,cn))),128))],10,rn))),128))])])],8,ln)):e.createCommentVNode("",!0),e.unref($)?(e.openBlock(),e.createElementBlock("footer",dn,[e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(e.unref(i).selected)+" ",1),e.createElementVNode("strong",null,e.toDisplayString(e.unref(k)==="regions"?e.unref(V).selection.value||"—":e.unref(_)?`${e.unref(_).top}–${e.unref(_).bottom}`:"—"),1)]),e.createElementVNode("div",gn,[e.createElementVNode("button",{type:"button","aria-label":e.unref(i).previousRows,disabled:e.unref($).top<=e.unref($).source.top,onClick:l[6]||(l[6]=n=>e.unref(a).moveWindow("row",-24))},[e.createVNode(I._sfc_main,{name:"chevron-left",size:13})],8,mn),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(i).rowStart),1),e.createElementVNode("input",{type:"number",min:e.unref($).source.top,max:e.unref($).source.bottom,value:e.unref(E),"aria-label":e.unref(i).rowStart,onChange:l[7]||(l[7]=n=>ue(n,"row"))},null,40,fn)]),e.createElementVNode("button",{type:"button","aria-label":e.unref(i).nextRows,disabled:e.unref($).bottom>=e.unref($).source.bottom,onClick:l[8]||(l[8]=n=>e.unref(a).moveWindow("row",24))},[e.createVNode(I._sfc_main,{name:"chevron-right",size:13})],8,vn)]),e.createElementVNode("div",bn,[e.createElementVNode("button",{type:"button","aria-label":e.unref(i).previousColumns,disabled:e.unref($).left<=e.unref($).source.left,onClick:l[9]||(l[9]=n=>e.unref(a).moveWindow("column",-12))},[e.createVNode(I._sfc_main,{name:"chevron-left",size:13})],8,pn),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(i).columnStart),1),e.createElementVNode("input",{type:"number",min:e.unref($).source.left,max:e.unref($).source.right,value:e.unref(D),"aria-label":e.unref(i).columnStart,onChange:l[10]||(l[10]=n=>ue(n,"column"))},null,40,yn)]),e.createElementVNode("button",{type:"button","aria-label":e.unref(i).nextColumns,disabled:e.unref($).right>=e.unref($).source.right,onClick:l[11]||(l[11]=n=>e.unref(a).moveWindow("column",12))},[e.createVNode(I._sfc_main,{name:"chevron-right",size:13})],8,hn)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",kn,[e.unref(k)==="regions"?(e.openBlock(),e.createBlock(Mt,{key:0,controller:e.unref(V),datasets:t.datasets,disabled:e.unref(w),messages:e.unref(i)},null,8,["controller","datasets","disabled","messages"])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("fieldset",{disabled:e.unref(w),class:"mr-binding-table-editor"},[e.createElementVNode("section",Nn,[e.createElementVNode("h3",null,[l[29]||(l[29]=e.createElementVNode("b",null,"1",-1)),e.createTextVNode(e.toDisplayString(e.unref(i).regionLegend),1)]),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(j,n=>e.createElementVNode("div",{key:n,class:"mr-binding-region","data-role":n},[e.createElementVNode("div",null,[e.createElementVNode("strong",null,[e.createTextVNode(e.toDisplayString(Z.value[n]),1),n==="title"||n==="footer"?(e.openBlock(),e.createElementBlock("small",wn,e.toDisplayString(e.unref(i).optional),1)):e.createCommentVNode("",!0)]),e.createElementVNode("code",null,e.toDisplayString(e.unref(C).regions[n]||e.unref(i).unnamed),1)]),e.createElementVNode("button",{type:"button","aria-label":`${e.unref(i).selectRegion} · ${Z.value[n]}`,"data-binding-control":n,title:e.unref(_)?`${e.unref(i).selectRegion} · ${Z.value[n]}`:e.unref(i).emptySelection,disabled:!e.unref(_),onClick:b=>e.unref(a).markRegion(n)},[e.createVNode(I._sfc_main,{name:"arrow-right",size:13})],8,Bn),(n==="title"||n==="footer")&&e.unref(C).regions[n]?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","aria-label":`${e.unref(i).clear} · ${Z.value[n]}`,onClick:b=>e.unref(a).clearRegion(n)},[e.createVNode(I._sfc_main,{name:"close",size:13})],8,Sn)):e.createCommentVNode("",!0)],8,Vn)),64)),e.unref(C).regions.footer?(e.openBlock(),e.createElementBlock("p",xn,e.toDisplayString(e.unref(i).footerHint),1)):e.createCommentVNode("",!0)]),e.createElementVNode("section",Dn,[e.createElementVNode("h3",null,[l[30]||(l[30]=e.createElementVNode("b",null,"2",-1)),e.createTextVNode(e.toDisplayString(e.unref(i).mapping),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(W).mapped)+"/"+e.toDisplayString(e.unref(W).total),1)]),e.createElementVNode("label",$n,[e.createTextVNode(e.toDisplayString(e.unref(i).dataset),1),e.createElementVNode("select",{"data-binding-control":"dataset",value:e.unref(C).dataset,"aria-label":e.unref(i).dataset,onChange:l[12]||(l[12]=n=>e.unref(a).chooseDataset(G(n)))},[e.createElementVNode("option",Rn,e.toDisplayString(e.unref(i).chooseDataset),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.datasets,n=>(e.openBlock(),e.createElementBlock("option",{key:n.id,value:n.id},e.toDisplayString(n.label||n.id),9,In))),128))],40,Cn)]),t.datasets.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("p",_n,e.toDisplayString(e.unref(i).noContract),1)),e.unref(T)?(e.openBlock(),e.createElementBlock("label",Fn,[e.createTextVNode(e.toDisplayString(e.unref(i).rowKey),1),e.createElementVNode("select",{"data-binding-control":"rowKey",value:e.unref(C).rowKey,"aria-label":e.unref(i).rowKey,onChange:l[13]||(l[13]=n=>e.unref(a).setRowKey(G(n)))},[e.createElementVNode("option",Tn,e.toDisplayString(e.unref(i).chooseRowKey),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(O),n=>(e.openBlock(),e.createElementBlock("option",{key:n.field,value:n.field},e.toDisplayString(n.label||n.field)+" · "+e.toDisplayString(n.field),9,Kn))),128))],40,Mn)])):e.createCommentVNode("",!0),e.unref(T)?(e.openBlock(),e.createElementBlock("div",Ln,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(J),n=>(e.openBlock(),e.createElementBlock("label",{key:n.index,class:"mr-binding-map",tabindex:"-1"},[e.createElementVNode("span",null,e.toDisplayString(n.physical),1),e.createElementVNode("div",null,[e.createElementVNode("select",{"data-binding-control":`field-${n.index}`,"aria-label":`${e.unref(i).physical} ${n.physical} · ${e.unref(i).business}`,value:n.field,onChange:b=>e.unref(a).setMapping(n.index,G(b))},[e.createElementVNode("option",Pn,e.toDisplayString(e.unref(i).chooseField),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(T).fields,b=>(e.openBlock(),e.createElementBlock("option",{key:b.field,value:b.field},e.toDisplayString(b.label||b.field)+" · "+e.toDisplayString(b.field),9,Wn))),128))],40,zn),n.field?(e.openBlock(),e.createElementBlock("small",An,e.toDisplayString(ge(n.field)),1)):e.createCommentVNode("",!0)])]))),128))])):e.createCommentVNode("",!0),e.unref(T)&&te.value>1?(e.openBlock(),e.createElementBlock("div",Hn,[e.createElementVNode("button",{type:"button",disabled:e.unref(K)<=0,"aria-label":e.unref(i).previousColumns,onClick:l[14]||(l[14]=n=>K.value--)},[e.createVNode(I._sfc_main,{name:"chevron-left",size:13})],8,qn),e.createElementVNode("span",null,e.toDisplayString(e.unref(K)+1)+" / "+e.toDisplayString(te.value),1),e.createElementVNode("button",{type:"button",disabled:e.unref(K)+1>=te.value,"aria-label":e.unref(i).nextColumns,onClick:l[15]||(l[15]=n=>K.value++)},[e.createVNode(I._sfc_main,{name:"chevron-right",size:13})],8,On)])):e.createCommentVNode("",!0)])],8,En),[[e.vShow,e.unref(k)==="table"]]),e.createElementVNode("fieldset",{disabled:e.unref(w)},[e.createElementVNode("section",jn,[e.createElementVNode("h3",null,e.toDisplayString(e.unref(i).identity),1),e.createElementVNode("label",Un,[e.createTextVNode(e.toDisplayString(e.unref(i).templateId),1),e.createElementVNode("input",{value:t.lockId?d.identity?.id??e.unref(z).id:e.unref(z).id,autocomplete:"off",readonly:t.lockId,onInput:l[16]||(l[16]=n=>e.unref(a).setIdentity("id",G(n)))},null,40,Gn)]),e.createElementVNode("label",Xn,[e.createTextVNode(e.toDisplayString(e.unref(i).templateName),1),e.createElementVNode("input",{value:e.unref(z).name,autocomplete:"off",onInput:l[17]||(l[17]=n=>e.unref(a).setIdentity("name",G(n)))},null,40,Qn)])])],8,Jn)])]),e.unref(r)&&e.unref(W).issues.length?(e.openBlock(),e.createElementBlock("details",Yn,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(i).issues)+" · "+e.toDisplayString(e.unref(W).issues.length)+" "+e.toDisplayString(e.unref(i).errors),1),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,n=>(e.openBlock(),e.createElementBlock("li",{key:`${n.issue.path}:${n.issue.message}`},[e.createElementVNode("button",{type:"button",class:"mr-binding-issue-link","aria-label":`${e.unref(i).locateIssue} · ${n.label}`,onClick:b=>e.unref(a).locateIssue(n.issue)},[e.createElementVNode("strong",null,e.toDisplayString(n.label),1),e.createElementVNode("span",null,e.toDisplayString(n.message),1),e.createVNode(I._sfc_main,{name:"arrow-right",size:12})],8,Zn)]))),128))]),v.value>1?(e.openBlock(),e.createElementBlock("div",ea,[e.createElementVNode("button",{type:"button",disabled:s.value===0,"aria-label":e.unref(i).previousIssues,onClick:l[18]||(l[18]=n=>s.value--)},[e.createVNode(I._sfc_main,{name:"chevron-left",size:12})],8,ta),e.createElementVNode("span",null,e.toDisplayString(s.value+1)+"/"+e.toDisplayString(v.value),1),e.createElementVNode("button",{type:"button",disabled:s.value+1>=v.value,"aria-label":e.unref(i).nextIssues,onClick:l[19]||(l[19]=n=>s.value++)},[e.createVNode(I._sfc_main,{name:"chevron-right",size:12})],8,na)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.unref(B).warnings.length?(e.openBlock(),e.createElementBlock("details",aa,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(i).inspectWarning)+" · "+e.toDisplayString(e.unref(B).warnings.length),1),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B).warnings,(n,b)=>(e.openBlock(),e.createElementBlock("li",{key:b},e.toDisplayString(n),1))),128))])])):e.createCommentVNode("",!0),e.createElementVNode("footer",la,[e.createElementVNode("span",{class:e.normalizeClass({"is-ready":e.unref(W).ok}),role:"status",title:e.unref(a).guidance.value},e.toDisplayString(e.unref(a).guidance.value),11,oa),e.unref(a).pendingLocalChanges.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:e.unref(w),onClick:l[20]||(l[20]=(...n)=>e.unref(a).restoreDraft&&e.unref(a).restoreDraft(...n))},e.toDisplayString(e.unref(i).restoreDraft),9,ra)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",disabled:!e.unref(a).canCheck.value,onClick:l[21]||(l[21]=(...n)=>e.unref(a).check&&e.unref(a).check(...n))},e.toDisplayString(e.unref(i).check),9,ia),e.createElementVNode("button",{type:"button",class:"mr-binding-primary",disabled:e.unref(w)||!e.unref(W).ok,title:e.unref(a).guidance.value,onClick:l[22]||(l[22]=(...n)=>e.unref(a).apply&&e.unref(a).apply(...n))},e.toDisplayString(e.unref(i).apply),9,sa)])],64)):(e.openBlock(),e.createElementBlock("div",Ot,[l[27]||(l[27]=e.createElementVNode("svg",{viewBox:"0 0 80 80",fill:"none","aria-hidden":"true"},[e.createElementVNode("rect",{x:"15",y:"10",width:"50",height:"60",rx:"8",fill:"#eff6ff",stroke:"#bfdbfe"}),e.createElementVNode("path",{d:"M25 25h30M25 35h30M25 45h30M35 25v30M45 25v30M25 55h30",stroke:"#93c5fd","stroke-width":"1.5"})],-1)),e.createElementVNode("strong",null,e.toDisplayString(e.unref(i).noSource),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(i).sourceOnly),1),e.createElementVNode("button",{type:"button",class:"mr-binding-primary",disabled:t.readonly,onClick:l[2]||(l[2]=n=>H.value?.click())},e.toDisplayString(e.unref(i).upload),9,Jt)]))],40,Lt))}});exports.default=ua;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),T=require("@agile-team/mach-report"),Y=require("./designer.cjs"),O=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),P=["text","number","date","month","year","dateRange","select"],w={text:"string",number:"string → number",date:"YYYY-MM-DD",month:"YYYY-MM",year:"YYYY",dateRange:"YYYY-MM-DD/YYYY-MM-DD",select:"option.value"};function A(t){if(/^(默认值|必填参数的默认值)/.test(t))return["defaultValue"];if(t.includes("参数名"))return["field"];if(t.includes("选项"))return["options"];if(t.startsWith("最小边界"))return["min","max"];if(t.startsWith("最小长度"))return["minLength","maxLength"];const m=/^(minLength|maxLength|min|max) /.exec(t)?.[1];return m?[m]:["type"]}function F(t){return JSON.parse(JSON.stringify(t))}function R(t){return{field:t.field,label:t.label??"",type:t.type??"text",required:t.required===!0,placeholder:t.placeholder??"",defaultEnabled:t.defaultValue!==void 0,defaultValue:t.defaultValue??"",min:t.min===void 0?"":String(t.min),max:t.max===void 0?"":String(t.max),minLength:t.minLength===void 0?"":String(t.minLength),maxLength:t.maxLength===void 0?"":String(t.maxLength),options:t.options?t.options.map(m=>({...m})):[]}}function U(t){const m={field:t.field,type:t.type};t.label&&(m.label=t.label),t.placeholder&&(m.placeholder=t.placeholder),t.required&&(m.required=!0),t.defaultEnabled&&(m.defaultValue=t.defaultValue);for(const p of["min","max"])t[p]!==""&&(m[p]=t.type==="number"?Number(t[p]):t[p]);for(const p of["minLength","maxLength"])t[p]!==""&&(m[p]=Number(t[p]));return t.type==="select"&&(m.options=t.options.map(p=>({...p}))),m}function q(t){const m=()=>JSON.stringify(t.document.template.params??[]),p=e.ref(m()),s=e.ref((t.document.template.params??[]).map(R)),g=e.ref(0),o=e.ref(""),n=e.computed(()=>({...Y.PARAM_EDITOR_MESSAGES,...t.messages})),h=e.computed(()=>s.value.map(U)),f=e.ref(JSON.stringify(s.value)),l=e.computed(()=>JSON.stringify(s.value)!==f.value),E=e.computed(()=>m()!==p.value),b=e.computed(()=>T.validateReportParamDefinitions(h.value)),N=e.computed(()=>{const i=new Map;for(const d of b.value){const y=Number(d.path.split(".").at(-1)),S=i.get(y)??[];S.push({message:d.message,controls:A(d.message)}),i.set(y,S)}return i}),x=e.computed(()=>N.value.keys().next().value),v=e.computed(()=>s.value[g.value]),_=e.computed(()=>b.value.filter(i=>i.path===`$.paramDefs.${g.value}`));function C(i){return(N.value.get(g.value)??[]).filter(d=>d.controls.includes(i)).map(d=>d.message)}const k=e.computed(()=>{const i=JSON.parse(p.value).map(y=>y.field),d=h.value.map(y=>y.field);return{added:d.filter(y=>y&&!i.includes(y)),removed:i.filter(y=>!d.includes(y))}});function D(){p.value=m(),s.value=(t.document.template.params??[]).map(R),g.value=Math.min(g.value,Math.max(0,s.value.length-1)),f.value=JSON.stringify(s.value),o.value=""}e.watch(m,()=>{l.value||D()});function I(){if(t.readonly)return;let i=s.value.length+1;for(;s.value.some(d=>d.field===`param${i}`);)i++;s.value.push(R({field:`param${i}`,type:"text"})),g.value=s.value.length-1}function L(){t.readonly||!v.value||(s.value.splice(g.value,1),g.value=Math.min(g.value,Math.max(0,s.value.length-1)))}function V(i){const d=g.value+i;if(t.readonly||d<0||d>=s.value.length)return;const y=s.value.splice(g.value,1)[0];s.value.splice(d,0,y),g.value=d}function M(i){t.readonly||!v.value||(v.value.type=i,v.value.min="",v.value.max="",v.value.minLength="",v.value.maxLength="")}function $(){if(t.readonly||E.value||b.value.length)return!1;try{return t.accept(F(h.value))?(p.value=JSON.stringify(h.value),f.value=JSON.stringify(s.value),o.value="",!0):(o.value=n.value.paramApplyFailed,!1)}catch(i){return o.value=i instanceof Error?i.message:String(i),!1}}return{m:n,rows:s,selected:g,current:v,definitions:h,issues:b,issuesByRow:N,firstIssueIndex:x,controlIssues:C,currentIssues:_,changes:k,pending:l,conflicted:E,error:o,reset:D,add:I,remove:L,move:V,setType:M,apply:$}}const j=["aria-label"],J={class:"mr-param-editor__directory"},H=["aria-label"],W=["aria-pressed","aria-label","onClick"],z={class:"mr-param-editor__directory-title"},G={key:0,class:"mr-param-editor__error-count","aria-hidden":"true"},K={key:0},Q=["disabled"],X={key:0,class:"mr-param-editor__validation",role:"status"},Z={class:"mr-param-editor__heading"},ee={class:"mr-param-editor__grid"},te=["aria-label","disabled"],ae=["id"],ne=["aria-label","disabled"],le=["value","aria-label","disabled"],re=["value"],oe=["id"],ie=["aria-label","disabled"],ue={class:"mr-param-editor__checks"},se=["disabled"],de=["disabled"],me={class:"mr-param-editor__default-label"},ce={class:"mr-param-editor__range"},pe=["value","aria-label","disabled"],fe=["value","aria-label","disabled"],ye={key:1},ge=["aria-label","disabled"],ve=["value"],be=["value","aria-label","type","min","max","step","disabled"],Ve=["id"],he=["value","aria-label","type","min","max","step","disabled","onInput"],Ee=["id"],ke=["value","aria-label","disabled","onInput"],Ne=["id"],_e={key:0,class:"mr-param-editor__hint"},De={key:1,class:"mr-param-editor__options"},Se={class:"mr-param-editor__option-head"},Be=["onUpdate:modelValue","aria-label","disabled"],xe=["onUpdate:modelValue","aria-label","disabled"],Ce=["aria-label","disabled","onClick"],Me=["id"],$e=["disabled"],Ie={class:"mr-param-editor__row-actions"},Le=["disabled"],Re=["disabled"],Te=["disabled"],Ye={class:"mr-param-editor__technical"},Oe={key:2,class:"mr-param-editor__empty"},Pe=["disabled"],we={key:3,class:"mr-param-editor__impact"},Ae={key:0},Fe={key:1},Ue={key:4,class:"mr-param-editor__errors",role:"alert"},qe=["disabled"],je=["disabled"],Je=e.defineComponent({__name:"ParamEditor",props:{document:{},readonly:{type:Boolean},messages:{},accept:{type:Function}},emits:["dirty"],setup(t,{expose:m,emit:p}){const s=t,g=p,o=q(s),{m:n,rows:h,selected:f,current:l,changes:E,pending:b,conflicted:N,error:x,issues:v,issuesByRow:_}=o,C=e.ref(),k=`mr-param-${e.getCurrentInstance()?.uid??0}`;e.watch(b,u=>g("dirty",u),{immediate:!0});function D(u){return{text:n.value.paramText,number:n.value.paramNumber,date:n.value.paramDate,month:n.value.paramMonth,year:n.value.paramYear,dateRange:n.value.paramDateRange,select:n.value.paramSelect}[u]}function I(){l.value&&!s.readonly&&l.value.options.push({value:"",label:""})}function L(u){s.readonly||l.value?.options.splice(u,1)}function V(u){const r=o.controlIssues(u).length>0;return{"aria-invalid":r?"true":void 0,"aria-describedby":r?`${k}-${f.value}-${u}`:void 0}}function M(u){return u==="year"?"number":u==="dateRange"?"date":["date","month","number"].includes(u)?u:"text"}function $(u){return u.target.value}function i(u,r){l.value&&!s.readonly&&(l.value[u]=$(r))}function d(u){return l.value?.defaultValue.split("/")[u]??""}function y(u,r){if(!l.value||s.readonly)return;const a=[d(0),d(1)];a[u]=$(r),l.value.defaultValue=a.some(Boolean)?a.join("/"):""}async function S(){const u=o.firstIssueIndex.value;if(u===void 0)return;f.value=u,await e.nextTick();const r=C.value?.querySelector('[aria-invalid="true"]');r?.focus({preventScroll:!0}),r?.scrollIntoView?.({block:"nearest"})}return m({pending:b,reset:o.reset,apply:o.apply,locateIssue:S}),(u,r)=>(e.openBlock(),e.createElementBlock("section",{class:"mr-param-editor","aria-label":e.unref(n).paramsTool},[e.createElementVNode("aside",J,[e.createElementVNode("header",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(n).paramsDirectory),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(h).length),1)]),e.createElementVNode("nav",{"aria-label":e.unref(n).paramsDirectory},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h),(a,c)=>(e.openBlock(),e.createElementBlock("button",{key:c,type:"button","aria-pressed":e.unref(f)===c,"aria-label":`${a.label||a.field||e.unref(n).paramUnnamed}${e.unref(_).get(c)?.length?` · ${e.unref(n).paramIssueCount} ${e.unref(_).get(c)?.length}`:""}`,class:e.normalizeClass({"has-errors":e.unref(_).has(c)}),onClick:B=>f.value=c},[e.createElementVNode("span",z,[e.createElementVNode("strong",null,e.toDisplayString(a.label||a.field||e.unref(n).paramUnnamed),1),e.unref(_).has(c)?(e.openBlock(),e.createElementBlock("span",G,e.toDisplayString(e.unref(_).get(c)?.length),1)):e.createCommentVNode("",!0)]),e.createElementVNode("small",null,[e.createTextVNode(e.toDisplayString(a.field)+" · "+e.toDisplayString(D(a.type)),1),a.required?(e.openBlock(),e.createElementBlock("span",K," *")):e.createCommentVNode("",!0)])],10,W))),128))],8,H),e.createElementVNode("button",{type:"button",class:"mr-param-editor__add",disabled:t.readonly,onClick:r[0]||(r[0]=(...a)=>e.unref(o).add&&e.unref(o).add(...a))},"+ "+e.toDisplayString(e.unref(n).paramAdd),9,Q),e.createElementVNode("p",null,e.toDisplayString(e.unref(n).paramsDescription),1)]),e.createElementVNode("div",{ref_key:"main",ref:C,class:"mr-param-editor__main"},[e.unref(v).length?(e.openBlock(),e.createElementBlock("div",X,[e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(e.unref(n).paramIssueCount)+" ",1),e.createElementVNode("strong",null,e.toDisplayString(e.unref(v).length),1)]),e.createElementVNode("button",{type:"button",onClick:S},e.toDisplayString(e.unref(n).paramLocateFirst),1)])):e.createCommentVNode("",!0),e.unref(l)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("header",Z,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(l).label||e.unref(l).field||e.unref(n).paramUnnamed),1),e.createElementVNode("small",null,e.toDisplayString(D(e.unref(l).type)),1)]),e.createElementVNode("span",{class:e.normalizeClass({"is-pending":e.unref(b)||e.unref(v).length>0})},e.toDisplayString(e.unref(v).length?e.unref(n).paramInvalid:e.unref(b)?e.unref(n).paramPending:e.unref(n).paramReady),3)]),e.createElementVNode("div",ee,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(n).paramField),1),e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":r[1]||(r[1]=a=>e.unref(l).field=a),"aria-label":e.unref(n).paramField,disabled:t.readonly,autocomplete:"off"},V("field")),null,16,te),[[e.vModelDynamic,e.unref(l).field]]),e.unref(o).controlIssues("field").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(f)}-field`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("field").join(";")),9,ae)):e.createCommentVNode("",!0)]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(n).paramLabel),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[2]||(r[2]=a=>e.unref(l).label=a),"aria-label":e.unref(n).paramLabel,disabled:t.readonly},null,8,ne),[[e.vModelText,e.unref(l).label]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(n).paramType),1),e.createElementVNode("select",e.mergeProps({value:e.unref(l).type,"aria-label":e.unref(n).paramType,disabled:t.readonly},V("type"),{onChange:r[3]||(r[3]=a=>e.unref(o).setType(a.target.value))}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(P),a=>(e.openBlock(),e.createElementBlock("option",{key:a,value:a},e.toDisplayString(D(a)),9,re))),128))],16,le),e.unref(o).controlIssues("type").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(f)}-type`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("type").join(";")),9,oe)):e.createCommentVNode("",!0)]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(n).paramPlaceholder),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[4]||(r[4]=a=>e.unref(l).placeholder=a),"aria-label":e.unref(n).paramPlaceholder,disabled:t.readonly},null,8,ie),[[e.vModelText,e.unref(l).placeholder]])]),e.createElementVNode("div",ue,[e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[5]||(r[5]=a=>e.unref(l).required=a),type:"checkbox",disabled:t.readonly},null,8,se),[[e.vModelCheckbox,e.unref(l).required]]),e.createTextVNode(e.toDisplayString(e.unref(n).paramRequired),1)]),e.createElementVNode("label",null,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[6]||(r[6]=a=>e.unref(l).defaultEnabled=a),type:"checkbox",disabled:t.readonly},null,8,de),[[e.vModelCheckbox,e.unref(l).defaultEnabled]]),e.createTextVNode(e.toDisplayString(e.unref(n).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"}])},[e.unref(l).type==="dateRange"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",me,e.toDisplayString(e.unref(n).paramDefault),1),e.createElementVNode("div",ce,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(n).paramRangeStart),1),e.createElementVNode("input",e.mergeProps({value:d(0),type:"date","aria-label":e.unref(n).paramRangeStart,disabled:t.readonly},V("defaultValue"),{onInput:r[7]||(r[7]=a=>y(0,a))}),null,16,pe)]),r[17]||(r[17]=e.createElementVNode("span",{"aria-hidden":"true"},"—",-1)),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(n).paramRangeEnd),1),e.createElementVNode("input",e.mergeProps({value:d(1),type:"date","aria-label":e.unref(n).paramRangeEnd,disabled:t.readonly},V("defaultValue"),{onInput:r[8]||(r[8]=a=>y(1,a))}),null,16,fe)])])],64)):(e.openBlock(),e.createElementBlock("label",ye,[e.createTextVNode(e.toDisplayString(e.unref(n).paramDefault),1),e.unref(l).type==="select"?e.withDirectives((e.openBlock(),e.createElementBlock("select",e.mergeProps({key:0,"onUpdate:modelValue":r[9]||(r[9]=a=>e.unref(l).defaultValue=a),"aria-label":e.unref(n).paramDefault,disabled:t.readonly},V("defaultValue")),[r[18]||(r[18]=e.createElementVNode("option",{value:""},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l).options,(a,c)=>(e.openBlock(),e.createElementBlock("option",{key:c,value:a.value},e.toDisplayString(a.label||a.value),9,ve))),128))],16,ge)),[[e.vModelSelect,e.unref(l).defaultValue]]):(e.openBlock(),e.createElementBlock("input",e.mergeProps({key:1,value:e.unref(l).defaultValue,"aria-label":e.unref(n).paramDefault,type:M(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:t.readonly},V("defaultValue"),{onInput:r[10]||(r[10]=a=>i("defaultValue",a))}),null,16,be))])),e.unref(o).controlIssues("defaultValue").length?(e.openBlock(),e.createElementBlock("small",{key:2,id:`${k}-${e.unref(f)}-defaultValue`,class:"mr-param-editor__field-error mr-param-editor__errors",role:"alert"},e.toDisplayString(e.unref(o).controlIssues("defaultValue").join(";")),9,Ve)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),["number","date","month","year","dateRange"].includes(e.unref(l).type)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},e.renderList(["min","max"],a=>e.createElementVNode("label",{key:a},[e.createTextVNode(e.toDisplayString(a==="min"?e.unref(n).paramMinimum:e.unref(n).paramMaximum),1),e.createElementVNode("input",e.mergeProps({value:e.unref(l)[a],"aria-label":a==="min"?e.unref(n).paramMinimum:e.unref(n).paramMaximum,type:M(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:t.readonly},{ref_for:!0},V(a),{onInput:c=>i(a,c)}),null,16,he),e.unref(o).controlIssues(a).length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(f)}-${a}`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues(a).join(";")),9,Ee)):e.createCommentVNode("",!0)])),64)):e.createCommentVNode("",!0),e.unref(l).type==="text"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},e.renderList(["minLength","maxLength"],a=>e.createElementVNode("label",{key:a},[e.createTextVNode(e.toDisplayString(a==="minLength"?e.unref(n).paramMinLength:e.unref(n).paramMaxLength),1),e.createElementVNode("input",e.mergeProps({value:e.unref(l)[a],type:"number",min:"0",step:"1","aria-label":a==="minLength"?e.unref(n).paramMinLength:e.unref(n).paramMaxLength,disabled:t.readonly},{ref_for:!0},V(a),{onInput:c=>i(a,c)}),null,16,ke),e.unref(o).controlIssues(a).length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(f)}-${a}`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues(a).join(";")),9,Ne)):e.createCommentVNode("",!0)])),64)):e.createCommentVNode("",!0)]),e.unref(l).type==="dateRange"?(e.openBlock(),e.createElementBlock("p",_e,e.toDisplayString(e.unref(n).paramRangeHint),1)):e.createCommentVNode("",!0),e.unref(l).type==="select"?(e.openBlock(),e.createElementBlock("fieldset",De,[e.createElementVNode("legend",null,e.toDisplayString(e.unref(n).paramOptions),1),e.createElementVNode("div",Se,[e.createElementVNode("span",null,e.toDisplayString(e.unref(n).paramOptionValue),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(n).paramOptionLabel),1)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l).options,(a,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:"mr-param-editor__option"},[e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":B=>a.value=B,"aria-label":`${e.unref(n).paramOptionValue} ${c+1}`,disabled:t.readonly},{ref_for:!0},V("options")),null,16,Be),[[e.vModelDynamic,a.value]]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":B=>a.label=B,"aria-label":`${e.unref(n).paramOptionLabel} ${c+1}`,disabled:t.readonly},null,8,xe),[[e.vModelText,a.label]]),e.createElementVNode("button",{type:"button","aria-label":`${e.unref(n).paramOptionRemove} ${c+1}`,disabled:t.readonly,onClick:B=>L(c)},"×",8,Ce)]))),128)),e.unref(o).controlIssues("options").length?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${k}-${e.unref(f)}-options`,class:"mr-param-editor__field-error"},e.toDisplayString(e.unref(o).controlIssues("options").join(";")),9,Me)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:I},"+ "+e.toDisplayString(e.unref(n).paramOptionAdd),9,$e)])):e.createCommentVNode("",!0),e.createElementVNode("div",Ie,[e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(f)===0,onClick:r[11]||(r[11]=a=>e.unref(o).move(-1))},"↑ "+e.toDisplayString(e.unref(n).paramMoveUp),9,Le),e.createElementVNode("button",{type:"button",disabled:t.readonly||e.unref(f)===e.unref(h).length-1,onClick:r[12]||(r[12]=a=>e.unref(o).move(1))},"↓ "+e.toDisplayString(e.unref(n).paramMoveDown),9,Re),e.createElementVNode("button",{type:"button",class:"is-danger",disabled:t.readonly,onClick:r[13]||(r[13]=(...a)=>e.unref(o).remove&&e.unref(o).remove(...a))},e.toDisplayString(e.unref(n).paramRemove),9,Te)]),e.createElementVNode("details",Ye,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(n).paramWire),1),e.createElementVNode("code",null,e.toDisplayString(e.unref(w)[e.unref(l).type]),1)])],64)):(e.openBlock(),e.createElementBlock("div",Oe,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(n).paramEmpty),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(n).paramEmptyHint),1),e.createElementVNode("button",{type:"button",disabled:t.readonly,onClick:r[14]||(r[14]=(...a)=>e.unref(o).add&&e.unref(o).add(...a))},"+ "+e.toDisplayString(e.unref(n).paramAdd),9,Pe)])),e.unref(E).added.length||e.unref(E).removed.length?(e.openBlock(),e.createElementBlock("aside",we,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(n).paramChanges),1),e.unref(E).added.length?(e.openBlock(),e.createElementBlock("p",Ae,[e.createTextVNode(e.toDisplayString(e.unref(n).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",Fe,[e.createTextVNode(e.toDisplayString(e.unref(n).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(n).paramRenameHint),1)])):e.createCommentVNode("",!0),e.unref(N)||e.unref(x)?(e.openBlock(),e.createElementBlock("p",Ue,e.toDisplayString(e.unref(N)?e.unref(n).paramConflict:e.unref(x)),1)):e.createCommentVNode("",!0),e.createElementVNode("footer",null,[e.createElementVNode("button",{type:"button",disabled:!e.unref(b)&&!e.unref(N),onClick:r[15]||(r[15]=(...a)=>e.unref(o).reset&&e.unref(o).reset(...a))},e.toDisplayString(e.unref(n).paramRestore),9,qe),e.createElementVNode("button",{type:"button",class:"is-primary",disabled:t.readonly||!e.unref(b)||e.unref(N)||!!e.unref(v).length,onClick:r[16]||(r[16]=(...a)=>e.unref(o).apply&&e.unref(o).apply(...a))},e.toDisplayString(e.unref(n).paramApply),9,je)])],512)],8,j))}}),He=O._export_sfc(Je,[["__scopeId","data-v-d8a0f18a"]]);exports.default=He;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),j=require("./config-BRoLo2oj.cjs"),H=require("@agile-team/mach-report"),J=require("./batch-Bt3Fd27Z.cjs"),z=require("./designer.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;