@agile-team/mach-report 2.19.1 → 2.21.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.
- package/README.md +22 -3
- package/dist/ExcelBindingWizard-B2xXBOJu.cjs +1 -0
- package/dist/{ExcelBindingWizard-xJIYmnZ_.js → ExcelBindingWizard-CixTPQAL.js} +351 -351
- package/dist/ParamEditor-DhHlNxai.cjs +1 -0
- package/dist/{ParamEditor-D1wWemaf.js → ParamEditor-gKhvEsnr.js} +10 -10
- package/dist/{ReportBatchPanel-BkJFqeEW.cjs → ReportBatchPanel-BUdUfTdm.cjs} +1 -1
- package/dist/{ReportBatchPanel-B88R-fME.js → ReportBatchPanel-D-lyWKyf.js} +2 -2
- package/dist/ReportLabelStudio-BcjQt73a.cjs +1 -0
- package/dist/ReportLabelStudio-N2w6DdaZ.js +764 -0
- package/dist/ReportParamPanel-CVpK8mFc.cjs +1 -0
- package/dist/{ReportParamPanel-mQkeN70Q.js → ReportParamPanel-peB-KEmm.js} +10 -2
- package/dist/{ReportPreview-DBbctg6C.js → ReportPreview-BBJNlu2U.js} +2093 -1978
- package/dist/ReportPreview-nf4Dk1Jc.cjs +6 -0
- package/dist/{ReportTemplateLibrary-BOh2MgjQ.cjs → ReportTemplateLibrary-Cs9WKneQ.cjs} +1 -1
- package/dist/{ReportTemplateLibrary-BGELmgd3.js → ReportTemplateLibrary-WZl-AK-2.js} +1 -1
- package/dist/{RuleEditor-CoLqgehG.js → RuleEditor-DGpmjCko.js} +178 -174
- package/dist/RuleEditor-Dtcq-7LO.cjs +1 -0
- package/dist/{TemplateOutlinePanel-DiG8tRRe.cjs → TemplateOutlinePanel-CkCh506f.cjs} +1 -1
- package/dist/{TemplateOutlinePanel-DU95loB-.js → TemplateOutlinePanel-cxp95OT9.js} +1 -1
- package/dist/{TemplateReusePanel-DE1KSD6c.js → TemplateReusePanel-BZ8VTtrO.js} +2 -2
- package/dist/{TemplateReusePanel-G-Y299wc.cjs → TemplateReusePanel-CwttuSta.cjs} +1 -1
- package/dist/{TemplateReviewPanel-KQx9ts0D.cjs → TemplateReviewPanel-C2YjiaEC.cjs} +1 -1
- package/dist/{TemplateReviewPanel-vqFJ_Y9o.js → TemplateReviewPanel-C9cTvsRs.js} +1 -1
- package/dist/artifact-integrity.json +92 -94
- package/dist/{assets-2eC3mOcV.js → assets-CxHunY_9.js} +2 -2
- package/dist/{assets-B0Hxn4l6.cjs → assets-vbjAGgk8.cjs} +1 -1
- package/dist/{auto-BlchZ1b8.js → auto-BkdGiNtr.js} +4 -4
- package/dist/{auto-B0EZFIK1.cjs → auto-Tq7ReIC1.cjs} +1 -1
- package/dist/{component-tree-CvW4lzpv.js → component-tree-1_QCiQJX.js} +1 -1
- package/dist/component-tree-BjZIp6w9.cjs +1 -0
- package/dist/{data-bar-PtjXhMgN.js → data-bar-8baGYEZ9.js} +1 -1
- package/dist/{data-bar-Ce38juRZ.cjs → data-bar-YltqGTaC.cjs} +1 -1
- package/dist/designer-CDqok4S5.cjs +2 -0
- package/dist/designer-CIDHt5xz.js +6869 -0
- package/dist/designer.cjs +1 -1
- package/dist/designer.d.cts +166 -7
- package/dist/designer.d.ts +166 -7
- package/dist/designer.js +1 -1
- package/dist/{encoding-B--eZpp1.cjs → encoding-B79hW4zq.cjs} +1 -1
- package/dist/{encoding-mctOLocI.js → encoding-BSeUwrN7.js} +2 -2
- package/dist/{font-loader-DBBJ5KE9.cjs → font-loader-BB372_XN.cjs} +1 -1
- package/dist/{font-loader-DW8tIaNp.js → font-loader-Di0lQKFf.js} +1 -1
- package/dist/grid-geometry-D3SJgWFv.js +136 -0
- package/dist/grid-geometry-D8ReblRV.cjs +1 -0
- package/dist/index.cjs +6 -6
- package/dist/index.js +194 -195
- package/dist/json-snapshot-I5VI84Vp.cjs +2 -0
- package/dist/{json-snapshot-By4ZVVUt.js → json-snapshot-Kgn459Oj.js} +895 -879
- package/dist/{pdf-DqyxJ96U.cjs → pdf-CARdBcuw.cjs} +45 -45
- package/dist/{pdf-CKROKygt.js → pdf-DmlnL5eB.js} +13 -14
- package/dist/pdf.cjs +1 -1
- package/dist/pdf.js +2 -2
- package/dist/{plugin-CPyHs4UC.cjs → plugin-BaRUGORD.cjs} +1 -1
- package/dist/{plugin-DsXJRR6Q.js → plugin-D4kAxfLG.js} +1 -1
- package/dist/{prefill-D7EswyTI.cjs → prefill-Bpyn58AZ.cjs} +1 -1
- package/dist/{prefill-B8H9qwE4.js → prefill-CJSazcVY.js} +2 -2
- package/dist/{prepared-CGVphji3.cjs → prepared-BiSz_9vN.cjs} +1 -1
- package/dist/{prepared-BE-4jfX5.js → prepared-BwjwEzFz.js} +1 -1
- package/dist/{protocol-Cr81vFSQ.js → protocol-Bs9-ohHN.js} +3 -3
- package/dist/{protocol-ByRVzzQG.cjs → protocol-C8VWF9An.cjs} +1 -1
- package/dist/record-bindings-Ct1HkPrc.cjs +1 -0
- package/dist/{record-bindings-DEJtmo3p.js → record-bindings-VZGS-Qd8.js} +1 -1
- package/dist/{region-binding-workflow-CBg0l_tj.js → region-binding-workflow-Cy4GIOUo.js} +2 -2
- package/dist/{region-binding-workflow-D05tOYn3.cjs → region-binding-workflow-JNowHd0A.cjs} +1 -1
- package/dist/report-encoding-worker.cjs +1 -1
- package/dist/report-encoding-worker.js +1 -1
- package/dist/rich-text-layout-K48VHUoW.cjs +3 -0
- package/dist/{rich-text-layout-Ct5WrY1g.js → rich-text-layout-wxBhnAS7.js} +1 -1
- package/dist/{runtime-CEMvybO7.js → runtime-BDf5x1i1.js} +5 -5
- package/dist/runtime-DsJt1PIf.cjs +1 -0
- package/dist/sbom.cdx.json +1 -1
- package/dist/server-node.cjs +4 -4
- package/dist/server-node.js +1272 -1274
- package/dist/server.cjs +1 -1
- package/dist/server.js +8 -8
- package/dist/style.css +1 -1
- package/dist/{template-catalog-CmbWOJqy.js → template-catalog-DFwIS9aN.js} +3 -3
- package/dist/{template-catalog-Utu4GP09.cjs → template-catalog-D_2jdnkL.cjs} +1 -1
- package/dist/template-fragments-DZVUBhuB.cjs +1 -0
- package/dist/{template-fragments-DWgo9tlZ.js → template-fragments-Dng-AlHk.js} +11 -11
- package/dist/{template-registry-BIhIHOab.js → template-registry-DhBqoD7W.js} +120 -118
- package/dist/template-registry-DpLUSLwF.cjs +1 -0
- package/dist/{column-visual-BpgQVWwT.js → template-serialization-Cc3h-miv.js} +74 -65
- package/dist/{column-visual-CtYxnBCP.cjs → template-serialization-D1R5oAqh.cjs} +1 -1
- package/dist/{textwrap-BEIg2w8y.js → textwrap-CkGjRFT3.js} +1 -1
- package/dist/textwrap-OTOUMr4f.cjs +4 -0
- package/dist/vue/async.d.cts +8 -0
- package/dist/vue/async.d.ts +8 -0
- package/dist/vue/index.d.cts +10 -2
- package/dist/vue/index.d.ts +10 -2
- package/dist/vue-async.cjs +1 -1
- package/dist/vue-async.js +3 -3
- package/dist/vue.cjs +1 -1
- package/dist/vue.js +6 -6
- package/dist/{workbook-session-B94EwVa_.cjs → workbook-session-NYv01LHe.cjs} +1 -1
- package/dist/{workbook-session-BoScoOg-.js → workbook-session-oinxX3qo.js} +2 -2
- package/dist/worker.cjs +1 -1
- package/dist/worker.js +4 -4
- package/dist/xlsx.cjs +4 -4
- package/dist/xlsx.js +204 -205
- package/package.json +1 -1
- package/dist/ExcelBindingWizard-UHSApSG9.cjs +0 -1
- package/dist/ParamEditor-BZb-okUd.cjs +0 -1
- package/dist/ReportLabelStudio-B4WZ2XNN.js +0 -239
- package/dist/ReportLabelStudio-BN-fYNCr.cjs +0 -1
- package/dist/ReportParamPanel-sOANVRz-.cjs +0 -1
- package/dist/ReportPreview-CuoHl15N.cjs +0 -6
- package/dist/RuleEditor-XaLcCdTb.cjs +0 -1
- package/dist/component-tree-6TV7W6Yj.cjs +0 -1
- package/dist/designer-CyKXBhQg.cjs +0 -2
- package/dist/designer-fVvpYg8H.js +0 -5824
- package/dist/grid-geometry-BNptEcMm.js +0 -65
- package/dist/grid-geometry-CZ_cYB6O.cjs +0 -1
- package/dist/json-snapshot-jiXff4lc.cjs +0 -2
- package/dist/record-bindings-ehjnCDHt.cjs +0 -1
- package/dist/rich-text-layout-ALlMoYOG.cjs +0 -3
- package/dist/runtime-CDA6d263.cjs +0 -1
- package/dist/style-67OqfNed.js +0 -73
- package/dist/style-C22Pbv3T.cjs +0 -1
- package/dist/template-fragments-C_zSHJAa.cjs +0 -1
- package/dist/template-registry-DzWswQI5.cjs +0 -1
- package/dist/textwrap-BI-yJ6Wt.cjs +0 -4
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),I=require("./region-binding-workflow-D05tOYn3.cjs"),_=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),he=require("./designer-CyKXBhQg.cjs"),ze=require("./useLocalDraft-CioIfDb6.cjs");function Ee(t,h){const c=/^\$\.datasets\[(\d+)\]/.exec(t.path)?.[1];return c!==void 0?h[Number(c)]?.id:h.find(g=>t.path.startsWith(`$.datasets.${g.id}.samples`))?.id}function Ne(t,h){const c=/\.fields\[(\d+)\]/.exec(t)?.[1];return c!==void 0?{control:"field",fieldIndex:Number(c)}:{control:t.split(".").at(-1)||h}}function Ve(t,h,c){const g=/^\$\.recipe\.regions\[(\d+)\]/.exec(t.path)?.[1],v=Ee(t,c),a=g===void 0?h.regions.find(E=>E.dataset===v):h.regions[Number(g)];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 w=Ne(t.path,"range"),k=t.code==="row-key"?"rowKey":w.control.startsWith("regions[")?"range":w.control;return{...w,control:k,regionId:a.id,range:a.range}}function Ae(t,h,c){if(t.path.startsWith("$.datasets")){const v=Ee(t,c);return v===void 0?[]:h.regions.filter(a=>a.dataset===v).map(a=>a.id)}const g=Ve(t,h,c).regionId;return g?[g]:[]}function Pe(t,h){const c=/^\$\.recipe\.regions\.(title|header|detail|footer)$/.exec(t.path)?.[1];return c?{control:c,range:h.regions[c]}:t.path.startsWith("$.datasets")?{control:t.code==="row-key"?"rowKey":"contract",range:h.regions.detail}:{...Ne(t.path,"detail"),range:h.regions.detail}}function ie(t){if(t.range)try{const h=I.parseImportRange(t.range);return t.fieldIndex!==void 0&&(h.left=h.right=h.left+t.fieldIndex),h}catch{return}}function We(t,h,c){return h.control==="dataset"?!c.dataset:h.control==="rowKey"?!c.rowKey:h.control==="field"&&h.fieldIndex!==void 0?!c.fields[h.fieldIndex]:!1}const He=["aria-label"],qe={class:"mr-binding-group"},Oe={class:"mr-binding-note"},Je=["title","disabled"],je={class:"mr-binding-region-list",role:"list",tabindex:"-1","data-binding-control":"regions"},Ue=["data-state"],Ge=["aria-pressed","onClick"],Xe=["title"],Qe={class:"mr-binding-region-state"},Ye={key:0},Ze=["aria-label","disabled","onClick"],et=["disabled"],tt={key:0,class:"mr-binding-group"},nt={class:"mr-binding-label",tabindex:"-1"},at=["value","aria-label"],ot={class:"mr-binding-label"},lt=["value","aria-label"],rt={value:"record"},it={value:"repeat"},st={class:"mr-binding-note"},ut={class:"mr-binding-label",tabindex:"-1"},ct=["value","aria-label"],dt={value:""},gt=["value"],mt={key:0,class:"mr-binding-label",tabindex:"-1"},ft=["value","aria-label"],vt={value:""},bt=["value"],pt={class:"mr-binding-region-tools"},yt=["disabled"],ht=["aria-label"],kt={key:1,class:"mr-binding-mappings"},Et={class:"mr-binding-field-search"},Nt=["placeholder","aria-label"],Vt={key:0,class:"mr-binding-note"},wt=["data-binding-control","value","onChange","aria-label"],St={value:""},Bt=["value"],xt={key:0},Dt={key:2,class:"mr-binding-map-pages"},$t=["disabled","aria-label"],Ct=["disabled","aria-label"],Rt={key:3,class:"mr-binding-concurrency"},It=["data-binding-control","value","onChange"],_t={value:""},Mt=["value"],Ft={class:"mr-binding-group",tabindex:"-1","data-binding-control":"footer"},Tt={class:"mr-binding-note"},Kt={class:"mr-binding-region-tools"},Lt=["disabled"],zt=["aria-label"],At=e.defineComponent({__name:"ExcelRegionBindingPanel",props:{controller:{},datasets:{},disabled:{type:Boolean},messages:{}},setup(t){const h=t,c=e.ref(0),g=e.ref(),v=e.ref(""),a=h.controller.active,w=e.computed(()=>h.datasets.find(f=>f.id===a.value?.dataset)),k=e.computed(()=>{if(!a.value)return[];let f=1;try{f=I.parseImportRange(a.value.range).left}catch{}return a.value.fields.slice(c.value*12,c.value*12+12).map((y,r)=>({field:y,index:c.value*12+r,physical:I.columnName(f+c.value*12+r)}))}),E=e.computed(()=>Math.max(1,Math.ceil((a.value?.fields.length??0)/12))),D=e.computed(()=>{const f=v.value.trim().toLocaleLowerCase(),y=w.value?.fields??[],r=y.filter(B=>[B.field,B.label,B.unit].some(H=>H?.toLocaleLowerCase().includes(f))).slice(0,64),V=new Set(k.value.map(B=>B.field));return[...r,...y.filter(B=>V.has(B.field)&&!r.includes(B))]});function L(f){return f.target.value}function U(f){h.controller.setActive(f),c.value=0,v.value=""}e.watch(()=>h.controller.focusTarget.value,async f=>{if(!f)return;c.value=Math.floor((f.target.fieldIndex??0)/12),v.value="",await e.nextTick();const y=f.target.control==="field"?`field-${f.target.fieldIndex}`:f.target.control==="contract"?"dataset":f.target.control,r=g.value?.querySelector(`[data-binding-control="${y}"]`),V=r?.closest("details");V&&(V.open=!0);const B=h.disabled&&r?.matches("input,select,textarea,button")?r.closest("label"):r;B?.focus(),B?.scrollIntoView?.({block:"nearest"})});function G(f){if(!(!a.value||h.disabled)){a.value.range=L(f);try{const y=I.parseImportRange(a.value.range),r=y.right-y.left+1;r<=2048&&(a.value.fields=Array.from({length:r},(V,B)=>a.value.fields[B]??""))}catch{}}}return(f,y)=>(e.openBlock(),e.createElementBlock("section",{ref_key:"panel",ref:g,class:"mr-binding-multi","aria-label":t.messages.multiRegions},[e.createElementVNode("div",qe,[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",Oe,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:y[0]||(y[0]=(...r)=>t.controller.add&&t.controller.add(...r))},[e.createVNode(_._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,Je),e.createElementVNode("div",je,[(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:V=>U(r.region.id)},[e.createElementVNode("strong",{title:r.region.id},e.toDisplayString(r.region.id),9,Xe),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",Qe,[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",Ye," · "+e.toDisplayString(r.issues.length),1)):e.createCommentVNode("",!0)])],8,Ge),e.createElementVNode("button",{type:"button","aria-label":`${t.messages.removeRegion} ${r.region.id}`,disabled:t.disabled,onClick:V=>t.controller.remove(r.region.id)},[e.createVNode(_._sfc_main,{name:"close",size:12})],8,Ze)],10,Ue))),128))])]),e.createElementVNode("fieldset",{disabled:t.disabled,class:"mr-binding-region-editor"},[e.unref(a)?(e.openBlock(),e.createElementBlock("section",tt,[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",nt,[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:G},null,40,at)]),e.createElementVNode("label",ot,[e.createTextVNode(e.toDisplayString(t.messages.regionMode),1),e.createElementVNode("select",{value:e.unref(a).mode,"aria-label":t.messages.regionMode,onChange:y[1]||(y[1]=r=>t.controller.property("mode",L(r)))},[e.createElementVNode("option",rt,e.toDisplayString(t.messages.recordMode),1),e.createElementVNode("option",it,e.toDisplayString(t.messages.repeatMode),1)],40,lt)]),e.createElementVNode("p",st,e.toDisplayString(e.unref(a).mode==="record"?t.messages.recordHint:t.messages.repeatHint),1),e.createElementVNode("label",ut,[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:y[2]||(y[2]=r=>t.controller.dataset(L(r)))},[e.createElementVNode("option",dt,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,gt))),128))],40,ct)]),w.value?(e.openBlock(),e.createElementBlock("label",mt,[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:y[3]||(y[3]=r=>t.controller.property("rowKey",L(r)))},[e.createElementVNode("option",vt,e.toDisplayString(t.messages.chooseRowKey),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.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,bt))),128))],40,ft)])):e.createCommentVNode("",!0),e.createElementVNode("div",pt,[e.createElementVNode("button",{type:"button",disabled:!t.controller.selection.value,onClick:y[4]||(y[4]=(...r)=>t.controller.header&&t.controller.header(...r))},e.toDisplayString(t.messages.bindRegionHeader),9,yt),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:y[5]||(y[5]=(...r)=>t.controller.clearHeader&&t.controller.clearHeader(...r))},[e.createVNode(_._sfc_main,{name:"close",size:11})],8,ht)):e.createCommentVNode("",!0)]),w.value?(e.openBlock(),e.createElementBlock("div",kt,[e.createElementVNode("label",Et,[e.createVNode(_._sfc_main,{name:"search",size:13}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":y[6]||(y[6]=r=>v.value=r),type:"search",placeholder:t.messages.searchFields,"aria-label":t.messages.searchFields},null,8,Nt),[[e.vModelText,v.value]])]),w.value.fields.length>64?(e.openBlock(),e.createElementBlock("small",Vt,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:V=>t.controller.mapping(r.index,L(V)),"aria-label":`${t.messages.physical} ${r.physical} · ${t.messages.business}`},[e.createElementVNode("option",St,e.toDisplayString(t.messages.chooseField),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,V=>(e.openBlock(),e.createElementBlock("option",{key:V.field,value:V.field},e.toDisplayString(V.label||V.field)+" · "+e.toDisplayString(V.field),9,Bt))),128))],40,wt),r.field?(e.openBlock(),e.createElementBlock("small",xt,e.toDisplayString(w.value.fields.find(V=>V.field===r.field)?.type)+" · "+e.toDisplayString(w.value.fields.find(V=>V.field===r.field)?.unit||"—"),1)):e.createCommentVNode("",!0)])]))),128))])):e.createCommentVNode("",!0),E.value>1?(e.openBlock(),e.createElementBlock("div",Dt,[e.createElementVNode("button",{type:"button",disabled:c.value<=0,"aria-label":t.messages.previousColumns,onClick:y[7]||(y[7]=r=>c.value--)},[e.createVNode(_._sfc_main,{name:"chevron-left",size:13})],8,$t),e.createElementVNode("span",null,e.toDisplayString(c.value+1)+"/"+e.toDisplayString(E.value),1),e.createElementVNode("button",{type:"button",disabled:c.value+1>=E.value,"aria-label":t.messages.nextColumns,onClick:y[8]||(y[8]=r=>c.value++)},[e.createVNode(_._sfc_main,{name:"chevron-right",size:13})],8,Ct)])):e.createCommentVNode("",!0),w.value?(e.openBlock(),e.createElementBlock("details",Rt,[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:V=>t.controller.property(r,L(V))},[e.createElementVNode("option",_t,e.toDisplayString(t.messages.optional),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value.fields,V=>(e.openBlock(),e.createElementBlock("option",{key:V.field,value:V.field},e.toDisplayString(V.label||V.field),9,Mt))),128))],40,It)])),64))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("section",Ft,[e.createElementVNode("h3",null,e.toDisplayString(t.messages.flowFooter),1),e.createElementVNode("p",Tt,e.toDisplayString(t.messages.flowFooterHint),1),e.createElementVNode("div",Kt,[e.createElementVNode("button",{type:"button",disabled:!t.controller.selection.value,onClick:y[9]||(y[9]=(...r)=>t.controller.footer&&t.controller.footer(...r))},e.toDisplayString(t.messages.bindFooter),9,Lt),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:y[10]||(y[10]=(...r)=>t.controller.clearFooter&&t.controller.clearFooter(...r))},[e.createVNode(_._sfc_main,{name:"close",size:11})],8,zt)):e.createCommentVNode("",!0)])])],8,et)],8,He))}});function ke(t=""){return{version:"2.0",sheet:t,regions:[]}}function Pt(t,h,c,g){const v=e.ref(ke()),a=e.ref(""),w=e.ref(),k=e.ref(),E=e.ref(),D=e.computed(()=>!t.value||!k.value||!E.value?"":I.excelBindingCellRange(t.value,h.value,k.value,E.value)),L=e.computed(()=>({...v.value,regions:v.value.regions.map(u=>({...u,fields:[]}))})),U=e.computed(()=>t.value?I.validateExcelRegionGeometry(t.value,L.value):[]),G=e.computed(()=>{const u=I.validateExcelRegionFields(v.value,g()),b=[...U.value,...u.issues];return{...u,ok:!b.length,issues:b}}),f=e.computed(()=>v.value.regions.find(u=>u.id===a.value));function y(u){return Ve(u,v.value,g())}const r=e.computed(()=>{const u=new Map;for(const b of G.value.issues){const R=y(b);for(const d of Ae(b,v.value,g())){const M=u.get(d)??[];M.push({issue:b,target:{...R,regionId:d}}),u.set(d,M)}}return v.value.regions.map(b=>{const R=u.get(b.id)??[],d=R.length?R.every(M=>We(M.issue,M.target,b))?"pending":"error":"ready";return{region:b,state:d,issues:R}})});function V(u=ke(h.value)){v.value=JSON.parse(JSON.stringify(u)),a.value=v.value.regions[0]?.id??"",k.value=void 0,E.value=void 0,w.value=void 0}function B(u){u.regionId&&(a.value=u.regionId);const b=ie(u);b&&(k.value={row:b.top,column:b.left},E.value={row:b.bottom,column:b.right}),w.value={target:u,sequence:(w.value?.sequence??0)+1}}function H(u){B(y(u))}function i(u,b,R){c.value||((!R||!k.value)&&(k.value={row:u,column:b}),E.value={row:u,column:b})}function $(){if(c.value||!D.value||v.value.regions.length>=128)return;let u=1;for(;v.value.regions.some(d=>d.id===`region-${u}`);)u++;const b=`region-${u}`,R=Math.abs(E.value.column-k.value.column)+1;v.value.regions.push({id:b,range:D.value,mode:"repeat",dataset:"",fields:Array.from({length:R},()=>""),rowKey:""}),a.value=b}function J(u){c.value||(v.value.regions=v.value.regions.filter(b=>b.id!==u),a.value===u&&(a.value=v.value.regions[0]?.id??""))}function C(u){!c.value&&f.value&&(f.value.dataset=u,f.value.rowKey="",f.value.fields.fill(""),delete f.value.revisionField,delete f.value.sourceTokenField)}function P(u,b){if(!(c.value||!f.value)){if(u==="mode"){(b==="record"||b==="repeat")&&(f.value.mode=b);return}b||u==="rowKey"?f.value[u]=b:delete f.value[u]}}function N(u,b){!c.value&&f.value&&u>=0&&u<f.value.fields.length&&(f.value.fields[u]=b)}function K(){!c.value&&f.value&&delete f.value.headerRange}function z(){!c.value&&f.value&&D.value&&(f.value.headerRange=D.value)}function A(){!c.value&&D.value&&(v.value.footerRange=D.value)}function T(){c.value||delete v.value.footerRange}function q(u){const b=v.value.regions.find(R=>R.id===u);b&&B({regionId:u,control:"range",range:b.range})}function O(u,b){return!!k.value&&!!E.value&&u>=Math.min(k.value.row,E.value.row)&&u<=Math.max(k.value.row,E.value.row)&&b>=Math.min(k.value.column,E.value.column)&&b<=Math.max(k.value.column,E.value.column)}return{recipe:v,activeId:a,active:f,selection:D,validation:G,directory:r,focusTarget:w,target:y,locate:H,reset:V,select:i,add:$,remove:J,dataset:C,property:P,mapping:N,header:z,clearHeader:K,footer:A,clearFooter:T,setActive:q,selected:O}}function re(t="",h=0){return{version:"1.0",sheet:t,dataset:"",regions:{header:"",detail:""},fields:Array.from({length:h},()=>""),rowKey:""}}function ge(t){return t instanceof Error?t.message:String(t)}function Wt(t,h){const c=e.shallowRef(),g=e.ref(re()),v=e.ref("table"),a=Pt(c,e.computed(()=>g.value.sheet),e.computed(()=>M.value),()=>t.datasets),w=new Map,k=new Map,E=e.ref({table:[],regions:[]});function D(){w.clear(),k.clear(),E.value={table:[],regions:[]}}function L(){g.value.sheet&&(w.set(g.value.sheet,U(g.value)),k.set(g.value.sheet,JSON.parse(JSON.stringify(a.recipe.value))),E.value={table:[...w.values()],regions:[...k.values()]})}const U=o=>JSON.parse(JSON.stringify(o));function G(o,s){return U(w.get(o)??re(o,s))}const f=e.ref({id:t.identity?.id??"excel-template",name:t.identity?.name??"Excel 业务模板"}),y=e.ref(""),r=e.ref(!1),V=()=>({recipe:g.value,regions:a.recipe.value,mode:v.value,cached:E.value,identity:f.value});let B;function H(o){g.value=U(o.recipe),a.reset(o.regions),v.value=o.mode,f.value={...o.identity,...t.lockId&&t.identity?{id:t.identity.id}:{}},D();for(const s of o.cached.table)w.set(s.sheet,s);for(const s of o.cached.regions)k.set(s.sheet,s);E.value=o.cached}const i=e.ref(0),$=ze.useLocalDraft(()=>({source:i.value,recipe:g.value,mode:v.value,regions:a.recipe.value,cached:E.value,identity:f.value})),J=e.ref([]);let C;function P(){C?.dispose(),C=void 0}const N=e.ref(""),K=e.ref(!1),z=e.ref(!1),A=e.ref(!1),T=e.ref(!1),q=e.ref(1),O=e.ref(1),u=e.ref(),b=e.ref(),R=e.ref(0),d=e.computed(()=>({...he.EXCEL_BINDING_MESSAGES,...t.messages})),M=e.computed(()=>!!t.readonly||K.value||T.value),te=e.computed(()=>!K.value&&!T.value),X=e.computed(()=>c.value?.sheets.find(o=>o.name===g.value.sheet)),x=e.computed(()=>X.value?I.parseImportRange(X.value.range):void 0),se=e.computed(()=>t.datasets.find(o=>o.id===g.value.dataset)),me=e.computed(()=>c.value&&X.value?I.getExcelSheetWindow(c.value,X.value.name,{row:q.value,column:O.value}):void 0),fe=e.computed(()=>c.value?I.validateExcelBindingRegions(c.value,g.value):[]),ve=e.computed(()=>{if(!c.value)return{ok:!1,issues:[],mapped:0,total:0};const o=I.validateExcelBindingFields(c.value,g.value,t.datasets),s=[...fe.value,...o.issues];return{...o,ok:s.length===0,issues:s}}),Y=e.computed(()=>v.value==="regions"?a.validation.value:ve.value),ae=e.ref(),oe=e.computed(()=>v.value==="regions"?a.focusTarget.value:ae.value);function m(o){return v.value==="regions"?a.target(o):Pe(o,g.value)}function l(o){const s={dataset:d.value.dataset,contract:d.value.dataContract,rowKey:d.value.rowKey,range:d.value.regionCoordinates,field:d.value.mapping,fields:d.value.mapping,footer:d.value.flowFooter,header:d.value.headerRegion,detail:d.value.detailRegion,title:d.value.titleRegion,sheet:d.value.sheet,regions:v.value==="regions"?d.value.multiRegions:d.value.regionLegend,revisionField:d.value.revisionField,sourceTokenField:d.value.sourceTokenField},S=ie(o),F=o.fieldIndex===void 0?"":` ${I.columnName(S?.left??o.fieldIndex+1)}`;return`${o.regionId?`${o.regionId} · `:""}${s[o.control]??d.value.regionCoordinates}${F}`}const n=e.computed(()=>Y.value.issues.map(o=>({issue:o,label:l(m(o)),message:o.message.replace(/\$\.recipe\.regions\[(\d+)\]/g,(s,S)=>a.recipe.value.regions[Number(S)]?.id??d.value.regionProperties)})));function p(o){return o?{dataset:d.value.nextDataset,rowKey:d.value.nextRowKey,field:d.value.nextField,fields:d.value.nextField,range:d.value.nextRange,regions:d.value.nextRegion,footer:d.value.nextFooter,header:d.value.nextHeader,detail:d.value.nextHeader,title:d.value.nextHeader}[o.control]??d.value.nextContract:v.value==="regions"?d.value.nextRegion:d.value.nextHeader}const W=e.computed(()=>t.readonly?d.value.readonly:K.value?d.value.loading:T.value?d.value.applying:A.value?d.value.applied:Y.value.ok?d.value.ready:p(Y.value.issues[0]?m(Y.value.issues[0]):void 0));e.watch(oe,o=>{const s=o&&ie(o.target);!s||!x.value||(q.value=Math.max(x.value.top,Math.min(x.value.bottom,s.top)),O.value=Math.max(x.value.left,Math.min(x.value.right,s.left)))});function ue(o){if(v.value==="regions"){a.locate(o);return}const s=m(o),S=ie(s);S&&(u.value=S.top,b.value=S.bottom),s.fieldIndex!==void 0&&(R.value=Math.floor(s.fieldIndex/12)),ae.value={target:s,sequence:(ae.value?.sequence??0)+1}}const ce=e.computed(()=>g.value.fields.slice(R.value*12,(R.value+1)*12).map((o,s)=>({index:R.value*12+s,field:o,physical:I.columnName((x.value?.left??1)+R.value*12+s)}))),we=e.computed(()=>se.value?.fields.filter(o=>o.type!=="boolean")??[]),de=e.computed(()=>u.value!==void 0&&b.value!==void 0?{top:Math.min(u.value,b.value),bottom:Math.max(u.value,b.value)}:void 0);let Q,j=0;function Z(){j++,Q?.abort(),Q=void 0,K.value=!1}function le(){q.value=x.value?.top??1,O.value=x.value?.left??1,u.value=void 0,b.value=void 0,R.value=0,z.value=!1,A.value=!1}function pe(o){Z();try{const s=o.version==="2.0"?I.parseExcelRegionBindingSession(o):I.parseExcelBindingSession(o);Z(),P(),J.value=s.source.sheets.map(S=>({name:S.name,index:S.index})),c.value=s.source,D(),s.version==="2.0"?(g.value=re(s.recipe.sheet,s.source.sheets.find(S=>S.name===s.recipe.sheet).columnCount),a.reset(s.recipe),v.value="regions"):(g.value=s.recipe,a.reset(),v.value="table"),f.value={...s.identity,...t.lockId&&t.identity?{id:t.identity.id}:{}},y.value=s.recipe.sheet,N.value="",le(),i.value++,$.accept()}catch(s){N.value=ge(s)}}e.watch(()=>t.session,o=>{o&&pe(o)},{immediate:!0}),e.watch(()=>t.readonly,o=>{o&&(Z(),P())}),e.watch([g,f,v,a.recipe],()=>{z.value=!1,A.value=!1},{deep:!0,flush:"sync"}),e.watch(()=>t.datasets,()=>{z.value=!1,A.value=!1}),e.onBeforeUnmount(()=>{Z(),P()});async function Se(o){if(t.readonly)return;if(Z(),!/\.xlsx$/i.test(o.name)){N.value=d.value.invalidFile;return}const s=++j;Q=new AbortController,K.value=!0,N.value="";let S;try{const{openExcelWorkbook:F}=await Promise.resolve().then(()=>require("./workbook-session-B94EwVa_.cjs")).then(ee=>ee.workbookSession);if(s!==j||t.readonly||(S=await F(o,{...t.importOptions,signal:Q.signal}),s!==j||t.readonly))return;const ne=S.inspect().sheets.filter(ee=>ee.visible);if(!ne.length)throw new Error("Excel 中没有可导入的可见工作表");const ye=B?.recipe.sheet||ne[0].name;if(!ne.some(ee=>ee.name===ye))throw new Error(d.value.recoveredSheetMissing);const be=await S.importTemplate({sheets:[ye],signal:Q.signal});if(s!==j||t.readonly)return;P(),C=S,S=void 0,c.value=be,i.value++,y.value=o.name,J.value=ne.map(ee=>({name:ee.name,index:ee.index})),D(),g.value=re(be.sheets[0].name,be.sheets[0].columnCount),a.reset(),B&&(H(B),B=void 0,r.value=!1),le()}catch(F){s===j&&(N.value=ge(F))}finally{S?.dispose(),s===j&&(K.value=!1,Q=void 0)}}async function Be(o){if(M.value||!J.value.some(F=>F.name===o)||g.value.sheet===o)return;L();const s=c.value?.sheets.find(F=>F.name===o);if(s){g.value=G(o,s.columnCount),a.reset(k.get(o)),N.value="",le();return}if(!C||C.disposed)return;Z();const S=++j;Q=new AbortController,K.value=!0,N.value="";try{const F=await C.importTemplate({sheets:[o],signal:Q.signal});if(S!==j||t.readonly)return;c.value=F,g.value=G(o,F.sheets[0].columnCount),a.reset(k.get(o)),le()}catch(F){S===j&&(N.value=ge(F))}finally{S===j&&(K.value=!1,Q=void 0)}}function xe(o){M.value||(g.value.dataset=o,g.value.rowKey="",g.value.fields.fill(""),z.value=!1,A.value=!1)}function De(o,s){M.value||!x.value||o<x.value.top||o>x.value.bottom||((!s||u.value===void 0)&&(u.value=o),b.value=o)}function $e(o){if(M.value||!c.value||!de.value){M.value||(N.value=d.value.emptySelection);return}g.value.regions[o]=I.excelBindingRowRange(c.value,g.value.sheet,de.value.top,de.value.bottom),z.value=!1,A.value=!1,N.value=""}function Ce(o){M.value||(delete g.value.regions[o],z.value=!1,A.value=!1)}function Re(o,s){!M.value&&o>=0&&o<g.value.fields.length&&(g.value.fields[o]=s,z.value=!1,A.value=!1)}function Ie(o){M.value||(g.value.rowKey=o)}function _e(o,s){!M.value&&!(o==="id"&&t.lockId)&&(f.value[o]=s)}function Me(o){for(const s of["title","header","detail","footer"]){const S=g.value.regions[s];if(!S)continue;const F=I.parseImportRange(S);if(o>=F.top&&o<=F.bottom)return s}}function Fe(o,s){x.value&&(o==="row"?q.value=Math.max(x.value.top,Math.min(x.value.bottom,q.value+s)):O.value=Math.max(x.value.left,Math.min(x.value.right,O.value+s)))}function Te(){if(!t.readonly){if(t.session){pe(t.session);return}B=void 0,r.value=!1,Z(),P(),c.value=void 0,J.value=[],y.value="",D(),g.value=re(),f.value={id:t.identity?.id??"excel-template",name:t.identity?.name??"Excel 业务模板"},a.reset(),v.value="table",le(),i.value++,$.accept(),N.value=""}}function Ke(){te.value&&(z.value=!0,N.value="")}async function Le(){if(!(M.value||!c.value||r.value)&&(z.value=!0,N.value="",!!Y.value.ok)){T.value=!0;try{const o={...f.value,...t.lockId&&t.identity?{id:t.identity.id}:{}},s=v.value==="regions"?I.createExcelRegionBindingDocument(c.value,a.recipe.value,t.datasets,o):I.createExcelBindingDocument(c.value,g.value,t.datasets,o),S=v.value==="regions"?I.createExcelRegionBindingSession(c.value,a.recipe.value,o):I.createExcelBindingSession(c.value,g.value,o),F={...s,session:S},ne=$.snapshot();if(t.accept&&!await t.accept(F)||t.readonly||ne!==$.snapshot()&&$.pending.value)return;t.accept||h(F),D(),$.accept(),A.value=!0}catch(o){N.value=ge(o)}finally{T.value=!1}}}return he.useTemplateToolDraft({key:()=>"excel",baseline:()=>"declarations-only",pending:()=>$.pending.value||r.value,snapshot:()=>JSON.stringify(V()),restore(o){const s=JSON.parse(o);if(!s.recipe||!s.regions||!Array.isArray(s.cached?.table)||!Array.isArray(s.cached?.regions))throw new Error("Invalid Excel mapping draft");H(s),B=s,r.value=!0}}),{recoveredMapping:r,imported:c,mode:v,regionBindings:a,pendingLocalChanges:e.computed(()=>$.pending.value||r.value),recipe:g,identity:f,sourceName:y,sheetChoices:J,error:N,loading:K,checked:z,applied:A,row:q,column:O,mappingPage:R,m:d,disabled:M,canCheck:te,sheet:X,sourceRange:x,dataset:se,window:me,validation:Y,focusTarget:oe,issueEntries:n,guidance:W,locateIssue:ue,mappings:ce,rowKeys:we,selection:de,cancel:Z,importFile:Se,chooseSheet:Be,chooseDataset:xe,chooseRow:De,markRegion:$e,clearRegion:Ce,setMapping:Re,setRowKey:Ie,setIdentity:_e,regionAt:Me,moveWindow:Fe,check:Ke,restoreDraft:Te,apply:Le}}const Ht=["aria-label","aria-busy"],qt={key:0,role:"status",class:"mr-binding-recovery"},Ot={class:"mr-binding-bar"},Jt={class:"mr-binding-heading"},jt=["aria-label","disabled"],Ut=["disabled"],Gt={key:1,class:"mr-binding-error",role:"alert"},Xt={key:2,class:"mr-binding-placeholder",role:"status"},Qt={key:3,class:"mr-binding-placeholder"},Yt=["disabled"],Zt={class:"mr-binding-sourcebar"},en=["value","aria-label","disabled"],tn=["value"],nn=["aria-label"],an=["aria-pressed","disabled"],on=["aria-pressed","disabled"],ln={class:"mr-binding-range"},rn={class:"mr-binding-sample-note"},sn={class:"mr-binding-layout"},un={class:"mr-binding-source"},cn={class:"mr-binding-grid-heading"},dn=["aria-label"],gn={class:"mr-binding-grid"},mn=["data-region"],fn={scope:"row"},vn=["data-source-row","aria-label","aria-pressed","disabled","onPointerdown","onPointerenter","onKeydown"],bn=["rowspan","colspan","title","data-source-cell","tabindex","aria-label","aria-selected","onPointerdown","onPointerenter","onKeydown"],pn={key:1,class:"mr-binding-grid-footer"},yn={class:"mr-binding-window"},hn=["aria-label","disabled"],kn=["min","max","value","aria-label"],En=["aria-label","disabled"],Nn={class:"mr-binding-window"},Vn=["aria-label","disabled"],wn=["min","max","value","aria-label"],Sn=["aria-label","disabled"],Bn={class:"mr-binding-inspector"},xn=["disabled"],Dn={class:"mr-binding-group"},$n=["data-role"],Cn={key:0},Rn=["aria-label","data-binding-control","title","disabled","onClick"],In=["aria-label","onClick"],_n={key:0,class:"mr-binding-note"},Mn={class:"mr-binding-group"},Fn={class:"mr-binding-label",tabindex:"-1"},Tn=["value","aria-label"],Kn={value:""},Ln=["value"],zn={key:0,class:"mr-binding-note"},An={key:1,class:"mr-binding-label",tabindex:"-1"},Pn=["value","aria-label"],Wn={value:""},Hn=["value"],qn={key:2,class:"mr-binding-mappings"},On=["data-binding-control","aria-label","value","onChange"],Jn={value:""},jn=["value"],Un={key:0},Gn={key:3,class:"mr-binding-map-pages"},Xn=["disabled","aria-label"],Qn=["disabled","aria-label"],Yn=["disabled"],Zn={class:"mr-binding-group"},ea={class:"mr-binding-label"},ta=["value","readonly"],na={class:"mr-binding-label"},aa=["value"],oa={key:0,class:"mr-binding-issues",open:""},la=["aria-label","onClick"],ra={key:0,class:"mr-binding-issue-pages"},ia=["disabled","aria-label"],sa=["disabled","aria-label"],ua={key:1,class:"mr-binding-warnings"},ca={class:"mr-binding-actions"},da=["title"],ga=["disabled"],ma=["disabled"],fa=["disabled","title"],va=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:c}){const g=t,v=c,a=Wt(g,m=>v("apply",m)),{imported:w,mode:k,regionBindings:E,recipe:D,identity:L,sourceName:U,sheetChoices:G,error:f,loading:y,checked:r,row:V,column:B,mappingPage:H,m:i,disabled:$,sheet:J,sourceRange:C,dataset:P,window:N,validation:K,mappings:z,rowKeys:A,selection:T}=a;e.watch([a.pendingLocalChanges,D,L],()=>v("dirty",a.pendingLocalChanges.value),{immediate:!0,deep:!0,flush:"sync"});const q=e.ref(),O=e.ref(),u=e.ref(0),b=e.computed(()=>Math.max(1,Math.ceil(a.issueEntries.value.length/12))),R=e.computed(()=>a.issueEntries.value.slice(u.value*12,(u.value+1)*12));e.watch(b,m=>{u.value=Math.min(u.value,m-1)}),e.watch(a.focusTarget,async m=>{if(!m)return;await e.nextTick();const l=ie(m.target);if(l&&O.value?.querySelector(`td[data-source-cell="${l.top}:${l.left}"]`)?.scrollIntoView?.({block:"nearest",inline:"nearest"}),k.value==="regions")return;const n=m.target.control==="field"?`field-${m.target.fieldIndex}`:m.target.control==="contract"?"dataset":m.target.control,p=O.value?.querySelector(`.mr-binding-table-editor [data-binding-control="${n}"]`),W=$.value?p?.closest("label"):p;W?.focus(),W?.scrollIntoView?.({block:"nearest"})});const d=e.ref(!1),M=["title","header","detail","footer"],te=e.computed(()=>({title:i.value.titleRegion,header:i.value.headerRegion,detail:i.value.detailRegion,footer:i.value.footerRegion})),X=e.computed(()=>Math.max(1,Math.ceil(D.value.fields.length/12)));function x(m){return m.target.value}function se(m){const l=m.target,n=l.files?.[0];n&&a.importFile(n),l.value=""}function me(m,l){m.button!==0||$.value||(m.preventDefault(),d.value=!0,a.chooseRow(l,m.shiftKey),k.value==="regions"&&C.value&&(E.select(l,C.value.left,!1),E.select(l,C.value.right,!0)),m.currentTarget.focus())}function fe(m,l,n){k.value!=="regions"||m.button!==0||$.value||(m.preventDefault(),d.value=!0,E.select(l,n,m.shiftKey),m.currentTarget.focus())}function ve(m,l,n){if(k.value!=="regions")return;(m.key===" "||m.key==="Enter")&&(m.preventDefault(),E.select(l,n,m.shiftKey));const W={ArrowUp:[-1,0],ArrowDown:[1,0],ArrowLeft:[0,-1],ArrowRight:[0,1]}[m.key];if(!W||!C.value)return;m.preventDefault();const ue=Math.max(C.value.top,Math.min(C.value.bottom,l+W[0])),ce=Math.max(C.value.left,Math.min(C.value.right,n+W[1]));m.shiftKey&&E.select(ue,ce,!0),m.currentTarget.closest("table")?.querySelector(`td[data-source-cell="${ue}:${ce}"]`)?.focus()}function Y(m,l){if((m.key===" "||m.key==="Enter")&&(m.preventDefault(),a.chooseRow(l,m.shiftKey)),m.key==="ArrowDown"||m.key==="ArrowUp"){m.preventDefault();const n=l+(m.key==="ArrowDown"?1:-1);m.shiftKey&&a.chooseRow(n,!0),m.currentTarget.closest("table")?.querySelector(`button[data-source-row="${n}"]`)?.focus()}}function ae(m){const l=P.value?.fields.find(n=>n.field===m);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 oe(m,l){const n=Number(x(m));!Number.isInteger(n)||!C.value||(l==="row"?V.value=Math.max(C.value.top,Math.min(C.value.bottom,n)):B.value=Math.max(C.value.left,Math.min(C.value.right,n)))}return h({get pendingLocalChanges(){return a.pendingLocalChanges.value},importFile:a.importFile,apply:a.apply,cancel:a.cancel}),(m,l)=>(e.openBlock(),e.createElementBlock("section",{ref_key:"element",ref:O,class:"mr-binding","aria-label":e.unref(i).title,"aria-busy":e.unref(y),onPointerup:l[23]||(l[23]=n=>d.value=!1),onPointercancel:l[24]||(l[24]=n=>d.value=!1),onPointerleave:l[25]||(l[25]=n=>d.value=!1)},[e.unref(a).recoveredMapping.value?(e.openBlock(),e.createElementBlock("p",qt,e.toDisplayString(e.unref(i).recoveredMapping),1)):e.createCommentVNode("",!0),e.createElementVNode("header",Ot,[e.createElementVNode("div",Jt,[e.createVNode(_._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(U)||e.unref(i).intro),1)]),e.createElementVNode("input",{ref_key:"input",ref:q,type:"file",accept:".xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","aria-label":e.unref(i).upload,class:"mr-binding-file",disabled:t.readonly,onChange:se},null,40,jt),e.unref(y)?(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=>q.value?.click())},[e.createVNode(_._sfc_main,{name:"upload",size:14}),e.createTextVNode(e.toDisplayString(e.unref(w)?e.unref(i).replace:e.unref(i).upload),1)],8,Ut))]),e.unref(f)?(e.openBlock(),e.createElementBlock("div",Gt,e.toDisplayString(e.unref(f)),1)):e.createCommentVNode("",!0),e.unref(y)?(e.openBlock(),e.createElementBlock("div",Xt,[l[26]||(l[26]=e.createElementVNode("span",{class:"mr-binding-loader"},null,-1)),e.createTextVNode(e.toDisplayString(e.unref(i).loading),1)])):e.unref(w)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.createElementVNode("div",Zt,[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(i).sheet),1),e.createElementVNode("select",{value:e.unref(D).sheet,"aria-label":e.unref(i).sheet,disabled:e.unref($),onChange:l[3]||(l[3]=n=>e.unref(a).chooseSheet(x(n)))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(G),n=>(e.openBlock(),e.createElementBlock("option",{key:n.name,value:n.name},e.toDisplayString(n.name),9,tn))),128))],40,en)]),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($),onClick:l[4]||(l[4]=n=>k.value="table")},e.toDisplayString(e.unref(i).tableMode),9,an),e.createElementVNode("button",{type:"button","aria-pressed":e.unref(k)==="regions",disabled:e.unref($),onClick:l[5]||(l[5]=n=>k.value="regions")},[e.createVNode(_._sfc_main,{name:"grid",size:12}),e.createTextVNode(e.toDisplayString(e.unref(i).multiRegions),1)],8,on)],8,nn),e.createElementVNode("span",ln,e.toDisplayString(e.unref(J)?.range)+" · "+e.toDisplayString(e.unref(J)?.rowCount)+" × "+e.toDisplayString(e.unref(J)?.columnCount),1),e.createElementVNode("span",rn,e.toDisplayString(e.unref(i).sourceOnly),1)]),e.createElementVNode("div",sn,[e.createElementVNode("div",un,[e.createElementVNode("div",cn,[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(N)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"mr-binding-grid-scroll","aria-label":e.unref(i).source},[e.createElementVNode("table",gn,[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(N).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(N).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(T)&&n.row>=e.unref(T).top&&n.row<=e.unref(T).bottom})},[e.createElementVNode("th",fn,[e.createElementVNode("button",{type:"button","data-source-row":n.row,"aria-label":`${e.unref(i).selectionLabel} ${n.row}`,"aria-pressed":!!e.unref(T)&&n.row>=e.unref(T).top&&n.row<=e.unref(T).bottom,disabled:e.unref($),onPointerdown:p=>me(p,n.row),onPointerenter:p=>d.value&&e.unref(a).chooseRow(n.row,!0),onKeydown:p=>Y(p,n.row)},e.toDisplayString(n.row),41,vn)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.cells,p=>(e.openBlock(),e.createElementBlock("td",{key:p.column,rowspan:p.rowSpan,colspan:p.colSpan,title:`${p.address} · ${p.text}`,"data-source-cell":`${p.row}:${p.column}`,tabindex:e.unref(k)==="regions"?0:void 0,"aria-label":e.unref(k)==="regions"?`${e.unref(i).selectionCellLabel} ${p.address}`:void 0,"aria-selected":e.unref(k)==="regions"?e.unref(E).selected(p.row,p.column):void 0,class:e.normalizeClass({"is-continued":p.continued,"is-cell-selected":e.unref(k)==="regions"&&e.unref(E).selected(p.row,p.column)}),onPointerdown:W=>fe(W,p.row,p.column),onPointerenter:W=>e.unref(k)==="regions"&&d.value&&e.unref(E).select(p.row,p.column,!0),onKeydown:W=>ve(W,p.row,p.column),style:e.normalizeStyle({textAlign:p.style?.align,fontWeight:p.style?.bold?"600":void 0})},[e.createElementVNode("span",null,e.toDisplayString(p.text),1)],46,bn))),128))],10,mn))),128))])])],8,dn)):e.createCommentVNode("",!0),e.unref(N)?(e.openBlock(),e.createElementBlock("footer",pn,[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(E).selection.value||"—":e.unref(T)?`${e.unref(T).top}–${e.unref(T).bottom}`:"—"),1)]),e.createElementVNode("div",yn,[e.createElementVNode("button",{type:"button","aria-label":e.unref(i).previousRows,disabled:e.unref(N).top<=e.unref(N).source.top,onClick:l[6]||(l[6]=n=>e.unref(a).moveWindow("row",-24))},[e.createVNode(_._sfc_main,{name:"chevron-left",size:13})],8,hn),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(i).rowStart),1),e.createElementVNode("input",{type:"number",min:e.unref(N).source.top,max:e.unref(N).source.bottom,value:e.unref(V),"aria-label":e.unref(i).rowStart,onChange:l[7]||(l[7]=n=>oe(n,"row"))},null,40,kn)]),e.createElementVNode("button",{type:"button","aria-label":e.unref(i).nextRows,disabled:e.unref(N).bottom>=e.unref(N).source.bottom,onClick:l[8]||(l[8]=n=>e.unref(a).moveWindow("row",24))},[e.createVNode(_._sfc_main,{name:"chevron-right",size:13})],8,En)]),e.createElementVNode("div",Nn,[e.createElementVNode("button",{type:"button","aria-label":e.unref(i).previousColumns,disabled:e.unref(N).left<=e.unref(N).source.left,onClick:l[9]||(l[9]=n=>e.unref(a).moveWindow("column",-12))},[e.createVNode(_._sfc_main,{name:"chevron-left",size:13})],8,Vn),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(i).columnStart),1),e.createElementVNode("input",{type:"number",min:e.unref(N).source.left,max:e.unref(N).source.right,value:e.unref(B),"aria-label":e.unref(i).columnStart,onChange:l[10]||(l[10]=n=>oe(n,"column"))},null,40,wn)]),e.createElementVNode("button",{type:"button","aria-label":e.unref(i).nextColumns,disabled:e.unref(N).right>=e.unref(N).source.right,onClick:l[11]||(l[11]=n=>e.unref(a).moveWindow("column",12))},[e.createVNode(_._sfc_main,{name:"chevron-right",size:13})],8,Sn)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Bn,[e.unref(k)==="regions"?(e.openBlock(),e.createBlock(At,{key:0,controller:e.unref(E),datasets:t.datasets,disabled:e.unref($),messages:e.unref(i)},null,8,["controller","datasets","disabled","messages"])):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("fieldset",{disabled:e.unref($),class:"mr-binding-table-editor"},[e.createElementVNode("section",Dn,[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(M,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(te.value[n]),1),n==="title"||n==="footer"?(e.openBlock(),e.createElementBlock("small",Cn,e.toDisplayString(e.unref(i).optional),1)):e.createCommentVNode("",!0)]),e.createElementVNode("code",null,e.toDisplayString(e.unref(D).regions[n]||e.unref(i).unnamed),1)]),e.createElementVNode("button",{type:"button","aria-label":`${e.unref(i).selectRegion} · ${te.value[n]}`,"data-binding-control":n,title:e.unref(T)?`${e.unref(i).selectRegion} · ${te.value[n]}`:e.unref(i).emptySelection,disabled:!e.unref(T),onClick:p=>e.unref(a).markRegion(n)},[e.createVNode(_._sfc_main,{name:"arrow-right",size:13})],8,Rn),(n==="title"||n==="footer")&&e.unref(D).regions[n]?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","aria-label":`${e.unref(i).clear} · ${te.value[n]}`,onClick:p=>e.unref(a).clearRegion(n)},[e.createVNode(_._sfc_main,{name:"close",size:13})],8,In)):e.createCommentVNode("",!0)],8,$n)),64)),e.unref(D).regions.footer?(e.openBlock(),e.createElementBlock("p",_n,e.toDisplayString(e.unref(i).footerHint),1)):e.createCommentVNode("",!0)]),e.createElementVNode("section",Mn,[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(K).mapped)+"/"+e.toDisplayString(e.unref(K).total),1)]),e.createElementVNode("label",Fn,[e.createTextVNode(e.toDisplayString(e.unref(i).dataset),1),e.createElementVNode("select",{"data-binding-control":"dataset",value:e.unref(D).dataset,"aria-label":e.unref(i).dataset,onChange:l[12]||(l[12]=n=>e.unref(a).chooseDataset(x(n)))},[e.createElementVNode("option",Kn,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,Ln))),128))],40,Tn)]),t.datasets.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("p",zn,e.toDisplayString(e.unref(i).noContract),1)),e.unref(P)?(e.openBlock(),e.createElementBlock("label",An,[e.createTextVNode(e.toDisplayString(e.unref(i).rowKey),1),e.createElementVNode("select",{"data-binding-control":"rowKey",value:e.unref(D).rowKey,"aria-label":e.unref(i).rowKey,onChange:l[13]||(l[13]=n=>e.unref(a).setRowKey(x(n)))},[e.createElementVNode("option",Wn,e.toDisplayString(e.unref(i).chooseRowKey),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(A),n=>(e.openBlock(),e.createElementBlock("option",{key:n.field,value:n.field},e.toDisplayString(n.label||n.field)+" · "+e.toDisplayString(n.field),9,Hn))),128))],40,Pn)])):e.createCommentVNode("",!0),e.unref(P)?(e.openBlock(),e.createElementBlock("div",qn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(z),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:p=>e.unref(a).setMapping(n.index,x(p))},[e.createElementVNode("option",Jn,e.toDisplayString(e.unref(i).chooseField),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(P).fields,p=>(e.openBlock(),e.createElementBlock("option",{key:p.field,value:p.field},e.toDisplayString(p.label||p.field)+" · "+e.toDisplayString(p.field),9,jn))),128))],40,On),n.field?(e.openBlock(),e.createElementBlock("small",Un,e.toDisplayString(ae(n.field)),1)):e.createCommentVNode("",!0)])]))),128))])):e.createCommentVNode("",!0),e.unref(P)&&X.value>1?(e.openBlock(),e.createElementBlock("div",Gn,[e.createElementVNode("button",{type:"button",disabled:e.unref(H)<=0,"aria-label":e.unref(i).previousColumns,onClick:l[14]||(l[14]=n=>H.value--)},[e.createVNode(_._sfc_main,{name:"chevron-left",size:13})],8,Xn),e.createElementVNode("span",null,e.toDisplayString(e.unref(H)+1)+" / "+e.toDisplayString(X.value),1),e.createElementVNode("button",{type:"button",disabled:e.unref(H)+1>=X.value,"aria-label":e.unref(i).nextColumns,onClick:l[15]||(l[15]=n=>H.value++)},[e.createVNode(_._sfc_main,{name:"chevron-right",size:13})],8,Qn)])):e.createCommentVNode("",!0)])],8,xn),[[e.vShow,e.unref(k)==="table"]]),e.createElementVNode("fieldset",{disabled:e.unref($)},[e.createElementVNode("section",Zn,[e.createElementVNode("h3",null,e.toDisplayString(e.unref(i).identity),1),e.createElementVNode("label",ea,[e.createTextVNode(e.toDisplayString(e.unref(i).templateId),1),e.createElementVNode("input",{value:t.lockId?g.identity?.id??e.unref(L).id:e.unref(L).id,autocomplete:"off",readonly:t.lockId,onInput:l[16]||(l[16]=n=>e.unref(a).setIdentity("id",x(n)))},null,40,ta)]),e.createElementVNode("label",na,[e.createTextVNode(e.toDisplayString(e.unref(i).templateName),1),e.createElementVNode("input",{value:e.unref(L).name,autocomplete:"off",onInput:l[17]||(l[17]=n=>e.unref(a).setIdentity("name",x(n)))},null,40,aa)])])],8,Yn)])]),e.unref(r)&&e.unref(K).issues.length?(e.openBlock(),e.createElementBlock("details",oa,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(i).issues)+" · "+e.toDisplayString(e.unref(K).issues.length)+" "+e.toDisplayString(e.unref(i).errors),1),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(R.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:p=>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(_._sfc_main,{name:"arrow-right",size:12})],8,la)]))),128))]),b.value>1?(e.openBlock(),e.createElementBlock("div",ra,[e.createElementVNode("button",{type:"button",disabled:u.value===0,"aria-label":e.unref(i).previousIssues,onClick:l[18]||(l[18]=n=>u.value--)},[e.createVNode(_._sfc_main,{name:"chevron-left",size:12})],8,ia),e.createElementVNode("span",null,e.toDisplayString(u.value+1)+"/"+e.toDisplayString(b.value),1),e.createElementVNode("button",{type:"button",disabled:u.value+1>=b.value,"aria-label":e.unref(i).nextIssues,onClick:l[19]||(l[19]=n=>u.value++)},[e.createVNode(_._sfc_main,{name:"chevron-right",size:12})],8,sa)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.unref(w).warnings.length?(e.openBlock(),e.createElementBlock("details",ua,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(i).inspectWarning)+" · "+e.toDisplayString(e.unref(w).warnings.length),1),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(w).warnings,(n,p)=>(e.openBlock(),e.createElementBlock("li",{key:p},e.toDisplayString(n),1))),128))])])):e.createCommentVNode("",!0),e.createElementVNode("footer",ca,[e.createElementVNode("span",{class:e.normalizeClass({"is-ready":e.unref(K).ok}),role:"status",title:e.unref(a).guidance.value},e.toDisplayString(e.unref(a).guidance.value),11,da),e.unref(a).pendingLocalChanges.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:e.unref($),onClick:l[20]||(l[20]=(...n)=>e.unref(a).restoreDraft&&e.unref(a).restoreDraft(...n))},e.toDisplayString(e.unref(i).restoreDraft),9,ga)):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,ma),e.createElementVNode("button",{type:"button",class:"mr-binding-primary",disabled:e.unref($)||!e.unref(K).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,fa)])],64)):(e.openBlock(),e.createElementBlock("div",Qt,[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=>q.value?.click())},e.toDisplayString(e.unref(i).upload),9,Yt)]))],40,Ht))}});exports.default=va;
|
|
@@ -1 +0,0 @@
|
|
|
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-CyKXBhQg.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,239 +0,0 @@
|
|
|
1
|
-
import { computed as b, shallowRef as G, onMounted as Q, ref as R, onScopeDispose as W, watch as B, defineComponent as J, openBlock as V, createElementBlock as T, unref as e, normalizeClass as X, createElementVNode as l, toDisplayString as n, createTextVNode as h, withDirectives as O, isRef as z, vModelSelect as Y, vModelText as ee, createCommentVNode as q, Fragment as P, createBlock as H, withCtx as te, vModelCheckbox as le } from "vue";
|
|
2
|
-
import { provideMachReportConfig as ae, ReportPreview as se } from "@agile-team/mach-report/vue";
|
|
3
|
-
import { L as ne, c as oe } from "./designer-fVvpYg8H.js";
|
|
4
|
-
import { defineReportTemplate as ie, createLabelTemplate as re, parseReportTemplate as M, serializeReportTemplate as Z, createReportSource as de, defineLabelReport as ue, imposeLabelSheets as ce } from "@agile-team/mach-report";
|
|
5
|
-
import { createCodeAssetRenderers as me } from "@agile-team/mach-report/codes";
|
|
6
|
-
function pe(t, w, _) {
|
|
7
|
-
const d = _ ?? t.fields.find((s) => s.semanticRole === "identifier" && s.field !== t.rowKey)?.field ?? t.rowKey ?? t.fields[0]?.field, o = (s, y, u, c, v = 4, f = 7) => ({ kind: "text", text: s, leftMm: y, topMm: u, widthMm: c, heightMm: v, style: { fontSize: f, color: "#254566", verticalAlign: "middle" } }), m = (s) => ({ kind: "line", leftMm: 4, topMm: s, widthMm: 72, heightMm: 0.2, style: { lineColor: "#c7d7e8", lineWidthPt: 0.5 } }), a = [o(w, 4, 3, 72, 5, 9), m(10)], p = [o(w, 4, 4, 72, 5, 9)];
|
|
8
|
-
return d && (a.push({ ...o("", 4, 12, 72, 8, 15), binding: { field: d } }), a.push({ kind: "qrcode", leftMm: 54, topMm: 21, widthMm: 21, heightMm: 21, binding: { field: d }, code: { quietZoneModules: 4, errorCorrection: "M" } }), p.push({ ...o("", 4, 12, 72, 8, 16), style: { fontSize: 16, align: "center", color: "#254566" }, binding: { field: d } }), p.push({ kind: "barcode", leftMm: 7, topMm: 24, widthMm: 66, heightMm: 15, binding: { field: d }, code: { symbology: "code128", quietZoneModules: 10, showText: !0 } })), t.fields.filter((s) => s.field !== d && s.field !== t.rowKey).slice(0, 4).forEach((s, y) => {
|
|
9
|
-
const u = 22 + y * 5;
|
|
10
|
-
a.push(o(s.label ?? s.field, 4, u, 21, 4, 6)), a.push({ ...o("", 25, u, 27, 4, 7), binding: { field: s.field, ...s.format ? { format: s.format } : {} } });
|
|
11
|
-
}), a.push(m(45), o(t.fields.find((s) => s.field === d)?.label ?? w, 4, 47, 72, 4, 6)), p.push(m(44)), ie({ id: "record-label", name: w, template: re({ dataset: "records", rowKey: t.rowKey, pages: [{ components: a }, { components: p }] }) });
|
|
12
|
-
}
|
|
13
|
-
function ve(t, w) {
|
|
14
|
-
const _ = b(() => ({ ...ne, ...t.messages })), d = b(() => t.title ?? _.value.title), o = G(t.modelValue ? M(t.modelValue) : pe(t.schema, d.value, t.identityField));
|
|
15
|
-
let m = M(o.value);
|
|
16
|
-
Q(() => {
|
|
17
|
-
t.modelValue || w(M(o.value));
|
|
18
|
-
});
|
|
19
|
-
const a = R("preview"), p = R("all"), s = R(1), y = R(!1), u = R(!1), c = R(), v = R("");
|
|
20
|
-
let f = !1;
|
|
21
|
-
W(() => {
|
|
22
|
-
f = !0;
|
|
23
|
-
});
|
|
24
|
-
const x = { assetRenderers: me() };
|
|
25
|
-
ae({ get defaults() {
|
|
26
|
-
return { assets: x, ...t.preview };
|
|
27
|
-
} }), B(() => t.modelValue, (r) => {
|
|
28
|
-
r && Z(r) !== Z(o.value) && (o.value = M(r), m = M(r));
|
|
29
|
-
}), B(() => t.rows, () => {
|
|
30
|
-
p.value = "all", s.value = 1;
|
|
31
|
-
});
|
|
32
|
-
function E(r) {
|
|
33
|
-
v.value = "", o.value = r, w(r);
|
|
34
|
-
}
|
|
35
|
-
const L = b(() => p.value === "all" ? t.rows : Number.isSafeInteger(s.value) && t.rows[s.value - 1] ? [t.rows[s.value - 1]] : []), D = b(() => o.value.template.repeat?.dataset ?? "records"), I = b(() => ({ [D.value]: L.value })), U = b(() => ({ [D.value]: t.schema })), F = b(() => [{ id: D.value, label: d.value, rowKey: t.schema.rowKey, fields: t.schema.fields }]), K = b(() => o.value.template.pages[0]), N = b(() => {
|
|
36
|
-
const r = o.value.template.repeat?.copies ?? 1;
|
|
37
|
-
let S = 0;
|
|
38
|
-
for (const C of L.value) {
|
|
39
|
-
const k = typeof r == "number" ? r : Object.getOwnPropertyDescriptor(C, r.field)?.value;
|
|
40
|
-
if (typeof k != "number" || !Number.isSafeInteger(k) || k < 1 || k > 1e3) return;
|
|
41
|
-
S += k * o.value.template.pages.length;
|
|
42
|
-
}
|
|
43
|
-
return S;
|
|
44
|
-
}), A = b(() => {
|
|
45
|
-
const r = de({ labels: ue({ template: o.value.template, rows: L.value, dataSchema: t.schema }) }), S = y.value;
|
|
46
|
-
return async (C) => {
|
|
47
|
-
const k = await r(C);
|
|
48
|
-
return S ? ce(k, { paper: "a4", columns: 2, rows: 4, marginMm: 12, gapMm: 4, signal: C.signal }) : k;
|
|
49
|
-
};
|
|
50
|
-
}), i = async (r, S) => {
|
|
51
|
-
const C = t.save ? await t.save(r, S) : M(r);
|
|
52
|
-
if (f || S.signal.aborted) throw new DOMException("标签模板保存已取消", "AbortError");
|
|
53
|
-
return m = M(C), E(C), C;
|
|
54
|
-
};
|
|
55
|
-
async function g() {
|
|
56
|
-
if (!(u.value || f)) {
|
|
57
|
-
u.value = !0;
|
|
58
|
-
try {
|
|
59
|
-
if (a.value === "design" && c.value) {
|
|
60
|
-
if (c.value.canApply === !1) {
|
|
61
|
-
v.value = c.value.saveReason || _.value.applyFirst;
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
if (c.value.pendingLocalChanges && await c.value.save(), c.value.pendingLocalChanges) {
|
|
65
|
-
v.value = _.value.saveFailed;
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (!f)
|
|
70
|
-
return v.value = "", M(o.value);
|
|
71
|
-
} finally {
|
|
72
|
-
u.value = !1;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
async function $(r) {
|
|
77
|
-
r !== a.value && await g() && (a.value = r);
|
|
78
|
-
}
|
|
79
|
-
async function j() {
|
|
80
|
-
if (u.value) return !1;
|
|
81
|
-
const r = c.value?.pendingLocalChanges;
|
|
82
|
-
return c.value && !await c.value.guardChanges() ? !1 : (r && E(M(m)), !0);
|
|
83
|
-
}
|
|
84
|
-
return { m: _, notice: v, title: d, document: o, mode: a, record: p, recordIndex: s, sheet: y, busy: u, editor: c, rows: L, dataset: D, datasets: I, schemas: U, bindings: F, paper: K, labelCount: N, fetcher: A, update: E, save: i, navigate: $, prepare: g, guardChanges: j };
|
|
85
|
-
}
|
|
86
|
-
const fe = ["aria-label"], ge = { class: "mr-label-context" }, be = { class: "mr-label-identity" }, he = { class: "mr-label-spec" }, we = { class: "mr-label-record" }, ye = ["disabled"], Me = { value: "all" }, _e = { value: "single" }, Ce = {
|
|
87
|
-
key: 0,
|
|
88
|
-
class: "mr-label-record-index"
|
|
89
|
-
}, ke = ["max", "aria-label", "disabled"], xe = { class: "mr-label-count" }, Se = { class: "mr-label-help" }, Re = { class: "mr-label-main" }, Ve = { class: "mr-label-bar" }, Le = ["aria-label"], De = ["aria-pressed", "disabled"], Ee = ["aria-pressed", "disabled"], Te = {
|
|
90
|
-
key: 0,
|
|
91
|
-
class: "mr-label-notice",
|
|
92
|
-
role: "status"
|
|
93
|
-
}, Fe = { class: "mr-label-imposition" }, Oe = /* @__PURE__ */ J({
|
|
94
|
-
__name: "ReportLabelStudio",
|
|
95
|
-
props: {
|
|
96
|
-
rows: {},
|
|
97
|
-
schema: {},
|
|
98
|
-
title: {},
|
|
99
|
-
identityField: {},
|
|
100
|
-
modelValue: {},
|
|
101
|
-
preview: {},
|
|
102
|
-
save: { type: Function },
|
|
103
|
-
beforeDiscard: { type: Function },
|
|
104
|
-
messages: {}
|
|
105
|
-
},
|
|
106
|
-
emits: ["update:modelValue"],
|
|
107
|
-
setup(t, { expose: w, emit: _ }) {
|
|
108
|
-
const d = t, o = _, m = ve(d, (A) => o("update:modelValue", A)), { m: a, notice: p, title: s, document: y, mode: u, record: c, recordIndex: v, sheet: f, busy: x, editor: E, rows: L, datasets: D, schemas: I, bindings: U, paper: F, labelCount: K, fetcher: N } = m;
|
|
109
|
-
return w({ guardChanges: m.guardChanges, prepare: m.prepare, get busy() {
|
|
110
|
-
return x.value;
|
|
111
|
-
} }), (A, i) => (V(), T("section", {
|
|
112
|
-
class: X(["mr-label-studio", { "is-design": e(u) === "design" }]),
|
|
113
|
-
"aria-label": e(s)
|
|
114
|
-
}, [
|
|
115
|
-
l("aside", ge, [
|
|
116
|
-
l("div", be, [
|
|
117
|
-
i[5] || (i[5] = l("span", { "aria-hidden": "true" }, "▦", -1)),
|
|
118
|
-
l("strong", null, n(e(s)), 1),
|
|
119
|
-
l("small", null, n(e(a).session), 1)
|
|
120
|
-
]),
|
|
121
|
-
l("div", he, [
|
|
122
|
-
l("strong", null, [
|
|
123
|
-
h(n(e(F)?.widthMm) + " ", 1),
|
|
124
|
-
i[6] || (i[6] = l("i", null, "×", -1)),
|
|
125
|
-
h(" " + n(e(F)?.heightMm), 1)
|
|
126
|
-
]),
|
|
127
|
-
l("span", null, "mm · " + n(e(y).template.pages.length) + " " + n(e(a).faces), 1),
|
|
128
|
-
i[7] || (i[7] = l("small", null, "QR · CODE 128", -1))
|
|
129
|
-
]),
|
|
130
|
-
l("label", we, [
|
|
131
|
-
h(n(e(a).records), 1),
|
|
132
|
-
O(l("select", {
|
|
133
|
-
"onUpdate:modelValue": i[0] || (i[0] = (g) => z(c) ? c.value = g : null),
|
|
134
|
-
disabled: e(x) || e(u) === "design" || !d.rows.length
|
|
135
|
-
}, [
|
|
136
|
-
l("option", Me, n(e(a).all) + " · " + n(d.rows.length), 1),
|
|
137
|
-
l("option", _e, n(e(a).single), 1)
|
|
138
|
-
], 8, ye), [
|
|
139
|
-
[Y, e(c)]
|
|
140
|
-
])
|
|
141
|
-
]),
|
|
142
|
-
e(c) === "single" ? (V(), T("label", Ce, [
|
|
143
|
-
h(n(e(a).record), 1),
|
|
144
|
-
O(l("input", {
|
|
145
|
-
"onUpdate:modelValue": i[1] || (i[1] = (g) => z(v) ? v.value = g : null),
|
|
146
|
-
type: "number",
|
|
147
|
-
min: "1",
|
|
148
|
-
max: d.rows.length,
|
|
149
|
-
"aria-label": e(a).record,
|
|
150
|
-
disabled: e(x) || e(u) === "design"
|
|
151
|
-
}, null, 8, ke), [
|
|
152
|
-
[
|
|
153
|
-
ee,
|
|
154
|
-
e(v),
|
|
155
|
-
void 0,
|
|
156
|
-
{ number: !0 }
|
|
157
|
-
]
|
|
158
|
-
]),
|
|
159
|
-
h(" / " + n(d.rows.length), 1)
|
|
160
|
-
])) : q("", !0),
|
|
161
|
-
l("p", xe, [
|
|
162
|
-
l("strong", null, n(e(L).length), 1),
|
|
163
|
-
h(" " + n(e(a).count) + " ", 1),
|
|
164
|
-
i[8] || (i[8] = l("span", null, "→", -1)),
|
|
165
|
-
i[9] || (i[9] = h()),
|
|
166
|
-
e(K) !== void 0 ? (V(), T(P, { key: 0 }, [
|
|
167
|
-
l("strong", null, n(e(K)), 1),
|
|
168
|
-
h(" " + n(e(a).labels), 1)
|
|
169
|
-
], 64)) : (V(), T(P, { key: 1 }, [
|
|
170
|
-
h(n(e(a).invalidCopies), 1)
|
|
171
|
-
], 64))
|
|
172
|
-
]),
|
|
173
|
-
l("details", Se, [
|
|
174
|
-
l("summary", null, n(e(a).guide), 1),
|
|
175
|
-
l("p", null, n(e(a).help), 1),
|
|
176
|
-
l("p", null, n(e(a).printHint), 1)
|
|
177
|
-
])
|
|
178
|
-
]),
|
|
179
|
-
l("div", Re, [
|
|
180
|
-
l("header", Ve, [
|
|
181
|
-
l("nav", { "aria-label": e(s) }, [
|
|
182
|
-
l("button", {
|
|
183
|
-
type: "button",
|
|
184
|
-
"aria-pressed": e(u) === "preview",
|
|
185
|
-
disabled: e(x),
|
|
186
|
-
onClick: i[2] || (i[2] = (g) => e(m).navigate("preview"))
|
|
187
|
-
}, n(e(a).preview), 9, De),
|
|
188
|
-
l("button", {
|
|
189
|
-
type: "button",
|
|
190
|
-
"aria-pressed": e(u) === "design",
|
|
191
|
-
disabled: e(x),
|
|
192
|
-
onClick: i[3] || (i[3] = (g) => e(m).navigate("design"))
|
|
193
|
-
}, n(e(a).design), 9, Ee)
|
|
194
|
-
], 8, Le),
|
|
195
|
-
l("span", null, n(e(a).flow), 1)
|
|
196
|
-
]),
|
|
197
|
-
e(p) ? (V(), T("p", Te, n(e(p)), 1)) : q("", !0),
|
|
198
|
-
e(u) === "preview" ? (V(), H(e(se), {
|
|
199
|
-
key: 1,
|
|
200
|
-
"report-id": "labels",
|
|
201
|
-
fetcher: e(N),
|
|
202
|
-
"show-params": !1,
|
|
203
|
-
height: "100%",
|
|
204
|
-
toolbar: { exportFormats: ["pdf", "png", "html"], editing: !1, excelImport: !1 },
|
|
205
|
-
messages: { title: e(s), empty: e(a).empty }
|
|
206
|
-
}, {
|
|
207
|
-
settings: te(() => [
|
|
208
|
-
l("label", Fe, [
|
|
209
|
-
O(l("input", {
|
|
210
|
-
"onUpdate:modelValue": i[4] || (i[4] = (g) => z(f) ? f.value = g : null),
|
|
211
|
-
type: "checkbox"
|
|
212
|
-
}, null, 512), [
|
|
213
|
-
[le, e(f)]
|
|
214
|
-
]),
|
|
215
|
-
h(n(e(a).sheet), 1),
|
|
216
|
-
l("small", null, n(e(a).sheetHint), 1)
|
|
217
|
-
])
|
|
218
|
-
]),
|
|
219
|
-
_: 1
|
|
220
|
-
}, 8, ["fetcher", "messages"])) : (V(), H(oe, {
|
|
221
|
-
key: 2,
|
|
222
|
-
ref_key: "editor",
|
|
223
|
-
ref: E,
|
|
224
|
-
"model-value": e(y),
|
|
225
|
-
datasets: e(D),
|
|
226
|
-
"data-schemas": e(I),
|
|
227
|
-
"binding-datasets": e(U),
|
|
228
|
-
save: e(m).save,
|
|
229
|
-
"before-discard": t.beforeDiscard,
|
|
230
|
-
preview: t.preview,
|
|
231
|
-
"onUpdate:modelValue": e(m).update
|
|
232
|
-
}, null, 8, ["model-value", "datasets", "data-schemas", "binding-datasets", "save", "before-discard", "preview", "onUpdate:modelValue"]))
|
|
233
|
-
])
|
|
234
|
-
], 10, fe));
|
|
235
|
-
}
|
|
236
|
-
});
|
|
237
|
-
export {
|
|
238
|
-
Oe as default
|
|
239
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),C=require("@agile-team/mach-report/vue"),B=require("./designer-CyKXBhQg.cjs"),u=require("@agile-team/mach-report"),q=require("@agile-team/mach-report/codes");function K(t,v,y){const s=y??t.fields.find(a=>a.semanticRole==="identifier"&&a.field!==t.rowKey)?.field??t.rowKey??t.fields[0]?.field,n=(a,b,i,d,p=4,f=7)=>({kind:"text",text:a,leftMm:b,topMm:i,widthMm:d,heightMm:p,style:{fontSize:f,color:"#254566",verticalAlign:"middle"}}),c=a=>({kind:"line",leftMm:4,topMm:a,widthMm:72,heightMm:.2,style:{lineColor:"#c7d7e8",lineWidthPt:.5}}),l=[n(v,4,3,72,5,9),c(10)],m=[n(v,4,4,72,5,9)];return s&&(l.push({...n("",4,12,72,8,15),binding:{field:s}}),l.push({kind:"qrcode",leftMm:54,topMm:21,widthMm:21,heightMm:21,binding:{field:s},code:{quietZoneModules:4,errorCorrection:"M"}}),m.push({...n("",4,12,72,8,16),style:{fontSize:16,align:"center",color:"#254566"},binding:{field:s}}),m.push({kind:"barcode",leftMm:7,topMm:24,widthMm:66,heightMm:15,binding:{field:s},code:{symbology:"code128",quietZoneModules:10,showText:!0}})),t.fields.filter(a=>a.field!==s&&a.field!==t.rowKey).slice(0,4).forEach((a,b)=>{const i=22+b*5;l.push(n(a.label??a.field,4,i,21,4,6)),l.push({...n("",25,i,27,4,7),binding:{field:a.field,...a.format?{format:a.format}:{}}})}),l.push(c(45),n(t.fields.find(a=>a.field===s)?.label??v,4,47,72,4,6)),m.push(c(44)),u.defineReportTemplate({id:"record-label",name:v,template:u.createLabelTemplate({dataset:"records",rowKey:t.rowKey,pages:[{components:l},{components:m}]})})}function A(t,v){const y=e.computed(()=>({...B.LABEL_STUDIO_MESSAGES,...t.messages})),s=e.computed(()=>t.title??y.value.title),n=e.shallowRef(t.modelValue?u.parseReportTemplate(t.modelValue):K(t.schema,s.value,t.identityField));let c=u.parseReportTemplate(n.value);e.onMounted(()=>{t.modelValue||v(u.parseReportTemplate(n.value))});const l=e.ref("preview"),m=e.ref("all"),a=e.ref(1),b=e.ref(!1),i=e.ref(!1),d=e.ref(),p=e.ref("");let f=!1;e.onScopeDispose(()=>{f=!0});const w={assetRenderers:q.createCodeAssetRenderers()};C.provideMachReportConfig({get defaults(){return{assets:w,...t.preview}}}),e.watch(()=>t.modelValue,o=>{o&&u.serializeReportTemplate(o)!==u.serializeReportTemplate(n.value)&&(n.value=u.parseReportTemplate(o),c=u.parseReportTemplate(o))}),e.watch(()=>t.rows,()=>{m.value="all",a.value=1});function D(o){p.value="",n.value=o,v(o)}const E=e.computed(()=>m.value==="all"?t.rows:Number.isSafeInteger(a.value)&&t.rows[a.value-1]?[t.rows[a.value-1]]:[]),S=e.computed(()=>n.value.template.repeat?.dataset??"records"),T=e.computed(()=>({[S.value]:E.value})),x=e.computed(()=>({[S.value]:t.schema})),k=e.computed(()=>[{id:S.value,label:s.value,rowKey:t.schema.rowKey,fields:t.schema.fields}]),M=e.computed(()=>n.value.template.pages[0]),_=e.computed(()=>{const o=n.value.template.repeat?.copies??1;let N=0;for(const h of E.value){const V=typeof o=="number"?o:Object.getOwnPropertyDescriptor(h,o.field)?.value;if(typeof V!="number"||!Number.isSafeInteger(V)||V<1||V>1e3)return;N+=V*n.value.template.pages.length}return N}),R=e.computed(()=>{const o=u.createReportSource({labels:u.defineLabelReport({template:n.value.template,rows:E.value,dataSchema:t.schema})}),N=b.value;return async h=>{const V=await o(h);return N?u.imposeLabelSheets(V,{paper:"a4",columns:2,rows:4,marginMm:12,gapMm:4,signal:h.signal}):V}}),r=async(o,N)=>{const h=t.save?await t.save(o,N):u.parseReportTemplate(o);if(f||N.signal.aborted)throw new DOMException("标签模板保存已取消","AbortError");return c=u.parseReportTemplate(h),D(h),h};async function g(){if(!(i.value||f)){i.value=!0;try{if(l.value==="design"&&d.value){if(d.value.canApply===!1){p.value=d.value.saveReason||y.value.applyFirst;return}if(d.value.pendingLocalChanges&&await d.value.save(),d.value.pendingLocalChanges){p.value=y.value.saveFailed;return}}if(!f)return p.value="",u.parseReportTemplate(n.value)}finally{i.value=!1}}}async function L(o){o!==l.value&&await g()&&(l.value=o)}async function F(){if(i.value)return!1;const o=d.value?.pendingLocalChanges;return d.value&&!await d.value.guardChanges()?!1:(o&&D(u.parseReportTemplate(c)),!0)}return{m:y,notice:p,title:s,document:n,mode:l,record:m,recordIndex:a,sheet:b,busy:i,editor:d,rows:E,dataset:S,datasets:T,schemas:x,bindings:k,paper:M,labelCount:_,fetcher:R,update:D,save:r,navigate:L,prepare:g,guardChanges:F}}const I=["aria-label"],O={class:"mr-label-context"},U={class:"mr-label-identity"},z={class:"mr-label-spec"},P={class:"mr-label-record"},$=["disabled"],j={value:"all"},H={value:"single"},Z={key:0,class:"mr-label-record-index"},G=["max","aria-label","disabled"],Q={class:"mr-label-count"},W={class:"mr-label-help"},J={class:"mr-label-main"},X={class:"mr-label-bar"},Y=["aria-label"],ee=["aria-pressed","disabled"],te=["aria-pressed","disabled"],le={key:0,class:"mr-label-notice",role:"status"},ae={class:"mr-label-imposition"},ne=e.defineComponent({__name:"ReportLabelStudio",props:{rows:{},schema:{},title:{},identityField:{},modelValue:{},preview:{},save:{type:Function},beforeDiscard:{type:Function},messages:{}},emits:["update:modelValue"],setup(t,{expose:v,emit:y}){const s=t,n=y,c=A(s,R=>n("update:modelValue",R)),{m:l,notice:m,title:a,document:b,mode:i,record:d,recordIndex:p,sheet:f,busy:w,editor:D,rows:E,datasets:S,schemas:T,bindings:x,paper:k,labelCount:M,fetcher:_}=c;return v({guardChanges:c.guardChanges,prepare:c.prepare,get busy(){return w.value}}),(R,r)=>(e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(["mr-label-studio",{"is-design":e.unref(i)==="design"}]),"aria-label":e.unref(a)},[e.createElementVNode("aside",O,[e.createElementVNode("div",U,[r[5]||(r[5]=e.createElementVNode("span",{"aria-hidden":"true"},"▦",-1)),e.createElementVNode("strong",null,e.toDisplayString(e.unref(a)),1),e.createElementVNode("small",null,e.toDisplayString(e.unref(l).session),1)]),e.createElementVNode("div",z,[e.createElementVNode("strong",null,[e.createTextVNode(e.toDisplayString(e.unref(k)?.widthMm)+" ",1),r[6]||(r[6]=e.createElementVNode("i",null,"×",-1)),e.createTextVNode(" "+e.toDisplayString(e.unref(k)?.heightMm),1)]),e.createElementVNode("span",null,"mm · "+e.toDisplayString(e.unref(b).template.pages.length)+" "+e.toDisplayString(e.unref(l).faces),1),r[7]||(r[7]=e.createElementVNode("small",null,"QR · CODE 128",-1))]),e.createElementVNode("label",P,[e.createTextVNode(e.toDisplayString(e.unref(l).records),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":r[0]||(r[0]=g=>e.isRef(d)?d.value=g:null),disabled:e.unref(w)||e.unref(i)==="design"||!s.rows.length},[e.createElementVNode("option",j,e.toDisplayString(e.unref(l).all)+" · "+e.toDisplayString(s.rows.length),1),e.createElementVNode("option",H,e.toDisplayString(e.unref(l).single),1)],8,$),[[e.vModelSelect,e.unref(d)]])]),e.unref(d)==="single"?(e.openBlock(),e.createElementBlock("label",Z,[e.createTextVNode(e.toDisplayString(e.unref(l).record),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[1]||(r[1]=g=>e.isRef(p)?p.value=g:null),type:"number",min:"1",max:s.rows.length,"aria-label":e.unref(l).record,disabled:e.unref(w)||e.unref(i)==="design"},null,8,G),[[e.vModelText,e.unref(p),void 0,{number:!0}]]),e.createTextVNode(" / "+e.toDisplayString(s.rows.length),1)])):e.createCommentVNode("",!0),e.createElementVNode("p",Q,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(E).length),1),e.createTextVNode(" "+e.toDisplayString(e.unref(l).count)+" ",1),r[8]||(r[8]=e.createElementVNode("span",null,"→",-1)),r[9]||(r[9]=e.createTextVNode()),e.unref(M)!==void 0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("strong",null,e.toDisplayString(e.unref(M)),1),e.createTextVNode(" "+e.toDisplayString(e.unref(l).labels),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(e.unref(l).invalidCopies),1)],64))]),e.createElementVNode("details",W,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(l).guide),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(l).help),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(l).printHint),1)])]),e.createElementVNode("div",J,[e.createElementVNode("header",X,[e.createElementVNode("nav",{"aria-label":e.unref(a)},[e.createElementVNode("button",{type:"button","aria-pressed":e.unref(i)==="preview",disabled:e.unref(w),onClick:r[2]||(r[2]=g=>e.unref(c).navigate("preview"))},e.toDisplayString(e.unref(l).preview),9,ee),e.createElementVNode("button",{type:"button","aria-pressed":e.unref(i)==="design",disabled:e.unref(w),onClick:r[3]||(r[3]=g=>e.unref(c).navigate("design"))},e.toDisplayString(e.unref(l).design),9,te)],8,Y),e.createElementVNode("span",null,e.toDisplayString(e.unref(l).flow),1)]),e.unref(m)?(e.openBlock(),e.createElementBlock("p",le,e.toDisplayString(e.unref(m)),1)):e.createCommentVNode("",!0),e.unref(i)==="preview"?(e.openBlock(),e.createBlock(e.unref(C.ReportPreview),{key:1,"report-id":"labels",fetcher:e.unref(_),"show-params":!1,height:"100%",toolbar:{exportFormats:["pdf","png","html"],editing:!1,excelImport:!1},messages:{title:e.unref(a),empty:e.unref(l).empty}},{settings:e.withCtx(()=>[e.createElementVNode("label",ae,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[4]||(r[4]=g=>e.isRef(f)?f.value=g:null),type:"checkbox"},null,512),[[e.vModelCheckbox,e.unref(f)]]),e.createTextVNode(e.toDisplayString(e.unref(l).sheet),1),e.createElementVNode("small",null,e.toDisplayString(e.unref(l).sheetHint),1)])]),_:1},8,["fetcher","messages"])):(e.openBlock(),e.createBlock(B.ReportTemplateEditor,{key:2,ref_key:"editor",ref:D,"model-value":e.unref(b),datasets:e.unref(S),"data-schemas":e.unref(T),"binding-datasets":e.unref(x),save:e.unref(c).save,"before-discard":t.beforeDiscard,preview:t.preview,"onUpdate:modelValue":e.unref(c).update},null,8,["model-value","datasets","data-schemas","binding-datasets","save","before-discard","preview","onUpdate:modelValue"]))])],10,I))}});exports.default=ne;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),$=require("./injection-keys-Db_DyLkm.cjs"),M=require("@agile-team/mach-report"),ae=require("./progress-B0ctFpKf.cjs"),N=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),z={printPrepareTimeout:"打印资源准备超时,请检查字体与图片后重试。",printImageFailed:"第 {index} 张图片未能加载,已停止打印,避免输出缺失内容。",printFontFailed:"打印字体 {family} 未能加载,请检查字体资源后重试。",printPrepareFailed:"打印准备失败,请检查打印配置或改用 PDF。",printCalibration:"打印校准",printOffsetX:"水平偏移(mm)",printOffsetY:"垂直偏移(mm)",printCalibrationTest:"打印校准页",printCalibrationHint:"正值向右/向下移动,负值向左/向上。使用同规格纸张及 100% 比例,先试打一张。系统对话框关闭不代表设备已完成。"};function te(a){const r=a?.calibration?.offsetXmm??0,l=a?.calibration?.offsetYmm??0;if(![r,l].every(n=>Number.isFinite(n)&&Math.abs(n)<=20))throw new RangeError("Print calibration must be within ±20 mm");return{x:r,y:l}}function ne(a={}){if(a.fonts&&(!Array.isArray(a.fonts)||a.fonts.length>8))throw new RangeError("At most eight print font faces are allowed");return{...a,...a.fonts?{fonts:a.fonts.map(r=>({...r}))}:{},...a.calibration?{calibration:{...a.calibration}}:{}}}function K(a={}){const r=e.ref(!1),l=e.ref(null),n=e.ref(null),i=e.ref(null);function f(c=!1){r.value=!1,c&&e.nextTick(()=>n.value?.focus())}function v(c){c.target instanceof Node&&!l.value?.contains(c.target)&&f()}function s(c){c.key!=="Escape"||!r.value||c.isComposing||(c.preventDefault(),c.stopPropagation(),f(!0))}return e.watch(r,c=>{!c||a.focusOnOpen===!1||e.nextTick(()=>(i.value?.querySelector("input")??i.value?.querySelector("button:not(:disabled)"))?.focus())}),e.onMounted(()=>{document.addEventListener("pointerdown",v),document.addEventListener("focusin",v)}),e.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",v),document.removeEventListener("focusin",v)}),{opened:r,root:l,trigger:n,panel:i,close:f,onKeydown:s}}const F={paramOptionsLoading:"正在搜索选项…",paramOptionsEmpty:"没有匹配选项",paramOptionsFailed:"选项加载失败,请重试",paramOptionsMissingLoader:"尚未配置选项加载服务",paramOptionsDependencies:"请先选择上级条件",paramOptionsClear:"清除选择",paramNumberRangeStart:"最小值",paramNumberRangeEnd:"最大值"},V={prefillTitle:"安全预填",prefillHint:"按业务主键匹配白名单字段,先核对差异再整批应用;默认只补空白。",prefillCurrent:"当前值",prefillReference:"参考 / 待填值",prefillLoad:"读取参考数据",prefillApply:"应用预填",prefillMatched:"一致",prefillChanged:"可补入",prefillSkipped:"已跳过",prefillConflict:"需处理",prefillUnchanged:"值一致",prefillReadonly:"只读",prefillOccupied:"保留已有值",prefillMissingSource:"来源为空",prefillMissingTarget:"无匹配目标",prefillAmbiguous:"同源值不一致",prefillInvalid:"值格式无效",comparisonTitle:"业务数据对比",comparisonHint:"按稳定业务主键比较参考数据与本次查询,不按显示行号匹配。",comparisonLoad:"读取并对比",comparisonAdded:"新增",comparisonRemoved:"删除",comparisonChanged:"变化",comparisonUnchanged:"一致",reviewCancel:"取消读取",reviewClose:"关闭数据核对",reviewBefore:"参考值",reviewAfter:"当前 / 待填值",reviewField:"字段",reviewKey:"业务主键",reviewDelta:"差额",reviewRatio:"变化比率",reviewLocate:"定位",reviewEmpty:"暂无差异记录",reviewPrevious:"上一页",reviewNext:"下一页",reviewPage:"差异分页"};function re(a){return{...V,...Object.fromEntries(Object.entries(a).filter(([,r])=>r!==void 0))}}const U={calculationTitle:"选区计算",calculationLocal:"仅本地分析,不写回实绩、不重算原公式。请选取同一单位与量纲的数值。",calculationHint:"点击起点,Shift + 点击终点或方向键扩选。",calculationFormula:"计算方式",calculationExpression:"组合公式",calculationExpressionHint:"支持 SUM、AVERAGE/AVG、MIN、MAX、COUNT、MEDIAN 及 + - * / 和括号,不执行 Excel 公式;采用浮点数,精度仅用于展示。",calculationPrecision:"展示小数位",calculationRun:"计算选区",calculationCancel:"取消计算",calculationResult:"计算结果",calculationIncluded:"参与数值",calculationExcluded:"排除单元格",calculationEmpty:"选区没有可计算数值,计数为 0,其余结果为空。",calculationNoSelection:"先关闭设置并选择数据,再从底部工具栏打开选区计算。",calculationSum:"求和 SUM",calculationAverage:"平均值 AVERAGE",calculationMin:"最小值 MIN",calculationMax:"最大值 MAX",calculationCount:"数值计数 COUNT",calculationMedian:"中位数 MEDIAN",calculationCustom:"组合公式",calculationErrorSelection:"请选择同一明细区域中的数据。",calculationErrorLimit:"选区超过计算预算,请缩小范围后重试。",calculationErrorExpression:"公式无效,请使用支持的摘要名称、运算符与括号。",calculationErrorDivision:"除数不能为 0。",calculationErrorOverflow:"结果超出有效数值范围。",calculationErrorPrecision:"数值超出安全精度,或展示小数位不是 0 至 12 的整数。"};function le(a){const r={...U};for(const l of Object.keys(r)){const n=a[l];typeof n=="string"&&(r[l]=n)}return r}const W={...F,...V,reviewTools:"数据工具",validationTitle:"数据校验",validationError:"错误",validationWarning:"提示",validationDataset:"全表",validationRow:"行",validationMore:"请缩小范围查看更多问题",drillActions:"查看关联",drillOpening:"正在打开…",drillMissingValue:"当前单元格缺少关联参数",drillFailed:"关联内容打开失败,请重试",...z,...U,exportMenu:"导出",exportMenuDescription:"选择文件格式",clearSearch:"清除搜索",searchHint:"Enter 下一个 · Shift+Enter 上一个",searchNoMatches:"没有匹配内容",pageJump:"跳至页",pageJumpInvalid:"请输入有效页码",pageJumpHint:"Enter 跳转",pagination:"报表分页",recordNavigation:"标签记录",recordInfo:"记录 {cur} / {total}",prevRecord:"上一条记录",nextRecord:"下一条记录",dataExplanation:"来源数据说明",dataExplanationHint:"按字段查看来源与计算说明",dataExplanationSearch:"搜索说明、字段或记录",dataExplanationEmpty:"没有匹配的数据说明",dataMissingSource:"暂无来源",dataNotApplicable:"业务不适用",dataNotCalculable:"无法计算",columnSearchHint:"输入列名或字段标识",columnSearchShortcut:"↑ ↓ 选择 · Enter 定位",closeColumnDirectory:"关闭字段目录",columnResultsMore:"{count} 个匹配字段,显示前 {limit} 个;继续输入可缩小范围",columnCount:"{count} 个字段",settingsGeneral:"常规",settingsTools:"工具",settingsAdvanced:"高级",settingsAdvancedDescription:"按需开启分析能力,保持日常阅读简洁。",settingsCalculations:"启用选区计算",settingsCalculationsDescription:"选取数值后计算求和、平均值或组合公式,仅用于本地分析。",title:"报表预览",prevPage:"‹ 上一页",nextPage:"下一页 ›",pageInfo:"{cur} / {total}",fitWidth:"适宽",exportHtml:"导出 HTML",exportPdf:"导出 PDF",exportExcel:"导出 Excel",exportImage:"导出图片",exportWord:"导出 Word",exporting:"正在生成 {format}…",print:"打印",pdfWindow:"PDF 窗口",loading:"报表渲染中…",empty:"暂无预览数据",errorPrefix:"",retry:"重试",pdfFontUnavailable:"PDF 字体尚未就绪,请联系管理员检查字体配置;预览及其它导出仍可使用。",searchPlaceholder:"搜索报表内容",matchInfo:"{cur}/{total}",prevMatch:"‹",nextMatch:"›",thumbnails:"缩略图",paramsTitle:"查询条件",query:"查 询",reset:"重 置",paramRequired:"请填写{label}",paramInvalid:"{label}:{message}",paramPrompt:"请先完善查询条件",paramPromptDescription:"填写必填条件后点击查询,即可生成报表。",paramSelectPlaceholder:"请选择{label}",paramTextPlaceholder:"请输入{label}",paramRangeStart:"开始日期",paramRangeEnd:"结束日期",searching:"搜索中…",importExcel:"导入 Excel 模板",importing:"正在导入 Excel…",editCell:"编辑单元格",editingHint:"双击单元格编辑 · Enter 确认 · Esc 取消",saving:"正在保存修改…",editInvalidNumber:"请输入有效数字;清空表示无值",editInvalidBoolean:"请输入 true / false、是 / 否或 1 / 0",editConflict:"该单元格已变化,请重新打开编辑",settings:"设置",settingsDisplay:"阅读工具",settingsExport:"导出与打印",settingsData:"数据操作",settingsUnavailable:"需由接入方配置启用",settingsReset:"恢复默认",settingsClose:"关闭设置",search:"内容搜索",closeSearch:"关闭搜索",prevSearchMatch:"上一个匹配",nextSearchMatch:"下一个匹配",zoom:"缩放工具",settingsLocal:"按需启用工具,仅作用于当前预览。",editingLocal:"修改为本地草稿;不会自动写入业务数据库。",editingSaved:"修改将通过接入方配置的保存回调提交。",importLocal:"导入仅生成本地预览,不自动替换业务数据。",emptyDescription:"当前查询没有明细,请调整查询条件后重试。",undo:"撤销",redo:"重做",restoreChanges:"恢复来源值",changes:"修改明细",changesCount:"{count} 处修改",changesEmpty:"尚无修改",changesBefore:"来源值",changesAfter:"当前值",editAtomicRequired:"批量保存需要接入方提供原子 saveBatch 回调;本次未写入任何单元格。",clipboardLimit:"单次最多粘贴 10000 个单元格,请分批处理。",preferencesError:"偏好存储不可用,设置仍在当前预览中生效。",freezeHeaders:"冻结表头",frozenColumns:"冻结前列",sections:"工作表与章节",locateField:"定位字段",locateFieldPlaceholder:"输入字段标识,Enter 定位",locateFieldMissing:"未找到该字段,请核对字段标识。",importSummary:"Excel 导入摘要",importPreserved:"已导入 {sheets} 个工作表,保留内容、合并和样式。",importWarnings:"兼容性提示",importReadOnly:"公式、日期及受保护单元格保持只读;公式不重算。",conflicts:"保存冲突",editReadOnly:"选区包含只读或无权限单元格,本次修改未应用。",editMissing:"选区超出报表范围或缺少业务来源,请重新选择。",editRecalculationUnavailable:"此报表缺少重算会话或稳定数据来源,暂不支持编辑;请使用 reports/本地数据源重新加载。",editDuplicate:"选区包含同一业务字段的重复单元格,请缩小选区。",clipboardInvalid:"剪贴板内容无法识别,请使用矩形表格文本重新粘贴。",editSaved:"修改已通过保存回调确认",settingsPanes:"冻结窗格",columnDirectory:"字段目录",columnSearch:"搜索列名或字段",columnNoMatches:"未找到匹配字段",columnResults:"匹配字段",columnGroup:"明细区域",discardTitle:"保留当前修改?",discardDescription:"当前报表有尚未保存的输入或本地草稿,继续操作将替换这些内容。",discardKeep:"继续编辑",discardProceed:"放弃修改并继续",taskQuery:"正在获取数据…",taskValidate:"正在校验数据…",taskLayout:"正在生成版式…",taskAssets:"正在准备图片和字体…",taskEncode:"正在生成文件…",taskDownload:"正在准备下载…",taskPrint:"正在准备打印…",taskCancel:"取消任务",taskCancelled:"任务已取消,可重新操作。",diagnosticsSearch:"搜索提示、错误码或位置",diagnosticsMore:"共 {count} 条匹配,当前展示前 100 条;请搜索缩小范围。",diagnosticsTitle:"输出兼容性提示",diagnosticsLocate:"定位",diagnosticsLocation:"第 {page} 页 · 组件 {component}",diagnosticsStrict:"当前格式存在已知内容降级,请查看兼容性提示或选择其他输出格式。",diagnosticsDetails:"查看技术详情",diagnosticMissingImage:"图片或图表资源尚未准备完成,请重试或联系管理员。",diagnosticUnsupported:"当前输出格式会省略此内容,建议选择 PDF 或图片格式。",diagnosticUnsupportedStyle:"当前格式无法保留部分样式,请查看位置并选择适合的输出格式。",diagnosticImageFormat:"当前图片格式无法直接导出,请转换资源后重试。",diagnosticRichText:"文字内容会保留,部分字体与段落样式将简化。",diagnosticNested:"单元格中的嵌套内容会省略,单元格文字会保留。",diagnosticImageAsync:"图片需要完成加载后才能输出。",diagnosticImageDecode:"图片加载失败,请检查资源后重试。",diagnosticAssetFailed:"图表或图片生成失败,请重试或联系管理员。",diagnosticAssetBudget:"图片资源超出处理范围,请减少资源或缩小报表范围。"},J={emptyAccent:"#79a7e8",shellBg:"#f4f7fc",shellFg:"#334155",toolbarBg:"#ffffff",toolbarBorder:"#e4eaf3",toolbarFg:"#334155",btnFg:"#526078",btnBorder:"#dbe3ef",btnHoverBg:"#edf3ff",btnHoverFg:"#315fba",btnActiveBg:"#3569d4"};function Y(a={}){return{...a,defaults:a.defaults??{},presets:a.presets??{}}}function oe(a){return a}const R={showExport:!0,showPrint:!0,showPdfWindow:!0,showSettings:!0,showParams:!0,gapPx:18,pdfFontUrl:"/simhei.ttf",logger:console},ie={warn:()=>{},info:()=>{}};function se(a,r){if(!(!a&&!r))return{...a,...r,calibration:{...a?.calibration,...r?.calibration}}}function T(a,r){return{...a,...r,theme:{...a?.theme,...r?.theme},messages:{...a?.messages,...r?.messages},preview:{...a?.preview,...r?.preview},xlsx:{...a?.xlsx,...r?.xlsx},toolbar:{...a?.toolbar,...r?.toolbar},interaction:{...a?.interaction,...r?.interaction},output:{...a?.output,...r?.output},printOptions:se(a?.printOptions,r?.printOptions)}}function de(a){return{showExport:a.showExport??R.showExport,showPrint:a.showPrint??R.showPrint,showPdfWindow:a.showPdfWindow??R.showPdfWindow,showSettings:a.showSettings??R.showSettings,showParams:a.showParams??R.showParams,gapPx:a.gapPx??R.gapPx}}function ce(a,r){const l=r?a?.presets?.[r]:a?.defaultPreset?a?.presets?.[a.defaultPreset]:void 0,n=T(a?.defaults,l);return{drill:n.drill,prefill:n.prefill,dataComparison:n.dataComparison,exportExecution:n.exportExecution,loadParamOptions:n.loadParamOptions,...de(n),pdfFontUrl:n.pdfFontUrl??R.pdfFontUrl,theme:{...J,...n.theme},messages:{...W,...n.messages},logger:n.logger??R.logger,preview:{overscanPages:j(n.preview?.overscanPages,1,10,!0),searchDebounceMs:j(n.preview?.searchDebounceMs,200,2e3)},xlsx:{...n.xlsx},editable:n.editable??!1,excelImport:n.excelImport??!1,toolbar:{...n.toolbar},interaction:{...n.interaction},preferences:n.preferences,assets:n.assets,guardChanges:n.guardChanges??!0,beforeDiscard:n.beforeDiscard,output:{...n.output},printOptions:n.printOptions}}function j(a,r,l,n=!1){if(a==null||!Number.isFinite(a))return r;const i=Math.max(0,Math.min(l,a));return n?Math.floor(i):i}function ue(a){const r={};return a.emptyAccent!=null&&(r["--mrp-empty-accent"]=a.emptyAccent),a.shellBg!=null&&(r["--mrp-shell-bg"]=a.shellBg),a.shellFg!=null&&(r["--mrp-shell-fg"]=a.shellFg),a.toolbarBg!=null&&(r["--mrp-toolbar-bg"]=a.toolbarBg),a.toolbarBorder!=null&&(r["--mrp-toolbar-border"]=a.toolbarBorder),a.toolbarFg!=null&&(r["--mrp-toolbar-fg"]=a.toolbarFg),a.btnFg!=null&&(r["--mrp-btn-fg"]=a.btnFg),a.btnBorder!=null&&(r["--mrp-btn-border"]=a.btnBorder),a.btnHoverBg!=null&&(r["--mrp-btn-hover-bg"]=a.btnHoverBg),a.btnHoverFg!=null&&(r["--mrp-btn-hover-fg"]=a.btnHoverFg),a.btnActiveBg!=null&&(r["--mrp-btn-active-bg"]=a.btnActiveBg),r}function fe(a){const r=e.inject($.MACH_REPORT_CONFIG_KEY,null),l=e.computed(()=>{const n=r?.value??null,i="defaults"in a||"presets"in a||"defaultPreset"in a?Y(a):{defaults:a,presets:{}};if(!n)return i;const f={...n.presets,...i.presets};for(const v of Object.keys(f))f[v]=T(T(n.presets[v],i.defaults),i.presets[v]);return{defaults:T(n.defaults,i.defaults),presets:f,defaultPreset:i.defaultPreset??n.defaultPreset}});e.provide($.MACH_REPORT_CONFIG_KEY,l)}function pe(){return e.inject($.MACH_REPORT_CONFIG_KEY,e.computed(()=>null))}class x extends Error{constructor(r,l,n){super(l),this.name="MachReportError",this.code=r,this.cause=n}}function me(a){return a instanceof x?{code:a.code,cause:a.cause}:{code:"render",cause:a}}function ve(a){if(a instanceof x)return a;if(a instanceof M.ReportParamValidationError)return new x("param",a.message,a);if(a instanceof M.ReportSourceError)return new x(a.code,a.message,a.cause);if(a instanceof Error){const r={params:"param",config:"config",validate:"validate",fetch:"fetch"},l=a.code;if(typeof l=="string"&&Object.prototype.hasOwnProperty.call(r,l))return new x(r[l],a.message,a)}return new x("fetch",a instanceof Error?a.message:"预览加载失败",a)}let ge=0;function be(){return`mrp-params-${++ge}`}function X(a,r,l){const n=(Array.isArray(r)?r.find(i=>i?.field===a.field)?.label:void 0)??a.field;return a.code==="required"?l.paramRequired.replace("{label}",n):(l.paramInvalid??"{label}:{message}").replace("{label}",n).replace("{message}",a.message)}function ye(a){const r=e.ref({}),l=e.ref(!1);function n(){const s={};for(const c of Array.isArray(a.defs.value)?a.defs.value:[])typeof c?.field=="string"&&Object.defineProperty(s,c.field,{value:a.params()[c.field]??c.defaultValue??"",writable:!0,enumerable:!0,configurable:!0});r.value=s,l.value=!1}n(),e.watch(a.defs,n),e.watch(a.reportIds,n),e.watch(()=>JSON.stringify(a.params()),n);const i=e.computed(()=>M.validateReportParams(a.defs.value,{...a.params(),...r.value})),f=e.computed(()=>!l.value&&i.value.issues.length>0&&i.value.issues.every(s=>s.code==="required"));function v(){const s=i.value;if(!s.ok){const b=s.issues[0];return{quiet:f.value,error:new x(b.code==="definition"?"config":"param",X(b,a.defs.value,a.messages()),{issues:s.issues})}}const c={...s.values},C=new Set(a.defs.value.filter(b=>b.defaultValue!==void 0).map(b=>b.field));for(const[b,u]of Object.entries(c))u===""&&!C.has(b)&&delete c[b];return{params:c,quiet:!1}}return{values:r,attempted:l,validation:i,pendingRequired:f,reset:n,query:v}}const q=100,he=32,Ee=6e4,ke=15e3;function Se(a){let r=0;const l=new Set;function n(i,f){if(!Array.isArray(i)||f>16||i.length>q)throw new Error("Invalid option response");const v=new Set;return Object.freeze(i.map(s=>{if(++r>q||!s||l.has(s)||typeof s.value!="string"||!s.value||s.value.length>1024||typeof s.label!="string"||s.label.length>1024||v.has(s.value))throw new Error("Invalid option response");return l.add(s),v.add(s.value),Object.freeze({label:s.label,value:s.value,...s.children===void 0?{}:{children:n(s.children,f+1)}})}))}return n(a,1)}function Q(a){const r=e.ref(""),l=e.shallowRef([]),n=e.ref(!1),i=e.ref(!1),f=e.computed(()=>Object.fromEntries((Array.isArray(a.def().dependsOn)?a.def().dependsOn:[]).map(w=>[w,a.values()[w]??""]))),v=e.computed(()=>Object.values(f.value).some(w=>!w.trim())),s=e.computed(()=>!a.loader()),c=new Map;let C,b,u=0;function y(){u++,C?.abort(),C=void 0,clearTimeout(b),n.value=!1}async function g(){y(),i.value=!1;const w=a.loader(),B=a.def();if(!w||!B.optionsSource||v.value||a.disabled()||!a.opened())return;const A={source:B.optionsSource,field:B.field,query:r.value.trim().slice(0,256),params:Object.freeze({...f.value}),limit:q},o=JSON.stringify(A),p=c.get(o);if(p&&Date.now()-p.at<Ee){c.delete(o),c.set(o,p),l.value=p.options;return}const t=u,d=new AbortController;C=d,n.value=!0;const h=setTimeout(()=>d.abort(),ke);try{const S=Se(await ae.waitForOutput(w(Object.freeze({...A,signal:d.signal})),d.signal));if(t!==u)return;for(l.value=S,c.delete(o),c.set(o,{at:Date.now(),options:S});c.size>he;)c.delete(c.keys().next().value)}catch{t===u&&(i.value=!0)}finally{clearTimeout(h),t===u&&(n.value=!1,C=void 0)}}function k(){y(),l.value=[],i.value=!1,b=setTimeout(()=>{g()},180)}return e.watch(r,k,{flush:"sync"}),e.watch([()=>a.def().field,()=>a.def().type,()=>a.def().optionsSource,()=>JSON.stringify(f.value),a.loader],()=>{c.clear(),r.value="",y(),l.value=[],i.value=!1,a.opened()&&g()},{flush:"sync"}),e.watch([a.opened,a.disabled],()=>{!a.opened()||a.disabled()?y():g()},{immediate:!0}),e.onBeforeUnmount(()=>{y(),c.clear()}),{query:r,options:l,loading:n,failed:i,waiting:v,missingLoader:s,request:g,cancel:y}}const we=["aria-labelledby"],Ce=["value","disabled","aria-label","aria-invalid","aria-describedby","aria-required","onChange"],Be={value:""},Pe=["value"],Ae=["id"],Oe=e.defineComponent({__name:"ReportCascaderParam",props:{def:{},value:{},values:{},loadOptions:{type:Function},messages:{},disabled:{type:Boolean},id:{},invalid:{type:Boolean}},emits:["change"],setup(a,{emit:r}){const l=a,n=r,i=Q({def:()=>l.def,values:()=>l.values,loader:()=>l.loadOptions,opened:()=>!0,disabled:()=>l.disabled===!0}),f=e.computed(()=>{const b=M.parseReportCascaderPath(l.value);if(b)return b;try{const u=JSON.parse(l.value);return Array.isArray(u)&&u.length<=16&&u[u.length-1]===null&&u.slice(0,-1).every(y=>typeof y=="string")?u.slice(0,-1):[]}catch{return[]}}),v=e.computed(()=>({...F,...l.messages})),s=e.computed(()=>{const b=[];let u=l.def.optionsSource?i.options.value:l.def.options??[];for(let y=0;y<16&&u.length;y++)b.push(u),u=u.find(g=>g.value===f.value[y])?.children??[];return b}),c=e.computed(()=>l.def.optionsSource?i.waiting.value?v.value.paramOptionsDependencies:i.missingLoader.value?v.value.paramOptionsMissingLoader:i.failed.value?v.value.paramOptionsFailed:i.loading.value?v.value.paramOptionsLoading:s.value.length?"":v.value.paramOptionsEmpty:"");function C(b,u){if(l.disabled)return;const y=f.value.slice(0,b);u&&y.push(u);const g=u?s.value[b]?.find(k=>k.value===u)?.children:s.value[b];n("change",y.length?g?.length?JSON.stringify([...y,null]):M.formatReportCascaderPath(y):"")}return(b,u)=>(e.openBlock(),e.createElementBlock("div",{class:"mrp-cascader",role:"group","aria-labelledby":`${a.id}-label`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(y,g)=>(e.openBlock(),e.createElementBlock("select",{key:g,class:"mrp-param-input",value:f.value[g]??"",disabled:a.disabled||e.unref(i).loading.value,"aria-label":`${a.def.label??a.def.field} · ${g+1}`,"aria-invalid":a.invalid||void 0,"aria-describedby":a.invalid?`${a.id}-error`:c.value?`${a.id}-status`:void 0,"aria-required":a.def.required||void 0,onChange:k=>C(g,k.target.value)},[e.createElementVNode("option",Be,e.toDisplayString(a.def.placeholder??(a.messages.paramSelectPlaceholder??"请选择{label}").replace("{label}",a.def.label??a.def.field)),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y,k=>(e.openBlock(),e.createElementBlock("option",{key:k.value,value:k.value},e.toDisplayString(k.label),9,Pe))),128))],40,Ce))),128)),c.value?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${a.id}-status`,role:"status"},[e.createTextVNode(e.toDisplayString(c.value),1),e.unref(i).failed.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:u[0]||(u[0]=(...y)=>e.unref(i).request&&e.unref(i).request(...y))},e.toDisplayString(a.messages.retry),1)):e.createCommentVNode("",!0)],8,Ae)):e.createCommentVNode("",!0)],8,we))}}),Re=N._export_sfc(Oe,[["__scopeId","data-v-734dde49"]]),xe=["id","value","aria-labelledby","aria-invalid","aria-required","aria-describedby","aria-expanded","aria-controls","aria-activedescendant","disabled","placeholder"],Me=["aria-label","disabled"],De=["aria-label","disabled"],Ne=["id"],Te=["id","aria-label","aria-busy","aria-multiselectable"],Fe=["id","aria-selected","disabled","onPointermove","onClick"],Le={key:0,"aria-hidden":"true",class:"mrp-option-check"},Ie={key:0},$e={key:0,role:"status"},qe=e.defineComponent({__name:"ReportRemoteParamSelect",props:{def:{},value:{},values:{},loadOptions:{type:Function},messages:{},disabled:{type:Boolean},id:{},invalid:{type:Boolean}},emits:["change"],setup(a,{emit:r}){const l=a,n=r,i=K({focusOnOpen:!1}),{root:f,panel:v,opened:s}=i,c=Q({def:()=>l.def,values:()=>l.values,loader:()=>l.loadOptions,opened:()=>s.value,disabled:()=>l.disabled===!0}),{query:C,options:b,loading:u,failed:y,waiting:g,missingLoader:k}=c,w=e.computed(()=>({...F,...l.messages})),B=e.computed(()=>l.def.type==="multiSelect"),A=e.computed(()=>B.value?M.parseReportParamSelection(l.value)??[]:[l.value]),o=e.computed(()=>l.def.optionsSource?b.value:(l.def.options??[]).filter(m=>`${m.label} ${m.value}`.toLocaleLowerCase().includes(C.value.toLocaleLowerCase())).slice(0,100)),p=new Map,t=e.computed(()=>B.value?A.value.map(m=>p.get(m)??l.def.options?.find(E=>E.value===m)?.label??m).join("、"):h.value||l.value),d=e.ref(0),h=e.ref(""),S=e.ref(),D=e.computed(()=>`${l.id}-options`),O=e.computed(()=>g.value?w.value.paramOptionsDependencies:l.def.optionsSource&&k.value?w.value.paramOptionsMissingLoader:y.value?w.value.paramOptionsFailed:u.value?w.value.paramOptionsLoading:o.value.length?"":w.value.paramOptionsEmpty);e.watch(()=>l.value,()=>{h.value=""}),e.watch(o,()=>{d.value=0}),e.watch(()=>[l.def.field,l.def.optionsSource,JSON.stringify(l.def.options)],()=>{p.clear(),h.value=""}),e.watch(s,m=>{m&&e.nextTick(()=>S.value?.focus())});function H(m){if(!(l.disabled||g.value||u.value||y.value)){p.set(m.value,m.label);for(const E of p.keys())E!==m.value&&!A.value.includes(E)&&p.delete(E);if(B.value){const E=A.value.includes(m.value)?A.value.filter(P=>P!==m.value):[...A.value,m.value];if(E.length>Math.min(l.def.maxItems??100,100))return;n("change",E.length?M.formatReportParamSelection(E):"")}else n("change",m.value),i.close();e.nextTick(()=>{h.value=m.label,S.value?.focus()})}}function G(m){m.isComposing||(s.value=!0,C.value=m.target.value)}function L(){!l.disabled&&!g.value&&(!l.def.optionsSource||!k.value)&&(C.value="",s.value=!0)}function Z(m){if(!(m.isComposing||m.keyCode===229)){if(m.key==="Escape"){s.value&&(m.preventDefault(),m.stopPropagation(),i.close());return}if(["ArrowUp","ArrowDown","Enter"].includes(m.key)){if(m.preventDefault(),m.stopPropagation(),!s.value){L();return}if(m.key==="Enter"){const E=o.value[d.value];E&&H(E);return}o.value.length&&(d.value=(d.value+(m.key==="ArrowDown"?1:-1)+o.value.length)%o.value.length,e.nextTick(()=>v.value?.querySelector(`[id="${D.value}-${d.value}"]`)?.scrollIntoView?.({block:"nearest"})))}}}function _(){l.disabled||(n("change",""),h.value="",i.close())}return(m,E)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"root",ref:f,class:"mrp-remote-param"},[e.createElementVNode("div",{class:e.normalizeClass(["mrp-remote-control",{"is-invalid":a.invalid}])},[e.createVNode(N._sfc_main,{name:"search",size:14}),e.createElementVNode("input",{id:a.id,ref_key:"input",ref:S,type:"text",role:"combobox",autocomplete:"off",value:e.unref(s)?e.unref(C):t.value,maxlength:256,"aria-labelledby":`${a.id}-label`,"aria-invalid":a.invalid||void 0,"aria-required":a.def.required||void 0,"aria-describedby":a.invalid?`${a.id}-error`:e.unref(g)||a.def.optionsSource&&e.unref(k)?`${a.id}-remote-status`:void 0,"aria-autocomplete":"list","aria-expanded":e.unref(s),"aria-controls":e.unref(s)?D.value:void 0,"aria-activedescendant":e.unref(s)&&o.value.length?`${D.value}-${d.value}`:void 0,disabled:a.disabled||e.unref(g)||!!a.def.optionsSource&&e.unref(k),placeholder:a.def.placeholder??(a.messages.paramSelectPlaceholder??"请选择{label}").replace("{label}",a.def.label??a.def.field),onClick:L,onInput:G,onCompositionend:G,onKeydown:Z},null,40,xe),a.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","aria-label":w.value.paramOptionsClear,disabled:a.disabled,onClick:_},[e.createVNode(N._sfc_main,{name:"close",size:12})],8,Me)):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button","aria-label":a.def.label??a.def.field,disabled:a.disabled||e.unref(g)||!!a.def.optionsSource&&e.unref(k),onClick:E[0]||(E[0]=P=>e.unref(s)?e.unref(i).close():L())},[e.createVNode(N._sfc_main,{name:"chevron-down",size:12})],8,De))],2),e.unref(g)||a.def.optionsSource&&e.unref(k)?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${a.id}-remote-status`,role:"status"},e.toDisplayString(O.value),9,Ne)):e.createCommentVNode("",!0),e.unref(s)?(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"panel",ref:v,class:"mrp-remote-options"},[e.createElementVNode("div",{id:D.value,role:"listbox","aria-label":a.def.label??a.def.field,"aria-busy":e.unref(u),"aria-multiselectable":B.value||void 0},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(P,I)=>(e.openBlock(),e.createElementBlock("button",{id:`${D.value}-${I}`,key:P.value,type:"button",role:"option",tabindex:"-1","aria-selected":A.value.includes(P.value),class:e.normalizeClass({active:I===d.value}),disabled:e.unref(u),onPointermove:ee=>d.value=I,onMousedown:E[1]||(E[1]=e.withModifiers(()=>{},["prevent"])),onClick:ee=>H(P)},[e.createElementVNode("span",null,[B.value?(e.openBlock(),e.createElementBlock("span",Le,e.toDisplayString(A.value.includes(P.value)?"✓":""),1)):e.createCommentVNode("",!0),e.createTextVNode(e.toDisplayString(P.label),1)]),P.label!==P.value?(e.openBlock(),e.createElementBlock("small",Ie,e.toDisplayString(P.value),1)):e.createCommentVNode("",!0)],42,Fe))),128))],8,Te),O.value?(e.openBlock(),e.createElementBlock("p",$e,[e.createTextVNode(e.toDisplayString(O.value),1),e.unref(y)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:E[2]||(E[2]=(...P)=>e.unref(c).request&&e.unref(c).request(...P))},e.toDisplayString(a.messages.retry),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],512)):e.createCommentVNode("",!0)],512))}}),Ve=N._export_sfc(qe,[["__scopeId","data-v-6ad41cf4"]]),Ue={key:0,class:"mrp-params-title"},He={class:"mrp-params-grid"},Ge=["id"],je={key:0,class:"mrp-param-star","aria-hidden":"true"},ze=["value","disabled","aria-labelledby","aria-invalid","aria-describedby","aria-required","onChange"],Ke=["disabled","hidden"],We=["value"],Je=["aria-labelledby"],Ye=["type","step","value","disabled","min","max","aria-label","aria-invalid","aria-describedby","aria-required","onInput"],Xe=["type","inputmode","maxlength","placeholder","value","disabled","min","max","step","aria-labelledby","aria-invalid","aria-describedby","aria-required","onInput"],Qe=["id"],Ze={key:1,class:"mrp-params-actions"},_e=["disabled"],ea=["disabled"],aa=e.defineComponent({__name:"ReportParamPanel",props:{defs:{},modelValue:{},messages:{},attempted:{type:Boolean},issues:{default:void 0},showActions:{type:Boolean,default:!0},showTitle:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},loadOptions:{type:Function,default:void 0}},emits:["update:modelValue","query","reset"],setup(a,{expose:r,emit:l}){const n=a,i=l,f=e.ref({...n.modelValue}),v=e.ref(null),s=be();e.watch(()=>n.modelValue,o=>{f.value={...o}});const c=e.computed(()=>n.issues??M.validateReportParams(n.defs,f.value).issues),C=e.computed(()=>(Array.isArray(n.defs)?n.defs:[]).filter(o=>o&&typeof o.field=="string").map((o,p)=>({def:o,id:`${s}-${p}`,label:o.label??o.field,value:f.value[o.field]??"",error:n.attempted?c.value.find(t=>t.field===o.field):void 0}))),b=e.computed(()=>{const o=new Map;for(const p of n.defs)for(const t of Array.isArray(p.dependsOn)?p.dependsOn:[]){const d=o.get(t)??[];d.push(p.field),o.set(t,d)}return o});function u(o,p){if(n.disabled||f.value[o]===p)return;f.value={...f.value,[o]:p};const t=new Set([o]),d=[o];for(let h=0;h<d.length;h++)for(const S of b.value.get(d[h])??[])t.has(S)||(f.value[S]="",t.add(S),d.push(S));i("update:modelValue",{...f.value})}function y(o){return o.type==="number"?"number":o.type==="date"||o.type==="month"?o.type:"text"}function g(o,p,t=!1){if(!t)return o.split("/")[p]??"";try{const d=JSON.parse(o);return Array.isArray(d)&&(typeof d[p]=="number"||typeof d[p]=="string")?String(d[p]):""}catch{return""}}function k(o,p,t){return t?!!g(o,0)!=!!g(o,1)?!g(o,p)||void 0:!0:void 0}function w(o,p,t){const d=o.type==="numberRange",h=f.value[o.field]??"",S=[g(h,0,d),g(h,1,d)];S[p]=t;const D=d?JSON.stringify(S.map(O=>O===""?null:Number(O))):S.join("/");u(o.field,S.every(O=>!O)?"":D)}function B(o){o.isComposing||i("query")}function A(){v.value?.querySelector('[aria-invalid="true"]')?.focus()}return r({focusInvalid:A}),(o,p)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"root",ref:v,class:"mrp-params"},[a.showTitle!==!1?(e.openBlock(),e.createElementBlock("span",Ue,e.toDisplayString(a.messages.paramsTitle),1)):e.createCommentVNode("",!0),e.createElementVNode("div",He,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,t=>(e.openBlock(),e.createElementBlock("label",{key:t.id,class:e.normalizeClass(["mrp-param",{"mrp-param-missing":!!t.error}])},[e.createElementVNode("span",{id:`${t.id}-label`,class:"mrp-param-label"},[e.createTextVNode(e.toDisplayString(t.label),1),t.def.required?(e.openBlock(),e.createElementBlock("i",je,"*")):e.createCommentVNode("",!0)],8,Ge),t.def.type==="cascader"?(e.openBlock(),e.createBlock(Re,{key:0,id:t.id,def:t.def,value:t.value,values:f.value,"load-options":a.loadOptions,messages:a.messages,disabled:a.disabled,invalid:!!t.error,onChange:d=>u(t.def.field,d)},null,8,["id","def","value","values","load-options","messages","disabled","invalid","onChange"])):t.def.optionsSource||t.def.type==="multiSelect"?(e.openBlock(),e.createBlock(Ve,{key:1,id:t.id,def:t.def,value:t.value,values:f.value,"load-options":a.loadOptions,messages:a.messages,disabled:a.disabled,invalid:!!t.error,onChange:d=>u(t.def.field,d)},null,8,["id","def","value","values","load-options","messages","disabled","invalid","onChange"])):(t.def.type??"text")==="select"?(e.openBlock(),e.createElementBlock("select",{key:2,class:"mrp-param-input",value:t.value,disabled:a.disabled,"aria-labelledby":`${t.id}-label`,"aria-invalid":t.error?!0:void 0,"aria-describedby":t.error?`${t.id}-error`:void 0,"aria-required":t.def.required||void 0,onChange:d=>u(t.def.field,d.target.value),onKeydown:e.withKeys(B,["enter"])},[e.createElementVNode("option",{value:"",disabled:t.def.required,hidden:t.def.required},e.toDisplayString(t.def.placeholder??(a.messages.paramSelectPlaceholder??"请选择{label}").replace("{label}",t.label)),9,Ke),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.def.options??[],d=>(e.openBlock(),e.createElementBlock("option",{key:d.value,value:d.value},e.toDisplayString(d.label),9,We))),128))],40,ze)):t.def.type==="dateRange"||t.def.type==="numberRange"?(e.openBlock(),e.createElementBlock("div",{key:3,class:"mrp-param-range",role:"group","aria-labelledby":`${t.id}-label`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.def.type==="numberRange"?[a.messages.paramNumberRangeStart??"最小值",a.messages.paramNumberRangeEnd??"最大值"]:[a.messages.paramRangeStart??"开始日期",a.messages.paramRangeEnd??"结束日期"],(d,h)=>(e.openBlock(),e.createElementBlock("input",{key:h,class:"mrp-param-input",type:t.def.type==="numberRange"?"number":"date",step:t.def.type==="numberRange"?"any":void 0,value:g(t.value,h,t.def.type==="numberRange"),disabled:a.disabled,min:t.def.min,max:t.def.max,"aria-label":`${t.label} · ${d}`,"aria-invalid":t.def.type==="numberRange"?!!t.error||void 0:k(t.value,h,t.error),"aria-describedby":t.error?`${t.id}-error`:void 0,"aria-required":t.def.required||void 0,onInput:S=>w(t.def,h,S.target.value),onKeydown:e.withKeys(B,["enter"])},null,40,Ye))),128))],8,Je)):(e.openBlock(),e.createElementBlock("input",{key:4,class:"mrp-param-input",type:y(t.def),inputmode:t.def.type==="year"?"numeric":void 0,maxlength:t.def.type==="year"?4:void 0,placeholder:t.def.placeholder??(a.messages.paramTextPlaceholder??"请输入{label}").replace("{label}",t.label),value:t.value,disabled:a.disabled,min:t.def.min,max:t.def.max,step:t.def.type==="number"?"any":void 0,"aria-labelledby":`${t.id}-label`,"aria-invalid":t.error?!0:void 0,"aria-describedby":t.error?`${t.id}-error`:void 0,"aria-required":t.def.required||void 0,onInput:d=>u(t.def.field,d.target.value),onKeydown:e.withKeys(B,["enter"])},null,40,Xe)),t.error?(e.openBlock(),e.createElementBlock("small",{key:5,id:`${t.id}-error`,class:"mrp-param-error",role:"status"},e.toDisplayString(e.unref(X)(t.error,a.defs,a.messages)),9,Qe)):e.createCommentVNode("",!0)],2))),128))]),a.showActions!==!1?(e.openBlock(),e.createElementBlock("div",Ze,[e.createElementVNode("button",{class:"mrp-nav mrp-param-query",type:"button",disabled:a.disabled,onClick:p[0]||(p[0]=t=>o.$emit("query"))},e.toDisplayString(a.messages.query),9,_e),e.createElementVNode("button",{class:"mrp-nav",type:"button",disabled:a.disabled,onClick:p[1]||(p[1]=t=>o.$emit("reset"))},e.toDisplayString(a.messages.reset),9,ea)])):e.createCommentVNode("",!0)],512))}}),ta=N._export_sfc(aa,[["__scopeId","data-v-e74206d7"]]);exports.DEFAULT_CALCULATION_MESSAGES=U;exports.DEFAULT_DATA_REVIEW_MESSAGES=V;exports.DEFAULT_MESSAGES=W;exports.DEFAULT_PRINT_MESSAGES=z;exports.DEFAULT_THEME=J;exports.MachReportError=x;exports.PARAM_OPTIONS_MESSAGES=F;exports.ReportParamPanel=ta;exports.SILENT_LOGGER=ie;exports.defineMachReportConfig=Y;exports.defineMachReportPreset=oe;exports.normalizeReportLoadError=ve;exports.printCalibration=te;exports.provideMachReportConfig=fe;exports.resolveCalculationMessages=le;exports.resolveConfig=ce;exports.resolveDataReviewMessages=re;exports.snapshotPrintOptions=ne;exports.themeToCssVars=ue;exports.toErrorDetail=me;exports.useMachReportConfig=pe;exports.usePopover=K;exports.useReportParams=ye;
|