@agile-team/mach-report 2.19.0 → 2.20.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 +19 -4
- package/dist/ExcelBindingWizard-B7aeRg46.cjs +1 -0
- package/dist/{ExcelBindingWizard-xJIYmnZ_.js → ExcelBindingWizard-Chn6ZC2-.js} +350 -350
- package/dist/ParamEditor-BdFMa1CX.cjs +1 -0
- package/dist/{ParamEditor-D1wWemaf.js → ParamEditor-o-7E7WZZ.js} +10 -10
- package/dist/{ReportBatchPanel-B88R-fME.js → ReportBatchPanel-CNJ4Useq.js} +2 -2
- package/dist/{ReportBatchPanel-BkJFqeEW.cjs → ReportBatchPanel-DVpmB7tG.cjs} +1 -1
- package/dist/ReportLabelStudio-Drsm9sAS.cjs +1 -0
- package/dist/ReportLabelStudio-r8VFnhGQ.js +589 -0
- package/dist/ReportParamPanel-CVpK8mFc.cjs +1 -0
- package/dist/{ReportParamPanel-mQkeN70Q.js → ReportParamPanel-peB-KEmm.js} +10 -2
- package/dist/{ReportPreview-BUr8GQUW.js → ReportPreview-CGcxwkAn.js} +2255 -2133
- package/dist/ReportPreview-hlwvZ1wf.cjs +6 -0
- package/dist/{ReportTemplateLibrary-BOh2MgjQ.cjs → ReportTemplateLibrary-DjjyZnZB.cjs} +1 -1
- package/dist/{ReportTemplateLibrary-BGELmgd3.js → ReportTemplateLibrary-DyIJhJjX.js} +1 -1
- package/dist/RuleEditor-BVuRn_OQ.cjs +1 -0
- package/dist/{RuleEditor-CoLqgehG.js → RuleEditor-BeknHHOD.js} +176 -172
- package/dist/{TemplateOutlinePanel-DU95loB-.js → TemplateOutlinePanel-Bv8CxbXS.js} +1 -1
- package/dist/{TemplateOutlinePanel-DiG8tRRe.cjs → TemplateOutlinePanel-D6TXg1aV.cjs} +1 -1
- package/dist/{TemplateReusePanel-DE1KSD6c.js → TemplateReusePanel-CfousvPY.js} +1 -1
- package/dist/{TemplateReusePanel-G-Y299wc.cjs → TemplateReusePanel-wrSbd_mr.cjs} +1 -1
- package/dist/{TemplateReviewPanel-KQx9ts0D.cjs → TemplateReviewPanel-BKFcSbTh.cjs} +1 -1
- package/dist/{TemplateReviewPanel-vqFJ_Y9o.js → TemplateReviewPanel-F2tqWNLO.js} +1 -1
- package/dist/artifact-integrity.json +36 -36
- package/dist/designer-B52ddmHO.js +6676 -0
- package/dist/designer-Dtsw_rh7.cjs +2 -0
- package/dist/designer.cjs +1 -1
- package/dist/designer.d.cts +142 -5
- package/dist/designer.d.ts +142 -5
- package/dist/designer.js +1 -1
- package/dist/{plugin-4VuL38Nc.cjs → plugin-BMsIIJDh.cjs} +1 -1
- package/dist/{plugin-YWHcI3t4.js → plugin-Co1oKD7T.js} +1 -1
- package/dist/sbom.cdx.json +1 -1
- package/dist/server.cjs +1 -1
- package/dist/server.js +1 -1
- package/dist/style.css +1 -1
- 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 +5 -5
- 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-D7PvKzs3.cjs +0 -6
- package/dist/RuleEditor-XaLcCdTb.cjs +0 -1
- package/dist/designer-CyKXBhQg.cjs +0 -2
- package/dist/designer-fVvpYg8H.js +0 -5824
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),M=require("./ReportParamPanel-CVpK8mFc.cjs"),j=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),q=require("@agile-team/mach-report"),J=require("./designer-Dtsw_rh7.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]),I=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 x(){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||x()});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,reset:x,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:I,changes:D,pending:m,conflicted:s,error:o,reset:x,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:I,issues:_,issuesByRow:D}=o,x=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(x.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(I)?(e.openBlock(),e.createElementBlock("p",Vt,e.toDisplayString(e.unref(V)?e.unref(t).paramConflict:e.unref(I)),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,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent as se, computed as M, openBlock as d, createElementBlock as u, Fragment as L, renderList as U, normalizeStyle as re, createElementVNode as n, toDisplayString as i, ref as T, watch as ie, getCurrentInstance as de, unref as e, normalizeClass as z, createCommentVNode as b, createTextVNode as k, withDirectives as N, mergeProps as D, vModelDynamic as G, vModelText as K, vModelCheckbox as Q, createVNode as le, vModelSelect as ne, nextTick as ue } from "vue";
|
|
2
|
-
import { u as me, h as pe, R as ce, b as ve } from "./ReportParamPanel-
|
|
2
|
+
import { u as me, h as pe, R as ce, b as ve } from "./ReportParamPanel-peB-KEmm.js";
|
|
3
3
|
import { _ as oe } from "./_plugin-vue_export-helper-8SL1F89S.js";
|
|
4
4
|
import { validateReportParamDefinitions as be } from "@agile-team/mach-report";
|
|
5
|
-
import { P as ye, u as fe } from "./designer-
|
|
5
|
+
import { P as ye, u as fe } from "./designer-B52ddmHO.js";
|
|
6
6
|
const he = { class: "mr-param-tree" }, ge = { "aria-hidden": "true" }, _e = ["value", "aria-label", "disabled", "onInput"], Ie = ["value", "aria-label", "disabled", "onInput"], Se = ["aria-label", "disabled", "onClick"], $e = ["aria-label", "disabled", "onClick"], ke = ["disabled"], Oe = /* @__PURE__ */ se({
|
|
7
7
|
__name: "ParamTreeOptionsEditor",
|
|
8
8
|
props: {
|
|
@@ -124,7 +124,7 @@ function Le(t) {
|
|
|
124
124
|
S.push({ message: f.message, controls: Re(f.message) }), v.set(g, S);
|
|
125
125
|
}
|
|
126
126
|
return v;
|
|
127
|
-
}), E = M(() => x.value.keys().next().value), V = M(() => c.value[I.value]),
|
|
127
|
+
}), E = M(() => x.value.keys().next().value), V = M(() => c.value[I.value]), j = M(() => s.value.filter((v) => v.path === `$.paramDefs.${I.value}`));
|
|
128
128
|
function Y(v) {
|
|
129
129
|
return (x.value.get(I.value) ?? []).filter((f) => f.controls.includes(v)).map((f) => f.message);
|
|
130
130
|
}
|
|
@@ -132,11 +132,11 @@ function Le(t) {
|
|
|
132
132
|
const v = JSON.parse($.value).map((g) => g.field), f = O.value.map((g) => g.field);
|
|
133
133
|
return { added: f.filter((g) => g && !v.includes(g)), removed: v.filter((g) => !f.includes(g)) };
|
|
134
134
|
});
|
|
135
|
-
function
|
|
135
|
+
function P() {
|
|
136
136
|
$.value = _(), c.value = (t.document.template.params ?? []).map(X), I.value = Math.min(I.value, Math.max(0, c.value.length - 1)), a.value = JSON.stringify(c.value), r.value = "";
|
|
137
137
|
}
|
|
138
138
|
ie(_, () => {
|
|
139
|
-
y.value ||
|
|
139
|
+
y.value || P();
|
|
140
140
|
});
|
|
141
141
|
function W() {
|
|
142
142
|
if (t.readonly) return;
|
|
@@ -164,11 +164,11 @@ function Le(t) {
|
|
|
164
164
|
return r.value = v instanceof Error ? v.message : String(v), !1;
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
|
-
return fe({ key: () => "params", baseline: () => $.value, pending: () => y.value, snapshot: () => JSON.stringify({ rows: c.value, selected: I.value, initial: a.value }), restore(v, f) {
|
|
167
|
+
return fe({ key: () => "params", baseline: () => $.value, pending: () => y.value, reset: P, snapshot: () => JSON.stringify({ rows: c.value, selected: I.value, initial: a.value }), restore(v, f) {
|
|
168
168
|
const g = JSON.parse(v);
|
|
169
169
|
if (!Array.isArray(g.rows) || g.rows.length > 1e3 || typeof g.initial != "string") throw new Error("Invalid parameter draft");
|
|
170
170
|
c.value = g.rows.map((S) => ({ ...S, minItems: S.minItems ?? "", maxItems: S.maxItems ?? "", optionsMode: S.optionsMode ?? "static", optionsSource: S.optionsSource ?? "", dependsOn: S.dependsOn ?? [] })), I.value = Math.max(0, Math.min(g.selected, g.rows.length - 1)), a.value = g.initial, $.value = f;
|
|
171
|
-
} }), { m: R, rows: c, selected: I, current: V, definitions: O, issues: s, issuesByRow: x, firstIssueIndex: E, controlIssues: Y, currentIssues:
|
|
171
|
+
} }), { m: R, rows: c, selected: I, current: V, definitions: O, issues: s, issuesByRow: x, firstIssueIndex: E, controlIssues: Y, currentIssues: j, changes: A, pending: y, conflicted: p, error: r, reset: P, add: W, remove: H, move: w, setType: q, apply: C };
|
|
172
172
|
}
|
|
173
173
|
const Ne = ["aria-label"], Ee = { class: "mr-param-editor__directory" }, Ue = ["aria-label"], Ye = ["aria-pressed", "aria-label", "onClick"], Ae = { class: "mr-param-editor__directory-title" }, Je = {
|
|
174
174
|
key: 0,
|
|
@@ -217,7 +217,7 @@ const Ne = ["aria-label"], Ee = { class: "mr-param-editor__directory" }, Ue = ["
|
|
|
217
217
|
},
|
|
218
218
|
emits: ["dirty"],
|
|
219
219
|
setup(t, { expose: _, emit: $ }) {
|
|
220
|
-
const c = t, I = $, r = Le(c), R = me(), O = M(() => c.loadOptions ?? pe(R.value).loadParamOptions), { m: a, rows: y, selected: p, current: s, changes: x, pending: E, conflicted: V, error:
|
|
220
|
+
const c = t, I = $, r = Le(c), R = me(), O = M(() => c.loadOptions ?? pe(R.value).loadParamOptions), { m: a, rows: y, selected: p, current: s, changes: x, pending: E, conflicted: V, error: j, issues: Y, issuesByRow: A } = r, P = M(() => {
|
|
221
221
|
const m = y.value.filter((o, l) => l !== p.value).map((o) => ({ field: o.field, label: o.label || o.field || a.value.paramUnnamed }));
|
|
222
222
|
for (const o of s.value?.dependsOn ?? []) m.some((l) => l.field === o) || m.push({ field: o, label: `${o} · ${a.value.paramDependencyUnavailable}` });
|
|
223
223
|
return m;
|
|
@@ -564,7 +564,7 @@ const Ne = ["aria-label"], Ee = { class: "mr-param-editor__directory" }, Ue = ["
|
|
|
564
564
|
tabindex: "-1"
|
|
565
565
|
}, S("dependsOn")), [
|
|
566
566
|
n("legend", null, i(e(a).paramDependencies), 1),
|
|
567
|
-
(d(!0), u(L, null, U(
|
|
567
|
+
(d(!0), u(L, null, U(P.value, (l, h) => (d(), u("label", { key: h }, [
|
|
568
568
|
N(n("input", {
|
|
569
569
|
"onUpdate:modelValue": o[13] || (o[13] = (J) => e(s).dependsOn = J),
|
|
570
570
|
type: "checkbox",
|
|
@@ -707,7 +707,7 @@ const Ne = ["aria-label"], Ee = { class: "mr-param-editor__directory" }, Ue = ["
|
|
|
707
707
|
])) : b("", !0),
|
|
708
708
|
n("small", null, i(e(a).paramRenameHint), 1)
|
|
709
709
|
])) : b("", !0),
|
|
710
|
-
e(V) || e(
|
|
710
|
+
e(V) || e(j) ? (d(), u("p", wa, i(e(V) ? e(a).paramConflict : e(j)), 1)) : b("", !0),
|
|
711
711
|
n("footer", null, [
|
|
712
712
|
n("button", {
|
|
713
713
|
type: "button",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ref as C, computed as _, watch as Y, onBeforeUnmount as ne, defineComponent as le, openBlock as d, createElementBlock as m, unref as e, createElementVNode as u, toDisplayString as r, Fragment as j, renderList as ee, createTextVNode as X, createCommentVNode as I, normalizeClass as se, createVNode as ie, nextTick as te } from "vue";
|
|
2
|
-
import { b as ce, R as re } from "./ReportParamPanel-
|
|
2
|
+
import { b as ce, R as re } from "./ReportParamPanel-peB-KEmm.js";
|
|
3
3
|
import { validateReportParams as ae } from "@agile-team/mach-report";
|
|
4
4
|
import { f as oe, r as ue } from "./batch-DGCt44XM.js";
|
|
5
|
-
import { R as de } from "./designer-
|
|
5
|
+
import { R as de } from "./designer-B52ddmHO.js";
|
|
6
6
|
import { _ as me } from "./_plugin-vue_export-helper-8SL1F89S.js";
|
|
7
7
|
function be(a) {
|
|
8
8
|
const p = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),j=require("./ReportParamPanel-sOANVRz-.cjs"),H=require("@agile-team/mach-report"),J=require("./batch-DYcokH4v.cjs"),z=require("./designer-CyKXBhQg.cjs"),G=require("./_plugin-vue_export-helper-BLmdZLlg.cjs");function Q(a){const f={};return!a||typeof a!="object"||(typeof a.instanceId=="string"&&a.instanceId.length>0&&a.instanceId.length<=512&&(f.instanceId=a.instanceId),typeof a.label=="string"&&(f.label=a.label.slice(0,512))),f}function W(a){return Object.fromEntries((Array.isArray(a)?a:[]).filter(f=>f&&typeof f.field=="string").map(f=>[f.field,f.defaultValue??""]))}function U(a){return(a instanceof Error?a.message:String(a)).slice(0,1e3)}function X(a){try{return{cases:J.snapshotReportBatchCases(a.initialCases??[],a.maxCases??100),error:""}}catch(f){return{cases:[],error:U(f)}}}function Y(a){let f=0;const D=n=>({key:++f,item:{id:n.id,params:{...n.params}},status:"pending"}),N=X(a),y=new Set(N.cases.map(n=>n.id));let r=N.cases.length+1;const i=e.ref(N.cases.map(D)),h=e.ref(!1),b=e.ref(!1),x=e.ref(!1),_=e.ref(N.error),V=e.ref(),g=e.ref({completed:0,total:0,failed:0,cancelled:0}),E=e.computed(()=>({...z.REPORT_BATCH_MESSAGES,...a.messages})),R=e.computed(()=>i.value.map(n=>H.validateReportParams(a.paramDefs,n.item.params))),q=e.computed(()=>i.value.filter(n=>n.status==="failed").length),$=e.computed(()=>i.value.filter(n=>n.status==="pending"||n.status==="cancelled").length),P=e.computed(()=>i.value.filter(n=>n.status==="cancelled").length),p=e.computed(()=>a.maxCases??100);let k,d=0;function I(n=W(a.paramDefs)){for(;y.has(`case-${r}`);)r++;return{id:`case-${r++}`,params:{...n}}}function M(n){if(a.readonly||h.value)return;if(i.value.length>=p.value){_.value=E.value.batchLimit.replace("{count}",String(p.value));return}const s=D(I(n?.item.params));return i.value.push(s),_.value="",s}function A(n){!h.value&&!a.readonly&&(i.value=i.value.filter(s=>s.key!==n))}function S(n,s){if(h.value||a.readonly)return;const o=i.value.find(u=>u.key===n);!o||o.status==="completed"||JSON.stringify(o.item.params)===JSON.stringify(s)||(o.item=o.submitted?I(s):{...o.item,params:{...s}},o.submitted=!1,o.status="pending",delete o.receipt,delete o.error)}function B(){h.value&&(b.value=!0,k?.abort())}function O(n){return i.value.filter(s=>n?s.status==="failed":s.status==="pending"||s.status==="cancelled")}function K(n){const s=n.map(u=>H.validateReportParams(a.paramDefs,u.item.params)),o=s.findIndex(u=>!u.ok);if(o>=0){V.value=n[o].key,_.value=E.value.batchInvalid;return}return n.map((u,C)=>({id:u.item.id,params:{...s[C].values}}))}function L(n,s){n.status=s.status,s.status==="completed"&&(n.receipt=s.value),s.status==="failed"&&(n.error=s.error.message.slice(0,1e3))}async function T(n,s,o,u,C){u===d&&(n.status="running");try{const m=Q(await C(s,o));return u===d&&(n.receipt=m,n.status="completed"),m}catch(m){throw u===d&&(n.status=o.signal.aborted?"cancelled":"failed",n.error=U(m)),m}}async function w(n=!1){if(a.readonly||h.value)return;const s=O(n);if(!s.length)return;x.value=!0,_.value="",V.value=void 0;const o=K(s);if(!o)return;const u=++d,C=a.execute;k=new AbortController,h.value=!0,b.value=!1,g.value={completed:0,total:s.length,failed:0,cancelled:0};for(const m of s)m.status="pending",m.submitted=!0,delete m.receipt,delete m.error;try{const m=await J.runReportBatch(o,(c,l)=>T(s[l.index],c,l,u,C),{concurrency:a.concurrency,maxCases:p.value,signal:k.signal,onProgress:c=>{u===d&&(g.value=c)}});u===d&&m.forEach((c,l)=>L(s[l],c))}catch(m){u===d&&(_.value=U(m))}finally{u===d&&(h.value=!1,b.value=!1,k=void 0)}}return e.watch(()=>[JSON.stringify(a.paramDefs),a.execute,a.readonly,a.concurrency,a.maxCases],()=>{h.value&&(B(),_.value=E.value.batchChanged)}),e.onBeforeUnmount(()=>{d++,k?.abort()}),{m:E,rows:i,validations:R,running:h,cancelling:b,attempted:x,error:_,progress:g,failures:q,unfinished:$,cancelled:P,maximum:p,invalidKey:V,add:M,remove:A,setParams:S,cancel:B,run:w}}const Z=["aria-label","aria-busy"],ee={class:"mr-batch__heading"},te=["disabled"],ae={key:0,class:"mr-batch__toolbar"},ne=["aria-label"],le=["aria-pressed","onClick"],re=["disabled"],se={key:1,class:"mr-batch__empty"},ce={key:2,class:"mr-batch__empty"},oe={key:3,class:"mr-batch__rows"},ie=["data-batch-key","aria-label"],ue={class:"mr-batch__status",role:"status"},de={class:"mr-batch__row-actions"},me=["aria-label","disabled","onClick"],fe=["aria-label","disabled","onClick"],pe={key:0,class:"mr-batch__hint"},be={key:1,class:"mr-batch__row-error",role:"alert"},ve={key:2,class:"mr-batch__receipt"},ye=["title"],he=["onClick"],ge={key:4,class:"mr-batch__error",role:"alert"},ke={class:"mr-batch__progress","aria-live":"polite"},_e=["value","max","aria-label"],Ee={key:1},Se={class:"mr-batch__actions"},Be=["disabled"],Ce=["disabled"],Ne=["disabled"],Ve=["aria-label"],De=["disabled"],xe=["disabled"],Re=e.defineComponent({__name:"ReportBatchPanel",props:{paramDefs:{},execute:{type:Function},initialCases:{},readonly:{type:Boolean},concurrency:{},maxCases:{},messages:{},paramMessages:{}},emits:["open-instance"],setup(a,{emit:f}){const D=a,N=f,y=Y(D),{m:r,rows:i,validations:h,running:b,cancelling:x,attempted:_,error:V,progress:g,failures:E,unfinished:R,cancelled:q,maximum:$}=y,P=e.ref(),p=e.ref(1),k=10,d=e.ref("all"),I=e.ref(),M=e.ref(),A=e.computed(()=>i.value.map((c,l)=>({row:c,index:l}))),S=e.computed(()=>A.value.filter(({row:c})=>d.value==="all"||c.status===d.value)),B=e.computed(()=>Math.max(1,Math.ceil(S.value.length/k))),O=e.computed(()=>S.value.slice((p.value-1)*k,p.value*k)),K=e.computed(()=>r.value.batchPage.replace("{page}",String(p.value)).replace("{pages}",String(B.value)).replace("{total}",String(S.value.length)));e.watch(B,c=>{p.value=Math.min(p.value,c)}),e.watch(d,()=>{p.value=1});const L=e.computed(()=>({...j.DEFAULT_MESSAGES,...D.paramMessages})),T=e.computed(()=>r.value.batchProgress.replace("{completed}",String(g.value.completed)).replace("{total}",String(g.value.total)).replace("{failed}",String(g.value.failed)).replace("{cancelled}",String(g.value.cancelled))),w=e.computed(()=>{const c={all:i.value.length,pending:0,running:0,completed:0,failed:0,cancelled:0};for(const l of i.value)c[l.status]++;return Object.keys(c).filter(l=>l!=="running"||b.value||c.running>0||d.value==="running").map(l=>({value:l,count:c[l],label:l==="all"?r.value.batchAll:n({status:l})}))});function n(c){return{pending:r.value.batchPending,running:r.value.batchRunning,completed:r.value.batchCompleted,failed:r.value.batchFailed,cancelled:r.value.batchCancelled}[c.status]}async function s(c){const l=y.add(c);l&&(await u(l.key,"all"),o(l.key)?.querySelector(".mrp-param-input")?.focus())}function o(c){return P.value?.querySelector(`[data-batch-key="${c}"]`)}async function u(c,l){d.value=l,await e.nextTick();const t=S.value.findIndex(({row:v})=>v.key===c);t<0||(p.value=Math.floor(t/k)+1,I.value=c,await e.nextTick())}async function C(){const c=i.value.filter(v=>v.status==="failed"),l=c.findIndex(v=>v.key===M.value),t=c[(l+1)%c.length];t&&(M.value=t.key,await u(t.key,"failed"),o(t.key)?.focus())}async function m(c=!1){const l=y.run(c);if(y.invalidKey.value!==void 0){const t=y.invalidKey.value;await u(t,"all"),o(t)?.querySelector('[aria-invalid="true"]')?.focus()}await l}return(c,l)=>(e.openBlock(),e.createElementBlock("section",{ref_key:"root",ref:P,class:"mr-batch","aria-label":e.unref(r).batchTitle,"aria-busy":e.unref(b)},[e.createElementVNode("header",ee,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(r).batchTitle),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(r).batchDescription),1)]),e.createElementVNode("button",{type:"button",disabled:a.readonly||e.unref(b)||e.unref(i).length>=e.unref($),onClick:l[0]||(l[0]=t=>s())},"+ "+e.toDisplayString(e.unref(r).batchAdd),9,te)]),e.unref(i).length?(e.openBlock(),e.createElementBlock("div",ae,[e.createElementVNode("div",{class:"mr-batch__filters",role:"group","aria-label":e.unref(r).batchFilter},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,t=>(e.openBlock(),e.createElementBlock("button",{key:t.value,type:"button","aria-pressed":d.value===t.value,onClick:v=>d.value=t.value},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),e.createElementVNode("span",null,e.toDisplayString(t.count),1)],8,le))),128))],8,ne),e.unref(E)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"mr-batch__next-failure",disabled:e.unref(b),onClick:C},e.toDisplayString(e.unref(r).batchNextFailure)+" ↓",9,re)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.unref(i).length?S.value.length?(e.openBlock(),e.createElementBlock("div",oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O.value,({row:t,index:v})=>(e.openBlock(),e.createElementBlock("article",{key:t.key,class:e.normalizeClass(["mr-batch__row",[`is-${t.status}`,{"is-located":t.key===I.value}]]),"data-batch-key":t.key,tabindex:"-1","aria-label":`${e.unref(r).batchCase} ${v+1} · ${n(t)}`},[e.createElementVNode("header",null,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(r).batchCase)+" "+e.toDisplayString(v+1),1),e.createElementVNode("span",ue,e.toDisplayString(n(t)),1)]),e.createElementVNode("div",de,[e.createElementVNode("button",{type:"button","aria-label":`${t.status==="completed"?e.unref(r).batchDuplicateCompleted:e.unref(r).batchDuplicate} ${v+1}`,disabled:a.readonly||e.unref(b)||e.unref(i).length>=e.unref($),onClick:F=>s(t)},e.toDisplayString(t.status==="completed"?e.unref(r).batchDuplicateCompleted:e.unref(r).batchDuplicate),9,me),e.createElementVNode("button",{type:"button","aria-label":`${e.unref(r).batchRemove} ${v+1}`,disabled:a.readonly||e.unref(b),onClick:F=>e.unref(y).remove(t.key)},"×",8,fe)])]),e.createVNode(j.ReportParamPanel,{defs:a.paramDefs,"model-value":t.item.params,messages:L.value,attempted:e.unref(_),issues:e.unref(h)[v]?.issues,"show-actions":!1,"show-title":!1,disabled:a.readonly||e.unref(b)||t.status==="completed","onUpdate:modelValue":F=>e.unref(y).setParams(t.key,F)},null,8,["defs","model-value","messages","attempted","issues","disabled","onUpdate:modelValue"]),t.status==="completed"?(e.openBlock(),e.createElementBlock("p",pe,e.toDisplayString(e.unref(r).batchCompletedHint),1)):e.createCommentVNode("",!0),t.status==="failed"&&t.error?(e.openBlock(),e.createElementBlock("p",be,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),t.status==="completed"?(e.openBlock(),e.createElementBlock("div",ve,[e.createElementVNode("span",{title:t.receipt?.label||t.receipt?.instanceId},e.toDisplayString(t.receipt?.label||(t.receipt?.instanceId?t.receipt.instanceId:e.unref(r).batchNoInstance)),9,ye),t.receipt?.instanceId?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:F=>N("open-instance",{...t.receipt})},e.toDisplayString(e.unref(r).batchOpen)+" ↗",9,he)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],10,ie))),128))])):(e.openBlock(),e.createElementBlock("div",ce,e.toDisplayString(e.unref(r).batchNoMatches),1)):(e.openBlock(),e.createElementBlock("div",se,e.toDisplayString(e.unref(r).batchEmpty),1)),e.unref(V)?(e.openBlock(),e.createElementBlock("p",ge,e.toDisplayString(e.unref(V)),1)):e.createCommentVNode("",!0),e.createElementVNode("footer",null,[e.createElementVNode("div",ke,[e.unref(g).total?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("progress",{value:e.unref(g).completed,max:e.unref(g).total,"aria-label":T.value},null,8,_e),e.createElementVNode("span",null,e.toDisplayString(T.value),1)],64)):(e.openBlock(),e.createElementBlock("span",Ee,e.toDisplayString(e.unref(i).length)+" / "+e.toDisplayString(e.unref($)),1))]),e.createElementVNode("div",Se,[e.unref(E)&&!e.unref(b)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:a.readonly,onClick:l[1]||(l[1]=t=>m(!0))},e.toDisplayString(e.unref(r).batchRetry)+" ("+e.toDisplayString(e.unref(E))+")",9,Be)):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",disabled:e.unref(x),onClick:l[2]||(l[2]=(...t)=>e.unref(y).cancel&&e.unref(y).cancel(...t))},e.toDisplayString(e.unref(x)?e.unref(r).batchCancelling:e.unref(r).batchCancel),9,Ce)):(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"is-primary",disabled:a.readonly||!e.unref(R),onClick:l[3]||(l[3]=t=>m())},[e.createTextVNode(e.toDisplayString(e.unref(q)?e.unref(r).batchContinue:e.unref(r).batchRun),1),e.unref(R)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" ("+e.toDisplayString(e.unref(R))+")",1)],64)):e.createCommentVNode("",!0)],8,Ne))]),B.value>1?(e.openBlock(),e.createElementBlock("nav",{key:0,class:"mr-batch__pagination","aria-label":e.unref(r).batchPages},[e.createElementVNode("span",null,e.toDisplayString(K.value),1),e.createElementVNode("button",{type:"button",disabled:p.value<=1,onClick:l[4]||(l[4]=t=>p.value--)},e.toDisplayString(e.unref(r).batchPrevious),9,De),e.createElementVNode("button",{type:"button",disabled:p.value>=B.value,onClick:l[5]||(l[5]=t=>p.value++)},e.toDisplayString(e.unref(r).batchNext),9,xe)],8,Ve)):e.createCommentVNode("",!0)])],8,Z))}}),$e=G._export_sfc(Re,[["__scopeId","data-v-45980136"]]);exports.default=$e;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),j=require("./ReportParamPanel-CVpK8mFc.cjs"),H=require("@agile-team/mach-report"),J=require("./batch-DYcokH4v.cjs"),z=require("./designer-Dtsw_rh7.cjs"),G=require("./_plugin-vue_export-helper-BLmdZLlg.cjs");function Q(a){const f={};return!a||typeof a!="object"||(typeof a.instanceId=="string"&&a.instanceId.length>0&&a.instanceId.length<=512&&(f.instanceId=a.instanceId),typeof a.label=="string"&&(f.label=a.label.slice(0,512))),f}function W(a){return Object.fromEntries((Array.isArray(a)?a:[]).filter(f=>f&&typeof f.field=="string").map(f=>[f.field,f.defaultValue??""]))}function U(a){return(a instanceof Error?a.message:String(a)).slice(0,1e3)}function X(a){try{return{cases:J.snapshotReportBatchCases(a.initialCases??[],a.maxCases??100),error:""}}catch(f){return{cases:[],error:U(f)}}}function Y(a){let f=0;const D=n=>({key:++f,item:{id:n.id,params:{...n.params}},status:"pending"}),N=X(a),y=new Set(N.cases.map(n=>n.id));let r=N.cases.length+1;const i=e.ref(N.cases.map(D)),h=e.ref(!1),b=e.ref(!1),x=e.ref(!1),_=e.ref(N.error),V=e.ref(),g=e.ref({completed:0,total:0,failed:0,cancelled:0}),E=e.computed(()=>({...z.REPORT_BATCH_MESSAGES,...a.messages})),R=e.computed(()=>i.value.map(n=>H.validateReportParams(a.paramDefs,n.item.params))),q=e.computed(()=>i.value.filter(n=>n.status==="failed").length),$=e.computed(()=>i.value.filter(n=>n.status==="pending"||n.status==="cancelled").length),P=e.computed(()=>i.value.filter(n=>n.status==="cancelled").length),p=e.computed(()=>a.maxCases??100);let k,d=0;function I(n=W(a.paramDefs)){for(;y.has(`case-${r}`);)r++;return{id:`case-${r++}`,params:{...n}}}function M(n){if(a.readonly||h.value)return;if(i.value.length>=p.value){_.value=E.value.batchLimit.replace("{count}",String(p.value));return}const s=D(I(n?.item.params));return i.value.push(s),_.value="",s}function A(n){!h.value&&!a.readonly&&(i.value=i.value.filter(s=>s.key!==n))}function S(n,s){if(h.value||a.readonly)return;const o=i.value.find(u=>u.key===n);!o||o.status==="completed"||JSON.stringify(o.item.params)===JSON.stringify(s)||(o.item=o.submitted?I(s):{...o.item,params:{...s}},o.submitted=!1,o.status="pending",delete o.receipt,delete o.error)}function B(){h.value&&(b.value=!0,k?.abort())}function O(n){return i.value.filter(s=>n?s.status==="failed":s.status==="pending"||s.status==="cancelled")}function K(n){const s=n.map(u=>H.validateReportParams(a.paramDefs,u.item.params)),o=s.findIndex(u=>!u.ok);if(o>=0){V.value=n[o].key,_.value=E.value.batchInvalid;return}return n.map((u,C)=>({id:u.item.id,params:{...s[C].values}}))}function L(n,s){n.status=s.status,s.status==="completed"&&(n.receipt=s.value),s.status==="failed"&&(n.error=s.error.message.slice(0,1e3))}async function T(n,s,o,u,C){u===d&&(n.status="running");try{const m=Q(await C(s,o));return u===d&&(n.receipt=m,n.status="completed"),m}catch(m){throw u===d&&(n.status=o.signal.aborted?"cancelled":"failed",n.error=U(m)),m}}async function w(n=!1){if(a.readonly||h.value)return;const s=O(n);if(!s.length)return;x.value=!0,_.value="",V.value=void 0;const o=K(s);if(!o)return;const u=++d,C=a.execute;k=new AbortController,h.value=!0,b.value=!1,g.value={completed:0,total:s.length,failed:0,cancelled:0};for(const m of s)m.status="pending",m.submitted=!0,delete m.receipt,delete m.error;try{const m=await J.runReportBatch(o,(c,l)=>T(s[l.index],c,l,u,C),{concurrency:a.concurrency,maxCases:p.value,signal:k.signal,onProgress:c=>{u===d&&(g.value=c)}});u===d&&m.forEach((c,l)=>L(s[l],c))}catch(m){u===d&&(_.value=U(m))}finally{u===d&&(h.value=!1,b.value=!1,k=void 0)}}return e.watch(()=>[JSON.stringify(a.paramDefs),a.execute,a.readonly,a.concurrency,a.maxCases],()=>{h.value&&(B(),_.value=E.value.batchChanged)}),e.onBeforeUnmount(()=>{d++,k?.abort()}),{m:E,rows:i,validations:R,running:h,cancelling:b,attempted:x,error:_,progress:g,failures:q,unfinished:$,cancelled:P,maximum:p,invalidKey:V,add:M,remove:A,setParams:S,cancel:B,run:w}}const Z=["aria-label","aria-busy"],ee={class:"mr-batch__heading"},te=["disabled"],ae={key:0,class:"mr-batch__toolbar"},ne=["aria-label"],le=["aria-pressed","onClick"],re=["disabled"],se={key:1,class:"mr-batch__empty"},ce={key:2,class:"mr-batch__empty"},oe={key:3,class:"mr-batch__rows"},ie=["data-batch-key","aria-label"],ue={class:"mr-batch__status",role:"status"},de={class:"mr-batch__row-actions"},me=["aria-label","disabled","onClick"],fe=["aria-label","disabled","onClick"],pe={key:0,class:"mr-batch__hint"},be={key:1,class:"mr-batch__row-error",role:"alert"},ve={key:2,class:"mr-batch__receipt"},ye=["title"],he=["onClick"],ge={key:4,class:"mr-batch__error",role:"alert"},ke={class:"mr-batch__progress","aria-live":"polite"},_e=["value","max","aria-label"],Ee={key:1},Se={class:"mr-batch__actions"},Be=["disabled"],Ce=["disabled"],Ne=["disabled"],Ve=["aria-label"],De=["disabled"],xe=["disabled"],Re=e.defineComponent({__name:"ReportBatchPanel",props:{paramDefs:{},execute:{type:Function},initialCases:{},readonly:{type:Boolean},concurrency:{},maxCases:{},messages:{},paramMessages:{}},emits:["open-instance"],setup(a,{emit:f}){const D=a,N=f,y=Y(D),{m:r,rows:i,validations:h,running:b,cancelling:x,attempted:_,error:V,progress:g,failures:E,unfinished:R,cancelled:q,maximum:$}=y,P=e.ref(),p=e.ref(1),k=10,d=e.ref("all"),I=e.ref(),M=e.ref(),A=e.computed(()=>i.value.map((c,l)=>({row:c,index:l}))),S=e.computed(()=>A.value.filter(({row:c})=>d.value==="all"||c.status===d.value)),B=e.computed(()=>Math.max(1,Math.ceil(S.value.length/k))),O=e.computed(()=>S.value.slice((p.value-1)*k,p.value*k)),K=e.computed(()=>r.value.batchPage.replace("{page}",String(p.value)).replace("{pages}",String(B.value)).replace("{total}",String(S.value.length)));e.watch(B,c=>{p.value=Math.min(p.value,c)}),e.watch(d,()=>{p.value=1});const L=e.computed(()=>({...j.DEFAULT_MESSAGES,...D.paramMessages})),T=e.computed(()=>r.value.batchProgress.replace("{completed}",String(g.value.completed)).replace("{total}",String(g.value.total)).replace("{failed}",String(g.value.failed)).replace("{cancelled}",String(g.value.cancelled))),w=e.computed(()=>{const c={all:i.value.length,pending:0,running:0,completed:0,failed:0,cancelled:0};for(const l of i.value)c[l.status]++;return Object.keys(c).filter(l=>l!=="running"||b.value||c.running>0||d.value==="running").map(l=>({value:l,count:c[l],label:l==="all"?r.value.batchAll:n({status:l})}))});function n(c){return{pending:r.value.batchPending,running:r.value.batchRunning,completed:r.value.batchCompleted,failed:r.value.batchFailed,cancelled:r.value.batchCancelled}[c.status]}async function s(c){const l=y.add(c);l&&(await u(l.key,"all"),o(l.key)?.querySelector(".mrp-param-input")?.focus())}function o(c){return P.value?.querySelector(`[data-batch-key="${c}"]`)}async function u(c,l){d.value=l,await e.nextTick();const t=S.value.findIndex(({row:v})=>v.key===c);t<0||(p.value=Math.floor(t/k)+1,I.value=c,await e.nextTick())}async function C(){const c=i.value.filter(v=>v.status==="failed"),l=c.findIndex(v=>v.key===M.value),t=c[(l+1)%c.length];t&&(M.value=t.key,await u(t.key,"failed"),o(t.key)?.focus())}async function m(c=!1){const l=y.run(c);if(y.invalidKey.value!==void 0){const t=y.invalidKey.value;await u(t,"all"),o(t)?.querySelector('[aria-invalid="true"]')?.focus()}await l}return(c,l)=>(e.openBlock(),e.createElementBlock("section",{ref_key:"root",ref:P,class:"mr-batch","aria-label":e.unref(r).batchTitle,"aria-busy":e.unref(b)},[e.createElementVNode("header",ee,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(r).batchTitle),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(r).batchDescription),1)]),e.createElementVNode("button",{type:"button",disabled:a.readonly||e.unref(b)||e.unref(i).length>=e.unref($),onClick:l[0]||(l[0]=t=>s())},"+ "+e.toDisplayString(e.unref(r).batchAdd),9,te)]),e.unref(i).length?(e.openBlock(),e.createElementBlock("div",ae,[e.createElementVNode("div",{class:"mr-batch__filters",role:"group","aria-label":e.unref(r).batchFilter},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,t=>(e.openBlock(),e.createElementBlock("button",{key:t.value,type:"button","aria-pressed":d.value===t.value,onClick:v=>d.value=t.value},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),e.createElementVNode("span",null,e.toDisplayString(t.count),1)],8,le))),128))],8,ne),e.unref(E)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"mr-batch__next-failure",disabled:e.unref(b),onClick:C},e.toDisplayString(e.unref(r).batchNextFailure)+" ↓",9,re)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.unref(i).length?S.value.length?(e.openBlock(),e.createElementBlock("div",oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O.value,({row:t,index:v})=>(e.openBlock(),e.createElementBlock("article",{key:t.key,class:e.normalizeClass(["mr-batch__row",[`is-${t.status}`,{"is-located":t.key===I.value}]]),"data-batch-key":t.key,tabindex:"-1","aria-label":`${e.unref(r).batchCase} ${v+1} · ${n(t)}`},[e.createElementVNode("header",null,[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(r).batchCase)+" "+e.toDisplayString(v+1),1),e.createElementVNode("span",ue,e.toDisplayString(n(t)),1)]),e.createElementVNode("div",de,[e.createElementVNode("button",{type:"button","aria-label":`${t.status==="completed"?e.unref(r).batchDuplicateCompleted:e.unref(r).batchDuplicate} ${v+1}`,disabled:a.readonly||e.unref(b)||e.unref(i).length>=e.unref($),onClick:F=>s(t)},e.toDisplayString(t.status==="completed"?e.unref(r).batchDuplicateCompleted:e.unref(r).batchDuplicate),9,me),e.createElementVNode("button",{type:"button","aria-label":`${e.unref(r).batchRemove} ${v+1}`,disabled:a.readonly||e.unref(b),onClick:F=>e.unref(y).remove(t.key)},"×",8,fe)])]),e.createVNode(j.ReportParamPanel,{defs:a.paramDefs,"model-value":t.item.params,messages:L.value,attempted:e.unref(_),issues:e.unref(h)[v]?.issues,"show-actions":!1,"show-title":!1,disabled:a.readonly||e.unref(b)||t.status==="completed","onUpdate:modelValue":F=>e.unref(y).setParams(t.key,F)},null,8,["defs","model-value","messages","attempted","issues","disabled","onUpdate:modelValue"]),t.status==="completed"?(e.openBlock(),e.createElementBlock("p",pe,e.toDisplayString(e.unref(r).batchCompletedHint),1)):e.createCommentVNode("",!0),t.status==="failed"&&t.error?(e.openBlock(),e.createElementBlock("p",be,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),t.status==="completed"?(e.openBlock(),e.createElementBlock("div",ve,[e.createElementVNode("span",{title:t.receipt?.label||t.receipt?.instanceId},e.toDisplayString(t.receipt?.label||(t.receipt?.instanceId?t.receipt.instanceId:e.unref(r).batchNoInstance)),9,ye),t.receipt?.instanceId?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:F=>N("open-instance",{...t.receipt})},e.toDisplayString(e.unref(r).batchOpen)+" ↗",9,he)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],10,ie))),128))])):(e.openBlock(),e.createElementBlock("div",ce,e.toDisplayString(e.unref(r).batchNoMatches),1)):(e.openBlock(),e.createElementBlock("div",se,e.toDisplayString(e.unref(r).batchEmpty),1)),e.unref(V)?(e.openBlock(),e.createElementBlock("p",ge,e.toDisplayString(e.unref(V)),1)):e.createCommentVNode("",!0),e.createElementVNode("footer",null,[e.createElementVNode("div",ke,[e.unref(g).total?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("progress",{value:e.unref(g).completed,max:e.unref(g).total,"aria-label":T.value},null,8,_e),e.createElementVNode("span",null,e.toDisplayString(T.value),1)],64)):(e.openBlock(),e.createElementBlock("span",Ee,e.toDisplayString(e.unref(i).length)+" / "+e.toDisplayString(e.unref($)),1))]),e.createElementVNode("div",Se,[e.unref(E)&&!e.unref(b)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:a.readonly,onClick:l[1]||(l[1]=t=>m(!0))},e.toDisplayString(e.unref(r).batchRetry)+" ("+e.toDisplayString(e.unref(E))+")",9,Be)):e.createCommentVNode("",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",disabled:e.unref(x),onClick:l[2]||(l[2]=(...t)=>e.unref(y).cancel&&e.unref(y).cancel(...t))},e.toDisplayString(e.unref(x)?e.unref(r).batchCancelling:e.unref(r).batchCancel),9,Ce)):(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"is-primary",disabled:a.readonly||!e.unref(R),onClick:l[3]||(l[3]=t=>m())},[e.createTextVNode(e.toDisplayString(e.unref(q)?e.unref(r).batchContinue:e.unref(r).batchRun),1),e.unref(R)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" ("+e.toDisplayString(e.unref(R))+")",1)],64)):e.createCommentVNode("",!0)],8,Ne))]),B.value>1?(e.openBlock(),e.createElementBlock("nav",{key:0,class:"mr-batch__pagination","aria-label":e.unref(r).batchPages},[e.createElementVNode("span",null,e.toDisplayString(K.value),1),e.createElementVNode("button",{type:"button",disabled:p.value<=1,onClick:l[4]||(l[4]=t=>p.value--)},e.toDisplayString(e.unref(r).batchPrevious),9,De),e.createElementVNode("button",{type:"button",disabled:p.value>=B.value,onClick:l[5]||(l[5]=t=>p.value++)},e.toDisplayString(e.unref(r).batchNext),9,xe)],8,Ve)):e.createCommentVNode("",!0)])],8,Z))}}),$e=G._export_sfc(Re,[["__scopeId","data-v-45980136"]]);exports.default=$e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),de=require("@agile-team/mach-report/vue"),te=require("./designer-Dtsw_rh7.cjs"),H=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),g=require("@agile-team/mach-report"),Ce=require("@agile-team/mach-report/codes"),Z=[{id:"material",widthMm:80,heightMm:55,faces:1},{id:"paired",widthMm:80,heightMm:55,faces:2},{id:"warehouse",widthMm:100,heightMm:60,faces:1}];function ce(t,i){return i??t.fields.find(r=>r.semanticRole==="identifier"&&r.field!==t.rowKey)?.field??t.rowKey??t.fields[0]?.field}function W(t,i,r){const s=t.fields.filter(l=>l.field!==i&&l.field!==t.rowKey);if(r===void 0)return s.map((l,d)=>({field:l,index:d,priority:Me(l)})).sort((l,d)=>l.priority-d.priority||l.index-d.index).slice(0,5).map(l=>l.field);const c=new Map(s.map(l=>[l.field,l])),n=[...new Set(r)];if(n.length>5)throw new Error("成品标签最多显示 5 个字段,请先精简显示字段");return n.map(l=>{const d=c.get(l);if(!d)throw new Error(`标签显示字段未在业务契约中声明:${l}`);return d})}function Me(t){return/^(?:name|title|label|category)$/i.test(t.field)||/名称|品名|品类|类别/.test(t.label??"")?0:t.semanticRole==="dimension"?1:t.semanticRole==="measure"&&t.unit?2:t.semanticRole==="identifier"?3:t.semanticRole==="date"?4:5}function _e(t="paired"){return Z.find(i=>i.id===t)??Z[1]}const ne="#173450",X="#586c82";function k(t,i,r,s,c=4,n=7){return{kind:"text",text:t,leftMm:i,topMm:r,widthMm:s,heightMm:c,style:{fontSize:n,lineHeight:1.1,color:ne,verticalAlign:"middle"}}}function le(t,i){return{kind:"line",leftMm:4,topMm:t,widthMm:i-8,heightMm:.2,style:{lineColor:"#c9d7e5",lineWidthPt:.55}}}function fe(t,i,r){const s=[];let c=4;if(r?.logoData){if(!/^data:image\/(?:png|jpeg);base64,/i.test(r.logoData))throw new Error("标签Logo须使用PNG或JPEG图片数据");s.push({kind:"image",leftMm:4,topMm:3,widthMm:12,heightMm:7,imageData:r.logoData,meta:{labelBrandLogo:!0}}),c=19}return s.push({...k(r?.name?.trim()||t,c,3,i-c-4,5,9),style:{fontSize:9,color:"#205582"}}),r?.tagline?.trim()&&s.push({...k(r.tagline.trim(),c,8,i-c-4,3,5.5),style:{fontSize:5.5,color:X}}),s.push(le(12,i)),s}function me(t,i,r,s,c=4.7){return t.flatMap((n,l)=>{const d=i+l*c;return[{...k(n.label??n.field,4,d,r,4,6),style:{fontSize:6,color:X}},{...k("",4+r,d,s,4,7),binding:{field:n.field,...n.format?{format:n.format}:{}}}]})}function Te(t,i){return t?[{...k("",4,14,i,7,14),binding:{field:t},style:{fontSize:14,color:ne}}]:[]}function xe(t,i,r,s){const c=W(t,r,s.fields),n=[...fe(i,80,s.brand),...Te(r,71),...me(c,23,21,27)];r&&n.push({kind:"qrcode",leftMm:55,topMm:23,widthMm:20,heightMm:20,binding:{field:r},code:{quietZoneModules:4,errorCorrection:"M"}}),n.push(le(48,80));const l=t.fields.find(d=>d.field===r)?.label??i;return n.push({...k(l,4,49,71,3,5.8),style:{fontSize:5.8,color:X}}),n}function ie(t,i,r,s,c=80){const n=fe(i,c,s.brand);r&&(n.push({...k("",4,14,c-8,8,16),binding:{field:r},style:{fontSize:16,align:"center",color:ne}}),n.push({kind:"qrcode",leftMm:(c-20)/2,topMm:23,widthMm:20,heightMm:20,binding:{field:r},code:{quietZoneModules:4,errorCorrection:"M"}})),n.push(le(44,c));const l=W(t,r,s.fields);return c===100?l.forEach((d,v)=>{const b=v%2===0?4:52,p=46+Math.floor(v/2)*4.3;n.push({...k(d.label??d.field,b,p,19,3.7,5.8),style:{fontSize:5.8,color:X}}),n.push({...k("",b+19,p,25,3.7,6.5),binding:{field:d.field,...d.format?{format:d.format}:{}}})}):n.push(...me(l.slice(0,1),46,24,c-32,5)),n}function se(t,i,r,s={}){const c=ce(t,r),n=_e(s.preset),l=Object.fromEntries(["name","tagline"].flatMap(p=>{const V=s.brand?.[p];return typeof V=="string"?[[p,V]]:[]})),d={preset:n.id,brand:l,fields:W(t,c,s.fields).map(p=>p.field)},v=n.id==="warehouse"?ie(t,i,c,s,n.widthMm):xe(t,i,c,s),b=[{widthMm:n.widthMm,heightMm:n.heightMm,meta:{title:`${i} · 1`,labelStudio:d},components:v}];return n.faces===2&&b.push({widthMm:n.widthMm,heightMm:n.heightMm,meta:{title:`${i} · 2`,labelStudio:d},components:ie(t,i,c,s)}),g.defineReportTemplate({id:"record-label",name:i,template:g.createLabelTemplate({dataset:"records",rowKey:t.rowKey,pages:b})})}function T(t){const i=t.template.pages[0]?.meta?.labelStudio;if(!i||typeof i!="object")return;const r=i,s=Z.find(d=>d.id===r.preset);if(!s)return;const c=Array.isArray(r.fields)?r.fields.filter(d=>typeof d=="string"):void 0;if(c&&c.length>5)return;const n=r.brand&&typeof r.brand=="object"?r.brand:{},l={};for(const d of["name","tagline","logoData"])typeof n[d]=="string"&&(l[d]=n[d]);return{preset:s.id,fields:c,brand:l}}function ue(t,i,r){const s=new Set(t.fields.filter(n=>n.field!==i&&n.field!==t.rowKey).map(n=>n.field)),c=r?.filter(n=>s.has(n));return W(t,i,c).map(n=>n.field)}function Be(t,i){const r=e.computed(()=>({...te.LABEL_STUDIO_MESSAGES,...t.messages})),s=e.computed(()=>t.title??r.value.title),c={preset:t.preset,brand:t.brand,fields:t.fields},n=e.shallowRef(t.modelValue?g.parseReportTemplate(t.modelValue):se(t.schema,s.value,t.identityField,c));let l=g.parseReportTemplate(n.value);e.onMounted(()=>{t.modelValue||i(g.parseReportTemplate(n.value))});const d=e.ref("preview"),v=e.ref("all"),b=e.ref(1),p=e.ref(!1),V=e.ref(!1),m=e.ref(),w=te.useTemplateDiscard(()=>t.beforeDiscard),N=e.computed(()=>V.value||w.pending.value||m.value?.saving===!0||m.value?.blocked===!0),E=e.ref(""),K=e.computed(()=>ce(t.schema,t.identityField)),x=e.ref(T(n.value)?.preset??(t.modelValue?void 0:t.preset??"paired")),R=e.ref(T(n.value)?.brand?.name??t.brand?.name??""),L=e.ref(T(n.value)?.brand?.tagline??t.brand?.tagline??""),h=e.ref(ue(t.schema,K.value,T(n.value)?.fields??t.fields)),O=e.ref(""),J=e.computed(()=>t.schema.fields.filter(a=>a.field!==K.value&&a.field!==t.schema.rowKey)),F=e.computed(()=>h.value.map(a=>({field:a,label:t.schema.fields.find(f=>f.field===a)?.label??a}))),Y=e.computed(()=>{const a=O.value.trim().toLocaleLowerCase();return J.value.filter(f=>`${f.label??""} ${f.field}`.toLocaleLowerCase().includes(a)).slice(0,30)}),$=e.computed(()=>{const a=n.value.template.pages[0]?.components.find(f=>f.kind==="image"&&f.meta?.labelBrandLogo);return a?.kind==="image"?a.imageData:t.brand?.logoData}),A=e.computed(()=>({preset:x.value,fields:h.value,brand:{...t.brand,...$.value?{logoData:$.value}:{},name:R.value,tagline:L.value}}));let C=JSON.stringify(T(n.value));const U=e.computed(()=>!T(n.value)),B=()=>JSON.stringify({preset:x.value,fields:h.value,name:R.value,tagline:L.value}),z=e.ref(B()),q=e.computed(()=>B()!==z.value),I=e.computed(()=>q.value||m.value?.pendingLocalChanges===!0);function j(){const a=T(n.value);x.value=a?.preset,h.value=ue(t.schema,K.value,a?.fields??t.fields),R.value=a?.brand?.name??t.brand?.name??"",L.value=a?.brand?.tagline??t.brand?.tagline??"",C=JSON.stringify(a),z.value=B()}function G(a){const f=T(a),y=JSON.stringify(f);y!==C&&(C=y,j())}let S=!1;e.onScopeDispose(()=>{S=!0});const Q={assetRenderers:Ce.createCodeAssetRenderers()};de.provideMachReportConfig({get defaults(){return{assets:Q,...t.preview}}}),e.watch(()=>t.modelValue,a=>{a&&g.serializeReportTemplate(a)!==g.serializeReportTemplate(n.value)&&(n.value=g.parseReportTemplate(a),l=g.parseReportTemplate(a),G(a))}),e.watch(()=>t.rows,()=>{v.value="all",b.value=1});function D(a){E.value="",n.value=a,G(a),i(a)}function P(a,f){f&&h.value.length<5&&!h.value.includes(a)?h.value=[...h.value,a]:f||(h.value=h.value.filter(y=>y!==a))}function u(){if(N.value||S)return!1;if(!x.value)return E.value=r.value.choosePreset,!1;if(m.value?.canApply===!1)return E.value=m.value.saveReason||r.value.applyFirst,!1;try{const a=se(t.schema,s.value,t.identityField,A.value),f=n.value.template.repeat;if(f?.copies!==void 0&&a.template.repeat&&(a.template.repeat.copies=f.copies),m.value?.applyTemplate){if(!m.value.applyTemplate(a.template))return E.value=r.value.saveFailed,!1}else D({...n.value,template:a.template});return z.value=B(),!0}catch(a){return E.value=a instanceof Error?a.message:r.value.saveFailed,!1}}const o=e.computed(()=>v.value==="all"?t.rows:Number.isSafeInteger(b.value)&&t.rows[b.value-1]?[t.rows[b.value-1]]:[]),M=e.computed(()=>n.value.template.repeat?.dataset??"records"),pe=e.computed(()=>({[M.value]:o.value})),ge=e.computed(()=>({[M.value]:o.value.slice(0,3)})),ve=e.computed(()=>({[M.value]:t.schema})),be=e.computed(()=>[{id:M.value,label:s.value,rowKey:t.schema.rowKey,fields:t.schema.fields}]),he=e.computed(()=>n.value.template.pages[0]),ae=e.computed(()=>n.value.template.pages.length),ye=e.computed(()=>{const a=n.value.template.repeat?.copies??1;return typeof a=="number"?a:void 0}),Ve=e.computed(()=>{const a=n.value.template.repeat?.copies;return typeof a=="object"?a.field:void 0}),re=e.computed(()=>{const a=Ve.value;if(!a)return;let f=0;for(const y of o.value){const _=Object.getOwnPropertyDescriptor(y,a)?.value;if(typeof _!="number"||!Number.isSafeInteger(_)||_<1||_>1e3)return;f+=_}return f}),Ne=e.computed(()=>{const a=ye.value;return a!==void 0?Number.isSafeInteger(a)&&a>=1&&a<=1e3?o.value.length*a*ae.value:void 0:re.value===void 0?void 0:re.value*ae.value}),Ee=e.computed(()=>{const a=g.createReportSource({labels:g.defineLabelReport({template:n.value.template,rows:o.value,dataSchema:t.schema})}),f=p.value;return async y=>{const _=await a(y);return f?g.imposeLabelSheets(_,{paper:"a4",columns:2,rows:4,marginMm:12,gapMm:4,signal:y.signal}):_}}),we=async(a,f)=>{const y=t.save?await t.save(a,f):g.parseReportTemplate(a);if(S||f.signal.aborted)throw new DOMException("标签模板保存已取消","AbortError");return l=g.parseReportTemplate(y),D(y),y};async function oe(){if(!(N.value||S)&&!(q.value&&!u())){V.value=!0;try{if(m.value){if(m.value.canApply===!1){E.value=m.value.saveReason||r.value.applyFirst;return}if(m.value.pendingLocalChanges&&await m.value.save(),m.value.pendingLocalChanges){E.value=r.value.saveFailed;return}}if(!S)return E.value="",g.parseReportTemplate(n.value)}finally{V.value=!1}}}async function Se(a){a!==d.value&&await oe()&&(d.value=a)}let ee=!1;const De=a=>ee||w.request(a);async function ke(){if(N.value)return!1;const a=m.value?.pendingLocalChanges===!0;if(!a&&!q.value)return!0;if(!(a&&m.value?await m.value.guardChanges():await w.request({reason:"replace",document:g.parseReportTemplate(n.value),pendingLocalChanges:!0}))||S)return!1;if(a&&m.value){ee=!0;try{await m.value.reset()}finally{ee=!1}D(g.parseReportTemplate(l))}return j(),!0}return{m:r,notice:E,title:s,document:n,mode:d,record:v,recordIndex:b,sheet:p,busy:N,editor:m,rows:o,datasets:pe,designDatasets:ge,schemas:ve,bindings:be,paper:he,labelCount:Ne,fetcher:Ee,update:D,save:we,navigate:Se,prepare:oe,guardChanges:ke,preset:x,presets:Z,brandName:R,brandTagline:L,fields:h,fieldQuery:O,selectedFields:F,availableFields:Y,fieldCount:e.computed(()=>J.value.length),configurationDirty:q,pendingLocalChanges:I,custom:U,toggleField:P,applyConfiguration:u,restoreConfiguration:j,beforeDiscard:De,confirmation:w.confirmation,decideDiscard:w.decide}}const Re=["aria-label"],Le={class:"mr-label-context"},Fe={class:"mr-label-identity"},$e={class:"mr-label-spec"},ze=["disabled"],qe=["aria-label"],Pe=["aria-pressed","onClick"],Ke={class:"mr-label-fields"},Oe={key:0,class:"mr-label-selected-fields"},Ae=["aria-label","onClick"],Ue={class:"mr-label-field-search"},Ie=["aria-label","placeholder"],je={class:"mr-label-field-options"},He=["checked","disabled","onChange"],Je={key:0},Ge={key:1},Qe={class:"mr-label-brand"},Ze=["placeholder"],We=["disabled"],Xe={key:1,class:"mr-label-reflow-hint"},Ye={class:"mr-label-reflow-hint"},et={class:"mr-label-record"},tt=["disabled"],nt={value:"all"},lt={value:"single"},at={key:0,class:"mr-label-record-index"},rt=["max","aria-label","disabled"],ot={class:"mr-label-count"},it={class:"mr-label-help"},st={class:"mr-label-main"},ut={class:"mr-label-bar"},dt=["aria-label"],ct=["aria-pressed","disabled"],ft=["aria-pressed","disabled"],mt={key:0,class:"mr-label-notice",role:"status"},pt=["aria-label"],gt={class:"mr-label-imposition"},vt={class:"mr-label-editor"},bt=e.defineComponent({__name:"ReportLabelStudio",props:{showSave:{type:Boolean,default:!0},rows:{},schema:{},title:{},identityField:{},modelValue:{},preview:{},save:{},beforeDiscard:{},messages:{},preset:{},brand:{},fields:{}},emits:["update:modelValue"],setup(t,{expose:i,emit:r}){const s=t,c=r,n=Be(s,P=>c("update:modelValue",P)),{m:l,notice:d,title:v,document:b,mode:p,record:V,recordIndex:m,sheet:w,busy:N,editor:E,rows:K,designDatasets:x,schemas:R,bindings:L,paper:h,labelCount:O,fetcher:J,preset:F,presets:Y,brandName:$,brandTagline:A,fields:C,fieldQuery:U,selectedFields:B,availableFields:z,fieldCount:q,configurationDirty:I,pendingLocalChanges:j,custom:G,confirmation:S}=n,Q=e.ref();let D=null;return e.watch(S,async P=>{P?(D=window.document.activeElement,await e.nextTick(),Q.value?.focus()):D?.isConnected&&(D.focus(),D=null)}),i({guardChanges:n.guardChanges,prepare:n.prepare,get busy(){return N.value},get pendingLocalChanges(){return j.value}}),(P,u)=>(e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(["mr-label-studio",{"is-design":e.unref(p)==="design"}]),"aria-label":e.unref(v)},[e.createElementVNode("aside",Le,[e.createElementVNode("div",Fe,[e.createVNode(H._sfc_main,{name:"file",size:18}),e.createElementVNode("strong",null,e.toDisplayString(e.unref(v)),1),e.createElementVNode("small",null,e.toDisplayString(e.unref(G)?e.unref(l).customTemplate:e.unref(l).readyTemplate),1)]),e.createElementVNode("div",$e,[e.createElementVNode("strong",null,[e.createTextVNode(e.toDisplayString(e.unref(h)?.widthMm)+" ",1),u[13]||(u[13]=e.createElementVNode("i",null,"×",-1)),e.createTextVNode(" "+e.toDisplayString(e.unref(h)?.heightMm),1)]),e.createElementVNode("span",null,"mm · "+e.toDisplayString(e.unref(b).template.pages.length)+" "+e.toDisplayString(e.unref(l).faces),1)]),e.createElementVNode("fieldset",{class:"mr-label-quick",disabled:e.unref(N)},[e.createElementVNode("legend",null,e.toDisplayString(e.unref(l).layout),1),e.createElementVNode("div",{class:"mr-label-presets","aria-label":e.unref(l).layout},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Y),o=>(e.openBlock(),e.createElementBlock("button",{key:o.id,type:"button","aria-pressed":e.unref(F)===o.id,onClick:M=>F.value=o.id},[e.createElementVNode("span",{class:e.normalizeClass(["mr-label-preset-art",`is-${o.id}`]),"aria-hidden":"true"},[...u[14]||(u[14]=[e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1),e.createElementVNode("i",null,null,-1)])],2),e.createElementVNode("span",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(l)[`${o.id}Preset`]),1),e.createElementVNode("small",null,e.toDisplayString(o.widthMm)+" × "+e.toDisplayString(o.heightMm)+" · "+e.toDisplayString(o.faces)+" "+e.toDisplayString(e.unref(l).faces),1)])],8,Pe))),128))],8,qe),e.createElementVNode("details",Ke,[e.createElementVNode("summary",null,[e.createTextVNode(e.toDisplayString(e.unref(l).fields)+" ",1),e.createElementVNode("span",null,e.toDisplayString(e.unref(C).length)+" / 5",1)]),e.unref(B).length?(e.openBlock(),e.createElementBlock("div",Oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B),o=>(e.openBlock(),e.createElementBlock("button",{key:o.field,type:"button","aria-label":`${e.unref(l).removeField} ${o.label}`,onClick:M=>e.unref(n).toggleField(o.field,!1)},[e.createTextVNode(e.toDisplayString(o.label)+" ",1),u[15]||(u[15]=e.createElementVNode("span",{"aria-hidden":"true"},"×",-1))],8,Ae))),128))])):e.createCommentVNode("",!0),e.createElementVNode("label",Ue,[e.createVNode(H._sfc_main,{name:"search",size:13}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u[0]||(u[0]=o=>e.isRef(U)?U.value=o:null),type:"search","aria-label":e.unref(l).findField,placeholder:e.unref(l).findField},null,8,Ie),[[e.vModelText,e.unref(U)]])]),e.createElementVNode("div",je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(z),o=>(e.openBlock(),e.createElementBlock("label",{key:o.field},[e.createElementVNode("input",{type:"checkbox",checked:e.unref(C).includes(o.field),disabled:!e.unref(C).includes(o.field)&&e.unref(C).length>=5,onChange:M=>e.unref(n).toggleField(o.field,M.target.checked)},null,40,He),e.createElementVNode("span",null,e.toDisplayString(o.label??o.field),1)]))),128)),e.unref(z).length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("p",Je,e.toDisplayString(e.unref(l).noFields),1))]),e.createElementVNode("small",null,e.toDisplayString(e.unref(l).fieldLimit),1),e.unref(q)>30?(e.openBlock(),e.createElementBlock("small",Ge,e.toDisplayString(e.unref(l).fieldSearchHint),1)):e.createCommentVNode("",!0)]),e.createElementVNode("details",Qe,[e.createElementVNode("summary",null,e.toDisplayString(e.unref(l).brand),1),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).brandName),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u[1]||(u[1]=o=>e.isRef($)?$.value=o:null),maxlength:"80",placeholder:e.unref(v)},null,8,Ze),[[e.vModelText,e.unref($)]])]),e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(e.unref(l).brandTagline),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u[2]||(u[2]=o=>e.isRef(A)?A.value=o:null),maxlength:"120"},null,512),[[e.vModelText,e.unref(A)]])])]),e.createElementVNode("button",{class:"mr-label-apply",type:"button",disabled:!e.unref(I)||!e.unref(F),onClick:u[3]||(u[3]=(...o)=>e.unref(n).applyConfiguration&&e.unref(n).applyConfiguration(...o))},[e.createVNode(H._sfc_main,{name:"arrow-right",size:13}),e.createTextVNode(e.toDisplayString(e.unref(l).applyLayout),1)],8,We),e.unref(I)?(e.openBlock(),e.createElementBlock("button",{key:0,class:"mr-label-reset-configuration",type:"button",onClick:u[4]||(u[4]=(...o)=>e.unref(n).restoreConfiguration&&e.unref(n).restoreConfiguration(...o))},e.toDisplayString(e.unref(l).restoreConfiguration),1)):e.createCommentVNode("",!0),e.unref(I)&&!e.unref(F)?(e.openBlock(),e.createElementBlock("p",Xe,e.toDisplayString(e.unref(l).choosePreset),1)):e.createCommentVNode("",!0),e.createElementVNode("p",Ye,e.toDisplayString(e.unref(l).reflowHint),1)],8,ze),e.createElementVNode("label",et,[e.createTextVNode(e.toDisplayString(e.unref(l).records),1),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":u[5]||(u[5]=o=>e.isRef(V)?V.value=o:null),disabled:e.unref(N)||!s.rows.length},[e.createElementVNode("option",nt,e.toDisplayString(e.unref(l).all)+" · "+e.toDisplayString(s.rows.length),1),e.createElementVNode("option",lt,e.toDisplayString(e.unref(l).single),1)],8,tt),[[e.vModelSelect,e.unref(V)]])]),e.unref(V)==="single"?(e.openBlock(),e.createElementBlock("label",at,[e.createTextVNode(e.toDisplayString(e.unref(l).record),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u[6]||(u[6]=o=>e.isRef(m)?m.value=o:null),type:"number",min:"1",max:s.rows.length,"aria-label":e.unref(l).record,disabled:e.unref(N)},null,8,rt),[[e.vModelText,e.unref(m),void 0,{number:!0}]]),e.createTextVNode(" / "+e.toDisplayString(s.rows.length),1)])):e.createCommentVNode("",!0),e.createElementVNode("p",ot,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(K).length),1),e.createTextVNode(" "+e.toDisplayString(e.unref(l).count)+" ",1),u[16]||(u[16]=e.createElementVNode("span",null,"→",-1)),u[17]||(u[17]=e.createTextVNode()),e.unref(O)!==void 0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("strong",null,e.toDisplayString(e.unref(O)),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",it,[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",st,[e.createElementVNode("header",ut,[e.createElementVNode("nav",{"aria-label":e.unref(v)},[e.createElementVNode("button",{type:"button","aria-pressed":e.unref(p)==="preview",disabled:e.unref(N),onClick:u[7]||(u[7]=o=>e.unref(n).navigate("preview"))},[e.createVNode(H._sfc_main,{name:"file",size:14}),e.createTextVNode(e.toDisplayString(e.unref(l).preview),1)],8,ct),e.createElementVNode("button",{type:"button","aria-pressed":e.unref(p)==="design",disabled:e.unref(N),onClick:u[8]||(u[8]=o=>e.unref(n).navigate("design"))},[e.createVNode(H._sfc_main,{name:"settings",size:14}),e.createTextVNode(e.toDisplayString(e.unref(l).design),1)],8,ft)],8,dt),e.createElementVNode("span",null,e.toDisplayString(e.unref(p)==="design"?e.unref(l).designHint:e.unref(l).flow),1)]),e.unref(d)?(e.openBlock(),e.createElementBlock("p",mt,e.toDisplayString(e.unref(d)),1)):e.createCommentVNode("",!0),e.unref(S)?(e.openBlock(),e.createElementBlock("div",{key:1,class:"mr-label-confirm",role:"alertdialog","aria-label":e.unref(l).discardTitle,onKeydown:u[11]||(u[11]=e.withKeys(e.withModifiers(o=>e.unref(n).decideDiscard(!1),["prevent","stop"]),["esc"]))},[e.createElementVNode("div",null,[e.createElementVNode("strong",null,e.toDisplayString(e.unref(l).discardTitle),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(l).discardDescription),1)]),e.createElementVNode("button",{ref_key:"keepEditingButton",ref:Q,type:"button",onClick:u[9]||(u[9]=o=>e.unref(n).decideDiscard(!1))},e.toDisplayString(e.unref(l).keepEditing),513),e.createElementVNode("button",{type:"button",onClick:u[10]||(u[10]=o=>e.unref(n).decideDiscard(!0))},e.toDisplayString(e.unref(l).discard),1)],40,pt)):e.createCommentVNode("",!0),e.unref(p)==="preview"?(e.openBlock(),e.createBlock(e.unref(de.ReportPreview),{key:2,"report-id":"labels",fetcher:e.unref(J),"show-params":!1,height:"100%",toolbar:{exportFormats:["pdf","png","html"],editing:!1,excelImport:!1},messages:{title:e.unref(v),empty:e.unref(l).empty}},{settings:e.withCtx(()=>[e.createElementVNode("label",gt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u[12]||(u[12]=o=>e.isRef(w)?w.value=o:null),type:"checkbox"},null,512),[[e.vModelCheckbox,e.unref(w)]]),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.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",vt,[e.createVNode(te.ReportTemplateEditor,{ref_key:"editor",ref:E,"model-value":e.unref(b),mode:"design","show-mode-switch":!1,"show-save":t.showSave,capabilities:{params:!1},datasets:e.unref(x),"data-schemas":e.unref(R),"binding-datasets":e.unref(L),save:e.unref(n).save,"before-discard":e.unref(n).beforeDiscard,preview:t.preview,"onUpdate:modelValue":e.unref(n).update},null,8,["model-value","show-save","datasets","data-schemas","binding-datasets","save","before-discard","preview","onUpdate:modelValue"])],512),[[e.vShow,e.unref(p)==="design"]])])],10,Re))}});exports.default=bt;
|